Trapped-Frontend.deploy.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. smalltalk.addPackage('Trapped-Frontend', {});
  2. smalltalk.addClass('TrappedPlainModel', 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.TrappedPlainModel);
  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.TrappedPlainModel);
  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.TrappedPlainModel);
  35. smalltalk.addMethod(
  36. "_read_do_",
  37. smalltalk.method({
  38. selector: "read:do:",
  39. fn: function (path,aBlock){
  40. var self=this;
  41. var data;
  42. data=smalltalk.send(path,"_inject_into_",[smalltalk.send(self,"_payload",[]),(function(soFar,segment){
  43. return smalltalk.send(soFar,"_at_",[segment]);
  44. })]);
  45. smalltalk.send(aBlock,"_value_",[data]);
  46. return self}
  47. }),
  48. smalltalk.TrappedPlainModel);
  49. smalltalk.addMethod(
  50. "_start",
  51. smalltalk.method({
  52. selector: "start",
  53. fn: function (){
  54. var self=this;
  55. smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_register_name_",[self,smalltalk.send(self,"_name",[])]);
  56. return self}
  57. }),
  58. smalltalk.TrappedPlainModel);
  59. smalltalk.addMethod(
  60. "_start",
  61. smalltalk.method({
  62. selector: "start",
  63. fn: function (){
  64. var self=this;
  65. smalltalk.send(smalltalk.send(self,"_new",[]),"_start",[]);
  66. return self}
  67. }),
  68. smalltalk.TrappedPlainModel.klass);
  69. smalltalk.addClass('TrappedSingleton', smalltalk.Object, [], 'Trapped-Frontend');
  70. smalltalk.addMethod(
  71. "_start",
  72. smalltalk.method({
  73. selector: "start",
  74. fn: function (){
  75. var self=this;
  76. var $1;
  77. $1=smalltalk.send(self,"_subclassResponsibility",[]);
  78. return $1;
  79. }
  80. }),
  81. smalltalk.TrappedSingleton);
  82. smalltalk.TrappedSingleton.klass.iVarNames = ['current'];
  83. smalltalk.addMethod(
  84. "_current",
  85. smalltalk.method({
  86. selector: "current",
  87. fn: function (){
  88. var self=this;
  89. var $1;
  90. if(($receiver = self["@current"]) == nil || $receiver == undefined){
  91. self["@current"]=smalltalk.send(self,"_new",[]);
  92. $1=self["@current"];
  93. } else {
  94. $1=self["@current"];
  95. };
  96. return $1;
  97. }
  98. }),
  99. smalltalk.TrappedSingleton.klass);
  100. smalltalk.addMethod(
  101. "_start",
  102. smalltalk.method({
  103. selector: "start",
  104. fn: function (){
  105. var self=this;
  106. smalltalk.send(smalltalk.send(self,"_current",[]),"_start",[]);
  107. return self}
  108. }),
  109. smalltalk.TrappedSingleton.klass);
  110. smalltalk.addClass('Trapped', smalltalk.TrappedSingleton, ['registry'], 'Trapped-Frontend');
  111. smalltalk.addMethod(
  112. "_byName_",
  113. smalltalk.method({
  114. selector: "byName:",
  115. fn: function (aString){
  116. var self=this;
  117. var $1;
  118. $1=smalltalk.send(self["@registry"],"_at_",[aString]);
  119. return $1;
  120. }
  121. }),
  122. smalltalk.Trapped);
  123. smalltalk.addMethod(
  124. "_initialize",
  125. smalltalk.method({
  126. selector: "initialize",
  127. fn: function (){
  128. var self=this;
  129. smalltalk.send(self,"_initialize",[],smalltalk.TrappedSingleton);
  130. self["@registry"]=smalltalk.HashedCollection._fromPairs_([]);
  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. var path;
  157. jq=smalltalk.send(elem,"_asJQuery",[]);
  158. jq;
  159. trap=smalltalk.send(jq,"_attr_",["data-trap"]);
  160. trap;
  161. tokens=smalltalk.send(trap,"_tokenize_",[":"]);
  162. tokens;
  163. viewName=smalltalk.send(tokens,"_first",[]);
  164. viewName;
  165. tokens=smalltalk.send(smalltalk.send(smalltalk.send(tokens,"_second",[]),"_tokenize_",[" "]),"_select_",[(function(each){
  166. return smalltalk.send(each,"_notEmpty",[]);
  167. })]);
  168. tokens;
  169. modelName=smalltalk.send(tokens,"_first",[]);
  170. modelName;
  171. path=smalltalk.send((smalltalk.Trapped || Trapped),"_parse_",[smalltalk.send(tokens,"_allButFirst",[])]);
  172. path;
  173. return smalltalk.send(smalltalk.send([modelName],"__comma",[path]),"_trapDescend_",[(function(){
  174. return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk),"_current",[]),"_at_",[viewName]),"_new",[]),"_appendToJQuery_",[jq]);
  175. })]);
  176. })]);
  177. return self}
  178. }),
  179. smalltalk.Trapped);
  180. smalltalk.addMethod(
  181. "_parse_",
  182. smalltalk.method({
  183. selector: "parse:",
  184. fn: function (anArray){
  185. var self=this;
  186. var $2,$3,$1;
  187. $1=smalltalk.send(anArray,"_collect_",[(function(each){
  188. var asNum;
  189. asNum = parseInt(each);
  190. ;
  191. $2=smalltalk.send(asNum,"__eq",[asNum]);
  192. if(smalltalk.assert($2)){
  193. return asNum;
  194. } else {
  195. $3=smalltalk.send(smalltalk.send(each,"_first",[]),"__eq",["#"]);
  196. if(smalltalk.assert($3)){
  197. return smalltalk.send(smalltalk.send(each,"_allButFirst",[]),"_asSymbol",[]);
  198. } else {
  199. return each;
  200. };
  201. };
  202. })]);
  203. return $1;
  204. }
  205. }),
  206. smalltalk.Trapped.klass);
  207. smalltalk.addMethod(
  208. "_path",
  209. smalltalk.method({
  210. selector: "path",
  211. fn: function (){
  212. var self=this;
  213. var $1;
  214. $1=smalltalk.send(smalltalk.send((smalltalk.TrappedPathStack || TrappedPathStack),"_current",[]),"_elements",[]);
  215. return $1;
  216. }
  217. }),
  218. smalltalk.Trapped.klass);
  219. smalltalk.addClass('TrappedPathStack', smalltalk.TrappedSingleton, ['elements'], 'Trapped-Frontend');
  220. smalltalk.addMethod(
  221. "_append_",
  222. smalltalk.method({
  223. selector: "append:",
  224. fn: function (anArray){
  225. var self=this;
  226. self["@elements"]=smalltalk.send(self["@elements"],"__comma",[anArray]);
  227. return self}
  228. }),
  229. smalltalk.TrappedPathStack);
  230. smalltalk.addMethod(
  231. "_elements",
  232. smalltalk.method({
  233. selector: "elements",
  234. fn: function (){
  235. var self=this;
  236. return self["@elements"];
  237. }
  238. }),
  239. smalltalk.TrappedPathStack);
  240. smalltalk.addMethod(
  241. "_initialize",
  242. smalltalk.method({
  243. selector: "initialize",
  244. fn: function (){
  245. var self=this;
  246. self["@elements"]=[];
  247. return self}
  248. }),
  249. smalltalk.TrappedPathStack);
  250. smalltalk.addMethod(
  251. "_with_do_",
  252. smalltalk.method({
  253. selector: "with:do:",
  254. fn: function (anArray,aBlock){
  255. var self=this;
  256. var old;
  257. old=self["@elements"];
  258. smalltalk.send((function(){
  259. smalltalk.send(self,"_append_",[anArray]);
  260. return smalltalk.send(aBlock,"_value",[]);
  261. }),"_ensure_",[(function(){
  262. self["@elements"]=old;
  263. return self["@elements"];
  264. })]);
  265. return self}
  266. }),
  267. smalltalk.TrappedPathStack);
  268. smalltalk.addMethod(
  269. "_trapDescend_",
  270. smalltalk.method({
  271. selector: "trapDescend:",
  272. fn: function (aBlock){
  273. var self=this;
  274. smalltalk.send(smalltalk.send((smalltalk.TrappedPathStack || TrappedPathStack),"_current",[]),"_with_do_",[self,aBlock]);
  275. return self}
  276. }),
  277. smalltalk.Array);
  278. smalltalk.addMethod(
  279. "_trapDescend_",
  280. smalltalk.method({
  281. selector: "trapDescend:",
  282. fn: function (aBlock){
  283. var self=this;
  284. smalltalk.send(smalltalk.send((smalltalk.TrappedPathStack || TrappedPathStack),"_current",[]),"_with_do_",[self,aBlock]);
  285. return self}
  286. }),
  287. smalltalk.Array);
  288. smalltalk.addMethod(
  289. "_trap_read_",
  290. smalltalk.method({
  291. selector: "trap:read:",
  292. fn: function (path,aBlock){
  293. var self=this;
  294. smalltalk.send(path,"_trapDescend_",[(function(){
  295. var actual;
  296. var model;
  297. actual=smalltalk.send((smalltalk.Trapped || Trapped),"_path",[]);
  298. actual;
  299. model=smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_byName_",[smalltalk.send(actual,"_first",[])]);
  300. model;
  301. return smalltalk.send((function(){
  302. return smalltalk.send(model,"_read_do_",[smalltalk.send(actual,"_allButFirst",[]),(function(data){
  303. return smalltalk.send(aBlock,"_value_value_",[self,data]);
  304. })]);
  305. }),"_fork",[]);
  306. })]);
  307. return self}
  308. }),
  309. smalltalk.TagBrush);
  310. smalltalk.addMethod(
  311. "_trapShow_",
  312. smalltalk.method({
  313. selector: "trapShow:",
  314. fn: function (path){
  315. var self=this;
  316. var $1;
  317. smalltalk.send(self,"_trap_read_",[path,(function(brush,model){
  318. smalltalk.send(brush,"_empty",[]);
  319. $1=smalltalk.send(brush,"_with_",[model]);
  320. return $1;
  321. })]);
  322. return self}
  323. }),
  324. smalltalk.TagBrush);