index.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Amber Smalltalk</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  6. <meta name="author" content="Nicolas Petton"/>
  7. <script type='text/javascript' src='node_modules/requirejs/require.js'></script>
  8. <script type='text/javascript' src='config.js'></script>
  9. </head>
  10. <body>
  11. <div>
  12. <button id="startlegacy" disabled type="button">Start legacy in-page IDE</button>
  13. <button id="starthelios" disabled type="button">Popup Helios IDE</button>
  14. </div>
  15. <div>
  16. <span id="loadingKernel">Loading Amber kernel ... </span>
  17. <span id="initializingKernel">initializing Amber kernel ... </span>
  18. <span id="loadingIdeSupport">loading IDE support ... </span>
  19. <span id="loadingTheRest">loading rest of development image ... </span>
  20. <span id="done">done.</span>
  21. </div>
  22. <script type='text/javascript'>
  23. "use strict";
  24. (function () {
  25. var startLegacy = document.getElementById("startlegacy");
  26. var startHelios = document.getElementById("starthelios");
  27. var messageBox = document.getElementById("loadingKernel").parentNode;
  28. var initializingKernel = messageBox.removeChild(document.getElementById("initializingKernel"));
  29. var loadingIdeSupport = messageBox.removeChild(document.getElementById("loadingIdeSupport"));
  30. var loadingTheRest = messageBox.removeChild(document.getElementById("loadingTheRest"));
  31. var done = messageBox.removeChild(document.getElementById("done"));
  32. require(["amber/boot", "amber/deploy", "amber/core/Platform-Browser"], function (_, amber) {
  33. messageBox.appendChild(initializingKernel);
  34. amber.initialize({'transport.defaultAmdNamespace': "amber/core"})
  35. .then(function () {
  36. messageBox.appendChild(loadingIdeSupport);
  37. return amber.loadPackages(["amber/lang", "amber/legacy/IDE", "amber/core/SUnit"]);
  38. })
  39. .then(function () {
  40. startLegacy.addEventListener('click', function () {
  41. amber.globals.Browser._open();
  42. });
  43. startHelios.addEventListener('click', function () {
  44. amber.popupHelios();
  45. });
  46. startLegacy.disabled = startHelios.disabled = false;
  47. messageBox.appendChild(loadingTheRest);
  48. return amber.loadPackages(["amber/devel", "amber/legacy/Benchfib", "helios/all", "amber_cli/AmberCli"]);
  49. })
  50. .then(function () {
  51. amber.beClean();
  52. messageBox.appendChild(done);
  53. });
  54. });
  55. })();
  56. </script>
  57. </body>
  58. </html>