aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoranika-ahluwalia <anika.ahluwalia@gmail.com>2020-06-09 17:39:35 -0500
committeranika-ahluwalia <anika.ahluwalia@gmail.com>2020-06-09 17:39:35 -0500
commit3e6e77119a0ace5bddd59b58338edd4fa866055c (patch)
tree3f71ad617bf06be27df33eacaa0d0b44cf4fc067 /src
parentd0afcae39eccd41f5ad5e485c8d93b318d978b51 (diff)
moving things around to find bug
Diffstat (limited to 'src')
-rw-r--r--src/client/util/ScriptManager.ts6
-rw-r--r--src/client/util/Scripting.ts13
-rw-r--r--src/client/views/nodes/ScriptingBox.tsx35
3 files changed, 44 insertions, 10 deletions
diff --git a/src/client/util/ScriptManager.ts b/src/client/util/ScriptManager.ts
index 72d134800..6c90f43eb 100644
--- a/src/client/util/ScriptManager.ts
+++ b/src/client/util/ScriptManager.ts
@@ -32,11 +32,13 @@ export class ScriptManager {
}
public addScript(scriptDoc: Doc): boolean {
+ console.log("in add script method");
const scriptList = ScriptManager.Instance.getAllScripts();
scriptList.push(scriptDoc);
if (ScriptManager.Instance.ScriptManagerDoc) {
ScriptManager.Instance.ScriptManagerDoc.data = new List<Doc>(scriptList);
ScriptManager.addScriptToGlobals(scriptDoc);
+ console.log("script added");
return true;
}
return false;
@@ -63,7 +65,7 @@ export class ScriptManager {
const params = Cast(scriptDoc.compileParams, listSpec("string"), []);
const p = params.reduce((o: ScriptParam, p: string) => { o[p] = "any"; return o; }, {} as ScriptParam);
const f = new Function(...Array.from(Object.keys(p)), StrCast(scriptDoc.rawScript));
-
+
let parameters = "(";
params.forEach((element: string, i: number) => {
if (i === params.length - 1) {
@@ -72,7 +74,7 @@ export class ScriptManager {
parameters = parameters + element + ", ";
}
});
-
+
if (parameters === "(") {
Scripting.addGlobal(f, StrCast(scriptDoc.description), "", StrCast(scriptDoc.funcName));
} else {
diff --git a/src/client/util/Scripting.ts b/src/client/util/Scripting.ts
index 237027c03..b34bf0406 100644
--- a/src/client/util/Scripting.ts
+++ b/src/client/util/Scripting.ts
@@ -57,23 +57,24 @@ 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 {
obj = [first];
obj.push(second);
- if (third) {
- //if (third.indexOf("(") > 0) {
+ if (third !== undefined) {
obj.push(third);
- //} else {
- //n = third;
- //}
}
- if (fourth) {
+ if (fourth !== undefined) {
+ console.log("WE SHOULD BE HERE");
n = fourth;
} else {
+ console.log("HOW DID WE GET HERE");
n = first.name;
}
}
diff --git a/src/client/views/nodes/ScriptingBox.tsx b/src/client/views/nodes/ScriptingBox.tsx
index e07704c19..c2581240b 100644
--- a/src/client/views/nodes/ScriptingBox.tsx
+++ b/src/client/views/nodes/ScriptingBox.tsx
@@ -22,6 +22,7 @@ const _global = (window /* browser */ || global /* node */) as any;
import ReactTextareaAutocomplete from "@webscopeio/react-textarea-autocomplete";
import "@webscopeio/react-textarea-autocomplete/style.css";
+//import { ScriptManager } from "../../util/ScriptManager";
const ScriptingSchema = createSchema({});
@@ -252,8 +253,38 @@ export class ScriptingBox extends ViewBoxAnnotatableComponent<FieldViewProps, Sc
this.dataDoc.funcName = this.functionName;
this.dataDoc.descripition = this.functionDescription;
- ScriptingBox.DeleteScript?.(this.dataDoc);
- ScriptingBox.AddScript?.(this.dataDoc);
+ // ScriptingBox.DeleteScript?.(this.dataDoc);
+ // ScriptingBox.AddScript?.(this.dataDoc);
+
+ //const p = this.compileParams.reduce((o: ScriptParam, p: string) => { o[p] = "any"; return o; }, {} as ScriptParam);
+ //const f = new Function(...Array.from(Object.keys(p)), this.rawScript);
+
+ const paramNames = this.compileParams.reduce((o: string, p: string) => {
+ if (this.compileParams.indexOf(p) === this.compileParams.length - 1) {
+ o = o + p.split(":")[0].trim();
+ } else {
+ o = o + p.split(":")[0].trim() + ",";
+ }
+ return o;
+ }, "" as string);
+ const f = new Function(paramNames, this.rawScript);
+
+ let parameters = "(";
+ this.compileParams.forEach((element: string, i: number) => {
+ if (i === this.compileParams.length - 1) {
+ parameters = parameters + element + ")";
+ } else {
+ parameters = parameters + element + ", ";
+ }
+ });
+
+ console.log(this.functionName);
+
+ if (parameters === "(") {
+ Scripting.addGlobal(f, this.dataDoc.description, "", this.functionName);
+ } else {
+ Scripting.addGlobal(f, this.dataDoc.description, parameters, this.functionName);
+ }
console.log("created");
}