aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/util/ScriptManager.ts20
-rw-r--r--src/client/util/Scripting.ts9
-rw-r--r--src/client/views/nodes/ScriptingBox.tsx11
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