2
0

feat(inputs): Add Condition step

This commit is contained in:
Baptiste Arnaud
2022-01-15 17:30:20 +01:00
parent 4ccb7bca49
commit 2814a352b2
30 changed files with 1178 additions and 243 deletions

View File

@ -1,9 +1,11 @@
import { StepBase } from '.'
import { StepBase, Target } from '.'
import { Table } from '../..'
export type LogicStep = SetVariableStep
export type LogicStep = SetVariableStep | ConditionStep
export enum LogicStepType {
SET_VARIABLE = 'Set variable',
CONDITION = 'Condition',
}
export type SetVariableStep = StepBase & {
@ -11,6 +13,39 @@ export type SetVariableStep = StepBase & {
options?: SetVariableOptions
}
export enum LogicalOperator {
OR = 'OR',
AND = 'AND',
}
export enum ComparisonOperators {
EQUAL = 'Equal to',
NOT_EQUAL = 'Not equal',
CONTAINS = 'Contains',
GREATER = 'Greater than',
LESS = 'Less than',
IS_SET = 'Is set',
}
export type ConditionStep = StepBase & {
type: LogicStepType.CONDITION
options: ConditionOptions
trueTarget?: Target
falseTarget?: Target
}
export type ConditionOptions = {
comparisons: Table<Comparison>
logicalOperator?: LogicalOperator
}
export type Comparison = {
id: string
variableId?: string
comparisonOperator: ComparisonOperators
value?: string
}
export type SetVariableOptions = {
variableId?: string
expressionToEvaluate?: string