Helios-Transcript.js 8.6 KB

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