Trapped-Counter.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. define("trapped-counter/Trapped-Counter", ["amber/boot", "trapped/Trapped-Backend", "amber_core/Kernel-Objects"], function($boot){
  2. var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. $core.addPackage('Trapped-Counter');
  4. $core.packages["Trapped-Counter"].innerEval = function (expr) { return eval(expr); };
  5. $core.packages["Trapped-Counter"].transport = {"type":"amd","amdNamespace":"trapped-counter"};
  6. $core.addClass('App', $globals.ListKeyedIsolatedEntity, [], 'Trapped-Counter');
  7. //>>excludeStart("ide", pragmas.excludeIdeData);
  8. $globals.App.comment="// Code from AngularJS Todo example, http://angularjs.org/#todo-js\x0afunction TodoCtrl($scope) {\x0a $scope.todos = [\x0a {text:'learn angular', done:true},\x0a {text:'build an angular app', done:false}];\x0a \x0a $scope.addTodo = function() {\x0a $scope.todos.push({text:$scope.todoText, done:false});\x0a $scope.todoText = '';\x0a };\x0a \x0a $scope.remaining = function() {\x0a var count = 0;\x0a angular.forEach($scope.todos, function(todo) {\x0a count += todo.done ? 0 : 1;\x0a });\x0a return count;\x0a };\x0a \x0a $scope.archive = function() {\x0a var oldTodos = $scope.todos;\x0a $scope.todos = [];\x0a angular.forEach(oldTodos, function(todo) {\x0a if (!todo.done) $scope.todos.push(todo);\x0a });\x0a };\x0a}";
  9. //>>excludeEnd("ide");
  10. $core.addMethod(
  11. $core.method({
  12. selector: "initialize",
  13. protocol: 'initialization',
  14. fn: function (){
  15. var self=this;
  16. function $SimpleAxon(){return $globals.SimpleAxon||(typeof SimpleAxon=="undefined"?nil:SimpleAxon)}
  17. function $AppModel(){return $globals.AppModel||(typeof AppModel=="undefined"?nil:AppModel)}
  18. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  19. return $core.withContext(function($ctx1) {
  20. //>>excludeEnd("ctx");
  21. var $1;
  22. (
  23. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  24. $ctx1.supercall = true,
  25. //>>excludeEnd("ctx");
  26. $globals.App.superclass.fn.prototype._initialize.apply($recv(self), []));
  27. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  28. $ctx1.supercall = false;
  29. //>>excludeEnd("ctx");;
  30. $1=$recv($SimpleAxon())._new();
  31. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  32. $ctx1.sendIdx["new"]=1;
  33. //>>excludeEnd("ctx");
  34. self._axon_($1);
  35. self._model_($recv($AppModel())._new());
  36. return self;
  37. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  38. }, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.App)});
  39. //>>excludeEnd("ctx");
  40. },
  41. //>>excludeStart("ide", pragmas.excludeIdeData);
  42. args: [],
  43. source: "initialize\x0a\x09super initialize.\x0a self axon: SimpleAxon new.\x0a self model: AppModel new",
  44. referencedClasses: ["SimpleAxon", "AppModel"],
  45. //>>excludeEnd("ide");
  46. messageSends: ["initialize", "axon:", "new", "model:"]
  47. }),
  48. $globals.App);
  49. $core.addClass('AppModel', $globals.Object, ['value'], 'Trapped-Counter');
  50. $core.addMethod(
  51. $core.method({
  52. selector: "decrement",
  53. protocol: 'action',
  54. fn: function (){
  55. var self=this;
  56. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  57. return $core.withContext(function($ctx1) {
  58. //>>excludeEnd("ctx");
  59. self["@value"]=$recv(self["@value"]).__minus((1));
  60. return self;
  61. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  62. }, function($ctx1) {$ctx1.fill(self,"decrement",{},$globals.AppModel)});
  63. //>>excludeEnd("ctx");
  64. },
  65. //>>excludeStart("ide", pragmas.excludeIdeData);
  66. args: [],
  67. source: "decrement\x0a\x09value := value - 1",
  68. referencedClasses: [],
  69. //>>excludeEnd("ide");
  70. messageSends: ["-"]
  71. }),
  72. $globals.AppModel);
  73. $core.addMethod(
  74. $core.method({
  75. selector: "increment",
  76. protocol: 'action',
  77. fn: function (){
  78. var self=this;
  79. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  80. return $core.withContext(function($ctx1) {
  81. //>>excludeEnd("ctx");
  82. self["@value"]=$recv(self["@value"]).__plus((1));
  83. return self;
  84. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  85. }, function($ctx1) {$ctx1.fill(self,"increment",{},$globals.AppModel)});
  86. //>>excludeEnd("ctx");
  87. },
  88. //>>excludeStart("ide", pragmas.excludeIdeData);
  89. args: [],
  90. source: "increment\x0a\x09value := value + 1",
  91. referencedClasses: [],
  92. //>>excludeEnd("ide");
  93. messageSends: ["+"]
  94. }),
  95. $globals.AppModel);
  96. $core.addMethod(
  97. $core.method({
  98. selector: "initialize",
  99. protocol: 'initialization',
  100. fn: function (){
  101. var self=this;
  102. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  103. return $core.withContext(function($ctx1) {
  104. //>>excludeEnd("ctx");
  105. (
  106. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  107. $ctx1.supercall = true,
  108. //>>excludeEnd("ctx");
  109. $globals.AppModel.superclass.fn.prototype._initialize.apply($recv(self), []));
  110. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  111. $ctx1.supercall = false;
  112. //>>excludeEnd("ctx");;
  113. self["@value"]=(0);
  114. return self;
  115. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  116. }, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.AppModel)});
  117. //>>excludeEnd("ctx");
  118. },
  119. //>>excludeStart("ide", pragmas.excludeIdeData);
  120. args: [],
  121. source: "initialize\x0a\x09super initialize.\x0a\x09value := 0",
  122. referencedClasses: [],
  123. //>>excludeEnd("ide");
  124. messageSends: ["initialize"]
  125. }),
  126. $globals.AppModel);
  127. $core.addMethod(
  128. $core.method({
  129. selector: "value",
  130. protocol: 'accessing',
  131. fn: function (){
  132. var self=this;
  133. var $1;
  134. $1=self["@value"];
  135. return $1;
  136. },
  137. //>>excludeStart("ide", pragmas.excludeIdeData);
  138. args: [],
  139. source: "value\x0a\x09^value",
  140. referencedClasses: [],
  141. //>>excludeEnd("ide");
  142. messageSends: []
  143. }),
  144. $globals.AppModel);
  145. $core.addMethod(
  146. $core.method({
  147. selector: "value:",
  148. protocol: 'accessing',
  149. fn: function (aNumber){
  150. var self=this;
  151. self["@value"]=aNumber;
  152. return self;
  153. },
  154. //>>excludeStart("ide", pragmas.excludeIdeData);
  155. args: ["aNumber"],
  156. source: "value: aNumber\x0a\x09value := aNumber",
  157. referencedClasses: [],
  158. //>>excludeEnd("ide");
  159. messageSends: []
  160. }),
  161. $globals.AppModel);
  162. });