@oneuptime/common 10.0.38 → 10.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Server/Types/Workflow/Components/Conditions/IfElse.ts +68 -21
- package/Types/Workflow/Component.ts +1 -0
- package/Types/Workflow/Components/Condition.ts +24 -0
- package/UI/Components/Workflow/Utils.ts +32 -1
- package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js +49 -19
- package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js.map +1 -1
- package/build/dist/Types/Workflow/Component.js +1 -0
- package/build/dist/Types/Workflow/Component.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Condition.js +24 -0
- package/build/dist/Types/Workflow/Components/Condition.js.map +1 -1
- package/build/dist/UI/Components/Workflow/Utils.js +28 -1
- package/build/dist/UI/Components/Workflow/Utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import ComponentMetadata, {
|
|
|
9
9
|
import ComponentID from "../../../../../Types/Workflow/ComponentID";
|
|
10
10
|
import Components, {
|
|
11
11
|
ConditionOperator,
|
|
12
|
+
ConditionValueType,
|
|
12
13
|
} from "../../../../../Types/Workflow/Components/Condition";
|
|
13
14
|
import CaptureSpan from "../../../../Utils/Telemetry/CaptureSpan";
|
|
14
15
|
|
|
@@ -61,29 +62,75 @@ export default class IfElse extends ComponentCode {
|
|
|
61
62
|
* Inject dependencies
|
|
62
63
|
*/
|
|
63
64
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const value: JSONValue = args[key];
|
|
65
|
+
// Get explicit types from dropdowns, default to text
|
|
66
|
+
let input1Type: ConditionValueType =
|
|
67
|
+
(args["input-1-type"] as ConditionValueType) || ConditionValueType.Text;
|
|
68
|
+
let input2Type: ConditionValueType =
|
|
69
|
+
(args["input-2-type"] as ConditionValueType) || ConditionValueType.Text;
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
/*
|
|
72
|
+
* When types differ, coerce both to the more specific type
|
|
73
|
+
* so comparisons like text "true" == boolean true work correctly.
|
|
74
|
+
* Priority: Null/Undefined keep as-is, Boolean > Number > Text.
|
|
75
|
+
*/
|
|
76
|
+
if (input1Type !== input2Type) {
|
|
77
|
+
type IsNullishFunction = (t: ConditionValueType) => boolean;
|
|
78
|
+
|
|
79
|
+
const isNullish: IsNullishFunction = (
|
|
80
|
+
t: ConditionValueType,
|
|
81
|
+
): boolean => {
|
|
82
|
+
return (
|
|
83
|
+
t === ConditionValueType.Null || t === ConditionValueType.Undefined
|
|
84
|
+
);
|
|
85
|
+
};
|
|
72
86
|
|
|
73
|
-
if (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
87
|
+
if (!isNullish(input1Type) && !isNullish(input2Type)) {
|
|
88
|
+
const typePriority: Record<string, number> = {
|
|
89
|
+
[ConditionValueType.Boolean]: 2,
|
|
90
|
+
[ConditionValueType.Number]: 1,
|
|
91
|
+
[ConditionValueType.Text]: 0,
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const p1: number = typePriority[input1Type] ?? 0;
|
|
95
|
+
const p2: number = typePriority[input2Type] ?? 0;
|
|
96
|
+
const commonType: ConditionValueType =
|
|
97
|
+
p1 >= p2 ? input1Type : input2Type;
|
|
98
|
+
input1Type = commonType;
|
|
99
|
+
input2Type = commonType;
|
|
79
100
|
}
|
|
101
|
+
}
|
|
80
102
|
|
|
81
|
-
|
|
82
|
-
|
|
103
|
+
type FormatValueFunction = (
|
|
104
|
+
value: JSONValue,
|
|
105
|
+
valueType: ConditionValueType,
|
|
106
|
+
) => string;
|
|
107
|
+
|
|
108
|
+
const formatValue: FormatValueFunction = (
|
|
109
|
+
value: JSONValue,
|
|
110
|
+
valueType: ConditionValueType,
|
|
111
|
+
): string => {
|
|
112
|
+
const strValue: string =
|
|
113
|
+
typeof value === "object"
|
|
114
|
+
? JSON.stringify(value)
|
|
115
|
+
: String(value ?? "");
|
|
116
|
+
|
|
117
|
+
switch (valueType) {
|
|
118
|
+
case ConditionValueType.Boolean:
|
|
119
|
+
return strValue === "true" ? "true" : "false";
|
|
120
|
+
case ConditionValueType.Number:
|
|
121
|
+
return isNaN(Number(strValue)) ? "0" : String(Number(strValue));
|
|
122
|
+
case ConditionValueType.Null:
|
|
123
|
+
return "null";
|
|
124
|
+
case ConditionValueType.Undefined:
|
|
125
|
+
return "undefined";
|
|
126
|
+
case ConditionValueType.Text:
|
|
127
|
+
default:
|
|
128
|
+
return `"${strValue}"`;
|
|
83
129
|
}
|
|
130
|
+
};
|
|
84
131
|
|
|
85
|
-
|
|
86
|
-
|
|
132
|
+
args["input-1"] = formatValue(args["input-1"], input1Type);
|
|
133
|
+
args["input-2"] = formatValue(args["input-2"], input2Type);
|
|
87
134
|
|
|
88
135
|
type SerializeFunction = (arg: string) => string;
|
|
89
136
|
|
|
@@ -107,13 +154,13 @@ export default class IfElse extends ComponentCode {
|
|
|
107
154
|
`;
|
|
108
155
|
|
|
109
156
|
if (args["operator"] === ConditionOperator.Contains) {
|
|
110
|
-
code += `return input1.includes(input2);`;
|
|
157
|
+
code += `return String(input1).includes(String(input2));`;
|
|
111
158
|
} else if (args["operator"] === ConditionOperator.DoesNotContain) {
|
|
112
|
-
code += `return !input1.includes(input2);`;
|
|
159
|
+
code += `return !String(input1).includes(String(input2));`;
|
|
113
160
|
} else if (args["operator"] === ConditionOperator.StartsWith) {
|
|
114
|
-
code += `return input1.startsWith(input2);`;
|
|
161
|
+
code += `return String(input1).startsWith(String(input2));`;
|
|
115
162
|
} else if (args["operator"] === ConditionOperator.EndsWith) {
|
|
116
|
-
code += `return input1.endsWith(input2);`;
|
|
163
|
+
code += `return String(input1).endsWith(String(input2));`;
|
|
117
164
|
} else {
|
|
118
165
|
code += `return input1 ${(args["operator"] as string) || "=="} input2;`;
|
|
119
166
|
}
|
|
@@ -5,6 +5,14 @@ import ComponentMetadata, {
|
|
|
5
5
|
ComponentType,
|
|
6
6
|
} from "./../Component";
|
|
7
7
|
|
|
8
|
+
export enum ConditionValueType {
|
|
9
|
+
Text = "text",
|
|
10
|
+
Boolean = "boolean",
|
|
11
|
+
Number = "number",
|
|
12
|
+
Null = "null",
|
|
13
|
+
Undefined = "undefined",
|
|
14
|
+
}
|
|
15
|
+
|
|
8
16
|
export enum ConditionOperator {
|
|
9
17
|
EqualTo = "==",
|
|
10
18
|
NotEqualTo = "!=",
|
|
@@ -27,6 +35,14 @@ const components: Array<ComponentMetadata> = [
|
|
|
27
35
|
iconProp: IconProp.Condition,
|
|
28
36
|
componentType: ComponentType.Component,
|
|
29
37
|
arguments: [
|
|
38
|
+
{
|
|
39
|
+
type: ComponentInputType.ValueType,
|
|
40
|
+
name: "Input 1 Type",
|
|
41
|
+
description: "Type of Input 1. Defaults to Text if not selected.",
|
|
42
|
+
placeholder: "Text",
|
|
43
|
+
required: false,
|
|
44
|
+
id: "input-1-type",
|
|
45
|
+
},
|
|
30
46
|
{
|
|
31
47
|
type: ComponentInputType.Text,
|
|
32
48
|
name: "Input 1",
|
|
@@ -43,6 +59,14 @@ const components: Array<ComponentMetadata> = [
|
|
|
43
59
|
required: true,
|
|
44
60
|
id: "operator",
|
|
45
61
|
},
|
|
62
|
+
{
|
|
63
|
+
type: ComponentInputType.ValueType,
|
|
64
|
+
name: "Input 2 Type",
|
|
65
|
+
description: "Type of Input 2. Defaults to Text if not selected.",
|
|
66
|
+
placeholder: "Text",
|
|
67
|
+
required: false,
|
|
68
|
+
id: "input-2-type",
|
|
69
|
+
},
|
|
46
70
|
{
|
|
47
71
|
type: ComponentInputType.Text,
|
|
48
72
|
name: "Input 2",
|
|
@@ -8,7 +8,10 @@ import ComponentMetadata, {
|
|
|
8
8
|
import Components, { Categories } from "../../../Types/Workflow/Components";
|
|
9
9
|
import BaseModelComponentFactory from "../../../Types/Workflow/Components/BaseModel";
|
|
10
10
|
import Entities from "../../../Models/DatabaseModels/Index";
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
ConditionOperator,
|
|
13
|
+
ConditionValueType,
|
|
14
|
+
} from "../../../Types/Workflow/Components/Condition";
|
|
12
15
|
|
|
13
16
|
type LoadComponentsAndCategoriesFunction = () => {
|
|
14
17
|
components: Array<ComponentMetadata>;
|
|
@@ -230,6 +233,34 @@ export const componentInputTypeToFormFieldType: ComponentInputTypeToFormFieldTyp
|
|
|
230
233
|
};
|
|
231
234
|
}
|
|
232
235
|
|
|
236
|
+
if (componentInputType === ComponentInputType.ValueType) {
|
|
237
|
+
return {
|
|
238
|
+
fieldType: FormFieldSchemaType.Dropdown,
|
|
239
|
+
dropdownOptions: [
|
|
240
|
+
{
|
|
241
|
+
label: "Text",
|
|
242
|
+
value: ConditionValueType.Text,
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
label: "Boolean",
|
|
246
|
+
value: ConditionValueType.Boolean,
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
label: "Number",
|
|
250
|
+
value: ConditionValueType.Number,
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
label: "Null",
|
|
254
|
+
value: ConditionValueType.Null,
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
label: "Undefined",
|
|
258
|
+
value: ConditionValueType.Undefined,
|
|
259
|
+
},
|
|
260
|
+
],
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
|
|
233
264
|
if (componentInputType === ComponentInputType.Date) {
|
|
234
265
|
return {
|
|
235
266
|
fieldType: FormFieldSchemaType.Date,
|
|
@@ -11,7 +11,7 @@ import VMUtil from "../../../../Utils/VM/VMAPI";
|
|
|
11
11
|
import ComponentCode from "../../ComponentCode";
|
|
12
12
|
import BadDataException from "../../../../../Types/Exception/BadDataException";
|
|
13
13
|
import ComponentID from "../../../../../Types/Workflow/ComponentID";
|
|
14
|
-
import Components, { ConditionOperator, } from "../../../../../Types/Workflow/Components/Condition";
|
|
14
|
+
import Components, { ConditionOperator, ConditionValueType, } from "../../../../../Types/Workflow/Components/Condition";
|
|
15
15
|
import CaptureSpan from "../../../../Utils/Telemetry/CaptureSpan";
|
|
16
16
|
export default class IfElse extends ComponentCode {
|
|
17
17
|
constructor() {
|
|
@@ -25,6 +25,7 @@ export default class IfElse extends ComponentCode {
|
|
|
25
25
|
this.setMetadata(Component);
|
|
26
26
|
}
|
|
27
27
|
async run(args, options) {
|
|
28
|
+
var _a, _b;
|
|
28
29
|
const yesPort = this.getMetadata().outPorts.find((p) => {
|
|
29
30
|
return p.id === "yes";
|
|
30
31
|
});
|
|
@@ -43,22 +44,51 @@ export default class IfElse extends ComponentCode {
|
|
|
43
44
|
* Inject args
|
|
44
45
|
* Inject dependencies
|
|
45
46
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
// Get explicit types from dropdowns, default to text
|
|
48
|
+
let input1Type = args["input-1-type"] || ConditionValueType.Text;
|
|
49
|
+
let input2Type = args["input-2-type"] || ConditionValueType.Text;
|
|
50
|
+
/*
|
|
51
|
+
* When types differ, coerce both to the more specific type
|
|
52
|
+
* so comparisons like text "true" == boolean true work correctly.
|
|
53
|
+
* Priority: Null/Undefined keep as-is, Boolean > Number > Text.
|
|
54
|
+
*/
|
|
55
|
+
if (input1Type !== input2Type) {
|
|
56
|
+
const isNullish = (t) => {
|
|
57
|
+
return (t === ConditionValueType.Null || t === ConditionValueType.Undefined);
|
|
58
|
+
};
|
|
59
|
+
if (!isNullish(input1Type) && !isNullish(input2Type)) {
|
|
60
|
+
const typePriority = {
|
|
61
|
+
[ConditionValueType.Boolean]: 2,
|
|
62
|
+
[ConditionValueType.Number]: 1,
|
|
63
|
+
[ConditionValueType.Text]: 0,
|
|
64
|
+
};
|
|
65
|
+
const p1 = (_a = typePriority[input1Type]) !== null && _a !== void 0 ? _a : 0;
|
|
66
|
+
const p2 = (_b = typePriority[input2Type]) !== null && _b !== void 0 ? _b : 0;
|
|
67
|
+
const commonType = p1 >= p2 ? input1Type : input2Type;
|
|
68
|
+
input1Type = commonType;
|
|
69
|
+
input2Type = commonType;
|
|
59
70
|
}
|
|
60
|
-
args[key] = shouldHaveQuotes ? `"${args[key]}"` : args[key];
|
|
61
71
|
}
|
|
72
|
+
const formatValue = (value, valueType) => {
|
|
73
|
+
const strValue = typeof value === "object"
|
|
74
|
+
? JSON.stringify(value)
|
|
75
|
+
: String(value !== null && value !== void 0 ? value : "");
|
|
76
|
+
switch (valueType) {
|
|
77
|
+
case ConditionValueType.Boolean:
|
|
78
|
+
return strValue === "true" ? "true" : "false";
|
|
79
|
+
case ConditionValueType.Number:
|
|
80
|
+
return isNaN(Number(strValue)) ? "0" : String(Number(strValue));
|
|
81
|
+
case ConditionValueType.Null:
|
|
82
|
+
return "null";
|
|
83
|
+
case ConditionValueType.Undefined:
|
|
84
|
+
return "undefined";
|
|
85
|
+
case ConditionValueType.Text:
|
|
86
|
+
default:
|
|
87
|
+
return `"${strValue}"`;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
args["input-1"] = formatValue(args["input-1"], input1Type);
|
|
91
|
+
args["input-2"] = formatValue(args["input-2"], input2Type);
|
|
62
92
|
const serialize = (arg) => {
|
|
63
93
|
if (typeof arg === "string") {
|
|
64
94
|
return arg.replace(/\n/g, "--newline--");
|
|
@@ -72,16 +102,16 @@ export default class IfElse extends ComponentCode {
|
|
|
72
102
|
|
|
73
103
|
`;
|
|
74
104
|
if (args["operator"] === ConditionOperator.Contains) {
|
|
75
|
-
code += `return input1.includes(input2);`;
|
|
105
|
+
code += `return String(input1).includes(String(input2));`;
|
|
76
106
|
}
|
|
77
107
|
else if (args["operator"] === ConditionOperator.DoesNotContain) {
|
|
78
|
-
code += `return !input1.includes(input2);`;
|
|
108
|
+
code += `return !String(input1).includes(String(input2));`;
|
|
79
109
|
}
|
|
80
110
|
else if (args["operator"] === ConditionOperator.StartsWith) {
|
|
81
|
-
code += `return input1.startsWith(input2);`;
|
|
111
|
+
code += `return String(input1).startsWith(String(input2));`;
|
|
82
112
|
}
|
|
83
113
|
else if (args["operator"] === ConditionOperator.EndsWith) {
|
|
84
|
-
code += `return input1.endsWith(input2);`;
|
|
114
|
+
code += `return String(input1).endsWith(String(input2));`;
|
|
85
115
|
}
|
|
86
116
|
else {
|
|
87
117
|
code += `return input1 ${args["operator"] || "=="} input2;`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IfElse.js","sourceRoot":"","sources":["../../../../../../../Server/Types/Workflow/Components/Conditions/IfElse.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,aAA4C,MAAM,qBAAqB,CAAC;AAC/E,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAM/E,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,UAAU,EAAE,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"IfElse.js","sourceRoot":"","sources":["../../../../../../../Server/Types/Workflow/Components/Conditions/IfElse.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export var ComponentInputType;
|
|
|
23
23
|
ComponentInputType["HTML"] = "HTML";
|
|
24
24
|
ComponentInputType["Operator"] = "Operator";
|
|
25
25
|
ComponentInputType["Markdown"] = "Markdown";
|
|
26
|
+
ComponentInputType["ValueType"] = "Value Type";
|
|
26
27
|
})(ComponentInputType || (ComponentInputType = {}));
|
|
27
28
|
export var ComponentType;
|
|
28
29
|
(function (ComponentType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../../../Types/Workflow/Component.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../../../Types/Workflow/Component.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,kBAyBX;AAzBD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,4CAAsB,CAAA;IACtB,+CAAyB,CAAA;IACzB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,+DAAyC,CAAA;IACzC,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,8CAAwB,CAAA;IACxB,gDAA0B,CAAA;IAC1B,mDAA6B,CAAA;IAC7B,yDAAmC,CAAA;IACnC,gDAA0B,CAAA;IAC1B,4CAAsB,CAAA;IACtB,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,8CAAwB,CAAA;AAC1B,CAAC,EAzBW,kBAAkB,KAAlB,kBAAkB,QAyB7B;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;AACzB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,+CAAmC,CAAA;AACrC,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import IconProp from "../../Icon/IconProp";
|
|
2
2
|
import ComponentID from "../ComponentID";
|
|
3
3
|
import { ComponentInputType, ComponentType, } from "./../Component";
|
|
4
|
+
export var ConditionValueType;
|
|
5
|
+
(function (ConditionValueType) {
|
|
6
|
+
ConditionValueType["Text"] = "text";
|
|
7
|
+
ConditionValueType["Boolean"] = "boolean";
|
|
8
|
+
ConditionValueType["Number"] = "number";
|
|
9
|
+
ConditionValueType["Null"] = "null";
|
|
10
|
+
ConditionValueType["Undefined"] = "undefined";
|
|
11
|
+
})(ConditionValueType || (ConditionValueType = {}));
|
|
4
12
|
export var ConditionOperator;
|
|
5
13
|
(function (ConditionOperator) {
|
|
6
14
|
ConditionOperator["EqualTo"] = "==";
|
|
@@ -23,6 +31,14 @@ const components = [
|
|
|
23
31
|
iconProp: IconProp.Condition,
|
|
24
32
|
componentType: ComponentType.Component,
|
|
25
33
|
arguments: [
|
|
34
|
+
{
|
|
35
|
+
type: ComponentInputType.ValueType,
|
|
36
|
+
name: "Input 1 Type",
|
|
37
|
+
description: "Type of Input 1. Defaults to Text if not selected.",
|
|
38
|
+
placeholder: "Text",
|
|
39
|
+
required: false,
|
|
40
|
+
id: "input-1-type",
|
|
41
|
+
},
|
|
26
42
|
{
|
|
27
43
|
type: ComponentInputType.Text,
|
|
28
44
|
name: "Input 1",
|
|
@@ -39,6 +55,14 @@ const components = [
|
|
|
39
55
|
required: true,
|
|
40
56
|
id: "operator",
|
|
41
57
|
},
|
|
58
|
+
{
|
|
59
|
+
type: ComponentInputType.ValueType,
|
|
60
|
+
name: "Input 2 Type",
|
|
61
|
+
description: "Type of Input 2. Defaults to Text if not selected.",
|
|
62
|
+
placeholder: "Text",
|
|
63
|
+
required: false,
|
|
64
|
+
id: "input-2-type",
|
|
65
|
+
},
|
|
42
66
|
{
|
|
43
67
|
type: ComponentInputType.Text,
|
|
44
68
|
name: "Input 2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Condition.js","sourceRoot":"","sources":["../../../../../Types/Workflow/Components/Condition.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAA0B,EACxB,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAN,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,mCAAc,CAAA;IACd,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;IACjB,gDAA2B,CAAA;IAC3B,mCAAc,CAAA;IACd,6CAAwB,CAAA;IACxB,0CAAqB,CAAA;IACrB,wDAAmC,CAAA;IACnC,+CAA0B,CAAA;IAC1B,2CAAsB,CAAA;AACxB,CAAC,EAXW,iBAAiB,KAAjB,iBAAiB,QAW5B;AAED,MAAM,UAAU,GAA6B;IAC3C;QACE,EAAE,EAAE,WAAW,CAAC,MAAM;QACtB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,wBAAwB;QACrC,QAAQ,EAAE,QAAQ,CAAC,SAAS;QAC5B,aAAa,EAAE,aAAa,CAAC,SAAS;QACtC,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,SAAS;aACd;YACD;gBACE,IAAI,EAAE,kBAAkB,CAAC,QAAQ;gBACjC,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,UAAU;gBACvB,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,UAAU;aACf;YACD;gBACE,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,qEAAqE;gBACvE,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,SAAS;aACd;SACF;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,IAAI;gBACX,WAAW,EACT,oEAAoE;gBACtE,EAAE,EAAE,IAAI;aACT;SACF;QACD,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,yCAAyC;gBACtD,EAAE,EAAE,KAAK;aACV;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,wCAAwC;gBACrD,EAAE,EAAE,IAAI;aACT;SACF;KACF;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"Condition.js","sourceRoot":"","sources":["../../../../../Types/Workflow/Components/Condition.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAA0B,EACxB,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,6CAAuB,CAAA;AACzB,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,MAAM,CAAN,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,mCAAc,CAAA;IACd,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;IACjB,gDAA2B,CAAA;IAC3B,mCAAc,CAAA;IACd,6CAAwB,CAAA;IACxB,0CAAqB,CAAA;IACrB,wDAAmC,CAAA;IACnC,+CAA0B,CAAA;IAC1B,2CAAsB,CAAA;AACxB,CAAC,EAXW,iBAAiB,KAAjB,iBAAiB,QAW5B;AAED,MAAM,UAAU,GAA6B;IAC3C;QACE,EAAE,EAAE,WAAW,CAAC,MAAM;QACtB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,wBAAwB;QACrC,QAAQ,EAAE,QAAQ,CAAC,SAAS;QAC5B,aAAa,EAAE,aAAa,CAAC,SAAS;QACtC,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,kBAAkB,CAAC,SAAS;gBAClC,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,oDAAoD;gBACjE,WAAW,EAAE,MAAM;gBACnB,QAAQ,EAAE,KAAK;gBACf,EAAE,EAAE,cAAc;aACnB;YACD;gBACE,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,SAAS;aACd;YACD;gBACE,IAAI,EAAE,kBAAkB,CAAC,QAAQ;gBACjC,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,UAAU;gBACvB,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,UAAU;aACf;YACD;gBACE,IAAI,EAAE,kBAAkB,CAAC,SAAS;gBAClC,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,oDAAoD;gBACjE,WAAW,EAAE,MAAM;gBACnB,QAAQ,EAAE,KAAK;gBACf,EAAE,EAAE,cAAc;aACnB;YACD;gBACE,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,qEAAqE;gBACvE,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,SAAS;aACd;SACF;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,IAAI;gBACX,WAAW,EACT,oEAAoE;gBACtE,EAAE,EAAE,IAAI;aACT;SACF;QACD,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,yCAAyC;gBACtD,EAAE,EAAE,KAAK;aACV;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,wCAAwC;gBACrD,EAAE,EAAE,IAAI;aACT;SACF;KACF;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { ComponentInputType, } from "../../../Types/Workflow/Component";
|
|
|
4
4
|
import Components, { Categories } from "../../../Types/Workflow/Components";
|
|
5
5
|
import BaseModelComponentFactory from "../../../Types/Workflow/Components/BaseModel";
|
|
6
6
|
import Entities from "../../../Models/DatabaseModels/Index";
|
|
7
|
-
import { ConditionOperator } from "../../../Types/Workflow/Components/Condition";
|
|
7
|
+
import { ConditionOperator, ConditionValueType, } from "../../../Types/Workflow/Components/Condition";
|
|
8
8
|
export const loadComponentsAndCategories = () => {
|
|
9
9
|
let initComponents = [];
|
|
10
10
|
const initCategories = [...Categories];
|
|
@@ -176,6 +176,33 @@ export const componentInputTypeToFormFieldType = (componentInputType, argValue)
|
|
|
176
176
|
],
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
|
+
if (componentInputType === ComponentInputType.ValueType) {
|
|
180
|
+
return {
|
|
181
|
+
fieldType: FormFieldSchemaType.Dropdown,
|
|
182
|
+
dropdownOptions: [
|
|
183
|
+
{
|
|
184
|
+
label: "Text",
|
|
185
|
+
value: ConditionValueType.Text,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
label: "Boolean",
|
|
189
|
+
value: ConditionValueType.Boolean,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
label: "Number",
|
|
193
|
+
value: ConditionValueType.Number,
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
label: "Null",
|
|
197
|
+
value: ConditionValueType.Null,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
label: "Undefined",
|
|
201
|
+
value: ConditionValueType.Undefined,
|
|
202
|
+
},
|
|
203
|
+
],
|
|
204
|
+
};
|
|
205
|
+
}
|
|
179
206
|
if (componentInputType === ComponentInputType.Date) {
|
|
180
207
|
return {
|
|
181
208
|
fieldType: FormFieldSchemaType.Date,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../UI/Components/Workflow/Utils.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAA0B,EAExB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,yBAAyB,MAAM,8CAA8C,CAAC;AACrF,OAAO,QAAQ,MAAM,sCAAsC,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../UI/Components/Workflow/Utils.ts"],"names":[],"mappings":"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"}
|