Fixed Issue #40

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