#102: Added general NOT feature to conditions

This commit is contained in:
frikky
2020-07-23 16:02:29 +02:00
parent 10ac88d30b
commit d161b1ee99
3 changed files with 25 additions and 13 deletions
+11 -1
View File
@@ -710,7 +710,17 @@ class AppBase:
continue
#print(destinationvalue)
if not run_validation(sourcevalue, condition["condition"]["value"], destinationvalue):
# NEGATE
validation = run_validation(sourcevalue, condition["condition"]["value"], destinationvalue)
# Configuration = negated because of WorkflowAppActionParam..
try:
if condition["condition"]["configuration"]:
validation = not validation
except KeyError:
pass
if not validation:
self.logger.info("Failed condition check for %s %s %s." % (sourcevalue, condition["condition"]["value"], destinationvalue))
return False, "Failed condition: %s %s %s" % (sourcevalue, condition["condition"]["value"], destinationvalue)
+1
View File
@@ -94,6 +94,7 @@ type AuthenticationUsage struct {
}
// An app inside Shuffle
// Source string `json:"source" datastore:"soure" yaml:"source"` - downloadlocation
type WorkflowApp struct {
Name string `json:"name" yaml:"name" required:true datastore:"name"`
IsValid bool `json:"is_valid" yaml:"is_valid" required:true datastore:"is_valid"`
+13 -12
View File
@@ -3517,14 +3517,6 @@ const AngularWorkflow = (props) => {
<div style={{flex: "10"}}>
<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>
</Tooltip>
</div>
{datafield}
</div>
@@ -3557,11 +3549,21 @@ const AngularWorkflow = (props) => {
<FormControl>
<DialogTitle><div style={{color:"white"}}>Condition</div></DialogTitle>
<DialogContent style={{display: "flex"}}>
<Tooltip color="primary" title={conditionValue.configuration ? "Negated" : "Default"} placement="top">
<Button color="primary" variant={conditionValue.configuration ? "contained" : "outlined"} style={{margin: "auto", height: 50, marginBottom: 0, marginRight: 5}} onClick={(e) => {
console.log("VALUE: ", conditionValue.configuration)
conditionValue.configuration = !conditionValue.configuration
setConditionValue(conditionValue)
setUpdate("condition "+conditionValue.configuration)
}}>
{conditionValue.configuration ? "!" : "="}
</Button>
</Tooltip>
<div style={{flex: "2"}}>
<AppConditionHandler tmpdata={sourceValue} setData={setSourceValue} type={"source"} />
</div>
<div style={{flex: "1", margin: "auto", marginBottom: "0px"}}>
<Button color="primary" variant="outlined" style={{height: "50px",}} fullWidth aria-haspopup="true" onClick={(e) => {setVariableAnchorEl(e.currentTarget)}}>
<div style={{flex: "1", margin: "auto", marginBottom: 0, marginLeft: 5, marginRight: 5,}}>
<Button color="primary" variant="outlined" style={{height: "50px",}} fullWidth aria-haspopup="true" onClick={(e) => {setVariableAnchorEl(e.currentTarget)}}>
{conditionValue.value}
</Button>
<Menu
@@ -3625,8 +3627,7 @@ const AngularWorkflow = (props) => {
setVariableAnchorEl(null)
}} key={"less than"}>less than</MenuItem>
</Menu>
</div>
</div>
<div style={{flex: "2"}}>
<AppConditionHandler tmpdata={destinationValue} setData={setDestinationValue} type={"destination"} />
</div>