diff options
author | anika-ahluwalia <anika.ahluwalia@gmail.com> | 2020-06-10 23:23:45 -0500 |
---|---|---|
committer | anika-ahluwalia <anika.ahluwalia@gmail.com> | 2020-06-10 23:23:45 -0500 |
commit | c974c54c22e79618f7589288887224efaf369dac (patch) | |
tree | 015a272c4ab713f80415a813250e304541ae0434 /src | |
parent | efb6c50a4ed80554ccf9163ad0bbb144d6d75ff7 (diff) |
fixed addScriptToGlobals in ScriptManager
Diffstat (limited to 'src')
-rw-r--r-- | src/client/util/ScriptManager.ts | 20 | ||||
-rw-r--r-- | src/client/util/Scripting.ts | 9 | ||||
-rw-r--r-- | src/client/views/nodes/ScriptingBox.tsx | 11 |
3 files changed, 25 insertions, 15 deletions
diff --git a/src/client/util/ScriptManager.ts b/src/client/util/ScriptManager.ts index edcc15b56..d0b99e86f 100644 --- a/src/client/util/ScriptManager.ts +++ b/src/client/util/ScriptManager.ts @@ -33,6 +33,7 @@ export class ScriptManager { } public addScript(scriptDoc: Doc): boolean { + console.log("in add script method"); const scriptList = this.getAllScripts(); @@ -50,8 +51,8 @@ export class ScriptManager { console.log("in delete script method"); - if (scriptDoc.functionName) { - Scripting.removeGlobal(StrCast(scriptDoc.functionName)); + if (scriptDoc.name) { + Scripting.removeGlobal(StrCast(scriptDoc.name)); } const scriptList = this.getAllScripts(); const index = scriptList.indexOf(scriptDoc); @@ -67,9 +68,10 @@ export class ScriptManager { public static addScriptToGlobals(scriptDoc: Doc): void { - Scripting.removeGlobal(StrCast(scriptDoc.functionName)); + Scripting.removeGlobal(StrCast(scriptDoc.name)); - const params = Cast(scriptDoc.compileParams, listSpec("string"), []); + const params = Cast(scriptDoc["data-params"], listSpec("string"), []); + console.log(params); const paramNames = params.reduce((o: string, p: string) => { if (params.indexOf(p) === params.length - 1) { o = o + p.split(":")[0].trim(); @@ -79,9 +81,11 @@ export class ScriptManager { return o; }, "" as string); - const f = new Function(paramNames, StrCast(scriptDoc.rawScript)); + const f = new Function(paramNames, StrCast(scriptDoc.script)); + + console.log(scriptDoc.script); - Object.defineProperty(f, 'name', { value: StrCast(scriptDoc.functionName), writable: false }); + Object.defineProperty(f, 'name', { value: StrCast(scriptDoc.name), writable: false }); let parameters = "("; params.forEach((element: string, i: number) => { @@ -93,9 +97,9 @@ export class ScriptManager { }); if (parameters === "(") { - Scripting.addGlobal(f, StrCast(scriptDoc.functionDescription)); + Scripting.addGlobal(f, StrCast(scriptDoc.description)); } else { - Scripting.addGlobal(f, StrCast(scriptDoc.functionDescription), parameters); + Scripting.addGlobal(f, StrCast(scriptDoc.description), parameters); } } }
\ No newline at end of file diff --git a/src/client/util/Scripting.ts b/src/client/util/Scripting.ts index f618a9e6e..1cc193bc3 100644 --- a/src/client/util/Scripting.ts +++ b/src/client/util/Scripting.ts @@ -58,11 +58,8 @@ export namespace Scripting { let n: any; let obj: any; - console.log("adding global"); - if (second !== undefined) { if (typeof first === "string") { - console.log("name first"); n = first; obj = second; } else { @@ -71,6 +68,7 @@ export namespace Scripting { if (third !== undefined) { obj.push(third); } + console.log("are we here"); n = first.name; } } else if (first && typeof first.name === "string") { @@ -84,6 +82,7 @@ export namespace Scripting { } else if (_scriptingGlobals.hasOwnProperty(n)) { throw new Error(`Global with name ${n} is already registered, choose another name`); } + console.log(n); _scriptingGlobals[n] = obj; } @@ -97,8 +96,10 @@ export namespace Scripting { export function removeGlobal(name: string) { if (getGlobals().includes(name)) { + //if (_scriptingGlobals.container[name]) { delete _scriptingGlobals.container[name]; return true; + //} } return false; } @@ -113,7 +114,7 @@ export namespace Scripting { } export function getGlobals() { - return Object.keys(scriptingGlobals); + return Object.keys(_scriptingGlobals); } export function getGlobalObj() { diff --git a/src/client/views/nodes/ScriptingBox.tsx b/src/client/views/nodes/ScriptingBox.tsx index dc6fc142d..23e360663 100644 --- a/src/client/views/nodes/ScriptingBox.tsx +++ b/src/client/views/nodes/ScriptingBox.tsx @@ -247,13 +247,18 @@ export class ScriptingBox extends ViewBoxAnnotatableComponent<FieldViewProps, Sc return false; } - this.dataDoc.funcName = this.functionName; - this.dataDoc.descripition = this.functionDescription; + this.dataDoc.name = this.functionName; + this.dataDoc.description = this.functionDescription; + //this.dataDoc.parameters = this.compileParams; + this.dataDoc.script = this.rawScript; - ScriptManager.Instance.deleteScript(this.dataDoc); + //ScriptManager.Instance.deleteScript(this.dataDoc); ScriptManager.Instance.addScript(this.dataDoc); console.log("created"); + + this._scriptKeys = Scripting.getGlobals(); + this._scriptGlobals = Scripting.getGlobalObj(); } // overlays document numbers (ex. d32) over all documents when clicked on |