diff --git a/frontend/src/AngularWorkflow.js b/frontend/src/AngularWorkflow.js index 46996c91..6185fa3a 100644 --- a/frontend/src/AngularWorkflow.js +++ b/frontend/src/AngularWorkflow.js @@ -798,16 +798,16 @@ const AngularWorkflow = (props) => { } const onUnselect = (event) => { - //console.log("Unselect?") console.time("UNSELECT") // FIXME - check if they have value before overriding like this for no reason. // Would save a lot of time (400~ ms -> 30ms) - //setSelectedActionName({}) - setSelectedAction({}) - setSelectedApp({}) - setSelectedTrigger({}) - setSelectedEdge({}) + //setSelectedAction({}) + //setSelectedApp({}) + //setSelectedTrigger({}) + //setSelectedEdge({}) + + // setSelectedTriggerIndex(-1) //setSelectedActionEnvironment({}) //setSelectedEdge({}) @@ -821,6 +821,7 @@ const AngularWorkflow = (props) => { } const onEdgeSelect = (event) => { + setRightSideBarOpen(true) const triggercheck = workflow.triggers.find(trigger => trigger.id === event.target.data()["source"]) if (triggercheck === undefined) { setSelectedEdgeIndex(workflow.branches.findIndex(data => data.id === event.target.data()["id"])) @@ -837,7 +838,7 @@ const AngularWorkflow = (props) => { if (data.type === "ACTION") { // FIXME - unselect //console.log(cy.elements('[_id!="${data._id}"]`)) - console.time('ACTIONSTART'); + // Does it choose the wrong action? const curaction = workflow.actions.find(a => a.id === data.id) if (!curaction || curaction === undefined) { //console.log("Action not found error") @@ -855,25 +856,24 @@ const AngularWorkflow = (props) => { env = environments[0] } - console.log("Selected: ", data.id) - console.log(curaction) - - setRequiresAuthentication(curapp.authentication.required) setSelectedApp(curapp) + setSelectedAction(curaction) setSelectedActionEnvironment(env) setSelectedActionName(curaction.name) - setSelectedAction(curaction) + setRequiresAuthentication(curapp.authentication.required) } else if (data.type === "TRIGGER") { //console.log("Should handle trigger "+data.triggertype) //console.log(data) setSelectedTriggerIndex(workflow.triggers.findIndex(a => a.id === data.id)) setSelectedTrigger(data) - setSelectedActionEnvironment(data.env) setSelectedActionName(data.name) + setSelectedActionEnvironment(data.env) } else { - console.log("Should handle type "+data.type) + alert.error("Can't handle "+data.type) } + + setRightSideBarOpen(true) } const onEdgeAdded = (event) => { @@ -2103,8 +2103,9 @@ const AngularWorkflow = (props) => { const setNewSelectedAction = (e) => { const newaction = selectedApp.actions.find(a => a.name === e.target.value) + // Does this one find the wrong one? selectedAction.name = newaction.name - selectedAction.parameters = newaction.parameters + selectedAction.parameters = JSON.parse(JSON.stringify(newaction.parameters)) // FIXME - this is broken sometimes lol //var env = environments.find(a => a.name === newaction.environment) @@ -2180,7 +2181,7 @@ const AngularWorkflow = (props) => { // Dropdown -> static, action, local env, global env // VALUE (JSON) // {data.name}, {data.description}, {data.required}, {data.schema.type} - const AppActionArguments = () => { + const AppActionArguments = (props) => { const [selectedActionParameters, setSelectedActionParameters] = React.useState([]) const [selectedVariableParameter, setSelectedVariableParameter] = React.useState() @@ -2189,11 +2190,15 @@ const AngularWorkflow = (props) => { if (requiresAuthentication) { console.log("ADD AUTHENTICATION FIELDS") } - setSelectedActionParameters(selectedAction.parameters) + + if (selectedAction.parameters !== null && selectedAction.parameters.length > 0) { + setSelectedActionParameters(selectedAction.parameters) + } } if ((selectedVariableParameter === null || selectedVariableParameter === undefined) && (workflow.workflow_variables !== null && workflow.workflow_variables.length > 0)) { // FIXME - this is the bad thing + console.log("Does it go here or what?") setSelectedVariableParameter(workflow.workflow_variables[0].name) } @@ -2201,20 +2206,20 @@ const AngularWorkflow = (props) => { const changeActionParameter = (event, count) => { selectedActionParameters[count].value = event.target.value - selectedAction.parameters = selectedActionParameters + selectedAction.parameters[count].value = event.target.value setSelectedAction(selectedAction) + //setUpdate(event.target.value) } - const changeActionParameterVariable = (fieldvalue, count) => { setSelectedVariableParameter(fieldvalue) // this isn't updated anywhere in the workflow - setSelectedActionName({}) - setSelectedAction({}) - setSelectedTrigger({}) - setSelectedApp({}) - setSelectedEdge({}) + // setSelectedActionName({}) + // setSelectedAction({}) + // setSelectedTrigger({}) + // setSelectedApp({}) + // setSelectedEdge({}) selectedActionParameters[count].action_field = fieldvalue selectedAction.parameters = selectedActionParameters @@ -2222,6 +2227,7 @@ const AngularWorkflow = (props) => { setSelectedActionName(selectedActionName) setSelectedApp(selectedApp) setSelectedAction(selectedAction) + setUpdate(fieldvalue) } // Sets ACTION_RESULT things @@ -2236,11 +2242,6 @@ const AngularWorkflow = (props) => { selectedActionParameters[count].action_field = fieldvalue selectedAction.parameters = selectedActionParameters - setSelectedActionName({}) - setSelectedAction({}) - setSelectedTrigger({}) - setSelectedApp({}) - setSelectedEdge({}) // FIXME - check if startnode // Set value @@ -2248,6 +2249,7 @@ const AngularWorkflow = (props) => { setSelectedApp(selectedApp) setSelectedAction(selectedAction) + setUpdate(fieldvalue) } const changeActionParameterVariant = (data, count) => { @@ -2283,7 +2285,8 @@ const AngularWorkflow = (props) => { setSelectedAction(selectedAction) } - if (Object.getOwnPropertyNames(selectedAction).length > 0 && selectedActionParameters) { + // FIXME: Issue #40 - selectedActionParameters not reset + if (Object.getOwnPropertyNames(selectedAction).length > 0 && selectedActionParameters.length > 0) { return (
Arguments @@ -2300,7 +2303,7 @@ const AngularWorkflow = (props) => { multiline = true } - if (data.value.startsWith("{") && data.value.endsWith("}")) { + if (data.value !== undefined && data.value.startsWith("{") && data.value.endsWith("}")) { multiline = true } @@ -2577,7 +2580,7 @@ const AngularWorkflow = (props) => { />
- Environment: + Environment
- +
@@ -4323,9 +4326,12 @@ const AngularWorkflow = (props) => { } const RightSideBar = () => { + if (!rightSideBarOpen) { + return null + } + setLastSaved(false) if (Object.getOwnPropertyNames(selectedAction).length > 0 && Object.getOwnPropertyNames(selectedApp).length > 0) { - setRightSideBarOpen(true) //console.time('ACTIONSTART'); return(
@@ -4334,7 +4340,6 @@ const AngularWorkflow = (props) => { ) } else if (Object.getOwnPropertyNames(selectedTrigger).length > 0) { if (selectedTrigger.trigger_type === "SCHEDULE") { - setRightSideBarOpen(true) console.log("SCHEDULE") return(
@@ -4342,24 +4347,18 @@ const AngularWorkflow = (props) => {
) } else if (selectedTrigger.trigger_type === "WEBHOOK") { - setRightSideBarOpen(true) - console.log("WEBHOOK") return(
) } else if (selectedTrigger.trigger_type === "EMAIL") { - setRightSideBarOpen(true) - console.log("EMAIL") return(
) } else if (selectedTrigger.trigger_type === "USERINPUT") { - setRightSideBarOpen(true) - console.log("USER INPUT SIDEBAR") return(
@@ -4372,7 +4371,6 @@ const AngularWorkflow = (props) => { return null } } else if (Object.getOwnPropertyNames(selectedEdge).length > 0) { - setRightSideBarOpen(true) return(