Trapped-Frontend.deploy.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. smalltalk.addPackage('Trapped-Frontend', {});
  2. smalltalk.addClass('TrappedFly', smalltalk.Object, ['payload'], 'Trapped-Frontend');
  3. smalltalk.addMethod(
  4. "_name",
  5. smalltalk.method({
  6. selector: "name",
  7. fn: function (){
  8. var self=this;
  9. var $1;
  10. $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_name",[]);
  11. return $1;
  12. }
  13. }),
  14. smalltalk.TrappedFly);
  15. smalltalk.addMethod(
  16. "_payload",
  17. smalltalk.method({
  18. selector: "payload",
  19. fn: function (){
  20. var self=this;
  21. return self["@payload"];
  22. }
  23. }),
  24. smalltalk.TrappedFly);
  25. smalltalk.addMethod(
  26. "_payload_",
  27. smalltalk.method({
  28. selector: "payload:",
  29. fn: function (anObject){
  30. var self=this;
  31. self["@payload"]=anObject;
  32. return self}
  33. }),
  34. smalltalk.TrappedFly);
  35. smalltalk.addMethod(
  36. "_start",
  37. smalltalk.method({
  38. selector: "start",
  39. fn: function (){
  40. var self=this;
  41. smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_register_name_",[self,smalltalk.send(self,"_name",[])]);
  42. return self}
  43. }),
  44. smalltalk.TrappedFly);
  45. smalltalk.addMethod(
  46. "_start",
  47. smalltalk.method({
  48. selector: "start",
  49. fn: function (){
  50. var self=this;
  51. smalltalk.send(smalltalk.send(self,"_new",[]),"_start",[]);
  52. return self}
  53. }),
  54. smalltalk.TrappedFly.klass);
  55. smalltalk.addClass('TrappedSingleton', smalltalk.Object, [], 'Trapped-Frontend');
  56. smalltalk.addMethod(
  57. "_start",
  58. smalltalk.method({
  59. selector: "start",
  60. fn: function (){
  61. var self=this;
  62. var $1;
  63. $1=smalltalk.send(self,"_subclassResponsibility",[]);
  64. return $1;
  65. }
  66. }),
  67. smalltalk.TrappedSingleton);
  68. smalltalk.TrappedSingleton.klass.iVarNames = ['current'];
  69. smalltalk.addMethod(
  70. "_current",
  71. smalltalk.method({
  72. selector: "current",
  73. fn: function (){
  74. var self=this;
  75. var $1;
  76. if(($receiver = self["@current"]) == nil || $receiver == undefined){
  77. self["@current"]=smalltalk.send(self,"_new",[]);
  78. $1=self["@current"];
  79. } else {
  80. $1=self["@current"];
  81. };
  82. return $1;
  83. }
  84. }),
  85. smalltalk.TrappedSingleton.klass);
  86. smalltalk.addMethod(
  87. "_start",
  88. smalltalk.method({
  89. selector: "start",
  90. fn: function (){
  91. var self=this;
  92. smalltalk.send(smalltalk.send(self,"_current",[]),"_start",[]);
  93. return self}
  94. }),
  95. smalltalk.TrappedSingleton.klass);
  96. smalltalk.addClass('Trapped', smalltalk.TrappedSingleton, ['registry'], 'Trapped-Frontend');
  97. smalltalk.addMethod(
  98. "_byName_",
  99. smalltalk.method({
  100. selector: "byName:",
  101. fn: function (aString){
  102. var self=this;
  103. var $1;
  104. $1=smalltalk.send(self["@registry"],"_at_",[aString]);
  105. return $1;
  106. }
  107. }),
  108. smalltalk.Trapped);
  109. smalltalk.addMethod(
  110. "_initialize",
  111. smalltalk.method({
  112. selector: "initialize",
  113. fn: function (){
  114. var self=this;
  115. smalltalk.send(self,"_initialize",[],smalltalk.TrappedSingleton);
  116. self["@registry"]=smalltalk.HashedCollection._fromPairs_([]);
  117. return self}
  118. }),
  119. smalltalk.Trapped);
  120. smalltalk.addMethod(
  121. "_read_do_",
  122. smalltalk.method({
  123. selector: "read:do:",
  124. fn: function (path,aBlock){
  125. var self=this;
  126. var model;
  127. model=smalltalk.send(smalltalk.send(path,"_allButFirst",[]),"_inject_into_",[smalltalk.send(smalltalk.send(self,"_byName_",[smalltalk.send(path,"_first",[])]),"_payload",[]),(function(soFar,segment){
  128. return smalltalk.send(soFar,"_at_",[segment]);
  129. })]);
  130. smalltalk.send(aBlock,"_value_",[model]);
  131. return self}
  132. }),
  133. smalltalk.Trapped);
  134. smalltalk.addMethod(
  135. "_register_name_",
  136. smalltalk.method({
  137. selector: "register:name:",
  138. fn: function (aFly,aString){
  139. var self=this;
  140. smalltalk.send(self["@registry"],"_at_put_",[aString,aFly]);
  141. return self}
  142. }),
  143. smalltalk.Trapped);
  144. smalltalk.addMethod(
  145. "_start",
  146. smalltalk.method({
  147. selector: "start",
  148. fn: function (){
  149. var self=this;
  150. smalltalk.send(smalltalk.send("[data-trap]","_asJQuery",[]),"_each_",[(function(index,elem){
  151. var trap;
  152. var jq;
  153. var viewName;
  154. var modelName;
  155. var tokens;
  156. jq=smalltalk.send(elem,"_asJQuery",[]);
  157. jq;
  158. trap=smalltalk.send(jq,"_attr_",["data-trap"]);
  159. trap;
  160. tokens=smalltalk.send(trap,"_tokenize_",[":"]);
  161. tokens;
  162. viewName=smalltalk.send(tokens,"_first",[]);
  163. viewName;
  164. modelName=smalltalk.send(tokens,"_second",[]);
  165. modelName;
  166. return smalltalk.send([modelName],"_trapDescend_",[(function(){
  167. return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk),"_current",[]),"_at_",[viewName]),"_new",[]),"_appendToJQuery_",[jq]);
  168. })]);
  169. })]);
  170. return self}
  171. }),
  172. smalltalk.Trapped);
  173. smalltalk.addMethod(
  174. "_path",
  175. smalltalk.method({
  176. selector: "path",
  177. fn: function (){
  178. var self=this;
  179. var $1;
  180. $1=smalltalk.send(smalltalk.send((smalltalk.TrappedPathStack || TrappedPathStack),"_current",[]),"_elements",[]);
  181. return $1;
  182. }
  183. }),
  184. smalltalk.Trapped.klass);
  185. smalltalk.addClass('TrappedPathStack', smalltalk.TrappedSingleton, ['elements'], 'Trapped-Frontend');
  186. smalltalk.addMethod(
  187. "_append_",
  188. smalltalk.method({
  189. selector: "append:",
  190. fn: function (anArray){
  191. var self=this;
  192. self["@elements"]=smalltalk.send(self["@elements"],"__comma",[anArray]);
  193. return self}
  194. }),
  195. smalltalk.TrappedPathStack);
  196. smalltalk.addMethod(
  197. "_elements",
  198. smalltalk.method({
  199. selector: "elements",
  200. fn: function (){
  201. var self=this;
  202. return self["@elements"];
  203. }
  204. }),
  205. smalltalk.TrappedPathStack);
  206. smalltalk.addMethod(
  207. "_initialize",
  208. smalltalk.method({
  209. selector: "initialize",
  210. fn: function (){
  211. var self=this;
  212. self["@elements"]=[];
  213. return self}
  214. }),
  215. smalltalk.TrappedPathStack);
  216. smalltalk.addMethod(
  217. "_with_do_",
  218. smalltalk.method({
  219. selector: "with:do:",
  220. fn: function (anArray,aBlock){
  221. var self=this;
  222. var old;
  223. old=self["@elements"];
  224. smalltalk.send((function(){
  225. smalltalk.send(self,"_append_",[anArray]);
  226. return smalltalk.send(aBlock,"_value",[]);
  227. }),"_ensure_",[(function(){
  228. self["@elements"]=old;
  229. return self["@elements"];
  230. })]);
  231. return self}
  232. }),
  233. smalltalk.TrappedPathStack);
  234. smalltalk.addMethod(
  235. "_trapDescend_",
  236. smalltalk.method({
  237. selector: "trapDescend:",
  238. fn: function (aBlock){
  239. var self=this;
  240. smalltalk.send(smalltalk.send((smalltalk.TrappedPathStack || TrappedPathStack),"_current",[]),"_with_do_",[self,aBlock]);
  241. return self}
  242. }),
  243. smalltalk.Array);
  244. smalltalk.addMethod(
  245. "_trapDescend_",
  246. smalltalk.method({
  247. selector: "trapDescend:",
  248. fn: function (aBlock){
  249. var self=this;
  250. smalltalk.send(smalltalk.send((smalltalk.TrappedPathStack || TrappedPathStack),"_current",[]),"_with_do_",[self,aBlock]);
  251. return self}
  252. }),
  253. smalltalk.Array);
  254. smalltalk.addMethod(
  255. "_trap_read_",
  256. smalltalk.method({
  257. selector: "trap:read:",
  258. fn: function (path,aBlock){
  259. var self=this;
  260. smalltalk.send(path,"_trapDescend_",[(function(){
  261. var actual;
  262. actual=smalltalk.send((smalltalk.Trapped || Trapped),"_path",[]);
  263. actual;
  264. return smalltalk.send((function(){
  265. return smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_read_do_",[actual,(function(model){
  266. return smalltalk.send(aBlock,"_value_value_",[self,model]);
  267. })]);
  268. }),"_fork",[]);
  269. })]);
  270. return self}
  271. }),
  272. smalltalk.TagBrush);
  273. smalltalk.addMethod(
  274. "_trapShow_",
  275. smalltalk.method({
  276. selector: "trapShow:",
  277. fn: function (path){
  278. var self=this;
  279. var $1;
  280. smalltalk.send(self,"_trap_read_",[path,(function(brush,model){
  281. smalltalk.send(brush,"_empty",[]);
  282. $1=smalltalk.send(brush,"_with_",[model]);
  283. return $1;
  284. })]);
  285. return self}
  286. }),
  287. smalltalk.TagBrush);