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) => {
//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 (
<div style={{marginTop: "30px"}}>
<b>Arguments</b>
@@ -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) => {
/>
<div style={{marginTop: "20px"}}>
Environment:
Environment
<Select
value={selectedActionEnvironment === undefined || selectedActionEnvironment.Name === undefined ? "" : selectedActionEnvironment.Name}
PaperProps={{
@@ -2651,7 +2654,7 @@ const AngularWorkflow = (props) => {
})}
</Select>
<div style={{marginTop: "10px", borderColor: "white", borderWidth: "2px", marginBottom: 200}}>
<AppActionArguments key={"hey"} />
<AppActionArguments key={selectedAction.id} selectedAction={selectedAction} />
</div>
</div>
@@ -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(
<div style={rightsidebarStyle}>
@@ -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(
<div style={rightsidebarStyle}>
@@ -4342,24 +4347,18 @@ const AngularWorkflow = (props) => {
</div>
)
} else if (selectedTrigger.trigger_type === "WEBHOOK") {
setRightSideBarOpen(true)
console.log("WEBHOOK")
return(
<div style={rightsidebarStyle}>
<WebhookSidebar />
</div>
)
} else if (selectedTrigger.trigger_type === "EMAIL") {
setRightSideBarOpen(true)
console.log("EMAIL")
return(
<div style={rightsidebarStyle}>
<EmailSidebar />
</div>
)
} else if (selectedTrigger.trigger_type === "USERINPUT") {
setRightSideBarOpen(true)
console.log("USER INPUT SIDEBAR")
return(
<div style={rightsidebarStyle}>
<UserinputSidebar />
@@ -4372,7 +4371,6 @@ const AngularWorkflow = (props) => {
return null
}
} else if (Object.getOwnPropertyNames(selectedEdge).length > 0) {
setRightSideBarOpen(true)
return(
<div style={rightsidebarStyle}>
<EdgeSidebar />