From ccc4b3f93994e1cd068da91dd464879ad4833caa Mon Sep 17 00:00:00 2001 From: frikky Date: Fri, 15 Jul 2022 14:50:07 +0200 Subject: [PATCH] Re-enabled all autocompletion steps for fields and indicated well when it's done --- frontend/src/components/ParsedAction.jsx | 25 ++++++++++-- frontend/src/views/AngularWorkflow.jsx | 52 ++++++++++++++++-------- 2 files changed, 56 insertions(+), 21 deletions(-) diff --git a/frontend/src/components/ParsedAction.jsx b/frontend/src/components/ParsedAction.jsx index 888e0e52..f0b72f0a 100644 --- a/frontend/src/components/ParsedAction.jsx +++ b/frontend/src/components/ParsedAction.jsx @@ -772,6 +772,8 @@ const ParsedAction = (props) => { } //console.log("CHANGING ACTION COUNT !") + selectedActionParameters[count].autocompleted = false + selectedAction.parameters[count].autocompleted = false selectedActionParameters[count].value = event.target.value; selectedAction.parameters[count].value = event.target.value; @@ -944,6 +946,8 @@ const ParsedAction = (props) => { } } + selectedActionParameters[count].autocompleted = false + selectedAction.parameters[count].autocompleted = false selectedActionParameters[count].value = data selectedAction.parameters[count].value = data setSelectedAction(selectedAction) @@ -1824,15 +1828,12 @@ const ParsedAction = (props) => { return; } - console.log("AUTOCOMPLETE1: ", values); - var toComplete = selectedActionParameters[count].value.trim() .endsWith("$") ? values[0].autocomplete : "$" + values[0].autocomplete; toComplete = toComplete.toLowerCase().replaceAll(" ", "_"); - console.log("AUTOCOMPLETE: ", toComplete); for (var key in values) { if (key == 0 || values[key].autocomplete.length === 0) { continue; @@ -2223,6 +2224,8 @@ const ParsedAction = (props) => { //console.log(data.configuration) const buttonTitle = `Authenticate ${selectedApp.name.replaceAll("_", " ")}` + const hasAutocomplete = data.autocompleted === true + console.log("AUTOCOMPLeTe: ", hasAutocomplete) return (
{hideBodyButton} @@ -2249,6 +2252,20 @@ const ParsedAction = (props) => { ) : null} + {hasAutocomplete === true ? + + + + : + null} +
{ }, }} filterOptions={(options, { inputValue }) => { - console.log("Option contains?: ", inputValue, options) + //console.log("Option contains?: ", inputValue, options) const lowercaseValue = inputValue.toLowerCase() options = options.filter(x => x.name.replaceAll("_", " ").toLowerCase().includes(lowercaseValue) || x.description.toLowerCase().includes(lowercaseValue)) diff --git a/frontend/src/views/AngularWorkflow.jsx b/frontend/src/views/AngularWorkflow.jsx index 47bf54e2..723c1390 100644 --- a/frontend/src/views/AngularWorkflow.jsx +++ b/frontend/src/views/AngularWorkflow.jsx @@ -2865,8 +2865,8 @@ const AngularWorkflow = (defaultprops) => { return ""; } - console.log("NOT REPLACING ON PURPOSE!!") - return "" + //console.log("NOT REPLACING ON PURPOSE!!") + //return "" // Basically just a stupid if-else :) const synonyms = { @@ -2900,6 +2900,7 @@ const AngularWorkflow = (defaultprops) => { "value", "item", ], + tags: ["tags", "taxonomies"], }; // 1. Find the right synonym @@ -2942,6 +2943,7 @@ const AngularWorkflow = (defaultprops) => { if (toreturn.length > 0) { break; } + } else { var selectedkey = ""; if (isNaN(key)) { @@ -2959,8 +2961,8 @@ const AngularWorkflow = (defaultprops) => { } } else { if (selectedsynonyms.includes(key.toLowerCase())) { - toreturn = `${basekey}.${key}`; - break; + toreturn = `${basekey}.${key}` + break } } } @@ -2982,15 +2984,21 @@ const AngularWorkflow = (defaultprops) => { const param = dstdata.parameters[paramkey]; // Skip authentication params if (param.configuration) { - continue; + continue } + if (param.options !== undefined && param.options !== null && param.options.length > 0) { + continue + } + const paramname = param.name.toLowerCase().trim().replaceAll("_", " "); const foundresult = GetParamMatch(paramname, exampledata, ""); if (foundresult.length > 0) { + console.log("FOUND ReS for field: ", dstdata.parameters[paramkey].name, foundresult) if (dstdata.parameters[paramkey].value.length === 0) { dstdata.parameters[paramkey].value = `$${parentlabel}${foundresult}`; + dstdata.parameters[paramkey].autocompleted = true } } } @@ -3012,9 +3020,13 @@ const AngularWorkflow = (defaultprops) => { const param = dstdata.parameters[paramkey]; // Skip authentication params if (param.configuration) { - continue; + continue } + if (param.options !== undefined && param.options !== null && param.options.length > 0) { + continue + } + const paramname = param.name .toLowerCase() .trim() @@ -3023,13 +3035,10 @@ const AngularWorkflow = (defaultprops) => { const foundresult = GetParamMatch(paramname, exampledata, ""); if (foundresult.length > 0) { if (dstdata.parameters[paramkey].value.length === 0) { - dstdata.parameters[ - paramkey - ].value = `$${parentlabel}${foundresult}`; + dstdata.parameters[paramkey].value = `$${parentlabel}${foundresult}`; + dstdata.parameters[paramkey].autocompleted = true } else { - dstdata.parameters[ - paramkey - ].value = `$${parentlabel}${foundresult}`; + //dstdata.parameters[paramkey].value = `$${parentlabel}${foundresult}`; } } } @@ -3192,7 +3201,7 @@ const AngularWorkflow = (defaultprops) => { newdst !== null ) { const dstdata = RunAutocompleter(newdst.data()); - console.log("DST: ", dstdata); + console.log("AUTO DST: ", dstdata); } var newbranch = { @@ -6060,8 +6069,8 @@ const AngularWorkflow = (defaultprops) => { } // Does this one find the wrong one? - //var newSelectedAction = JSON.parse(JSON.stringify(selectedAction)) - var newSelectedAction = selectedAction + //var newSelectedAction = selectedAction + var newSelectedAction = JSON.parse(JSON.stringify(selectedAction)) newSelectedAction.name = newaction.name; newSelectedAction.parameters = JSON.parse(JSON.stringify(newaction.parameters)) newSelectedAction.errors = []; @@ -6071,8 +6080,10 @@ const AngularWorkflow = (defaultprops) => { // Simmple action swap autocompleter if (selectedAction.parameters !== undefined && newSelectedAction.parameters !== undefined && selectedAction.id === newSelectedAction.id) { + console.log("IN ACTION SWAPP") for (var paramkey in selectedAction.parameters) { const param = selectedAction.parameters[paramkey]; + console.log("PARAM: ", param.name, param.value) if (param.value === null || param.value === undefined || param.value.length === 0) { continue @@ -6088,12 +6099,19 @@ const AngularWorkflow = (defaultprops) => { //newSelectedAction.parameters[newParamIndex].value = param.value } + // Not doing options fields + const newParamIndex = newSelectedAction.parameters.findIndex(paramdata => paramdata.name === param.name) if (newParamIndex < 0) { continue } + console.log("xisting value: ", newSelectedAction.parameters[newParamIndex].value) newSelectedAction.parameters[newParamIndex].value = param.value + newSelectedAction.parameters[newParamIndex].autocompleted = true + if (param.options !== undefined && param.options !== null && param.options.length > 0) { + newSelectedAction.parameters[newParamIndex].autocompleted = false + } } } @@ -6122,8 +6140,8 @@ const AngularWorkflow = (defaultprops) => { } - // Takes an action as input, then runs through and updates the relevant fields - // based on previous actions' + // Takes an action as input, then runs through and updates the relevant parameters based on previous actions' results (parent nodes) + // Further checks if those fields are already set in a previously used action newSelectedAction = RunAutocompleter(newSelectedAction); if (