1
0

Helios-Core.deploy.js 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423
  1. smalltalk.addPackage('Helios-Core');
  2. smalltalk.addClass('HLTab', smalltalk.Object, ['widget', 'label'], 'Helios-Core');
  3. smalltalk.addMethod(
  4. "_activate",
  5. smalltalk.method({
  6. selector: "activate",
  7. fn: function (){
  8. var self=this;
  9. return smalltalk.withContext(function($ctx1) { _st(_st(self)._manager())._activate_(self);
  10. return self}, function($ctx1) {$ctx1.fill(self,"activate",{}, smalltalk.HLTab)})},
  11. messageSends: ["activate:", "manager"]}),
  12. smalltalk.HLTab);
  13. smalltalk.addMethod(
  14. "_add",
  15. smalltalk.method({
  16. selector: "add",
  17. fn: function (){
  18. var self=this;
  19. return smalltalk.withContext(function($ctx1) { _st(_st(self)._manager())._addTab_(self);
  20. return self}, function($ctx1) {$ctx1.fill(self,"add",{}, smalltalk.HLTab)})},
  21. messageSends: ["addTab:", "manager"]}),
  22. smalltalk.HLTab);
  23. smalltalk.addMethod(
  24. "_displayLabel",
  25. smalltalk.method({
  26. selector: "displayLabel",
  27. fn: function (){
  28. var self=this;
  29. return smalltalk.withContext(function($ctx1) { var $2,$1;
  30. $2=_st(_st(_st(self)._label())._size()).__gt((20));
  31. if(smalltalk.assert($2)){
  32. $1=_st(_st(_st(self)._label())._first_((20))).__comma("...");
  33. } else {
  34. $1=_st(self)._label();
  35. };
  36. return $1;
  37. }, function($ctx1) {$ctx1.fill(self,"displayLabel",{},smalltalk.HLTab)})},
  38. messageSends: ["ifTrue:ifFalse:", ",", "first:", "label", ">", "size"]}),
  39. smalltalk.HLTab);
  40. smalltalk.addMethod(
  41. "_focus",
  42. smalltalk.method({
  43. selector: "focus",
  44. fn: function (){
  45. var self=this;
  46. return smalltalk.withContext(function($ctx1) { var $1;
  47. $1=_st(_st(self)._widget())._canHaveFocus();
  48. if(smalltalk.assert($1)){
  49. _st(_st(self)._widget())._focus();
  50. };
  51. return self}, function($ctx1) {$ctx1.fill(self,"focus",{},smalltalk.HLTab)})},
  52. messageSends: ["ifTrue:", "focus", "widget", "canHaveFocus"]}),
  53. smalltalk.HLTab);
  54. smalltalk.addMethod(
  55. "_isActive",
  56. smalltalk.method({
  57. selector: "isActive",
  58. fn: function (){
  59. var self=this;
  60. return smalltalk.withContext(function($ctx1) { var $1;
  61. $1=_st(_st(_st(self)._manager())._activeTab()).__eq(self);
  62. return $1;
  63. }, function($ctx1) {$ctx1.fill(self,"isActive",{}, smalltalk.HLTab)})},
  64. messageSends: ["=", "activeTab", "manager"]}),
  65. smalltalk.HLTab);
  66. smalltalk.addMethod(
  67. "_label",
  68. smalltalk.method({
  69. selector: "label",
  70. fn: function (){
  71. var self=this;
  72. return smalltalk.withContext(function($ctx1) { var $2,$1;
  73. $2=self["@label"];
  74. if(($receiver = $2) == nil || $receiver == undefined){
  75. $1="";
  76. } else {
  77. $1=$2;
  78. };
  79. return $1;
  80. }, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLTab)})},
  81. messageSends: ["ifNil:"]}),
  82. smalltalk.HLTab);
  83. smalltalk.addMethod(
  84. "_label_",
  85. smalltalk.method({
  86. selector: "label:",
  87. fn: function (aString){
  88. var self=this;
  89. return smalltalk.withContext(function($ctx1) { self["@label"]=aString;
  90. return self}, function($ctx1) {$ctx1.fill(self,"label:",{aString:aString}, smalltalk.HLTab)})},
  91. messageSends: []}),
  92. smalltalk.HLTab);
  93. smalltalk.addMethod(
  94. "_manager",
  95. smalltalk.method({
  96. selector: "manager",
  97. fn: function (){
  98. var self=this;
  99. return smalltalk.withContext(function($ctx1) { var $1;
  100. $1=_st((smalltalk.HLManager || HLManager))._current();
  101. return $1;
  102. }, function($ctx1) {$ctx1.fill(self,"manager",{}, smalltalk.HLTab)})},
  103. messageSends: ["current"]}),
  104. smalltalk.HLTab);
  105. smalltalk.addMethod(
  106. "_widget",
  107. smalltalk.method({
  108. selector: "widget",
  109. fn: function (){
  110. var self=this;
  111. return smalltalk.withContext(function($ctx1) { var $1;
  112. $1=self["@widget"];
  113. return $1;
  114. }, function($ctx1) {$ctx1.fill(self,"widget",{}, smalltalk.HLTab)})},
  115. messageSends: []}),
  116. smalltalk.HLTab);
  117. smalltalk.addMethod(
  118. "_widget_",
  119. smalltalk.method({
  120. selector: "widget:",
  121. fn: function (aWidget){
  122. var self=this;
  123. return smalltalk.withContext(function($ctx1) { self["@widget"]=aWidget;
  124. return self}, function($ctx1) {$ctx1.fill(self,"widget:",{aWidget:aWidget}, smalltalk.HLTab)})},
  125. messageSends: []}),
  126. smalltalk.HLTab);
  127. smalltalk.addMethod(
  128. "_on_labelled_",
  129. smalltalk.method({
  130. selector: "on:labelled:",
  131. fn: function (aWidget,aString){
  132. var self=this;
  133. return smalltalk.withContext(function($ctx1) { var $2,$3,$1;
  134. $2=_st(self)._new();
  135. _st($2)._widget_(aWidget);
  136. _st($2)._label_(aString);
  137. $3=_st($2)._yourself();
  138. $1=$3;
  139. return $1;
  140. }, function($ctx1) {$ctx1.fill(self,"on:labelled:",{aWidget:aWidget,aString:aString}, smalltalk.HLTab.klass)})},
  141. messageSends: ["widget:", "new", "label:", "yourself"]}),
  142. smalltalk.HLTab.klass);
  143. smalltalk.addClass('HLWidget', smalltalk.Widget, ['wrapper'], 'Helios-Core');
  144. smalltalk.addMethod(
  145. "_alert_",
  146. smalltalk.method({
  147. selector: "alert:",
  148. fn: function (aString){
  149. var self=this;
  150. return smalltalk.withContext(function($ctx1) { _st(window)._alert_(aString);
  151. return self}, function($ctx1) {$ctx1.fill(self,"alert:",{aString:aString}, smalltalk.HLWidget)})},
  152. messageSends: ["alert:"]}),
  153. smalltalk.HLWidget);
  154. smalltalk.addMethod(
  155. "_canHaveFocus",
  156. smalltalk.method({
  157. selector: "canHaveFocus",
  158. fn: function (){
  159. var self=this;
  160. return smalltalk.withContext(function($ctx1) { return false;
  161. }, function($ctx1) {$ctx1.fill(self,"canHaveFocus",{},smalltalk.HLWidget)})},
  162. messageSends: []}),
  163. smalltalk.HLWidget);
  164. smalltalk.addMethod(
  165. "_confirm_",
  166. smalltalk.method({
  167. selector: "confirm:",
  168. fn: function (aString){
  169. var self=this;
  170. return smalltalk.withContext(function($ctx1) { var $1;
  171. $1=_st(window)._confirm_(aString);
  172. return $1;
  173. }, function($ctx1) {$ctx1.fill(self,"confirm:",{aString:aString}, smalltalk.HLWidget)})},
  174. messageSends: ["confirm:"]}),
  175. smalltalk.HLWidget);
  176. smalltalk.addMethod(
  177. "_manager",
  178. smalltalk.method({
  179. selector: "manager",
  180. fn: function (){
  181. var self=this;
  182. return smalltalk.withContext(function($ctx1) { var $1;
  183. $1=_st((smalltalk.HLManager || HLManager))._current();
  184. return $1;
  185. }, function($ctx1) {$ctx1.fill(self,"manager",{}, smalltalk.HLWidget)})},
  186. messageSends: ["current"]}),
  187. smalltalk.HLWidget);
  188. smalltalk.addMethod(
  189. "_refresh",
  190. smalltalk.method({
  191. selector: "refresh",
  192. fn: function (){
  193. var self=this;
  194. return smalltalk.withContext(function($ctx1) { var $1,$2;
  195. $1=_st(self)._wrapper();
  196. if(($receiver = $1) == nil || $receiver == undefined){
  197. $2=self;
  198. return $2;
  199. } else {
  200. $1;
  201. };
  202. _st(_st(_st(self)._wrapper())._asJQuery())._empty();
  203. _st((function(html){
  204. return smalltalk.withContext(function($ctx2) { return _st(self)._renderContentOn_(html);
  205. }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_(_st(_st(self)._wrapper())._asJQuery());
  206. return self}, function($ctx1) {$ctx1.fill(self,"refresh",{}, smalltalk.HLWidget)})},
  207. messageSends: ["ifNil:", "wrapper", "empty", "asJQuery", "appendToJQuery:", "renderContentOn:"]}),
  208. smalltalk.HLWidget);
  209. smalltalk.addMethod(
  210. "_registerBindings",
  211. smalltalk.method({
  212. selector: "registerBindings",
  213. fn: function (){
  214. var self=this;
  215. return smalltalk.withContext(function($ctx1) { _st(self)._registerBindingsOn_(_st(_st(_st(self)._manager())._keyBinder())._bindings());
  216. return self}, function($ctx1) {$ctx1.fill(self,"registerBindings",{}, smalltalk.HLWidget)})},
  217. messageSends: ["registerBindingsOn:", "bindings", "keyBinder", "manager"]}),
  218. smalltalk.HLWidget);
  219. smalltalk.addMethod(
  220. "_registerBindingsOn_",
  221. smalltalk.method({
  222. selector: "registerBindingsOn:",
  223. fn: function (aBindingGroup){
  224. var self=this;
  225. return smalltalk.withContext(function($ctx1) { return self}, function($ctx1) {$ctx1.fill(self,"registerBindingsOn:",{aBindingGroup:aBindingGroup}, smalltalk.HLWidget)})},
  226. messageSends: []}),
  227. smalltalk.HLWidget);
  228. smalltalk.addMethod(
  229. "_renderContentOn_",
  230. smalltalk.method({
  231. selector: "renderContentOn:",
  232. fn: function (html){
  233. var self=this;
  234. return smalltalk.withContext(function($ctx1) { return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html}, smalltalk.HLWidget)})},
  235. messageSends: []}),
  236. smalltalk.HLWidget);
  237. smalltalk.addMethod(
  238. "_renderOn_",
  239. smalltalk.method({
  240. selector: "renderOn:",
  241. fn: function (html){
  242. var self=this;
  243. return smalltalk.withContext(function($ctx1) { _st(self)._registerBindings();
  244. self["@wrapper"]=_st(html)._div();
  245. _st((function(renderer){
  246. return smalltalk.withContext(function($ctx2) { return _st(self)._renderContentOn_(renderer);
  247. }, function($ctx2) {$ctx2.fillBlock({renderer:renderer},$ctx1)})}))._appendToJQuery_(_st(self["@wrapper"])._asJQuery());
  248. return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.HLWidget)})},
  249. messageSends: ["registerBindings", "div", "appendToJQuery:", "asJQuery", "renderContentOn:"]}),
  250. smalltalk.HLWidget);
  251. smalltalk.addMethod(
  252. "_wrapper",
  253. smalltalk.method({
  254. selector: "wrapper",
  255. fn: function (){
  256. var self=this;
  257. return smalltalk.withContext(function($ctx1) { var $1;
  258. $1=self["@wrapper"];
  259. return $1;
  260. }, function($ctx1) {$ctx1.fill(self,"wrapper",{}, smalltalk.HLWidget)})},
  261. messageSends: []}),
  262. smalltalk.HLWidget);
  263. smalltalk.addMethod(
  264. "_canBeOpenAsTab",
  265. smalltalk.method({
  266. selector: "canBeOpenAsTab",
  267. fn: function (){
  268. var self=this;
  269. return smalltalk.withContext(function($ctx1) { return false;
  270. }, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{}, smalltalk.HLWidget.klass)})},
  271. messageSends: []}),
  272. smalltalk.HLWidget.klass);
  273. smalltalk.addMethod(
  274. "_openAsTab",
  275. smalltalk.method({
  276. selector: "openAsTab",
  277. fn: function (){
  278. var self=this;
  279. return smalltalk.withContext(function($ctx1) { var $1,$2;
  280. $1=_st(self)._canBeOpenAsTab();
  281. if(! smalltalk.assert($1)){
  282. $2=self;
  283. return $2;
  284. };
  285. _st(_st((smalltalk.HLManager || HLManager))._current())._addTab_(_st((smalltalk.HLTab || HLTab))._on_labelled_(_st(self)._new(),_st(self)._tabLabel()));
  286. return self}, function($ctx1) {$ctx1.fill(self,"openAsTab",{}, smalltalk.HLWidget.klass)})},
  287. messageSends: ["ifFalse:", "canBeOpenAsTab", "addTab:", "on:labelled:", "new", "tabLabel", "current"]}),
  288. smalltalk.HLWidget.klass);
  289. smalltalk.addMethod(
  290. "_tabLabel",
  291. smalltalk.method({
  292. selector: "tabLabel",
  293. fn: function (){
  294. var self=this;
  295. return smalltalk.withContext(function($ctx1) { return "Tab";
  296. }, function($ctx1) {$ctx1.fill(self,"tabLabel",{}, smalltalk.HLWidget.klass)})},
  297. messageSends: []}),
  298. smalltalk.HLWidget.klass);
  299. smalltalk.addMethod(
  300. "_tabPriority",
  301. smalltalk.method({
  302. selector: "tabPriority",
  303. fn: function (){
  304. var self=this;
  305. return smalltalk.withContext(function($ctx1) { return (500);
  306. }, function($ctx1) {$ctx1.fill(self,"tabPriority",{}, smalltalk.HLWidget.klass)})},
  307. messageSends: []}),
  308. smalltalk.HLWidget.klass);
  309. smalltalk.addClass('HLDebugger', smalltalk.HLWidget, [], 'Helios-Core');
  310. smalltalk.addClass('HLFocusableWidget', smalltalk.HLWidget, ['hiddenInput'], 'Helios-Core');
  311. smalltalk.addMethod(
  312. "_blur",
  313. smalltalk.method({
  314. selector: "blur",
  315. fn: function (){
  316. var self=this;
  317. return smalltalk.withContext(function($ctx1) { _st(_st(self["@hiddenInput"])._asJQuery())._blur();
  318. return self}, function($ctx1) {$ctx1.fill(self,"blur",{}, smalltalk.HLFocusableWidget)})},
  319. messageSends: ["blur", "asJQuery"]}),
  320. smalltalk.HLFocusableWidget);
  321. smalltalk.addMethod(
  322. "_canHaveFocus",
  323. smalltalk.method({
  324. selector: "canHaveFocus",
  325. fn: function (){
  326. var self=this;
  327. return smalltalk.withContext(function($ctx1) { return true;
  328. }, function($ctx1) {$ctx1.fill(self,"canHaveFocus",{},smalltalk.HLFocusableWidget)})},
  329. messageSends: []}),
  330. smalltalk.HLFocusableWidget);
  331. smalltalk.addMethod(
  332. "_focus",
  333. smalltalk.method({
  334. selector: "focus",
  335. fn: function (){
  336. var self=this;
  337. return smalltalk.withContext(function($ctx1) { _st(_st(self["@hiddenInput"])._asJQuery())._focus();
  338. return self}, function($ctx1) {$ctx1.fill(self,"focus",{}, smalltalk.HLFocusableWidget)})},
  339. messageSends: ["focus", "asJQuery"]}),
  340. smalltalk.HLFocusableWidget);
  341. smalltalk.addMethod(
  342. "_focusClass",
  343. smalltalk.method({
  344. selector: "focusClass",
  345. fn: function (){
  346. var self=this;
  347. return smalltalk.withContext(function($ctx1) { return "focused";
  348. }, function($ctx1) {$ctx1.fill(self,"focusClass",{}, smalltalk.HLFocusableWidget)})},
  349. messageSends: []}),
  350. smalltalk.HLFocusableWidget);
  351. smalltalk.addMethod(
  352. "_hasFocus",
  353. smalltalk.method({
  354. selector: "hasFocus",
  355. fn: function (){
  356. var self=this;
  357. return smalltalk.withContext(function($ctx1) { var $1;
  358. $1=_st(_st(_st(self)._wrapper())._notNil())._and_((function(){
  359. return smalltalk.withContext(function($ctx2) { return _st(_st(_st(self)._wrapper())._asJQuery())._hasClass_(_st(self)._focusClass());
  360. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  361. return $1;
  362. }, function($ctx1) {$ctx1.fill(self,"hasFocus",{}, smalltalk.HLFocusableWidget)})},
  363. messageSends: ["and:", "hasClass:", "focusClass", "asJQuery", "wrapper", "notNil"]}),
  364. smalltalk.HLFocusableWidget);
  365. smalltalk.addMethod(
  366. "_renderContentOn_",
  367. smalltalk.method({
  368. selector: "renderContentOn:",
  369. fn: function (html){
  370. var self=this;
  371. return smalltalk.withContext(function($ctx1) { return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html}, smalltalk.HLFocusableWidget)})},
  372. messageSends: []}),
  373. smalltalk.HLFocusableWidget);
  374. smalltalk.addMethod(
  375. "_renderHiddenInputOn_",
  376. smalltalk.method({
  377. selector: "renderHiddenInputOn:",
  378. fn: function (html){
  379. var self=this;
  380. return smalltalk.withContext(function($ctx1) { var $1,$2;
  381. $1=_st(html)._input();
  382. _st($1)._style_("position: absolute; left: -100000px;");
  383. _st($1)._onBlur_((function(){
  384. return smalltalk.withContext(function($ctx2) { return _st(_st(_st(self)._wrapper())._asJQuery())._removeClass_(_st(self)._focusClass());
  385. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  386. $2=_st($1)._onFocus_((function(){
  387. return smalltalk.withContext(function($ctx2) { return _st(_st(_st(self)._wrapper())._asJQuery())._addClass_(_st(self)._focusClass());
  388. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  389. self["@hiddenInput"]=$2;
  390. return self}, function($ctx1) {$ctx1.fill(self,"renderHiddenInputOn:",{html:html}, smalltalk.HLFocusableWidget)})},
  391. messageSends: ["style:", "input", "onBlur:", "removeClass:", "focusClass", "asJQuery", "wrapper", "onFocus:", "addClass:"]}),
  392. smalltalk.HLFocusableWidget);
  393. smalltalk.addMethod(
  394. "_renderOn_",
  395. smalltalk.method({
  396. selector: "renderOn:",
  397. fn: function (html){
  398. var self=this;
  399. return smalltalk.withContext(function($ctx1) { var $1,$2;
  400. _st(self)._registerBindings();
  401. _st(self)._renderHiddenInputOn_(html);
  402. $1=_st(html)._div();
  403. _st($1)._class_("hl_widget");
  404. _st($1)._onClick_((function(){
  405. return smalltalk.withContext(function($ctx2) { return _st(_st(self["@hiddenInput"])._asJQuery())._focus();
  406. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  407. $2=_st($1)._with_((function(){
  408. return smalltalk.withContext(function($ctx2) { return _st(self)._renderContentOn_(html);
  409. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  410. self["@wrapper"]=$2;
  411. return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.HLFocusableWidget)})},
  412. messageSends: ["registerBindings", "renderHiddenInputOn:", "class:", "div", "onClick:", "focus", "asJQuery", "with:", "renderContentOn:"]}),
  413. smalltalk.HLFocusableWidget);
  414. smalltalk.addClass('HLListWidget', smalltalk.HLFocusableWidget, ['items', 'selectedItem', 'mapping'], 'Helios-Core');
  415. smalltalk.addMethod(
  416. "_activateFirstListItem",
  417. smalltalk.method({
  418. selector: "activateFirstListItem",
  419. fn: function (){
  420. var self=this;
  421. return smalltalk.withContext(function($ctx1) { _st(self)._activateListItem_(_st(window)._jQuery_(_st(_st(_st(self["@wrapper"])._asJQuery())._find_("li"))._get_((0))));
  422. return self}, function($ctx1) {$ctx1.fill(self,"activateFirstListItem",{}, smalltalk.HLListWidget)})},
  423. messageSends: ["activateListItem:", "jQuery:", "get:", "find:", "asJQuery"]}),
  424. smalltalk.HLListWidget);
  425. smalltalk.addMethod(
  426. "_activateItem_",
  427. smalltalk.method({
  428. selector: "activateItem:",
  429. fn: function (anObject){
  430. var self=this;
  431. return smalltalk.withContext(function($ctx1) { var $1;
  432. var $early={};
  433. try {
  434. _st(self)._activateListItem_(_st(_st(self["@mapping"])._at_ifAbsent_(anObject,(function(){
  435. return smalltalk.withContext(function($ctx2) { $1=self;
  436. throw $early=[$1];
  437. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._asJQuery());
  438. return self}
  439. catch(e) {if(e===$early)return e[0]; throw e}
  440. }, function($ctx1) {$ctx1.fill(self,"activateItem:",{anObject:anObject},smalltalk.HLListWidget)})},
  441. messageSends: ["activateListItem:", "asJQuery", "at:ifAbsent:"]}),
  442. smalltalk.HLListWidget);
  443. smalltalk.addMethod(
  444. "_activateListItem_",
  445. smalltalk.method({
  446. selector: "activateListItem:",
  447. fn: function (aListItem){
  448. var self=this;
  449. var parent,position,item;
  450. return smalltalk.withContext(function($ctx1) { var $1,$2,$3,$4,$5;
  451. $1=_st(aListItem)._get_((0));
  452. if(($receiver = $1) == nil || $receiver == undefined){
  453. $2=self;
  454. return $2;
  455. } else {
  456. $1;
  457. };
  458. position=_st(self)._positionOf_(aListItem);
  459. parent=_st(aListItem)._parent();
  460. _st(_st(parent)._children())._removeClass_("active");
  461. _st(aListItem)._addClass_("active");
  462. $3=_st(_st(_st(aListItem)._position())._top()).__lt((0));
  463. if(smalltalk.assert($3)){
  464. _st(_st(parent)._get_((0)))._scrollTop_(_st(_st(_st(_st(parent)._get_((0)))._scrollTop()).__plus(_st(_st(aListItem)._position())._top())).__minus((10)));
  465. };
  466. $4=_st(_st(_st(_st(aListItem)._position())._top()).__plus(_st(aListItem)._height())).__gt(_st(parent)._height());
  467. if(smalltalk.assert($4)){
  468. _st(_st(parent)._get_((0)))._scrollTop_(_st(_st(_st(_st(_st(parent)._get_((0)))._scrollTop()).__plus(_st(aListItem)._height())).__minus(_st(_st(parent)._height()).__minus(_st(_st(aListItem)._position())._top()))).__plus((10)));
  469. };
  470. item=_st(_st(self)._items())._at_(_st(_st(aListItem)._attr_("list-data"))._asNumber());
  471. $5=_st(_st(self)._selectedItem()).__eq_eq(item);
  472. if(! smalltalk.assert($5)){
  473. _st(self)._selectItem_(item);
  474. };
  475. return self}, function($ctx1) {$ctx1.fill(self,"activateListItem:",{aListItem:aListItem,parent:parent,position:position,item:item},smalltalk.HLListWidget)})},
  476. messageSends: ["ifNil:", "get:", "positionOf:", "parent", "removeClass:", "children", "addClass:", "ifTrue:", "scrollTop:", "-", "+", "top", "position", "scrollTop", "<", "height", ">", "at:", "asNumber", "attr:", "items", "ifFalse:", "selectItem:", "==", "selectedItem"]}),
  477. smalltalk.HLListWidget);
  478. smalltalk.addMethod(
  479. "_cssClassForItem_",
  480. smalltalk.method({
  481. selector: "cssClassForItem:",
  482. fn: function (anObject){
  483. var self=this;
  484. return smalltalk.withContext(function($ctx1) { var $2,$1;
  485. $2=_st(_st(self)._selectedItem()).__eq(anObject);
  486. if(smalltalk.assert($2)){
  487. $1="active";
  488. } else {
  489. $1="inactive";
  490. };
  491. return $1;
  492. }, function($ctx1) {$ctx1.fill(self,"cssClassForItem:",{anObject:anObject}, smalltalk.HLListWidget)})},
  493. messageSends: ["ifTrue:ifFalse:", "=", "selectedItem"]}),
  494. smalltalk.HLListWidget);
  495. smalltalk.addMethod(
  496. "_defaultItems",
  497. smalltalk.method({
  498. selector: "defaultItems",
  499. fn: function (){
  500. var self=this;
  501. return smalltalk.withContext(function($ctx1) { return [];
  502. }, function($ctx1) {$ctx1.fill(self,"defaultItems",{}, smalltalk.HLListWidget)})},
  503. messageSends: []}),
  504. smalltalk.HLListWidget);
  505. smalltalk.addMethod(
  506. "_focus",
  507. smalltalk.method({
  508. selector: "focus",
  509. fn: function (){
  510. var self=this;
  511. return smalltalk.withContext(function($ctx1) { var $1,$2;
  512. smalltalk.HLFocusableWidget.fn.prototype._focus.apply(_st(self), []);
  513. $1=_st(_st(self)._items())._isEmpty();
  514. if(! smalltalk.assert($1)){
  515. $2=_st(self)._selectedItem();
  516. if(($receiver = $2) == nil || $receiver == undefined){
  517. _st(self)._activateFirstListItem();
  518. } else {
  519. $2;
  520. };
  521. };
  522. return self}, function($ctx1) {$ctx1.fill(self,"focus",{}, smalltalk.HLListWidget)})},
  523. messageSends: ["focus", "ifFalse:", "ifNil:", "activateFirstListItem", "selectedItem", "isEmpty", "items"]}),
  524. smalltalk.HLListWidget);
  525. smalltalk.addMethod(
  526. "_iconForItem_",
  527. smalltalk.method({
  528. selector: "iconForItem:",
  529. fn: function (anObject){
  530. var self=this;
  531. return smalltalk.withContext(function($ctx1) { return "";
  532. }, function($ctx1) {$ctx1.fill(self,"iconForItem:",{anObject:anObject}, smalltalk.HLListWidget)})},
  533. messageSends: []}),
  534. smalltalk.HLListWidget);
  535. smalltalk.addMethod(
  536. "_initialize",
  537. smalltalk.method({
  538. selector: "initialize",
  539. fn: function (){
  540. var self=this;
  541. return smalltalk.withContext(function($ctx1) { smalltalk.HLFocusableWidget.fn.prototype._initialize.apply(_st(self), []);
  542. self["@mapping"]=_st((smalltalk.Dictionary || Dictionary))._new();
  543. return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLListWidget)})},
  544. messageSends: ["initialize", "new"]}),
  545. smalltalk.HLListWidget);
  546. smalltalk.addMethod(
  547. "_items",
  548. smalltalk.method({
  549. selector: "items",
  550. fn: function (){
  551. var self=this;
  552. return smalltalk.withContext(function($ctx1) { var $2,$1;
  553. $2=self["@items"];
  554. if(($receiver = $2) == nil || $receiver == undefined){
  555. self["@items"]=_st(self)._defaultItems();
  556. $1=self["@items"];
  557. } else {
  558. $1=$2;
  559. };
  560. return $1;
  561. }, function($ctx1) {$ctx1.fill(self,"items",{}, smalltalk.HLListWidget)})},
  562. messageSends: ["ifNil:", "defaultItems"]}),
  563. smalltalk.HLListWidget);
  564. smalltalk.addMethod(
  565. "_items_",
  566. smalltalk.method({
  567. selector: "items:",
  568. fn: function (aCollection){
  569. var self=this;
  570. return smalltalk.withContext(function($ctx1) { self["@items"]=aCollection;
  571. return self}, function($ctx1) {$ctx1.fill(self,"items:",{aCollection:aCollection}, smalltalk.HLListWidget)})},
  572. messageSends: []}),
  573. smalltalk.HLListWidget);
  574. smalltalk.addMethod(
  575. "_positionOf_",
  576. smalltalk.method({
  577. selector: "positionOf:",
  578. fn: function (aListItem){
  579. var self=this;
  580. return smalltalk.withContext(function($ctx1) {
  581. return aListItem.parent().children().get().indexOf(aListItem.get(0)) + 1
  582. ;
  583. return self}, function($ctx1) {$ctx1.fill(self,"positionOf:",{aListItem:aListItem}, smalltalk.HLListWidget)})},
  584. messageSends: []}),
  585. smalltalk.HLListWidget);
  586. smalltalk.addMethod(
  587. "_registerMappingFrom_to_",
  588. smalltalk.method({
  589. selector: "registerMappingFrom:to:",
  590. fn: function (anObject,aTag){
  591. var self=this;
  592. return smalltalk.withContext(function($ctx1) { _st(self["@mapping"])._at_put_(anObject,aTag);
  593. return self}, function($ctx1) {$ctx1.fill(self,"registerMappingFrom:to:",{anObject:anObject,aTag:aTag},smalltalk.HLListWidget)})},
  594. messageSends: ["at:put:"]}),
  595. smalltalk.HLListWidget);
  596. smalltalk.addMethod(
  597. "_renderButtonsOn_",
  598. smalltalk.method({
  599. selector: "renderButtonsOn:",
  600. fn: function (html){
  601. var self=this;
  602. return smalltalk.withContext(function($ctx1) { return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html}, smalltalk.HLListWidget)})},
  603. messageSends: []}),
  604. smalltalk.HLListWidget);
  605. smalltalk.addMethod(
  606. "_renderContentOn_",
  607. smalltalk.method({
  608. selector: "renderContentOn:",
  609. fn: function (html){
  610. var self=this;
  611. return smalltalk.withContext(function($ctx1) { var $1,$2,$3,$4;
  612. $1=_st(html)._ul();
  613. _st($1)._class_("nav nav-pills nav-stacked");
  614. $2=_st($1)._with_((function(){
  615. return smalltalk.withContext(function($ctx2) { return _st(self)._renderListOn_(html);
  616. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  617. $3=_st(html)._div();
  618. _st($3)._class_("pane_actions form-actions");
  619. $4=_st($3)._with_((function(){
  620. return smalltalk.withContext(function($ctx2) { return _st(self)._renderButtonsOn_(html);
  621. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  622. _st(self)._setupKeyBindings();
  623. return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html}, smalltalk.HLListWidget)})},
  624. messageSends: ["class:", "ul", "with:", "renderListOn:", "div", "renderButtonsOn:", "setupKeyBindings"]}),
  625. smalltalk.HLListWidget);
  626. smalltalk.addMethod(
  627. "_renderItem_on_",
  628. smalltalk.method({
  629. selector: "renderItem:on:",
  630. fn: function (anObject,html){
  631. var self=this;
  632. var li;
  633. return smalltalk.withContext(function($ctx1) { var $1,$3,$4,$2;
  634. li=_st(html)._li();
  635. _st(self)._registerMappingFrom_to_(anObject,li);
  636. $1=li;
  637. _st($1)._class_(_st(self)._cssClassForItem_(anObject));
  638. _st($1)._at_put_("list-data",_st(_st(_st(self)._items())._indexOf_(anObject))._asString());
  639. $2=_st($1)._with_((function(){
  640. return smalltalk.withContext(function($ctx2) { $3=_st(html)._a();
  641. _st($3)._with_((function(){
  642. return smalltalk.withContext(function($ctx3) { _st(_st(html)._tag_("i"))._class_(_st(self)._iconForItem_(anObject));
  643. return _st(self)._renderItemLabel_on_(anObject,html);
  644. }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
  645. $4=_st($3)._onClick_((function(){
  646. return smalltalk.withContext(function($ctx3) { return _st(self)._activateListItem_(_st(li)._asJQuery());
  647. }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
  648. return $4;
  649. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  650. return self}, function($ctx1) {$ctx1.fill(self,"renderItem:on:",{anObject:anObject,html:html,li:li},smalltalk.HLListWidget)})},
  651. messageSends: ["li", "registerMappingFrom:to:", "class:", "cssClassForItem:", "at:put:", "asString", "indexOf:", "items", "with:", "iconForItem:", "tag:", "renderItemLabel:on:", "a", "onClick:", "activateListItem:", "asJQuery"]}),
  652. smalltalk.HLListWidget);
  653. smalltalk.addMethod(
  654. "_renderItemLabel_on_",
  655. smalltalk.method({
  656. selector: "renderItemLabel:on:",
  657. fn: function (anObject,html){
  658. var self=this;
  659. return smalltalk.withContext(function($ctx1) { _st(html)._with_(_st(anObject)._asString());
  660. return self}, function($ctx1) {$ctx1.fill(self,"renderItemLabel:on:",{anObject:anObject,html:html}, smalltalk.HLListWidget)})},
  661. messageSends: ["with:", "asString"]}),
  662. smalltalk.HLListWidget);
  663. smalltalk.addMethod(
  664. "_renderListOn_",
  665. smalltalk.method({
  666. selector: "renderListOn:",
  667. fn: function (html){
  668. var self=this;
  669. return smalltalk.withContext(function($ctx1) { self["@mapping"]=_st((smalltalk.Dictionary || Dictionary))._new();
  670. _st(_st(self)._items())._do_((function(each){
  671. return smalltalk.withContext(function($ctx2) { return _st(self)._renderItem_on_(each,html);
  672. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
  673. return self}, function($ctx1) {$ctx1.fill(self,"renderListOn:",{html:html},smalltalk.HLListWidget)})},
  674. messageSends: ["new", "do:", "renderItem:on:", "items"]}),
  675. smalltalk.HLListWidget);
  676. smalltalk.addMethod(
  677. "_selectItem_",
  678. smalltalk.method({
  679. selector: "selectItem:",
  680. fn: function (anObject){
  681. var self=this;
  682. return smalltalk.withContext(function($ctx1) { _st(self)._selectedItem_(anObject);
  683. return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{anObject:anObject}, smalltalk.HLListWidget)})},
  684. messageSends: ["selectedItem:"]}),
  685. smalltalk.HLListWidget);
  686. smalltalk.addMethod(
  687. "_selectedItem",
  688. smalltalk.method({
  689. selector: "selectedItem",
  690. fn: function (){
  691. var self=this;
  692. return smalltalk.withContext(function($ctx1) { var $1;
  693. $1=self["@selectedItem"];
  694. return $1;
  695. }, function($ctx1) {$ctx1.fill(self,"selectedItem",{}, smalltalk.HLListWidget)})},
  696. messageSends: []}),
  697. smalltalk.HLListWidget);
  698. smalltalk.addMethod(
  699. "_selectedItem_",
  700. smalltalk.method({
  701. selector: "selectedItem:",
  702. fn: function (anObject){
  703. var self=this;
  704. return smalltalk.withContext(function($ctx1) { self["@selectedItem"]=anObject;
  705. return self}, function($ctx1) {$ctx1.fill(self,"selectedItem:",{anObject:anObject}, smalltalk.HLListWidget)})},
  706. messageSends: []}),
  707. smalltalk.HLListWidget);
  708. smalltalk.addMethod(
  709. "_setupKeyBindings",
  710. smalltalk.method({
  711. selector: "setupKeyBindings",
  712. fn: function (){
  713. var self=this;
  714. var next;
  715. return smalltalk.withContext(function($ctx1) { var $1,$2,$3;
  716. _st(_st(self["@hiddenInput"])._asJQuery())._unbind_("keydown");
  717. _st(_st(self["@hiddenInput"])._asJQuery())._keydown_((function(e){
  718. var selected;
  719. return smalltalk.withContext(function($ctx2) { selected=_st(window)._jQuery_(".focused .nav-pills .active");
  720. selected;
  721. $1=_st(_st(e)._which()).__eq((38));
  722. if(smalltalk.assert($1)){
  723. _st(self)._activateListItem_(_st(selected)._prev());
  724. };
  725. $2=_st(_st(e)._which()).__eq((40));
  726. if(smalltalk.assert($2)){
  727. next=_st(selected)._next();
  728. next;
  729. $3=_st(next)._get_((0));
  730. if(($receiver = $3) == nil || $receiver == undefined){
  731. next=_st(window)._jQuery_(".focused .nav-pills li:first-child");
  732. next;
  733. } else {
  734. $3;
  735. };
  736. return _st(self)._activateListItem_(next);
  737. };
  738. }, function($ctx2) {$ctx2.fillBlock({e:e,selected:selected},$ctx1)})}));
  739. return self}, function($ctx1) {$ctx1.fill(self,"setupKeyBindings",{next:next}, smalltalk.HLListWidget)})},
  740. messageSends: ["unbind:", "asJQuery", "keydown:", "jQuery:", "ifTrue:", "activateListItem:", "prev", "=", "which", "next", "ifNil:", "get:"]}),
  741. smalltalk.HLListWidget);
  742. smalltalk.addClass('HLNavigationListWidget', smalltalk.HLListWidget, ['previous', 'next'], 'Helios-Core');
  743. smalltalk.addMethod(
  744. "_next",
  745. smalltalk.method({
  746. selector: "next",
  747. fn: function (){
  748. var self=this;
  749. return smalltalk.withContext(function($ctx1) { var $1;
  750. $1=self["@next"];
  751. return $1;
  752. }, function($ctx1) {$ctx1.fill(self,"next",{}, smalltalk.HLNavigationListWidget)})},
  753. messageSends: []}),
  754. smalltalk.HLNavigationListWidget);
  755. smalltalk.addMethod(
  756. "_next_",
  757. smalltalk.method({
  758. selector: "next:",
  759. fn: function (aWidget){
  760. var self=this;
  761. return smalltalk.withContext(function($ctx1) { var $1;
  762. self["@next"]=aWidget;
  763. $1=_st(_st(aWidget)._previous()).__eq(self);
  764. if(! smalltalk.assert($1)){
  765. _st(aWidget)._previous_(self);
  766. };
  767. return self}, function($ctx1) {$ctx1.fill(self,"next:",{aWidget:aWidget}, smalltalk.HLNavigationListWidget)})},
  768. messageSends: ["ifFalse:", "previous:", "=", "previous"]}),
  769. smalltalk.HLNavigationListWidget);
  770. smalltalk.addMethod(
  771. "_nextFocus",
  772. smalltalk.method({
  773. selector: "nextFocus",
  774. fn: function (){
  775. var self=this;
  776. return smalltalk.withContext(function($ctx1) { var $1;
  777. $1=_st(self)._next();
  778. if(($receiver = $1) == nil || $receiver == undefined){
  779. $1;
  780. } else {
  781. _st(_st(self)._next())._focus();
  782. };
  783. return self}, function($ctx1) {$ctx1.fill(self,"nextFocus",{}, smalltalk.HLNavigationListWidget)})},
  784. messageSends: ["ifNotNil:", "focus", "next"]}),
  785. smalltalk.HLNavigationListWidget);
  786. smalltalk.addMethod(
  787. "_previous",
  788. smalltalk.method({
  789. selector: "previous",
  790. fn: function (){
  791. var self=this;
  792. return smalltalk.withContext(function($ctx1) { var $1;
  793. $1=self["@previous"];
  794. return $1;
  795. }, function($ctx1) {$ctx1.fill(self,"previous",{}, smalltalk.HLNavigationListWidget)})},
  796. messageSends: []}),
  797. smalltalk.HLNavigationListWidget);
  798. smalltalk.addMethod(
  799. "_previous_",
  800. smalltalk.method({
  801. selector: "previous:",
  802. fn: function (aWidget){
  803. var self=this;
  804. return smalltalk.withContext(function($ctx1) { var $1;
  805. self["@previous"]=aWidget;
  806. $1=_st(_st(aWidget)._next()).__eq(self);
  807. if(! smalltalk.assert($1)){
  808. _st(aWidget)._next_(self);
  809. };
  810. return self}, function($ctx1) {$ctx1.fill(self,"previous:",{aWidget:aWidget}, smalltalk.HLNavigationListWidget)})},
  811. messageSends: ["ifFalse:", "next:", "=", "next"]}),
  812. smalltalk.HLNavigationListWidget);
  813. smalltalk.addMethod(
  814. "_previousFocus",
  815. smalltalk.method({
  816. selector: "previousFocus",
  817. fn: function (){
  818. var self=this;
  819. return smalltalk.withContext(function($ctx1) { var $1;
  820. $1=_st(self)._previous();
  821. if(($receiver = $1) == nil || $receiver == undefined){
  822. $1;
  823. } else {
  824. _st(_st(self)._previous())._focus();
  825. };
  826. return self}, function($ctx1) {$ctx1.fill(self,"previousFocus",{}, smalltalk.HLNavigationListWidget)})},
  827. messageSends: ["ifNotNil:", "focus", "previous"]}),
  828. smalltalk.HLNavigationListWidget);
  829. smalltalk.addMethod(
  830. "_setupKeyBindings",
  831. smalltalk.method({
  832. selector: "setupKeyBindings",
  833. fn: function (){
  834. var self=this;
  835. return smalltalk.withContext(function($ctx1) { var $1,$2;
  836. smalltalk.HLListWidget.fn.prototype._setupKeyBindings.apply(_st(self), []);
  837. _st(_st(self["@hiddenInput"])._asJQuery())._keydown_((function(e){
  838. return smalltalk.withContext(function($ctx2) { $1=_st(_st(e)._which()).__eq((39));
  839. if(smalltalk.assert($1)){
  840. _st(self)._nextFocus();
  841. };
  842. $2=_st(_st(e)._which()).__eq((37));
  843. if(smalltalk.assert($2)){
  844. return _st(self)._previousFocus();
  845. };
  846. }, function($ctx2) {$ctx2.fillBlock({e:e},$ctx1)})}));
  847. return self}, function($ctx1) {$ctx1.fill(self,"setupKeyBindings",{}, smalltalk.HLNavigationListWidget)})},
  848. messageSends: ["setupKeyBindings", "keydown:", "ifTrue:", "nextFocus", "=", "which", "previousFocus", "asJQuery"]}),
  849. smalltalk.HLNavigationListWidget);
  850. smalltalk.addClass('HLManager', smalltalk.HLWidget, ['tabs', 'activeTab', 'keyBinder', 'environment', 'history'], 'Helios-Core');
  851. smalltalk.addMethod(
  852. "_activate_",
  853. smalltalk.method({
  854. selector: "activate:",
  855. fn: function (aTab){
  856. var self=this;
  857. return smalltalk.withContext(function($ctx1) { var $1,$2;
  858. _st(_st(self)._keyBinder())._flushBindings();
  859. self["@activeTab"]=aTab;
  860. $1=self;
  861. _st($1)._refresh();
  862. _st($1)._addToHistory_(aTab);
  863. $2=_st($1)._show_(aTab);
  864. return self}, function($ctx1) {$ctx1.fill(self,"activate:",{aTab:aTab}, smalltalk.HLManager)})},
  865. messageSends: ["flushBindings", "keyBinder", "refresh", "addToHistory:", "show:"]}),
  866. smalltalk.HLManager);
  867. smalltalk.addMethod(
  868. "_activeTab",
  869. smalltalk.method({
  870. selector: "activeTab",
  871. fn: function (){
  872. var self=this;
  873. return smalltalk.withContext(function($ctx1) { var $1;
  874. $1=self["@activeTab"];
  875. return $1;
  876. }, function($ctx1) {$ctx1.fill(self,"activeTab",{}, smalltalk.HLManager)})},
  877. messageSends: []}),
  878. smalltalk.HLManager);
  879. smalltalk.addMethod(
  880. "_addTab_",
  881. smalltalk.method({
  882. selector: "addTab:",
  883. fn: function (aTab){
  884. var self=this;
  885. return smalltalk.withContext(function($ctx1) { _st(_st(self)._tabs())._add_(aTab);
  886. _st(self)._activate_(aTab);
  887. return self}, function($ctx1) {$ctx1.fill(self,"addTab:",{aTab:aTab}, smalltalk.HLManager)})},
  888. messageSends: ["add:", "tabs", "activate:"]}),
  889. smalltalk.HLManager);
  890. smalltalk.addMethod(
  891. "_addToHistory_",
  892. smalltalk.method({
  893. selector: "addToHistory:",
  894. fn: function (aTab){
  895. var self=this;
  896. return smalltalk.withContext(function($ctx1) { _st(self)._removeFromHistory_(aTab);
  897. _st(_st(self)._history())._add_(aTab);
  898. return self}, function($ctx1) {$ctx1.fill(self,"addToHistory:",{aTab:aTab}, smalltalk.HLManager)})},
  899. messageSends: ["removeFromHistory:", "add:", "history"]}),
  900. smalltalk.HLManager);
  901. smalltalk.addMethod(
  902. "_defaultEnvironment",
  903. smalltalk.method({
  904. selector: "defaultEnvironment",
  905. fn: function (){
  906. var self=this;
  907. return smalltalk.withContext(function($ctx1) { var $1;
  908. $1=_st((smalltalk.HLLocalEnvironment || HLLocalEnvironment))._new();
  909. return $1;
  910. }, function($ctx1) {$ctx1.fill(self,"defaultEnvironment",{}, smalltalk.HLManager)})},
  911. messageSends: ["new"]}),
  912. smalltalk.HLManager);
  913. smalltalk.addMethod(
  914. "_environment",
  915. smalltalk.method({
  916. selector: "environment",
  917. fn: function (){
  918. var self=this;
  919. return smalltalk.withContext(function($ctx1) { var $2,$1;
  920. $2=self["@environment"];
  921. if(($receiver = $2) == nil || $receiver == undefined){
  922. self["@environment"]=_st(self)._defaultEnvironment();
  923. $1=self["@environment"];
  924. } else {
  925. $1=$2;
  926. };
  927. return $1;
  928. }, function($ctx1) {$ctx1.fill(self,"environment",{}, smalltalk.HLManager)})},
  929. messageSends: ["ifNil:", "defaultEnvironment"]}),
  930. smalltalk.HLManager);
  931. smalltalk.addMethod(
  932. "_environment_",
  933. smalltalk.method({
  934. selector: "environment:",
  935. fn: function (anEnvironment){
  936. var self=this;
  937. return smalltalk.withContext(function($ctx1) { self["@environment"]=anEnvironment;
  938. return self}, function($ctx1) {$ctx1.fill(self,"environment:",{anEnvironment:anEnvironment}, smalltalk.HLManager)})},
  939. messageSends: []}),
  940. smalltalk.HLManager);
  941. smalltalk.addMethod(
  942. "_history",
  943. smalltalk.method({
  944. selector: "history",
  945. fn: function (){
  946. var self=this;
  947. return smalltalk.withContext(function($ctx1) { var $2,$1;
  948. $2=self["@history"];
  949. if(($receiver = $2) == nil || $receiver == undefined){
  950. self["@history"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
  951. $1=self["@history"];
  952. } else {
  953. $1=$2;
  954. };
  955. return $1;
  956. }, function($ctx1) {$ctx1.fill(self,"history",{}, smalltalk.HLManager)})},
  957. messageSends: ["ifNil:", "new"]}),
  958. smalltalk.HLManager);
  959. smalltalk.addMethod(
  960. "_history_",
  961. smalltalk.method({
  962. selector: "history:",
  963. fn: function (aCollection){
  964. var self=this;
  965. return smalltalk.withContext(function($ctx1) { self["@history"]=aCollection;
  966. return self}, function($ctx1) {$ctx1.fill(self,"history:",{aCollection:aCollection}, smalltalk.HLManager)})},
  967. messageSends: []}),
  968. smalltalk.HLManager);
  969. smalltalk.addMethod(
  970. "_initialize",
  971. smalltalk.method({
  972. selector: "initialize",
  973. fn: function (){
  974. var self=this;
  975. return smalltalk.withContext(function($ctx1) { smalltalk.HLWidget.fn.prototype._initialize.apply(_st(self), []);
  976. _st(_st(self)._keyBinder())._setupEvents();
  977. return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.HLManager)})},
  978. messageSends: ["initialize", "setupEvents", "keyBinder"]}),
  979. smalltalk.HLManager);
  980. smalltalk.addMethod(
  981. "_keyBinder",
  982. smalltalk.method({
  983. selector: "keyBinder",
  984. fn: function (){
  985. var self=this;
  986. return smalltalk.withContext(function($ctx1) { var $2,$1;
  987. $2=self["@keyBinder"];
  988. if(($receiver = $2) == nil || $receiver == undefined){
  989. self["@keyBinder"]=_st((smalltalk.HLKeyBinder || HLKeyBinder))._new();
  990. $1=self["@keyBinder"];
  991. } else {
  992. $1=$2;
  993. };
  994. return $1;
  995. }, function($ctx1) {$ctx1.fill(self,"keyBinder",{}, smalltalk.HLManager)})},
  996. messageSends: ["ifNil:", "new"]}),
  997. smalltalk.HLManager);
  998. smalltalk.addMethod(
  999. "_refresh",
  1000. smalltalk.method({
  1001. selector: "refresh",
  1002. fn: function (){
  1003. var self=this;
  1004. return smalltalk.withContext(function($ctx1) { _st(_st(window)._jQuery_(".navbar"))._remove();
  1005. _st(_st(window)._jQuery_("#container"))._remove();
  1006. _st(self)._appendToJQuery_(_st("body")._asJQuery());
  1007. return self}, function($ctx1) {$ctx1.fill(self,"refresh",{}, smalltalk.HLManager)})},
  1008. messageSends: ["remove", "jQuery:", "appendToJQuery:", "asJQuery"]}),
  1009. smalltalk.HLManager);
  1010. smalltalk.addMethod(
  1011. "_removeActiveTab",
  1012. smalltalk.method({
  1013. selector: "removeActiveTab",
  1014. fn: function (){
  1015. var self=this;
  1016. return smalltalk.withContext(function($ctx1) { _st(self)._removeTab_(_st(self)._activeTab());
  1017. return self}, function($ctx1) {$ctx1.fill(self,"removeActiveTab",{}, smalltalk.HLManager)})},
  1018. messageSends: ["removeTab:", "activeTab"]}),
  1019. smalltalk.HLManager);
  1020. smalltalk.addMethod(
  1021. "_removeFromHistory_",
  1022. smalltalk.method({
  1023. selector: "removeFromHistory:",
  1024. fn: function (aTab){
  1025. var self=this;
  1026. return smalltalk.withContext(function($ctx1) { _st(self)._history_(_st(_st(self)._history())._reject_((function(each){
  1027. return smalltalk.withContext(function($ctx2) { return _st(each).__eq_eq(aTab);
  1028. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})));
  1029. return self}, function($ctx1) {$ctx1.fill(self,"removeFromHistory:",{aTab:aTab}, smalltalk.HLManager)})},
  1030. messageSends: ["history:", "reject:", "==", "history"]}),
  1031. smalltalk.HLManager);
  1032. smalltalk.addMethod(
  1033. "_removeTab_",
  1034. smalltalk.method({
  1035. selector: "removeTab:",
  1036. fn: function (aTab){
  1037. var self=this;
  1038. return smalltalk.withContext(function($ctx1) { var $1,$2;
  1039. $1=_st(_st(self)._tabs())._includes_(aTab);
  1040. if(! smalltalk.assert($1)){
  1041. $2=self;
  1042. return $2;
  1043. };
  1044. _st(self)._removeFromHistory_(aTab);
  1045. _st(_st(self)._tabs())._remove_(aTab);
  1046. _st(_st(self)._keyBinder())._flushBindings();
  1047. _st(self)._refresh();
  1048. _st(_st(self)._history())._ifNotEmpty_((function(){
  1049. return smalltalk.withContext(function($ctx2) { return _st(_st(_st(self)._history())._last())._activate();
  1050. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  1051. return self}, function($ctx1) {$ctx1.fill(self,"removeTab:",{aTab:aTab},smalltalk.HLManager)})},
  1052. messageSends: ["ifFalse:", "includes:", "tabs", "removeFromHistory:", "remove:", "flushBindings", "keyBinder", "refresh", "ifNotEmpty:", "activate", "last", "history"]}),
  1053. smalltalk.HLManager);
  1054. smalltalk.addMethod(
  1055. "_renderAddOn_",
  1056. smalltalk.method({
  1057. selector: "renderAddOn:",
  1058. fn: function (html){
  1059. var self=this;
  1060. return smalltalk.withContext(function($ctx1) { var $1,$3,$4,$5,$7,$8,$6,$2;
  1061. $1=_st(html)._li();
  1062. _st($1)._class_("dropdown");
  1063. $2=_st($1)._with_((function(){
  1064. return smalltalk.withContext(function($ctx2) { $3=_st(html)._a();
  1065. _st($3)._class_("dropdown-toggle");
  1066. _st($3)._at_put_("data-toggle","dropdown");
  1067. $4=_st($3)._with_((function(){
  1068. return smalltalk.withContext(function($ctx3) { _st(html)._with_("Open...");
  1069. return _st(_st(html)._tag_("b"))._class_("caret");
  1070. }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
  1071. $4;
  1072. $5=_st(html)._ul();
  1073. _st($5)._class_("dropdown-menu");
  1074. $6=_st($5)._with_((function(){
  1075. return smalltalk.withContext(function($ctx3) { return _st(_st(_st(_st((smalltalk.HLWidget || HLWidget))._withAllSubclasses())._select_((function(each){
  1076. return smalltalk.withContext(function($ctx4) { return _st(each)._canBeOpenAsTab();
  1077. }, function($ctx4) {$ctx4.fillBlock({each:each},$ctx1)})})))._sorted_((function(a,b){
  1078. return smalltalk.withContext(function($ctx4) { return _st(_st(a)._tabPriority()).__lt(_st(b)._tabPriority());
  1079. }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
  1080. return smalltalk.withContext(function($ctx4) { return _st(_st(html)._li())._with_((function(){
  1081. return smalltalk.withContext(function($ctx5) { $7=_st(html)._a();
  1082. _st($7)._with_(_st(each)._tabLabel());
  1083. $8=_st($7)._onClick_((function(){
  1084. return smalltalk.withContext(function($ctx6) { return _st(each)._openAsTab();
  1085. }, function($ctx6) {$ctx6.fillBlock({},$ctx1)})}));
  1086. return $8;
  1087. }, function($ctx5) {$ctx5.fillBlock({},$ctx1)})}));
  1088. }, function($ctx4) {$ctx4.fillBlock({each:each},$ctx1)})}));
  1089. }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
  1090. return $6;
  1091. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  1092. return self}, function($ctx1) {$ctx1.fill(self,"renderAddOn:",{html:html}, smalltalk.HLManager)})},
  1093. messageSends: ["class:", "li", "with:", "a", "at:put:", "tag:", "ul", "do:", "tabLabel", "onClick:", "openAsTab", "sorted:", "<", "tabPriority", "select:", "canBeOpenAsTab", "withAllSubclasses"]}),
  1094. smalltalk.HLManager);
  1095. smalltalk.addMethod(
  1096. "_renderContentOn_",
  1097. smalltalk.method({
  1098. selector: "renderContentOn:",
  1099. fn: function (html){
  1100. var self=this;
  1101. return smalltalk.withContext(function($ctx1) { var $1,$3,$4,$2;
  1102. $1=_st(html)._div();
  1103. _st($1)._class_("navbar navbar-fixed-top");
  1104. $2=_st($1)._with_((function(){
  1105. return smalltalk.withContext(function($ctx2) { $3=_st(html)._div();
  1106. _st($3)._class_("navbar-inner");
  1107. $4=_st($3)._with_((function(){
  1108. return smalltalk.withContext(function($ctx3) { return _st(self)._renderTabsOn_(html);
  1109. }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
  1110. return $4;
  1111. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  1112. _st(_st(html)._div())._id_("container");
  1113. return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html}, smalltalk.HLManager)})},
  1114. messageSends: ["class:", "div", "with:", "renderTabsOn:", "id:"]}),
  1115. smalltalk.HLManager);
  1116. smalltalk.addMethod(
  1117. "_renderTabsOn_",
  1118. smalltalk.method({
  1119. selector: "renderTabsOn:",
  1120. fn: function (html){
  1121. var self=this;
  1122. return smalltalk.withContext(function($ctx1) { var $1,$3,$4,$6,$5,$8,$9,$7,$2;
  1123. $1=_st(html)._ul();
  1124. _st($1)._class_("nav");
  1125. $2=_st($1)._with_((function(){
  1126. return smalltalk.withContext(function($ctx2) { _st(_st(self)._tabs())._do_((function(each){
  1127. return smalltalk.withContext(function($ctx3) { $3=_st(html)._li();
  1128. $4=$3;
  1129. $6=_st(each)._isActive();
  1130. if(smalltalk.assert($6)){
  1131. $5="active";
  1132. } else {
  1133. $5="inactive";
  1134. };
  1135. _st($4)._class_($5);
  1136. $7=_st($3)._with_((function(){
  1137. return smalltalk.withContext(function($ctx4) { $8=_st(html)._a();
  1138. _st($8)._with_((function(){
  1139. return smalltalk.withContext(function($ctx5) { _st(_st(_st(html)._tag_("i"))._class_("icon-remove"))._onClick_((function(){
  1140. return smalltalk.withContext(function($ctx6) { return _st(self)._removeTab_(each);
  1141. }, function($ctx6) {$ctx6.fillBlock({},$ctx1)})}));
  1142. return _st(html)._with_(_st(each)._displayLabel());
  1143. }, function($ctx5) {$ctx5.fillBlock({},$ctx1)})}));
  1144. $9=_st($8)._onClick_((function(){
  1145. return smalltalk.withContext(function($ctx5) { return _st(each)._activate();
  1146. }, function($ctx5) {$ctx5.fillBlock({},$ctx1)})}));
  1147. return $9;
  1148. }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
  1149. return $7;
  1150. }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
  1151. return _st(self)._renderAddOn_(html);
  1152. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  1153. return self}, function($ctx1) {$ctx1.fill(self,"renderTabsOn:",{html:html},smalltalk.HLManager)})},
  1154. messageSends: ["class:", "ul", "with:", "do:", "ifTrue:ifFalse:", "isActive", "li", "onClick:", "removeTab:", "tag:", "displayLabel", "a", "activate", "tabs", "renderAddOn:"]}),
  1155. smalltalk.HLManager);
  1156. smalltalk.addMethod(
  1157. "_show_",
  1158. smalltalk.method({
  1159. selector: "show:",
  1160. fn: function (aTab){
  1161. var self=this;
  1162. return smalltalk.withContext(function($ctx1) { _st(_st(window)._jQuery_("#container"))._empty();
  1163. _st(_st(aTab)._widget())._appendToJQuery_(_st("#container")._asJQuery());
  1164. _st(aTab)._focus();
  1165. return self}, function($ctx1) {$ctx1.fill(self,"show:",{aTab:aTab},smalltalk.HLManager)})},
  1166. messageSends: ["empty", "jQuery:", "appendToJQuery:", "asJQuery", "widget", "focus"]}),
  1167. smalltalk.HLManager);
  1168. smalltalk.addMethod(
  1169. "_tabs",
  1170. smalltalk.method({
  1171. selector: "tabs",
  1172. fn: function (){
  1173. var self=this;
  1174. return smalltalk.withContext(function($ctx1) { var $2,$1;
  1175. $2=self["@tabs"];
  1176. if(($receiver = $2) == nil || $receiver == undefined){
  1177. self["@tabs"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
  1178. $1=self["@tabs"];
  1179. } else {
  1180. $1=$2;
  1181. };
  1182. return $1;
  1183. }, function($ctx1) {$ctx1.fill(self,"tabs",{}, smalltalk.HLManager)})},
  1184. messageSends: ["ifNil:", "new"]}),
  1185. smalltalk.HLManager);
  1186. smalltalk.HLManager.klass.iVarNames = ['current'];
  1187. smalltalk.addMethod(
  1188. "_current",
  1189. smalltalk.method({
  1190. selector: "current",
  1191. fn: function (){
  1192. var self=this;
  1193. return smalltalk.withContext(function($ctx1) { var $2,$1;
  1194. $2=self["@current"];
  1195. if(($receiver = $2) == nil || $receiver == undefined){
  1196. self["@current"]=_st(_st(self)._basicNew())._initialize();
  1197. $1=self["@current"];
  1198. } else {
  1199. $1=$2;
  1200. };
  1201. return $1;
  1202. }, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.HLManager.klass)})},
  1203. messageSends: ["ifNil:", "initialize", "basicNew"]}),
  1204. smalltalk.HLManager.klass);
  1205. smalltalk.addMethod(
  1206. "_initialize",
  1207. smalltalk.method({
  1208. selector: "initialize",
  1209. fn: function (){
  1210. var self=this;
  1211. return smalltalk.withContext(function($ctx1) { _st(_st(self)._current())._appendToJQuery_(_st("body")._asJQuery());
  1212. return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.HLManager.klass)})},
  1213. messageSends: ["appendToJQuery:", "asJQuery", "current"]}),
  1214. smalltalk.HLManager.klass);
  1215. smalltalk.addMethod(
  1216. "_new",
  1217. smalltalk.method({
  1218. selector: "new",
  1219. fn: function (){
  1220. var self=this;
  1221. return smalltalk.withContext(function($ctx1) { _st(self)._shouldNotImplement();
  1222. return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.HLManager.klass)})},
  1223. messageSends: ["shouldNotImplement"]}),
  1224. smalltalk.HLManager.klass);
  1225. smalltalk.addClass('HLSUnit', smalltalk.HLWidget, [], 'Helios-Core');
  1226. smalltalk.addMethod(
  1227. "_canBeOpenAsTab",
  1228. smalltalk.method({
  1229. selector: "canBeOpenAsTab",
  1230. fn: function (){
  1231. var self=this;
  1232. return smalltalk.withContext(function($ctx1) { return true;
  1233. }, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{}, smalltalk.HLSUnit.klass)})},
  1234. messageSends: []}),
  1235. smalltalk.HLSUnit.klass);
  1236. smalltalk.addMethod(
  1237. "_tabLabel",
  1238. smalltalk.method({
  1239. selector: "tabLabel",
  1240. fn: function (){
  1241. var self=this;
  1242. return smalltalk.withContext(function($ctx1) { return "SUnit";
  1243. }, function($ctx1) {$ctx1.fill(self,"tabLabel",{}, smalltalk.HLSUnit.klass)})},
  1244. messageSends: []}),
  1245. smalltalk.HLSUnit.klass);
  1246. smalltalk.addMethod(
  1247. "_tabPriority",
  1248. smalltalk.method({
  1249. selector: "tabPriority",
  1250. fn: function (){
  1251. var self=this;
  1252. return smalltalk.withContext(function($ctx1) { return (1000);
  1253. }, function($ctx1) {$ctx1.fill(self,"tabPriority",{}, smalltalk.HLSUnit.klass)})},
  1254. messageSends: []}),
  1255. smalltalk.HLSUnit.klass);
  1256. smalltalk.addClass('HLTranscript', smalltalk.HLWidget, [], 'Helios-Core');
  1257. smalltalk.addMethod(
  1258. "_canBeOpenAsTab",
  1259. smalltalk.method({
  1260. selector: "canBeOpenAsTab",
  1261. fn: function (){
  1262. var self=this;
  1263. return smalltalk.withContext(function($ctx1) { return true;
  1264. }, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{}, smalltalk.HLTranscript.klass)})},
  1265. messageSends: []}),
  1266. smalltalk.HLTranscript.klass);
  1267. smalltalk.addMethod(
  1268. "_tabLabel",
  1269. smalltalk.method({
  1270. selector: "tabLabel",
  1271. fn: function (){
  1272. var self=this;
  1273. return smalltalk.withContext(function($ctx1) { return "Transcript";
  1274. }, function($ctx1) {$ctx1.fill(self,"tabLabel",{}, smalltalk.HLTranscript.klass)})},
  1275. messageSends: []}),
  1276. smalltalk.HLTranscript.klass);
  1277. smalltalk.addMethod(
  1278. "_tabPriority",
  1279. smalltalk.method({
  1280. selector: "tabPriority",
  1281. fn: function (){
  1282. var self=this;
  1283. return smalltalk.withContext(function($ctx1) { return (600);
  1284. }, function($ctx1) {$ctx1.fill(self,"tabPriority",{}, smalltalk.HLTranscript.klass)})},
  1285. messageSends: []}),
  1286. smalltalk.HLTranscript.klass);
  1287. smalltalk.addMethod(
  1288. "_ajaxPutAt_data_",
  1289. smalltalk.method({
  1290. selector: "ajaxPutAt:data:",
  1291. fn: function (aURL,aString){
  1292. var self=this;
  1293. return smalltalk.withContext(function($ctx1) { _st(jQuery)._ajax_options_(aURL,smalltalk.HashedCollection._fromPairs_([_st("type").__minus_gt("PUT"),_st("data").__minus_gt(aString),_st("contentType").__minus_gt("text/plain;charset=UTF-8"),_st("error").__minus_gt((function(xhr){
  1294. return smalltalk.withContext(function($ctx2) { return _st(window)._alert_(_st(_st(_st(_st("Commiting ").__comma(aURL)).__comma(" failed with reason: \x22")).__comma(_st(xhr)._responseText())).__comma("\x22"));
  1295. }, function($ctx2) {$ctx2.fillBlock({xhr:xhr},$ctx1)})}))]));
  1296. return self}, function($ctx1) {$ctx1.fill(self,"ajaxPutAt:data:",{aURL:aURL,aString:aString},smalltalk.Package)})},
  1297. messageSends: ["ajax:options:", "->", "alert:", ",", "responseText"]}),
  1298. smalltalk.Package);
  1299. smalltalk.addMethod(
  1300. "_heliosCommit",
  1301. smalltalk.method({
  1302. selector: "heliosCommit",
  1303. fn: function (){
  1304. var self=this;
  1305. return smalltalk.withContext(function($ctx1) { _st([_st((smalltalk.Exporter || Exporter)).__minus_gt(_st(_st(_st(_st(self)._commitPathJs()).__comma("/")).__comma(_st(self)._name())).__comma(".js")),_st((smalltalk.StrippedExporter || StrippedExporter)).__minus_gt(_st(_st(_st(_st(self)._commitPathJs()).__comma("/")).__comma(_st(self)._name())).__comma(".deploy.js")),_st((smalltalk.ChunkExporter || ChunkExporter)).__minus_gt(_st(_st(_st(_st(self)._commitPathSt()).__comma("/")).__comma(_st(self)._name())).__comma(".st"))])._do_((function(commitStrategy){
  1306. var fileContents;
  1307. return smalltalk.withContext(function($ctx2) { fileContents=_st(_st(_st(commitStrategy)._key())._new())._exportPackage_(_st(self)._name());
  1308. fileContents;
  1309. return _st(self)._ajaxPutAt_data_(_st(commitStrategy)._value(),fileContents);
  1310. }, function($ctx2) {$ctx2.fillBlock({commitStrategy:commitStrategy,fileContents:fileContents},$ctx1)})}));
  1311. return self}, function($ctx1) {$ctx1.fill(self,"heliosCommit",{},smalltalk.Package)})},
  1312. messageSends: ["do:", "exportPackage:", "name", "new", "key", "ajaxPutAt:data:", "value", "->", ",", "commitPathJs", "commitPathSt"]}),
  1313. smalltalk.Package);