Workflow fixes towards blog #4
This commit is contained in:
@@ -173,7 +173,16 @@ class AppBase:
|
|||||||
if "split" in thistype:
|
if "split" in thistype:
|
||||||
return data.split()
|
return data.split()
|
||||||
if "len" in thistype or "length" in thistype:
|
if "len" in thistype or "length" in thistype:
|
||||||
return len(data)
|
tmp = ""
|
||||||
|
try:
|
||||||
|
tmp = json.loads(data)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if isinstance(tmp, list):
|
||||||
|
return str(len(tmp))
|
||||||
|
|
||||||
|
return str(len(data))
|
||||||
if "parse" in thistype:
|
if "parse" in thistype:
|
||||||
splitvalues = []
|
splitvalues = []
|
||||||
default_error = """Error. Expected syntax: parse(["hello","test1"],0:1)"""
|
default_error = """Error. Expected syntax: parse(["hello","test1"],0:1)"""
|
||||||
@@ -554,13 +563,21 @@ class AppBase:
|
|||||||
if destinationvalue.lower() in sourcevalue.lower():
|
if destinationvalue.lower() in sourcevalue.lower():
|
||||||
return True
|
return True
|
||||||
elif check.lower() == "larger than":
|
elif check.lower() == "larger than":
|
||||||
if sourcevalue.isdigit() and destinationvalue.isdigit():
|
try:
|
||||||
if int(sourcevalue) > int(destinationvalue):
|
if sourcevalue.isdigit() and destinationvalue.isdigit():
|
||||||
return True
|
if int(sourcevalue) > int(destinationvalue):
|
||||||
|
return True
|
||||||
|
except AttributeError as e:
|
||||||
|
self.logger.error("Condition larger than failed with values %s and %s: %s" % (sourcevalue, destinationvalue, e))
|
||||||
|
return False
|
||||||
elif check.lower() == "smaller than":
|
elif check.lower() == "smaller than":
|
||||||
if sourcevalue.isdigit() and destinationvalue.isdigit():
|
try:
|
||||||
if int(sourcevalue) < int(destinationvalue):
|
if sourcevalue.isdigit() and destinationvalue.isdigit():
|
||||||
return True
|
if int(sourcevalue) < int(destinationvalue):
|
||||||
|
return True
|
||||||
|
except AttributeError as e:
|
||||||
|
self.logger.error("Condition smaller than failed with values %s and %s: %s" % (sourcevalue, destinationvalue, e))
|
||||||
|
return False
|
||||||
else:
|
else:
|
||||||
self.logger.info("Condition: can't handle %s yet. Setting to true" % check)
|
self.logger.info("Condition: can't handle %s yet. Setting to true" % check)
|
||||||
|
|
||||||
|
|||||||
+48
-177
@@ -219,7 +219,7 @@ const AngularWorkflow = (props) => {
|
|||||||
<div style={{color: "white", position: "fixed", top: appBarSize+65, left: leftBarSize+20, zIndex: 5000, minHeight: 100, padding: 15, maxHeight: 100, maxWidth: 500, overflowX: "hidden",}}>
|
<div style={{color: "white", position: "fixed", top: appBarSize+65, left: leftBarSize+20, zIndex: 5000, minHeight: 100, padding: 15, maxHeight: 100, maxWidth: 500, overflowX: "hidden",}}>
|
||||||
{workflowExecutions.slice(0,15).map(data => {
|
{workflowExecutions.slice(0,15).map(data => {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div key={data.id}>
|
||||||
{new Date(data.started_at*1000).toISOString()}
|
{new Date(data.started_at*1000).toISOString()}
|
||||||
, {data.status}
|
, {data.status}
|
||||||
{data.result.length > 0 ? ", "+data.result : ", "}
|
{data.result.length > 0 ? ", "+data.result : ", "}
|
||||||
@@ -768,12 +768,12 @@ const AngularWorkflow = (props) => {
|
|||||||
//console.log("APP: ", selectedApp)
|
//console.log("APP: ", selectedApp)
|
||||||
setSelectedAction({})
|
setSelectedAction({})
|
||||||
setSelectedApp({})
|
setSelectedApp({})
|
||||||
//setSelectedTrigger({})
|
setSelectedTrigger({})
|
||||||
//setSelectedEdge({})
|
//setSelectedEdge({})
|
||||||
|
|
||||||
// setSelectedTriggerIndex(-1)
|
// setSelectedTriggerIndex(-1)
|
||||||
//setSelectedActionEnvironment({})
|
//setSelectedActionEnvironment({})
|
||||||
//setSelectedEdge({})
|
setSelectedEdge({})
|
||||||
//setTriggerAuthentication({})
|
//setTriggerAuthentication({})
|
||||||
//setSelectedTriggerIndex(-1)
|
//setSelectedTriggerIndex(-1)
|
||||||
//setTriggerFolders([])
|
//setTriggerFolders([])
|
||||||
@@ -850,7 +850,7 @@ const AngularWorkflow = (props) => {
|
|||||||
const onEdgeAdded = (event) => {
|
const onEdgeAdded = (event) => {
|
||||||
setLastSaved(false)
|
setLastSaved(false)
|
||||||
const edge = event.target.data()
|
const edge = event.target.data()
|
||||||
console.log(workflow.branches)
|
//console.log(workflow.branches)
|
||||||
|
|
||||||
// Check if:
|
// Check if:
|
||||||
// dest == source && source == dest
|
// dest == source && source == dest
|
||||||
@@ -1517,14 +1517,14 @@ const AngularWorkflow = (props) => {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
setNewVariableName(variable.name)
|
setNewVariableName(variable.name)
|
||||||
setNewVariableDescription(variable.description)
|
setNewVariableDescription(variable.description)
|
||||||
setNewVariableValue(variable.value)
|
setNewVariableValue(variable.value)
|
||||||
setVariablesModalOpen(true)
|
setVariablesModalOpen(true)
|
||||||
}} key={"Edit"}>{"Edit"}</MenuItem>
|
}} key={"Edit"}>{"Edit"}</MenuItem>
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
deleteVariable(variable.name)
|
deleteVariable(variable.name)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
}} key={"Delete"}>{"Delete"}</MenuItem>
|
}} key={"Delete"}>{"Delete"}</MenuItem>
|
||||||
@@ -1579,12 +1579,12 @@ const AngularWorkflow = (props) => {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
setNewVariableName(variable.name)
|
setNewVariableName(variable.name)
|
||||||
setExecutionVariablesModalOpen(true)
|
setExecutionVariablesModalOpen(true)
|
||||||
}} key={"Edit"}>{"Edit"}</MenuItem>
|
}} key={"Edit"}>{"Edit"}</MenuItem>
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
deleteExecutionVariable(variable.name)
|
deleteExecutionVariable(variable.name)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
}} key={"Delete"}>{"Delete"}</MenuItem>
|
}} key={"Delete"}>{"Delete"}</MenuItem>
|
||||||
@@ -2183,6 +2183,7 @@ const AngularWorkflow = (props) => {
|
|||||||
var allkeys = [action.id]
|
var allkeys = [action.id]
|
||||||
var handled = []
|
var handled = []
|
||||||
var results = []
|
var results = []
|
||||||
|
console.log("BEFORE PARENTS!")
|
||||||
|
|
||||||
while(true) {
|
while(true) {
|
||||||
for (var key in allkeys) {
|
for (var key in allkeys) {
|
||||||
@@ -2410,12 +2411,7 @@ const AngularWorkflow = (props) => {
|
|||||||
|
|
||||||
datafield =
|
datafield =
|
||||||
<div>
|
<div>
|
||||||
<Select
|
<Select
|
||||||
PaperProps={{
|
|
||||||
style: {
|
|
||||||
backgroundColor: inputColor,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
SelectDisplayProps={{
|
SelectDisplayProps={{
|
||||||
style: {
|
style: {
|
||||||
marginLeft: 10,
|
marginLeft: 10,
|
||||||
@@ -2429,7 +2425,7 @@ const AngularWorkflow = (props) => {
|
|||||||
style={{backgroundColor: surfaceColor, color: "white", height: "50px"}}
|
style={{backgroundColor: surfaceColor, color: "white", height: "50px"}}
|
||||||
>
|
>
|
||||||
{parents.map(data => (
|
{parents.map(data => (
|
||||||
<MenuItem style={{backgroundColor: inputColor, color: "white"}} value={data.label}>
|
<MenuItem key={data.label} style={{backgroundColor: inputColor, color: "white"}} value={data.label}>
|
||||||
{data.label}
|
{data.label}
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
))}
|
))}
|
||||||
@@ -2439,6 +2435,8 @@ const AngularWorkflow = (props) => {
|
|||||||
InputProps={{
|
InputProps={{
|
||||||
style:{
|
style:{
|
||||||
color: "white",
|
color: "white",
|
||||||
|
marginLeft: "5px",
|
||||||
|
maxWidth: "95%",
|
||||||
height: "50px",
|
height: "50px",
|
||||||
fontSize: "1em",
|
fontSize: "1em",
|
||||||
},
|
},
|
||||||
@@ -2470,11 +2468,6 @@ const AngularWorkflow = (props) => {
|
|||||||
// FIXME - this is a shitty solution that needs re-renders all the time
|
// FIXME - this is a shitty solution that needs re-renders all the time
|
||||||
datafield =
|
datafield =
|
||||||
<Select
|
<Select
|
||||||
PaperProps={{
|
|
||||||
style: {
|
|
||||||
backgroundColor: inputColor,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
SelectDisplayProps={{
|
SelectDisplayProps={{
|
||||||
style: {
|
style: {
|
||||||
marginLeft: 10,
|
marginLeft: 10,
|
||||||
@@ -2509,7 +2502,7 @@ const AngularWorkflow = (props) => {
|
|||||||
itemColor = "#ffeb3b"
|
itemColor = "#ffeb3b"
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div>
|
<div key={data.name}>
|
||||||
<div style={{marginTop: "20px", marginBottom: "7px", display: "flex"}}>
|
<div style={{marginTop: "20px", marginBottom: "7px", display: "flex"}}>
|
||||||
<div style={{width: "17px", height: "17px", borderRadius: 17 / 2, backgroundColor: itemColor, marginRight: "10px"}}/>
|
<div style={{width: "17px", height: "17px", borderRadius: 17 / 2, backgroundColor: itemColor, marginRight: "10px"}}/>
|
||||||
<div style={{flex: "10"}}>
|
<div style={{flex: "10"}}>
|
||||||
@@ -2657,11 +2650,6 @@ const AngularWorkflow = (props) => {
|
|||||||
Environment
|
Environment
|
||||||
<Select
|
<Select
|
||||||
value={selectedActionEnvironment === undefined || selectedActionEnvironment.Name === undefined ? "" : selectedActionEnvironment.Name}
|
value={selectedActionEnvironment === undefined || selectedActionEnvironment.Name === undefined ? "" : selectedActionEnvironment.Name}
|
||||||
PaperProps={{
|
|
||||||
style: {
|
|
||||||
backgroundColor: inputColor,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
SelectDisplayProps={{
|
SelectDisplayProps={{
|
||||||
style: {
|
style: {
|
||||||
marginLeft: 10,
|
marginLeft: 10,
|
||||||
@@ -2689,11 +2677,6 @@ const AngularWorkflow = (props) => {
|
|||||||
Set execution variable (optional)
|
Set execution variable (optional)
|
||||||
<Select
|
<Select
|
||||||
value={selectedAction.execution_variable !== undefined ? selectedAction.execution_variable.name : "No selection"}
|
value={selectedAction.execution_variable !== undefined ? selectedAction.execution_variable.name : "No selection"}
|
||||||
PaperProps={{
|
|
||||||
style: {
|
|
||||||
backgroundColor: inputColor,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
SelectDisplayProps={{
|
SelectDisplayProps={{
|
||||||
style: {
|
style: {
|
||||||
marginLeft: 10,
|
marginLeft: 10,
|
||||||
@@ -2968,106 +2951,6 @@ const AngularWorkflow = (props) => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
console.log(data)
|
|
||||||
|
|
||||||
// Remap data based on variant
|
|
||||||
if (data.variant === "STATIC_VALUE") {
|
|
||||||
staticcolor = "#f85a3e"
|
|
||||||
} else if (data.variant === "ACTION_RESULT") {
|
|
||||||
// Gets the parents of the current node
|
|
||||||
var parents = getParents(workflow.actions.find(a => a.id === selectedEdge["target"]))
|
|
||||||
actioncolor = "#f85a3e"
|
|
||||||
// set the datafield
|
|
||||||
//var datafieldvalue = "Error: No parents. Action not eligible"
|
|
||||||
//if (parents.length > 0) {
|
|
||||||
// datafieldvalue = parents[0].label
|
|
||||||
//}
|
|
||||||
|
|
||||||
datafield =
|
|
||||||
<div>
|
|
||||||
<Select
|
|
||||||
value={data.action_field}
|
|
||||||
fullWidth
|
|
||||||
onChange={(e) => {
|
|
||||||
changeActionVariable(e.target.value, data.value)
|
|
||||||
}}
|
|
||||||
style={{backgroundColor: inputColor, color: "white", height: "50px"}}
|
|
||||||
>
|
|
||||||
{parents.map(data => (
|
|
||||||
<MenuItem style={{backgroundColor: inputColor, color: "white"}} value={data.label}>
|
|
||||||
{data.label}
|
|
||||||
</MenuItem>
|
|
||||||
))}
|
|
||||||
SelectDisplayProps={{
|
|
||||||
style: {
|
|
||||||
marginLeft: 10,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
</Select>
|
|
||||||
<TextField
|
|
||||||
style={{backgroundColor: inputColor}}
|
|
||||||
InputProps={{
|
|
||||||
style:{
|
|
||||||
color: "white",
|
|
||||||
marginLeft: "5px",
|
|
||||||
maxWidth: "95%",
|
|
||||||
height: "50px",
|
|
||||||
fontSize: "1em",
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
fullWidth
|
|
||||||
color="primary"
|
|
||||||
defaultValue={data.value}
|
|
||||||
placeholder="Action variable ($.)"
|
|
||||||
onBlur={(e) => {
|
|
||||||
changeActionVariable(data.action_field, e.target.value)
|
|
||||||
}}
|
|
||||||
/></div>
|
|
||||||
|
|
||||||
} else if (data.variant === "WORKFLOW_VARIABLE") {
|
|
||||||
varcolor = "#f85a3e"
|
|
||||||
if (workflow.workflow_variables === null || workflow.workflow_variables === undefined || workflow.workflow_variables.length === 0) {
|
|
||||||
setCurrentView(2)
|
|
||||||
datafield =
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
Looks like you don't have any variables yet.
|
|
||||||
</div>
|
|
||||||
<div style={{width: "100%", margin: "auto"}}>
|
|
||||||
<Button style={{margin: "auto", marginTop: "10px",}} color="primary" variant="outlined" onClick={() => setVariablesModalOpen(true)}>New workflow variable</Button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
} else {
|
|
||||||
// FIXME - this is a shitty solution that needs re-renders all the time
|
|
||||||
datafield =
|
|
||||||
<Select
|
|
||||||
fullWidth
|
|
||||||
value={data.action_field}
|
|
||||||
PaperProps={{
|
|
||||||
style: {
|
|
||||||
backgroundColor: inputColor,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
SelectDisplayProps={{
|
|
||||||
style: {
|
|
||||||
marginLeft: 10,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
onChange={(e) => {
|
|
||||||
changeActionVariable(e.target.value, data.value)
|
|
||||||
}}
|
|
||||||
style={{backgroundColor: surfaceColor, color: "white", height: "50px"}}
|
|
||||||
>
|
|
||||||
{workflow.workflow_variables.map(data => (
|
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} value={data.name}>
|
|
||||||
{data.name}
|
|
||||||
</MenuItem>
|
|
||||||
))}
|
|
||||||
</Select>
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
const changeActionVariable = (variable, value) => {
|
const changeActionVariable = (variable, value) => {
|
||||||
// set the name
|
// set the name
|
||||||
data.value = value
|
data.value = value
|
||||||
@@ -3123,47 +3006,30 @@ const AngularWorkflow = (props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div style={{marginTop: "20px", marginBottom: "7px", display: "flex"}}>
|
<div style={{marginTop: "20px", marginBottom: "7px", display: "flex"}}>
|
||||||
<div style={{width: "17px", height: "17px", borderRadius: 17 / 2, backgroundColor: "#f85a3e", marginRight: "10px"}}/>
|
<div style={{width: "17px", height: "17px", borderRadius: 17 / 2, backgroundColor: "#f85a3e", marginRight: "10px"}}/>
|
||||||
<div style={{flex: "10"}}>
|
<div style={{flex: "10"}}>
|
||||||
<b>{data.name} </b>
|
<b>{data.name} </b>
|
||||||
</div>
|
|
||||||
<Tooltip color="primary" title="Static data" placement="top">
|
|
||||||
<div style={{cursor: "pointer", color: staticcolor}} onClick={(e) => {
|
|
||||||
e.preventDefault()
|
|
||||||
changeActionParameterVariant("STATIC_VALUE")
|
|
||||||
}}>
|
|
||||||
<CreateIcon />
|
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
<Tooltip color="primary" title="Static data" placement="top">
|
||||||
|
|
<div style={{cursor: "pointer", color: staticcolor}} onClick={(e) => {
|
||||||
<Tooltip color="primary" title="Data from previous action" placement="top">
|
e.preventDefault()
|
||||||
<div style={{cursor: "pointer", color: actioncolor}} onClick={(e) => {
|
changeActionParameterVariant("STATIC_VALUE")
|
||||||
e.preventDefault()
|
}}>
|
||||||
changeActionParameterVariant("ACTION_RESULT")
|
<CreateIcon />
|
||||||
}}>
|
</div>
|
||||||
<AppsIcon />
|
</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
{datafield}
|
||||||
|
|
</div>
|
||||||
<Tooltip color="primary" title="Use local variable" placement="top">
|
|
||||||
<div style={{cursor: "pointer", color: varcolor}} onClick={(e) => {
|
|
||||||
e.preventDefault()
|
|
||||||
changeActionParameterVariant("WORKFLOW_VARIABLE")
|
|
||||||
}}>
|
|
||||||
<FavoriteBorderIcon />
|
|
||||||
</div>
|
|
||||||
</Tooltip>
|
|
||||||
</div>
|
|
||||||
{datafield}
|
|
||||||
</div>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const menuItemStyle = {
|
const menuItemStyle = {
|
||||||
color: "white",
|
color: "white",
|
||||||
|
backgroundColor: inputColor
|
||||||
}
|
}
|
||||||
|
|
||||||
const conditionsModal =
|
const conditionsModal =
|
||||||
@@ -3243,6 +3109,16 @@ const AngularWorkflow = (props) => {
|
|||||||
setConditionValue(conditionValue)
|
setConditionValue(conditionValue)
|
||||||
setVariableAnchorEl(null)
|
setVariableAnchorEl(null)
|
||||||
}} key={"matches regex"}>matches regex</MenuItem>
|
}} key={"matches regex"}>matches regex</MenuItem>
|
||||||
|
<MenuItem style={menuItemStyle} onClick={(e) => {
|
||||||
|
conditionValue.value = "larger than"
|
||||||
|
setConditionValue(conditionValue)
|
||||||
|
setVariableAnchorEl(null)
|
||||||
|
}} key={"larger than"}>larger than</MenuItem>
|
||||||
|
<MenuItem style={menuItemStyle} onClick={(e) => {
|
||||||
|
conditionValue.value = "less than"
|
||||||
|
setConditionValue(conditionValue)
|
||||||
|
setVariableAnchorEl(null)
|
||||||
|
}} key={"less than"}>less than</MenuItem>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -3303,8 +3179,8 @@ const AngularWorkflow = (props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const paperVariableStyle = {
|
const paperVariableStyle = {
|
||||||
minHeight: "50px",
|
minHeight: 75,
|
||||||
maxHeight: "50px",
|
maxHeight: 75,
|
||||||
minWidth: "100%",
|
minWidth: "100%",
|
||||||
maxWidth: "100%",
|
maxWidth: "100%",
|
||||||
marginTop: "5px",
|
marginTop: "5px",
|
||||||
@@ -3330,15 +3206,15 @@ const AngularWorkflow = (props) => {
|
|||||||
setDestinationValue(condition.destination)
|
setDestinationValue(condition.destination)
|
||||||
setConditionsModalOpen(true)
|
setConditionsModalOpen(true)
|
||||||
}}>
|
}}>
|
||||||
<div style={{flex: "1", textAlign: "center", marginTop: "15px", marginLeft: "10px", overflow: "hidden"}}>
|
<div style={{flex: 1, textAlign: "left", marginTop: "15px", marginLeft: "10px", overflow: "hidden"}}>
|
||||||
{condition.source.value}
|
{condition.source.value}
|
||||||
</div>
|
</div>
|
||||||
<Divider style={{height: "100%", width: "1px", marginLeft: "5px", marginRight: "5px", backgroundColor: "rgb(91, 96, 100)"}}/>
|
<Divider style={{height: "100%", width: "1px", marginLeft: "5px", marginRight: "5px", backgroundColor: "rgb(91, 96, 100)"}}/>
|
||||||
<div style={{flex: "1", textAlign: "center", marginTop: "15px", overflow: "hidden"}} onClick={() => {}}>
|
<div style={{flex: 1, textAlign: "center", marginTop: "15px", overflow: "hidden"}} onClick={() => {}}>
|
||||||
{condition.condition.value}
|
{condition.condition.value}
|
||||||
</div>
|
</div>
|
||||||
<Divider style={{height: "100%", width: "1px", marginLeft: "5px", marginRight: "5px", backgroundColor: "rgb(91, 96, 100)"}}/>
|
<Divider style={{height: "100%", width: "1px", marginLeft: "5px", marginRight: "5px", backgroundColor: "rgb(91, 96, 100)"}}/>
|
||||||
<div style={{flex: "1", textAlign: "center", marginTop: "15px", marginLeft: "10px", overflow: "hidden"}}>
|
<div style={{flex: 1, textAlign: "left", marginTop: "auto", marginBottom: "auto", marginLeft: "10px", overflow: "hidden"}}>
|
||||||
{condition.destination.value}
|
{condition.destination.value}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -3348,6 +3224,7 @@ const AngularWorkflow = (props) => {
|
|||||||
aria-controls="long-menu"
|
aria-controls="long-menu"
|
||||||
aria-haspopup="true"
|
aria-haspopup="true"
|
||||||
onClick={menuClick}
|
onClick={menuClick}
|
||||||
|
style={{color: "white",}}
|
||||||
>
|
>
|
||||||
<MoreVertIcon />
|
<MoreVertIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
@@ -3366,7 +3243,7 @@ const AngularWorkflow = (props) => {
|
|||||||
setAnchorEl(null)
|
setAnchorEl(null)
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
deleteCondition(index)
|
deleteCondition(index)
|
||||||
}} key={"Delete"}>{"Delete"}</MenuItem>
|
}} key={"Delete"}>{"Delete"}</MenuItem>
|
||||||
@@ -3557,12 +3434,6 @@ const AngularWorkflow = (props) => {
|
|||||||
rows="10"
|
rows="10"
|
||||||
value={selectedTrigger.parameters[0].value.split(splitter)}
|
value={selectedTrigger.parameters[0].value.split(splitter)}
|
||||||
style={{backgroundColor: inputColor, color: "white"}}
|
style={{backgroundColor: inputColor, color: "white"}}
|
||||||
PaperProps={{
|
|
||||||
style: {
|
|
||||||
height: "200px",
|
|
||||||
backgroundColor: inputColor,
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
SelectDisplayProps={{
|
SelectDisplayProps={{
|
||||||
style: {
|
style: {
|
||||||
marginLeft: 10,
|
marginLeft: 10,
|
||||||
|
|||||||
+8
-1
@@ -59,7 +59,14 @@ const theme = createMuiTheme({
|
|||||||
},
|
},
|
||||||
typography: {
|
typography: {
|
||||||
useNextVariants: true
|
useNextVariants: true
|
||||||
}
|
},
|
||||||
|
overrides: {
|
||||||
|
MuiMenu: {
|
||||||
|
list: {
|
||||||
|
backgroundColor: inputColor,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -448,6 +448,12 @@ const Apps = (props) => {
|
|||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
: null}
|
: null}
|
||||||
|
{selectedAction.description !== undefined && selectedAction.description !== null ?
|
||||||
|
<div>
|
||||||
|
<b>Action Description</b><div/>
|
||||||
|
{selectedAction.description}
|
||||||
|
</div>
|
||||||
|
: null}
|
||||||
</div>
|
</div>
|
||||||
:
|
:
|
||||||
null
|
null
|
||||||
|
|||||||
@@ -383,21 +383,21 @@ const Workflows = (props) => {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
setModalOpen(true)
|
setModalOpen(true)
|
||||||
setEditingWorkflow(data)
|
setEditingWorkflow(data)
|
||||||
setNewWorkflowName(data.name)
|
setNewWorkflowName(data.name)
|
||||||
setNewWorkflowDescription(data.description)
|
setNewWorkflowDescription(data.description)
|
||||||
}} key={"change"}>{"Change name"}</MenuItem>
|
}} key={"change"}>{"Change name"}</MenuItem>
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
copyWorkflow(data)
|
copyWorkflow(data)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
}} key={"copy"}>{"Copy"}</MenuItem>
|
}} key={"copy"}>{"Copy"}</MenuItem>
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
exportWorkflow(data)
|
exportWorkflow(data)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
}} key={"export"}>{"Export"}</MenuItem>
|
}} key={"export"}>{"Export"}</MenuItem>
|
||||||
<MenuItem style={{backgroundColor: surfaceColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
deleteWorkflow(data.id)
|
deleteWorkflow(data.id)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
}} key={"delete"}>{"Delete"}</MenuItem>
|
}} key={"delete"}>{"Delete"}</MenuItem>
|
||||||
|
|||||||
Reference in New Issue
Block a user