Helios-Transcript.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. define("helios/Helios-Transcript", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_vm/globals", "helios/Helios-Core", "amber_core/Kernel-Objects"], function(smalltalk,nil,_st, globals){
  2. smalltalk.addPackage('Helios-Transcript');
  3. smalltalk.packages["Helios-Transcript"].transport = {"type":"amd","amdNamespace":"helios"};
  4. smalltalk.addClass('HLTranscript', globals.HLWidget, ['textarea'], 'Helios-Transcript');
  5. globals.HLTranscript.comment="I am a widget responsible for displaying transcript contents.\x0a\x0a## Transcript API\x0a\x0a Transcript \x0a show: 'hello world';\x0a cr;\x0a show: anObject.\x0a\x0a Transcript clear.\x0a\x0aSee the `Transcript` service class.";
  6. smalltalk.addMethod(
  7. smalltalk.method({
  8. selector: "clear",
  9. protocol: 'actions',
  10. fn: function (){
  11. var self=this;
  12. return smalltalk.withContext(function($ctx1) {
  13. _st(_st(self["@textarea"])._asJQuery())._text_("");
  14. return self}, function($ctx1) {$ctx1.fill(self,"clear",{},globals.HLTranscript)})},
  15. args: [],
  16. source: "clear\x0a\x09textarea asJQuery text: ''",
  17. messageSends: ["text:", "asJQuery"],
  18. referencedClasses: []
  19. }),
  20. globals.HLTranscript);
  21. smalltalk.addMethod(
  22. smalltalk.method({
  23. selector: "initialize",
  24. protocol: 'initialization',
  25. fn: function (){
  26. var self=this;
  27. return smalltalk.withContext(function($ctx1) {
  28. ($ctx1.supercall = true, globals.HLTranscript.superclass.fn.prototype._initialize.apply(_st(self), []));
  29. $ctx1.supercall = false;
  30. self._register();
  31. return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},globals.HLTranscript)})},
  32. args: [],
  33. source: "initialize\x0a\x09super initialize.\x0a\x09self register",
  34. messageSends: ["initialize", "register"],
  35. referencedClasses: []
  36. }),
  37. globals.HLTranscript);
  38. smalltalk.addMethod(
  39. smalltalk.method({
  40. selector: "register",
  41. protocol: 'registration',
  42. fn: function (){
  43. var self=this;
  44. function $HLTranscriptHandler(){return globals.HLTranscriptHandler||(typeof HLTranscriptHandler=="undefined"?nil:HLTranscriptHandler)}
  45. return smalltalk.withContext(function($ctx1) {
  46. _st($HLTranscriptHandler())._register_(self);
  47. return self}, function($ctx1) {$ctx1.fill(self,"register",{},globals.HLTranscript)})},
  48. args: [],
  49. source: "register\x0a\x09HLTranscriptHandler register: self",
  50. messageSends: ["register:"],
  51. referencedClasses: ["HLTranscriptHandler"]
  52. }),
  53. globals.HLTranscript);
  54. smalltalk.addMethod(
  55. smalltalk.method({
  56. selector: "renderOn:",
  57. protocol: 'rendering',
  58. fn: function (html){
  59. var self=this;
  60. return smalltalk.withContext(function($ctx1) {
  61. var $1,$2;
  62. $1=_st(html)._div();
  63. _st($1)._class_("transcript");
  64. $2=_st($1)._with_((function(){
  65. return smalltalk.withContext(function($ctx2) {
  66. self["@textarea"]=_st(html)._textarea();
  67. return self["@textarea"];
  68. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
  69. return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},globals.HLTranscript)})},
  70. args: ["html"],
  71. source: "renderOn: html\x0a\x09html div\x0a\x09\x09class: 'transcript';\x0a\x09\x09with: [ textarea := html textarea ]",
  72. messageSends: ["class:", "div", "with:", "textarea"],
  73. referencedClasses: []
  74. }),
  75. globals.HLTranscript);
  76. smalltalk.addMethod(
  77. smalltalk.method({
  78. selector: "show:",
  79. protocol: 'actions',
  80. fn: function (aString){
  81. var self=this;
  82. return smalltalk.withContext(function($ctx1) {
  83. var $1,$receiver;
  84. $1=self["@textarea"];
  85. if(($receiver = $1) == null || $receiver.isNil){
  86. $1;
  87. } else {
  88. _st(_st(self["@textarea"])._asJQuery())._append_(_st(aString)._asString());
  89. };
  90. return self}, function($ctx1) {$ctx1.fill(self,"show:",{aString:aString},globals.HLTranscript)})},
  91. args: ["aString"],
  92. source: "show: aString\x0a\x09textarea ifNotNil: [\x0a \x09\x09textarea asJQuery append: aString asString ]",
  93. messageSends: ["ifNotNil:", "append:", "asJQuery", "asString"],
  94. referencedClasses: []
  95. }),
  96. globals.HLTranscript);
  97. smalltalk.addMethod(
  98. smalltalk.method({
  99. selector: "unregister",
  100. protocol: 'registration',
  101. fn: function (){
  102. var self=this;
  103. function $HLTranscriptHandler(){return globals.HLTranscriptHandler||(typeof HLTranscriptHandler=="undefined"?nil:HLTranscriptHandler)}
  104. return smalltalk.withContext(function($ctx1) {
  105. ($ctx1.supercall = true, globals.HLTranscript.superclass.fn.prototype._unregister.apply(_st(self), []));
  106. $ctx1.supercall = false;
  107. _st($HLTranscriptHandler())._unregister_(self);
  108. return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},globals.HLTranscript)})},
  109. args: [],
  110. source: "unregister\x0a\x09super unregister.\x0a\x09HLTranscriptHandler unregister: self",
  111. messageSends: ["unregister", "unregister:"],
  112. referencedClasses: ["HLTranscriptHandler"]
  113. }),
  114. globals.HLTranscript);
  115. smalltalk.addClass('HLTranscriptHandler', globals.Object, [], 'Helios-Transcript');
  116. globals.HLTranscriptHandler.comment="I handle transcript events, dispatching them to all instances of `HLTranscript`.\x0a\x0a## API\x0a\x0aUse the class-side method `#register:` to add transcript instances.";
  117. globals.HLTranscriptHandler.klass.iVarNames = ['transcripts'];
  118. smalltalk.addMethod(
  119. smalltalk.method({
  120. selector: "clear",
  121. protocol: 'printing',
  122. fn: function (){
  123. var self=this;
  124. return smalltalk.withContext(function($ctx1) {
  125. _st(self._transcripts())._do_((function(each){
  126. return smalltalk.withContext(function($ctx2) {
  127. return _st(each)._clear();
  128. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
  129. return self}, function($ctx1) {$ctx1.fill(self,"clear",{},globals.HLTranscriptHandler.klass)})},
  130. args: [],
  131. source: "clear\x0a\x09self transcripts do: [ :each |\x0a\x09\x09each clear ]",
  132. messageSends: ["do:", "transcripts", "clear"],
  133. referencedClasses: []
  134. }),
  135. globals.HLTranscriptHandler.klass);
  136. smalltalk.addMethod(
  137. smalltalk.method({
  138. selector: "cr",
  139. protocol: 'printing',
  140. fn: function (){
  141. var self=this;
  142. return smalltalk.withContext(function($ctx1) {
  143. _st(self._transcripts())._do_((function(each){
  144. return smalltalk.withContext(function($ctx2) {
  145. return _st(each)._cr();
  146. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
  147. return self}, function($ctx1) {$ctx1.fill(self,"cr",{},globals.HLTranscriptHandler.klass)})},
  148. args: [],
  149. source: "cr\x0a\x09self transcripts do: [ :each | each cr ]",
  150. messageSends: ["do:", "transcripts", "cr"],
  151. referencedClasses: []
  152. }),
  153. globals.HLTranscriptHandler.klass);
  154. smalltalk.addMethod(
  155. smalltalk.method({
  156. selector: "register:",
  157. protocol: 'registration',
  158. fn: function (aTranscript){
  159. var self=this;
  160. return smalltalk.withContext(function($ctx1) {
  161. _st(self._transcripts())._add_(aTranscript);
  162. return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},globals.HLTranscriptHandler.klass)})},
  163. args: ["aTranscript"],
  164. source: "register: aTranscript\x0a\x09self transcripts add: aTranscript",
  165. messageSends: ["add:", "transcripts"],
  166. referencedClasses: []
  167. }),
  168. globals.HLTranscriptHandler.klass);
  169. smalltalk.addMethod(
  170. smalltalk.method({
  171. selector: "show:",
  172. protocol: 'printing',
  173. fn: function (aString){
  174. var self=this;
  175. return smalltalk.withContext(function($ctx1) {
  176. _st(self._transcripts())._do_((function(each){
  177. return smalltalk.withContext(function($ctx2) {
  178. return _st(each)._show_(aString);
  179. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
  180. return self}, function($ctx1) {$ctx1.fill(self,"show:",{aString:aString},globals.HLTranscriptHandler.klass)})},
  181. args: ["aString"],
  182. source: "show: aString\x0a\x09self transcripts do: [ :each |\x0a\x09\x09each show: aString ]",
  183. messageSends: ["do:", "transcripts", "show:"],
  184. referencedClasses: []
  185. }),
  186. globals.HLTranscriptHandler.klass);
  187. smalltalk.addMethod(
  188. smalltalk.method({
  189. selector: "transcripts",
  190. protocol: 'accessing',
  191. fn: function (){
  192. var self=this;
  193. function $OrderedCollection(){return globals.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
  194. return smalltalk.withContext(function($ctx1) {
  195. var $2,$1,$receiver;
  196. $2=self["@transcripts"];
  197. if(($receiver = $2) == null || $receiver.isNil){
  198. self["@transcripts"]=_st($OrderedCollection())._new();
  199. $1=self["@transcripts"];
  200. } else {
  201. $1=$2;
  202. };
  203. return $1;
  204. }, function($ctx1) {$ctx1.fill(self,"transcripts",{},globals.HLTranscriptHandler.klass)})},
  205. args: [],
  206. source: "transcripts\x0a\x09^ transcripts ifNil: [ transcripts := OrderedCollection new ]",
  207. messageSends: ["ifNil:", "new"],
  208. referencedClasses: ["OrderedCollection"]
  209. }),
  210. globals.HLTranscriptHandler.klass);
  211. smalltalk.addMethod(
  212. smalltalk.method({
  213. selector: "unregister:",
  214. protocol: 'registration',
  215. fn: function (aTranscript){
  216. var self=this;
  217. return smalltalk.withContext(function($ctx1) {
  218. _st(self._transcripts())._remove_(aTranscript);
  219. return self}, function($ctx1) {$ctx1.fill(self,"unregister:",{aTranscript:aTranscript},globals.HLTranscriptHandler.klass)})},
  220. args: ["aTranscript"],
  221. source: "unregister: aTranscript\x0a\x09self transcripts remove: aTranscript",
  222. messageSends: ["remove:", "transcripts"],
  223. referencedClasses: []
  224. }),
  225. globals.HLTranscriptHandler.klass);
  226. });