Trapped-Frontend.deploy.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. smalltalk.addPackage('Trapped-Frontend', {});
  2. smalltalk.addClass('TrappedSingleton', smalltalk.Object, [], 'Trapped-Frontend');
  3. smalltalk.addMethod(
  4. "_start",
  5. smalltalk.method({
  6. selector: "start",
  7. fn: function (){
  8. var self=this;
  9. var $1;
  10. $1=smalltalk.send(self,"_subclassResponsibility",[]);
  11. return $1;
  12. }
  13. }),
  14. smalltalk.TrappedSingleton);
  15. smalltalk.TrappedSingleton.klass.iVarNames = ['current'];
  16. smalltalk.addMethod(
  17. "_current",
  18. smalltalk.method({
  19. selector: "current",
  20. fn: function (){
  21. var self=this;
  22. var $1;
  23. if(($receiver = self["@current"]) == nil || $receiver == undefined){
  24. self["@current"]=smalltalk.send(self,"_new",[]);
  25. $1=self["@current"];
  26. } else {
  27. $1=self["@current"];
  28. };
  29. return $1;
  30. }
  31. }),
  32. smalltalk.TrappedSingleton.klass);
  33. smalltalk.addMethod(
  34. "_start",
  35. smalltalk.method({
  36. selector: "start",
  37. fn: function (){
  38. var self=this;
  39. smalltalk.send(smalltalk.send(self,"_current",[]),"_start",[]);
  40. return self}
  41. }),
  42. smalltalk.TrappedSingleton.klass);
  43. smalltalk.addClass('Trapped', smalltalk.TrappedSingleton, ['registry'], 'Trapped-Frontend');
  44. smalltalk.addMethod(
  45. "_byName_",
  46. smalltalk.method({
  47. selector: "byName:",
  48. fn: function (aString){
  49. var self=this;
  50. var $1;
  51. $1=smalltalk.send(self["@registry"],"_at_",[aString]);
  52. return $1;
  53. }
  54. }),
  55. smalltalk.Trapped);
  56. smalltalk.addMethod(
  57. "_initialize",
  58. smalltalk.method({
  59. selector: "initialize",
  60. fn: function (){
  61. var self=this;
  62. smalltalk.send(self,"_initialize",[],smalltalk.TrappedSingleton);
  63. self["@registry"]=smalltalk.HashedCollection._fromPairs_([]);
  64. return self}
  65. }),
  66. smalltalk.Trapped);
  67. smalltalk.addMethod(
  68. "_register_name_",
  69. smalltalk.method({
  70. selector: "register:name:",
  71. fn: function (aFly,aString){
  72. var self=this;
  73. smalltalk.send(self["@registry"],"_at_put_",[aString,aFly]);
  74. return self}
  75. }),
  76. smalltalk.Trapped);
  77. smalltalk.addMethod(
  78. "_start",
  79. smalltalk.method({
  80. selector: "start",
  81. fn: function (){
  82. var self=this;
  83. var $1,$2;
  84. smalltalk.send(smalltalk.send("[data-trap]","_asJQuery",[]),"_each_",[(function(index,elem){
  85. var trap;
  86. var viewName;
  87. var modelName;
  88. var tokens;
  89. var model;
  90. var view;
  91. trap=smalltalk.send(smalltalk.send(jQuery,"_value_",[elem]),"_attr_",["data-trap"]);
  92. trap;
  93. tokens=smalltalk.send(trap,"_tokenize_",[":"]);
  94. tokens;
  95. viewName=smalltalk.send(tokens,"_first",[]);
  96. viewName;
  97. modelName=smalltalk.send(tokens,"_second",[]);
  98. modelName;
  99. model=smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_byName_",[modelName]);
  100. model;
  101. $1=smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk),"_current",[]),"_at_",[viewName]),"_new",[]);
  102. smalltalk.send($1,"_startOn_",[elem]);
  103. smalltalk.send($1,"_observe_",[model]);
  104. $2=smalltalk.send($1,"_yourself",[]);
  105. view=$2;
  106. return view;
  107. })]);
  108. return self}
  109. }),
  110. smalltalk.Trapped);
  111. smalltalk.addClass('TrappedFly', smalltalk.TrappedSingleton, [], 'Trapped-Frontend');
  112. smalltalk.addMethod(
  113. "_name",
  114. smalltalk.method({
  115. selector: "name",
  116. fn: function (){
  117. var self=this;
  118. var $1;
  119. $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_name",[]);
  120. return $1;
  121. }
  122. }),
  123. smalltalk.TrappedFly);
  124. smalltalk.addMethod(
  125. "_start",
  126. smalltalk.method({
  127. selector: "start",
  128. fn: function (){
  129. var self=this;
  130. smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_register_name_",[self,smalltalk.send(self,"_name",[])]);
  131. return self}
  132. }),
  133. smalltalk.TrappedFly);
  134. smalltalk.addClass('TrappedView', smalltalk.Widget, [], 'Trapped-Frontend');
  135. smalltalk.addMethod(
  136. "_observe_",
  137. smalltalk.method({
  138. selector: "observe:",
  139. fn: function (aFly){
  140. var self=this;
  141. return self}
  142. }),
  143. smalltalk.TrappedView);
  144. smalltalk.addMethod(
  145. "_renderOn_",
  146. smalltalk.method({
  147. selector: "renderOn:",
  148. fn: function (html){
  149. var self=this;
  150. smalltalk.send(html,"_with_",[smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"_name",[]),"__comma",[": contents"])]);
  151. return self}
  152. }),
  153. smalltalk.TrappedView);
  154. smalltalk.addMethod(
  155. "_startOn_",
  156. smalltalk.method({
  157. selector: "startOn:",
  158. fn: function (aHTMLElement){
  159. var self=this;
  160. var el;
  161. el=smalltalk.send(jQuery,"_value_",[aHTMLElement]);
  162. smalltalk.send(el,"_empty",[]);
  163. smalltalk.send(self,"_appendToJQuery_",[el]);
  164. return self}
  165. }),
  166. smalltalk.TrappedView);