aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/ScriptManager.ts
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2020-06-10 17:35:58 -0400
committerBob Zeleznik <zzzman@gmail.com>2020-06-10 17:35:58 -0400
commit4aef738968b0d54caf3fb8cb511ae803463c10f6 (patch)
tree15a9ed0d7d6a5190ed67a74f4d919f5cd8181641 /src/client/util/ScriptManager.ts
parent9903795cff2060526d68d7cc357493e3e3749476 (diff)
fixed iniitalization of ScriptManager
Diffstat (limited to 'src/client/util/ScriptManager.ts')
-rw-r--r--src/client/util/ScriptManager.ts27
1 files changed, 10 insertions, 17 deletions
diff --git a/src/client/util/ScriptManager.ts b/src/client/util/ScriptManager.ts
index e8bbe180a..edcc15b56 100644
--- a/src/client/util/ScriptManager.ts
+++ b/src/client/util/ScriptManager.ts
@@ -1,28 +1,28 @@
import { Doc, DocListCast } from "../../fields/Doc";
import { List } from "../../fields/List";
-import { Docs } from "../documents/Documents";
import { Scripting } from "./Scripting";
import { StrCast, Cast } from "../../fields/Types";
import { listSpec } from "../../fields/Schema";
-import { ScriptingBox } from "../views/nodes/ScriptingBox";
-
+import { Docs } from "../documents/Documents";
export class ScriptManager {
+ static _initialized = false;
private static _instance: ScriptManager;
public static get Instance(): ScriptManager {
return this._instance || (this._instance = new this());
}
private constructor() {
console.log("CONSTRUCTED");
- ScriptingBox.DeleteScript = this.deleteScript;
- ScriptingBox.AddScript = this.addScript;
+ if (!ScriptManager._initialized) {
+ ScriptManager._initialized = true;
+ this.getAllScripts().forEach(scriptDoc => ScriptManager.addScriptToGlobals(scriptDoc));
+ }
}
public get ScriptManagerDoc(): Doc | undefined {
return Docs.Prototypes.MainScriptDocument();
}
-
public getAllScripts(): Doc[] {
const sdoc = ScriptManager.Instance.ScriptManagerDoc;
if (sdoc) {
@@ -35,7 +35,7 @@ export class ScriptManager {
public addScript(scriptDoc: Doc): boolean {
console.log("in add script method");
- const scriptList = ScriptManager.Instance.getAllScripts();
+ const scriptList = this.getAllScripts();
scriptList.push(scriptDoc);
if (ScriptManager.Instance.ScriptManagerDoc) {
ScriptManager.Instance.ScriptManagerDoc.data = new List<Doc>(scriptList);
@@ -53,8 +53,8 @@ export class ScriptManager {
if (scriptDoc.functionName) {
Scripting.removeGlobal(StrCast(scriptDoc.functionName));
}
- const scriptList = ScriptManager.Instance.getAllScripts();
- const index = ScriptManager.Instance.getAllScripts().indexOf(scriptDoc);
+ const scriptList = this.getAllScripts();
+ const index = scriptList.indexOf(scriptDoc);
if (index > -1) {
scriptList.splice(index, 1);
if (ScriptManager.Instance.ScriptManagerDoc) {
@@ -98,11 +98,4 @@ export class ScriptManager {
Scripting.addGlobal(f, StrCast(scriptDoc.functionDescription), parameters);
}
}
-}
-
-
-const scriptList = ScriptManager.Instance.getAllScripts();
-
-scriptList.forEach((scriptDoc: Doc) => {
- ScriptManager.addScriptToGlobals(scriptDoc);
-}); \ No newline at end of file
+} \ No newline at end of file