浏览代码

architecture changes for the index

Raanan Weber 7 年之前
父节点
当前提交
b99ef82f3f
共有 3 个文件被更改,包括 31 次插入18 次删除
  1. 9 8
      .vscode/settings.json
  2. 7 10
      Viewer/src/index.ts
  3. 15 0
      Viewer/src/initializer.ts

+ 9 - 8
.vscode/settings.json

@@ -6,7 +6,7 @@
         "**/.svn": true,
         "**/.svn": true,
         "**/.hg": true,
         "**/.hg": true,
         "**/.DS_Store": true,
         "**/.DS_Store": true,
-        "**/.vs": true,        
+        "**/.vs": true,
         "**/.tempChromeProfileForDebug": true,
         "**/.tempChromeProfileForDebug": true,
         "**/node_modules": true,
         "**/node_modules": true,
         "**/temp": true,
         "**/temp": true,
@@ -20,10 +20,11 @@
         "proceduralTexturesLibrary/**/*.d.ts": true,
         "proceduralTexturesLibrary/**/*.d.ts": true,
         "serielazers/**/*.d.ts": true,
         "serielazers/**/*.d.ts": true,
         "viewer/**/*.d.ts": true,
         "viewer/**/*.d.ts": true,
+        "Viewer/**/*.d.ts": true,
         "**/*.js.map": true,
         "**/*.js.map": true,
         "**/*.js.fx": true,
         "**/*.js.fx": true,
-        "**/*.js": { 
-            "when":"$(basename).ts"
+        "**/*.js": {
+            "when": "$(basename).ts"
         }
         }
     },
     },
     "files.associations": {
     "files.associations": {
@@ -37,11 +38,11 @@
         "**/.temp": true,
         "**/.temp": true,
         "**/dist": true,
         "**/dist": true,
         "**/*.map": true,
         "**/*.map": true,
-        "**/*.js": { 
-             "when":"$(basename).ts"
-         },
+        "**/*.js": {
+            "when": "$(basename).ts"
+        },
         "**/*.d.ts": true,
         "**/*.d.ts": true,
-        "assets":true
+        "assets": true
     },
     },
     "typescript.tsdk": "./Tools/Gulp/node_modules/typescript/lib"
     "typescript.tsdk": "./Tools/Gulp/node_modules/typescript/lib"
-}
+}

+ 7 - 10
Viewer/src/index.ts

@@ -20,19 +20,14 @@ import * as BABYLON from 'babylonjs';
 import 'babylonjs-loaders';
 import 'babylonjs-loaders';
 import 'pep';
 import 'pep';
 
 
-
-import { InitTags } from './initializer';
+import { initListeners, InitTags } from './initializer';
 
 
 // promise polyfill, if needed!
 // promise polyfill, if needed!
 BABYLON.PromisePolyfill.Apply();
 BABYLON.PromisePolyfill.Apply();
+initListeners();
 
 
-export let disableInit: boolean = false;
-document.addEventListener("DOMContentLoaded", init);
-function init(event) {
-    document.removeEventListener("DOMContentLoaded", init);
-    if (viewerGlobals.disableInit || disableInit) return;
-    InitTags();
-}
+//deprectaed, here for backwards compatibility
+let disableInit: boolean = viewerGlobals.disableInit;
 
 
 /**
 /**
  * Dispose all viewers currently registered
  * Dispose all viewers currently registered
@@ -42,5 +37,7 @@ function disposeAll() {
     mapperManager.dispose();
     mapperManager.dispose();
 }
 }
 
 
+const Version = BABYLON.Engine.Version;
+
 // public API for initialization
 // public API for initialization
-export { BABYLON, InitTags, DefaultViewer, AbstractViewer, viewerGlobals, viewerManager, mapperManager, disposeAll, ModelLoader, ViewerModel, AnimationPlayMode, AnimationState, ModelState };
+export { BABYLON, Version, InitTags, DefaultViewer, AbstractViewer, viewerGlobals, disableInit, viewerManager, mapperManager, disposeAll, ModelLoader, ViewerModel, AnimationPlayMode, AnimationState, ModelState };

+ 15 - 0
Viewer/src/initializer.ts

@@ -1,5 +1,20 @@
 import { DefaultViewer } from './viewer/defaultViewer';
 import { DefaultViewer } from './viewer/defaultViewer';
 import { mapperManager } from './configuration/mappers';
 import { mapperManager } from './configuration/mappers';
+import { viewerGlobals, disableInit } from 'index';
+
+
+/**
+ * Will attach an init function the the DOMContentLoaded event.
+ * The init function will be removed automatically after the event was triggered.
+ */
+export function initListeners() {
+    document.addEventListener("DOMContentLoaded", init);
+    function init(event) {
+        document.removeEventListener("DOMContentLoaded", init);
+        if (viewerGlobals.disableInit || disableInit) return;
+        InitTags();
+    }
+}
 
 
 /**
 /**
  * Select all HTML tags on the page that match the selector and initialize a viewer
  * Select all HTML tags on the page that match the selector and initialize a viewer