Trapped-Counter.js 5.7 KB

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