From 0f178f1d74e17b15cec0fc98a12ccb2acaec937a Mon Sep 17 00:00:00 2001 From: anika-ahluwalia Date: Sat, 30 May 2020 12:52:40 -0500 Subject: generating suggestions for methods --- src/client/views/nodes/ScriptingBox.tsx | 52 ++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 7 deletions(-) (limited to 'src/client/views/nodes/ScriptingBox.tsx') diff --git a/src/client/views/nodes/ScriptingBox.tsx b/src/client/views/nodes/ScriptingBox.tsx index 181db4b51..51d4cb56e 100644 --- a/src/client/views/nodes/ScriptingBox.tsx +++ b/src/client/views/nodes/ScriptingBox.tsx @@ -10,7 +10,7 @@ import { Cast, NumCast, ScriptCast, StrCast } from "../../../fields/Types"; import { returnEmptyString } from "../../../Utils"; import { DragManager } from "../../util/DragManager"; import { InteractionUtils } from "../../util/InteractionUtils"; -import { CompileScript, ScriptParam } from "../../util/Scripting"; +import { CompileScript, ScriptParam, Scripting } from "../../util/Scripting"; import { ContextMenu } from "../ContextMenu"; import { ViewBoxAnnotatableComponent } from "../DocComponent"; import { EditableView } from "../EditableView"; @@ -18,6 +18,8 @@ import { FieldView, FieldViewProps } from "../nodes/FieldView"; import { OverlayView } from "../OverlayView"; import { DocumentIconContainer } from "./DocumentIcon"; import "./ScriptingBox.scss"; +import Autosuggest from "react-autosuggest"; +import { emptyFunction } from '../../../Utils'; const ScriptingSchema = createSchema({}); type ScriptingDocument = makeInterface<[typeof ScriptingSchema, typeof documentSchema]>; @@ -33,6 +35,11 @@ export class ScriptingBox extends ViewBoxAnnotatableComponent p.split(":")[0].trim()); } @@ -283,6 +290,27 @@ export class ScriptingBox extends ViewBoxAnnotatableComponent suggestion; + + renderSuggestion = (suggestion: string) => { + return (null); + } + + @action + handleKeyPress(e: React.ChangeEvent) { + + this.rawScript = e.target.value; + this._currWord = e.target.value.split(" ")[e.target.value.split(" ").length - 1]; + this._suggestions = []; + + this._scriptKeys.forEach((element: string | string[]) => { + if (element.indexOf(this._currWord) >= 0) { + this._suggestions.push(element); + } + }); + console.log(this._suggestions); + } + // inputs for scripting div (script box, params box, and params column) renderScriptingInputs() { @@ -296,12 +324,22 @@ export class ScriptingBox extends ViewBoxAnnotatableComponent; // main scripting input box - const scriptingInputText =