loadLibs.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //Load all required JS libs
  2. loadjs(['/lib/yamljs/dist/yaml.js',
  3. '/lib/compatibilitycheck.js',
  4. '/lib/socket.io/socket.io.js',
  5. '/vwf/view/webrtc/adapter-latest.js',
  6. '/lib/cell.js',
  7. '/lib/he.js',
  8. '/lib/noty/noty.js',
  9. '/lib/draggabilly/draggabilly.pkgd.js',
  10. '/lib/screenfull/screenfull.min.js',
  11. '/lib/polyglot/polyglot.min.js',
  12. '/vwf/model/aframe/addon/virtualgc/nipplejs.js',
  13. '/lib/lively.vm_standalone.js',
  14. '/lib/async/async.min.js',
  15. '/lib/require.js',
  16. '/lib/crypto.js',
  17. '/lib/md5.js',
  18. '/lib/alea.js',
  19. '/lib/mash.js',
  20. '/lib/ace/ace.js'
  21. ],'libs', {
  22. async: false
  23. });
  24. loadjs('/lib/mdc/dist/material-components-web.min.js', 'mdc');
  25. loadjs(['/lib/gundb/gun.js',
  26. '/lib/gundb/sea.js',
  27. '/lib/gundb/lib/then.js',
  28. '/lib/gundb/lib/path.js',
  29. '/lib/gundb/lib/not.js',
  30. '/lib/gundb/lib/open.js',
  31. '/lib/gundb/lib/load.js',
  32. '/lib/gundb/lib/promise.js',
  33. '/lib/gundb/lib/time.js',
  34. '/lib/gundb/lib/bye.js',
  35. '/lib/gundb/lib/webrtc.js',
  36. '/lib/gundb/nts.js',
  37. '/lib/gundb/lib/radix.js',
  38. '/lib/gundb/lib/radisk.js',
  39. '/lib/gundb/lib/store.js',
  40. '/lib/gundb/lib/rindexed.js'
  41. ], 'gundb', {
  42. async: false
  43. }
  44. );
  45. loadjs(['/vwf.js'],'vwf');
  46. loadjs.ready('libs', function() {
  47. //load libs
  48. }).ready('gundb', function() {
  49. //load gundb
  50. }).ready('mdc', function() {
  51. guiInit();
  52. }).ready('vwf', function() {
  53. import('/app.js')
  54. .then((module) => {
  55. let oldGunStorage = localStorage.getItem('gun/');
  56. if(oldGunStorage){
  57. localStorage.removeItem('gun/');
  58. };
  59. new module.App
  60. });
  61. })
  62. function guiInit() {
  63. mdc.autoInit();
  64. window.addEventListener("load", function (event) {
  65. console.log("All resources finished loading!");
  66. });
  67. const iconEl = document.querySelector('#hideui');
  68. const compHideUI = new mdc.iconButton.MDCIconButtonToggle(iconEl);
  69. iconEl.addEventListener('MDCIconButtonToggle:change', (e) => {
  70. let ui = document.querySelector('.mdc-top-app-bar');
  71. if (ui) {
  72. let chkAttr = e.detail.isOn;
  73. if (chkAttr) {
  74. ui.style.visibility = 'visible'
  75. } else {
  76. ui.style.visibility = 'hidden'
  77. }
  78. }
  79. });
  80. const fullScreenToggle = document.querySelector('#fullscreenui');
  81. const compfullScreen = new mdc.iconButton.MDCIconButtonToggle(fullScreenToggle);
  82. fullScreenToggle.addEventListener('MDCIconButtonToggle:change', (e) => {
  83. if (screenfull.enabled) {
  84. screenfull.toggle();
  85. } else {
  86. // Ignore or do something else
  87. }
  88. });
  89. }