@inspirer-dev/crm-dashboard 1.0.13 → 1.0.15
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/admin/src/components/TriggerConfigField/index.tsx +43 -17
- package/dist/_chunks/{index-DRJ5o0cz.js → index-BdNpSOmd.js} +39 -15
- package/dist/_chunks/{index-oWQdx7-R.mjs → index-DEONgZRM.mjs} +112 -91
- package/dist/_chunks/{index-DFqEb9sm.mjs → index-DXHJL-v5.mjs} +39 -15
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +2 -2
- package/package.json +1 -1
|
@@ -17,15 +17,16 @@ interface TriggerConfig {
|
|
|
17
17
|
eventName?: string;
|
|
18
18
|
delayValue?: number;
|
|
19
19
|
delayUnit?: 'seconds' | 'minutes' | 'hours';
|
|
20
|
-
scheduleType?: 'daily' | 'weekly' | 'cron';
|
|
20
|
+
scheduleType?: 'daily' | 'weekly' | 'cron' | 'interval';
|
|
21
21
|
scheduleTime?: string;
|
|
22
22
|
scheduleDays?: number[];
|
|
23
23
|
scheduleCron?: string;
|
|
24
|
+
scheduleEveryMinutes?: number;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
interface TriggerConfigFieldProps {
|
|
27
28
|
name: string;
|
|
28
|
-
value?: string | null;
|
|
29
|
+
value?: string | TriggerConfig | null;
|
|
29
30
|
onChange: (event: { target: { name: string; value: string } }) => void;
|
|
30
31
|
intlLabel: {
|
|
31
32
|
id: string;
|
|
@@ -47,6 +48,7 @@ const DEFAULT_CONFIG: TriggerConfig = {
|
|
|
47
48
|
scheduleTime: '12:00',
|
|
48
49
|
scheduleDays: [1, 2, 3, 4, 5],
|
|
49
50
|
scheduleCron: '0 12 * * *',
|
|
51
|
+
scheduleEveryMinutes: 5,
|
|
50
52
|
};
|
|
51
53
|
|
|
52
54
|
const WEEKDAYS = [
|
|
@@ -59,23 +61,27 @@ const WEEKDAYS = [
|
|
|
59
61
|
{ value: 6, label: 'Sat' },
|
|
60
62
|
];
|
|
61
63
|
|
|
62
|
-
const parseConfig = (value: string | null | undefined): TriggerConfig => {
|
|
64
|
+
const parseConfig = (value: string | TriggerConfig | null | undefined): TriggerConfig => {
|
|
63
65
|
if (!value) return DEFAULT_CONFIG;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
const normalize = (parsed: Partial<TriggerConfig>): TriggerConfig => ({
|
|
67
|
+
type: parsed.type || 'event_based',
|
|
68
|
+
eventName: parsed.eventName || '',
|
|
69
|
+
delayValue: parsed.delayValue ?? 10,
|
|
70
|
+
delayUnit: parsed.delayUnit || 'minutes',
|
|
71
|
+
scheduleType: parsed.scheduleType || 'daily',
|
|
72
|
+
scheduleTime: parsed.scheduleTime || '12:00',
|
|
73
|
+
scheduleDays: Array.isArray(parsed.scheduleDays) ? parsed.scheduleDays : [1, 2, 3, 4, 5],
|
|
74
|
+
scheduleCron: parsed.scheduleCron || '0 12 * * *',
|
|
75
|
+
scheduleEveryMinutes: parsed.scheduleEveryMinutes ?? 5,
|
|
76
|
+
});
|
|
77
|
+
if (typeof value === 'string') {
|
|
78
|
+
try {
|
|
79
|
+
return normalize(JSON.parse(value));
|
|
80
|
+
} catch {
|
|
81
|
+
return DEFAULT_CONFIG;
|
|
82
|
+
}
|
|
78
83
|
}
|
|
84
|
+
return normalize(value);
|
|
79
85
|
};
|
|
80
86
|
|
|
81
87
|
const serializeConfig = (config: TriggerConfig): string => {
|
|
@@ -247,12 +253,32 @@ const TriggerConfigField = forwardRef<HTMLDivElement, TriggerConfigFieldProps>(
|
|
|
247
253
|
}
|
|
248
254
|
disabled={disabled}
|
|
249
255
|
>
|
|
256
|
+
<SingleSelectOption value="interval">Every N minutes</SingleSelectOption>
|
|
250
257
|
<SingleSelectOption value="daily">Daily</SingleSelectOption>
|
|
251
258
|
<SingleSelectOption value="weekly">Weekly</SingleSelectOption>
|
|
252
259
|
<SingleSelectOption value="cron">Custom (Cron)</SingleSelectOption>
|
|
253
260
|
</SingleSelect>
|
|
254
261
|
</Field.Root>
|
|
255
262
|
|
|
263
|
+
{config.scheduleType === 'interval' && (
|
|
264
|
+
<Field.Root name={`${name}-scheduleEveryMinutes`}>
|
|
265
|
+
<Field.Label>Interval</Field.Label>
|
|
266
|
+
<SingleSelect
|
|
267
|
+
value={String(config.scheduleEveryMinutes ?? 5)}
|
|
268
|
+
onChange={(val: string) =>
|
|
269
|
+
handleUpdate({ scheduleEveryMinutes: parseInt(val, 10) || 5 })
|
|
270
|
+
}
|
|
271
|
+
disabled={disabled}
|
|
272
|
+
>
|
|
273
|
+
<SingleSelectOption value="5">Every 5 minutes</SingleSelectOption>
|
|
274
|
+
<SingleSelectOption value="10">Every 10 minutes</SingleSelectOption>
|
|
275
|
+
<SingleSelectOption value="15">Every 15 minutes</SingleSelectOption>
|
|
276
|
+
<SingleSelectOption value="30">Every 30 minutes</SingleSelectOption>
|
|
277
|
+
<SingleSelectOption value="60">Every 60 minutes</SingleSelectOption>
|
|
278
|
+
</SingleSelect>
|
|
279
|
+
</Field.Root>
|
|
280
|
+
)}
|
|
281
|
+
|
|
256
282
|
{(config.scheduleType === 'daily' || config.scheduleType === 'weekly') && (
|
|
257
283
|
<Field.Root name={`${name}-scheduleTime`}>
|
|
258
284
|
<Field.Label>Time of Day (UTC)</Field.Label>
|
|
@@ -11,7 +11,8 @@ const DEFAULT_CONFIG = {
|
|
|
11
11
|
scheduleType: "daily",
|
|
12
12
|
scheduleTime: "12:00",
|
|
13
13
|
scheduleDays: [1, 2, 3, 4, 5],
|
|
14
|
-
scheduleCron: "0 12 * * *"
|
|
14
|
+
scheduleCron: "0 12 * * *",
|
|
15
|
+
scheduleEveryMinutes: 5
|
|
15
16
|
};
|
|
16
17
|
const WEEKDAYS = [
|
|
17
18
|
{ value: 0, label: "Sun" },
|
|
@@ -24,21 +25,25 @@ const WEEKDAYS = [
|
|
|
24
25
|
];
|
|
25
26
|
const parseConfig = (value) => {
|
|
26
27
|
if (!value) return DEFAULT_CONFIG;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
const normalize = (parsed) => ({
|
|
29
|
+
type: parsed.type || "event_based",
|
|
30
|
+
eventName: parsed.eventName || "",
|
|
31
|
+
delayValue: parsed.delayValue ?? 10,
|
|
32
|
+
delayUnit: parsed.delayUnit || "minutes",
|
|
33
|
+
scheduleType: parsed.scheduleType || "daily",
|
|
34
|
+
scheduleTime: parsed.scheduleTime || "12:00",
|
|
35
|
+
scheduleDays: Array.isArray(parsed.scheduleDays) ? parsed.scheduleDays : [1, 2, 3, 4, 5],
|
|
36
|
+
scheduleCron: parsed.scheduleCron || "0 12 * * *",
|
|
37
|
+
scheduleEveryMinutes: parsed.scheduleEveryMinutes ?? 5
|
|
38
|
+
});
|
|
39
|
+
if (typeof value === "string") {
|
|
40
|
+
try {
|
|
41
|
+
return normalize(JSON.parse(value));
|
|
42
|
+
} catch {
|
|
43
|
+
return DEFAULT_CONFIG;
|
|
44
|
+
}
|
|
41
45
|
}
|
|
46
|
+
return normalize(value);
|
|
42
47
|
};
|
|
43
48
|
const serializeConfig = (config) => {
|
|
44
49
|
return JSON.stringify(config);
|
|
@@ -184,6 +189,7 @@ const TriggerConfigField = React.forwardRef(
|
|
|
184
189
|
onChange: (val) => handleUpdate({ scheduleType: val }),
|
|
185
190
|
disabled,
|
|
186
191
|
children: [
|
|
192
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "interval", children: "Every N minutes" }),
|
|
187
193
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "daily", children: "Daily" }),
|
|
188
194
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "weekly", children: "Weekly" }),
|
|
189
195
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "cron", children: "Custom (Cron)" })
|
|
@@ -191,6 +197,24 @@ const TriggerConfigField = React.forwardRef(
|
|
|
191
197
|
}
|
|
192
198
|
)
|
|
193
199
|
] }),
|
|
200
|
+
config.scheduleType === "interval" && /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { name: `${name}-scheduleEveryMinutes`, children: [
|
|
201
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: "Interval" }),
|
|
202
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
203
|
+
designSystem.SingleSelect,
|
|
204
|
+
{
|
|
205
|
+
value: String(config.scheduleEveryMinutes ?? 5),
|
|
206
|
+
onChange: (val) => handleUpdate({ scheduleEveryMinutes: parseInt(val, 10) || 5 }),
|
|
207
|
+
disabled,
|
|
208
|
+
children: [
|
|
209
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "5", children: "Every 5 minutes" }),
|
|
210
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "10", children: "Every 10 minutes" }),
|
|
211
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "15", children: "Every 15 minutes" }),
|
|
212
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "30", children: "Every 30 minutes" }),
|
|
213
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "60", children: "Every 60 minutes" })
|
|
214
|
+
]
|
|
215
|
+
}
|
|
216
|
+
)
|
|
217
|
+
] }),
|
|
194
218
|
(config.scheduleType === "daily" || config.scheduleType === "weekly") && /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { name: `${name}-scheduleTime`, children: [
|
|
195
219
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: "Time of Day (UTC)" }),
|
|
196
220
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5013,7 +5013,7 @@ var objectInspect = function inspect_(obj, options, depth, seen) {
|
|
|
5013
5013
|
var ys = arrObjKeys(obj, inspect2);
|
|
5014
5014
|
var isPlainObject2 = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
|
|
5015
5015
|
var protoTag = obj instanceof Object ? "" : "null prototype";
|
|
5016
|
-
var stringTag2 = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr
|
|
5016
|
+
var stringTag2 = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "";
|
|
5017
5017
|
var constructorTag = isPlainObject2 || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : "";
|
|
5018
5018
|
var tag = constructorTag + (stringTag2 || protoTag ? "[" + $join.call($concat$1.call([], stringTag2 || [], protoTag || []), ": ") + "] " : "");
|
|
5019
5019
|
if (ys.length === 0) {
|
|
@@ -5038,25 +5038,25 @@ function canTrustToString(obj) {
|
|
|
5038
5038
|
return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined"));
|
|
5039
5039
|
}
|
|
5040
5040
|
function isArray$8(obj) {
|
|
5041
|
-
return toStr
|
|
5041
|
+
return toStr(obj) === "[object Array]" && canTrustToString(obj);
|
|
5042
5042
|
}
|
|
5043
5043
|
function isDate$1(obj) {
|
|
5044
|
-
return toStr
|
|
5044
|
+
return toStr(obj) === "[object Date]" && canTrustToString(obj);
|
|
5045
5045
|
}
|
|
5046
5046
|
function isRegExp$1(obj) {
|
|
5047
|
-
return toStr
|
|
5047
|
+
return toStr(obj) === "[object RegExp]" && canTrustToString(obj);
|
|
5048
5048
|
}
|
|
5049
5049
|
function isError$1(obj) {
|
|
5050
|
-
return toStr
|
|
5050
|
+
return toStr(obj) === "[object Error]" && canTrustToString(obj);
|
|
5051
5051
|
}
|
|
5052
5052
|
function isString(obj) {
|
|
5053
|
-
return toStr
|
|
5053
|
+
return toStr(obj) === "[object String]" && canTrustToString(obj);
|
|
5054
5054
|
}
|
|
5055
5055
|
function isNumber(obj) {
|
|
5056
|
-
return toStr
|
|
5056
|
+
return toStr(obj) === "[object Number]" && canTrustToString(obj);
|
|
5057
5057
|
}
|
|
5058
5058
|
function isBoolean(obj) {
|
|
5059
|
-
return toStr
|
|
5059
|
+
return toStr(obj) === "[object Boolean]" && canTrustToString(obj);
|
|
5060
5060
|
}
|
|
5061
5061
|
function isSymbol$2(obj) {
|
|
5062
5062
|
if (hasShammedSymbols) {
|
|
@@ -5092,7 +5092,7 @@ var hasOwn$1 = Object.prototype.hasOwnProperty || function(key) {
|
|
|
5092
5092
|
function has$5(obj, key) {
|
|
5093
5093
|
return hasOwn$1.call(obj, key);
|
|
5094
5094
|
}
|
|
5095
|
-
function toStr
|
|
5095
|
+
function toStr(obj) {
|
|
5096
5096
|
return objectToString.call(obj);
|
|
5097
5097
|
}
|
|
5098
5098
|
function nameOf(f2) {
|
|
@@ -5401,7 +5401,7 @@ var syntax = SyntaxError;
|
|
|
5401
5401
|
var uri = URIError;
|
|
5402
5402
|
var abs$1 = Math.abs;
|
|
5403
5403
|
var floor$1 = Math.floor;
|
|
5404
|
-
var max$
|
|
5404
|
+
var max$1 = Math.max;
|
|
5405
5405
|
var min$1 = Math.min;
|
|
5406
5406
|
var pow$1 = Math.pow;
|
|
5407
5407
|
var round$1 = Math.round;
|
|
@@ -5530,78 +5530,99 @@ function requireObject_getPrototypeOf() {
|
|
|
5530
5530
|
Object_getPrototypeOf = $Object2.getPrototypeOf || null;
|
|
5531
5531
|
return Object_getPrototypeOf;
|
|
5532
5532
|
}
|
|
5533
|
-
var
|
|
5534
|
-
var
|
|
5535
|
-
|
|
5536
|
-
|
|
5537
|
-
|
|
5538
|
-
var
|
|
5539
|
-
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
arr
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
};
|
|
5547
|
-
var slicy = function slicy2(arrLike, offset) {
|
|
5548
|
-
var arr = [];
|
|
5549
|
-
for (var i2 = offset, j2 = 0; i2 < arrLike.length; i2 += 1, j2 += 1) {
|
|
5550
|
-
arr[j2] = arrLike[i2];
|
|
5551
|
-
}
|
|
5552
|
-
return arr;
|
|
5553
|
-
};
|
|
5554
|
-
var joiny = function(arr, joiner) {
|
|
5555
|
-
var str = "";
|
|
5556
|
-
for (var i2 = 0; i2 < arr.length; i2 += 1) {
|
|
5557
|
-
str += arr[i2];
|
|
5558
|
-
if (i2 + 1 < arr.length) {
|
|
5559
|
-
str += joiner;
|
|
5533
|
+
var implementation;
|
|
5534
|
+
var hasRequiredImplementation;
|
|
5535
|
+
function requireImplementation() {
|
|
5536
|
+
if (hasRequiredImplementation) return implementation;
|
|
5537
|
+
hasRequiredImplementation = 1;
|
|
5538
|
+
var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
|
|
5539
|
+
var toStr2 = Object.prototype.toString;
|
|
5540
|
+
var max2 = Math.max;
|
|
5541
|
+
var funcType = "[object Function]";
|
|
5542
|
+
var concatty = function concatty2(a2, b2) {
|
|
5543
|
+
var arr = [];
|
|
5544
|
+
for (var i2 = 0; i2 < a2.length; i2 += 1) {
|
|
5545
|
+
arr[i2] = a2[i2];
|
|
5560
5546
|
}
|
|
5561
|
-
|
|
5562
|
-
|
|
5563
|
-
}
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
5571
|
-
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
|
|
5577
|
-
if (
|
|
5578
|
-
|
|
5547
|
+
for (var j2 = 0; j2 < b2.length; j2 += 1) {
|
|
5548
|
+
arr[j2 + a2.length] = b2[j2];
|
|
5549
|
+
}
|
|
5550
|
+
return arr;
|
|
5551
|
+
};
|
|
5552
|
+
var slicy = function slicy2(arrLike, offset) {
|
|
5553
|
+
var arr = [];
|
|
5554
|
+
for (var i2 = offset, j2 = 0; i2 < arrLike.length; i2 += 1, j2 += 1) {
|
|
5555
|
+
arr[j2] = arrLike[i2];
|
|
5556
|
+
}
|
|
5557
|
+
return arr;
|
|
5558
|
+
};
|
|
5559
|
+
var joiny = function(arr, joiner) {
|
|
5560
|
+
var str = "";
|
|
5561
|
+
for (var i2 = 0; i2 < arr.length; i2 += 1) {
|
|
5562
|
+
str += arr[i2];
|
|
5563
|
+
if (i2 + 1 < arr.length) {
|
|
5564
|
+
str += joiner;
|
|
5579
5565
|
}
|
|
5580
|
-
return this;
|
|
5581
5566
|
}
|
|
5582
|
-
return
|
|
5583
|
-
that,
|
|
5584
|
-
concatty(args, arguments)
|
|
5585
|
-
);
|
|
5567
|
+
return str;
|
|
5586
5568
|
};
|
|
5587
|
-
|
|
5588
|
-
|
|
5589
|
-
|
|
5590
|
-
|
|
5591
|
-
|
|
5592
|
-
|
|
5593
|
-
|
|
5594
|
-
var
|
|
5569
|
+
implementation = function bind2(that) {
|
|
5570
|
+
var target = this;
|
|
5571
|
+
if (typeof target !== "function" || toStr2.apply(target) !== funcType) {
|
|
5572
|
+
throw new TypeError(ERROR_MESSAGE + target);
|
|
5573
|
+
}
|
|
5574
|
+
var args = slicy(arguments, 1);
|
|
5575
|
+
var bound;
|
|
5576
|
+
var binder = function() {
|
|
5577
|
+
if (this instanceof bound) {
|
|
5578
|
+
var result = target.apply(
|
|
5579
|
+
this,
|
|
5580
|
+
concatty(args, arguments)
|
|
5581
|
+
);
|
|
5582
|
+
if (Object(result) === result) {
|
|
5583
|
+
return result;
|
|
5584
|
+
}
|
|
5585
|
+
return this;
|
|
5586
|
+
}
|
|
5587
|
+
return target.apply(
|
|
5588
|
+
that,
|
|
5589
|
+
concatty(args, arguments)
|
|
5590
|
+
);
|
|
5595
5591
|
};
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
};
|
|
5602
|
-
|
|
5603
|
-
var
|
|
5604
|
-
|
|
5592
|
+
var boundLength = max2(0, target.length - args.length);
|
|
5593
|
+
var boundArgs = [];
|
|
5594
|
+
for (var i2 = 0; i2 < boundLength; i2++) {
|
|
5595
|
+
boundArgs[i2] = "$" + i2;
|
|
5596
|
+
}
|
|
5597
|
+
bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
|
|
5598
|
+
if (target.prototype) {
|
|
5599
|
+
var Empty = function Empty2() {
|
|
5600
|
+
};
|
|
5601
|
+
Empty.prototype = target.prototype;
|
|
5602
|
+
bound.prototype = new Empty();
|
|
5603
|
+
Empty.prototype = null;
|
|
5604
|
+
}
|
|
5605
|
+
return bound;
|
|
5606
|
+
};
|
|
5607
|
+
return implementation;
|
|
5608
|
+
}
|
|
5609
|
+
var functionBind;
|
|
5610
|
+
var hasRequiredFunctionBind;
|
|
5611
|
+
function requireFunctionBind() {
|
|
5612
|
+
if (hasRequiredFunctionBind) return functionBind;
|
|
5613
|
+
hasRequiredFunctionBind = 1;
|
|
5614
|
+
var implementation2 = requireImplementation();
|
|
5615
|
+
functionBind = Function.prototype.bind || implementation2;
|
|
5616
|
+
return functionBind;
|
|
5617
|
+
}
|
|
5618
|
+
var functionCall;
|
|
5619
|
+
var hasRequiredFunctionCall;
|
|
5620
|
+
function requireFunctionCall() {
|
|
5621
|
+
if (hasRequiredFunctionCall) return functionCall;
|
|
5622
|
+
hasRequiredFunctionCall = 1;
|
|
5623
|
+
functionCall = Function.prototype.call;
|
|
5624
|
+
return functionCall;
|
|
5625
|
+
}
|
|
5605
5626
|
var functionApply;
|
|
5606
5627
|
var hasRequiredFunctionApply;
|
|
5607
5628
|
function requireFunctionApply() {
|
|
@@ -5611,14 +5632,14 @@ function requireFunctionApply() {
|
|
|
5611
5632
|
return functionApply;
|
|
5612
5633
|
}
|
|
5613
5634
|
var reflectApply = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
|
|
5614
|
-
var bind$2 =
|
|
5635
|
+
var bind$2 = requireFunctionBind();
|
|
5615
5636
|
var $apply$1 = requireFunctionApply();
|
|
5616
|
-
var $call$2 =
|
|
5637
|
+
var $call$2 = requireFunctionCall();
|
|
5617
5638
|
var $reflectApply = reflectApply;
|
|
5618
5639
|
var actualApply = $reflectApply || bind$2.call($call$2, $apply$1);
|
|
5619
|
-
var bind$1 =
|
|
5640
|
+
var bind$1 = requireFunctionBind();
|
|
5620
5641
|
var $TypeError$4 = type;
|
|
5621
|
-
var $call$1 =
|
|
5642
|
+
var $call$1 = requireFunctionCall();
|
|
5622
5643
|
var $actualApply = actualApply;
|
|
5623
5644
|
var callBindApplyHelpers = function callBindBasic(args) {
|
|
5624
5645
|
if (args.length < 1 || typeof args[0] !== "function") {
|
|
@@ -5684,8 +5705,8 @@ function requireHasown() {
|
|
|
5684
5705
|
hasRequiredHasown = 1;
|
|
5685
5706
|
var call = Function.prototype.call;
|
|
5686
5707
|
var $hasOwn = Object.prototype.hasOwnProperty;
|
|
5687
|
-
var
|
|
5688
|
-
hasown =
|
|
5708
|
+
var bind2 = requireFunctionBind();
|
|
5709
|
+
hasown = bind2.call(call, $hasOwn);
|
|
5689
5710
|
return hasown;
|
|
5690
5711
|
}
|
|
5691
5712
|
var undefined$1;
|
|
@@ -5699,7 +5720,7 @@ var $TypeError$3 = type;
|
|
|
5699
5720
|
var $URIError = uri;
|
|
5700
5721
|
var abs = abs$1;
|
|
5701
5722
|
var floor = floor$1;
|
|
5702
|
-
var max = max$
|
|
5723
|
+
var max = max$1;
|
|
5703
5724
|
var min = min$1;
|
|
5704
5725
|
var pow = pow$1;
|
|
5705
5726
|
var round = round$1;
|
|
@@ -5733,7 +5754,7 @@ var getProto = requireGetProto();
|
|
|
5733
5754
|
var $ObjectGPO = requireObject_getPrototypeOf();
|
|
5734
5755
|
var $ReflectGPO = requireReflect_getPrototypeOf();
|
|
5735
5756
|
var $apply = requireFunctionApply();
|
|
5736
|
-
var $call =
|
|
5757
|
+
var $call = requireFunctionCall();
|
|
5737
5758
|
var needsEval = {};
|
|
5738
5759
|
var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined$1 : getProto(Uint8Array);
|
|
5739
5760
|
var INTRINSICS = {
|
|
@@ -5904,13 +5925,13 @@ var LEGACY_ALIASES = {
|
|
|
5904
5925
|
"%WeakMapPrototype%": ["WeakMap", "prototype"],
|
|
5905
5926
|
"%WeakSetPrototype%": ["WeakSet", "prototype"]
|
|
5906
5927
|
};
|
|
5907
|
-
var
|
|
5928
|
+
var bind = requireFunctionBind();
|
|
5908
5929
|
var hasOwn = requireHasown();
|
|
5909
|
-
var $concat =
|
|
5910
|
-
var $spliceApply =
|
|
5911
|
-
var $replace =
|
|
5912
|
-
var $strSlice =
|
|
5913
|
-
var $exec =
|
|
5930
|
+
var $concat = bind.call($call, Array.prototype.concat);
|
|
5931
|
+
var $spliceApply = bind.call($apply, Array.prototype.splice);
|
|
5932
|
+
var $replace = bind.call($call, String.prototype.replace);
|
|
5933
|
+
var $strSlice = bind.call($call, String.prototype.slice);
|
|
5934
|
+
var $exec = bind.call($call, RegExp.prototype.exec);
|
|
5914
5935
|
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
|
5915
5936
|
var reEscapeChar = /\\(\\)?/g;
|
|
5916
5937
|
var stringToPath$1 = function stringToPath(string2) {
|
|
@@ -9,7 +9,8 @@ const DEFAULT_CONFIG = {
|
|
|
9
9
|
scheduleType: "daily",
|
|
10
10
|
scheduleTime: "12:00",
|
|
11
11
|
scheduleDays: [1, 2, 3, 4, 5],
|
|
12
|
-
scheduleCron: "0 12 * * *"
|
|
12
|
+
scheduleCron: "0 12 * * *",
|
|
13
|
+
scheduleEveryMinutes: 5
|
|
13
14
|
};
|
|
14
15
|
const WEEKDAYS = [
|
|
15
16
|
{ value: 0, label: "Sun" },
|
|
@@ -22,21 +23,25 @@ const WEEKDAYS = [
|
|
|
22
23
|
];
|
|
23
24
|
const parseConfig = (value) => {
|
|
24
25
|
if (!value) return DEFAULT_CONFIG;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
const normalize = (parsed) => ({
|
|
27
|
+
type: parsed.type || "event_based",
|
|
28
|
+
eventName: parsed.eventName || "",
|
|
29
|
+
delayValue: parsed.delayValue ?? 10,
|
|
30
|
+
delayUnit: parsed.delayUnit || "minutes",
|
|
31
|
+
scheduleType: parsed.scheduleType || "daily",
|
|
32
|
+
scheduleTime: parsed.scheduleTime || "12:00",
|
|
33
|
+
scheduleDays: Array.isArray(parsed.scheduleDays) ? parsed.scheduleDays : [1, 2, 3, 4, 5],
|
|
34
|
+
scheduleCron: parsed.scheduleCron || "0 12 * * *",
|
|
35
|
+
scheduleEveryMinutes: parsed.scheduleEveryMinutes ?? 5
|
|
36
|
+
});
|
|
37
|
+
if (typeof value === "string") {
|
|
38
|
+
try {
|
|
39
|
+
return normalize(JSON.parse(value));
|
|
40
|
+
} catch {
|
|
41
|
+
return DEFAULT_CONFIG;
|
|
42
|
+
}
|
|
39
43
|
}
|
|
44
|
+
return normalize(value);
|
|
40
45
|
};
|
|
41
46
|
const serializeConfig = (config) => {
|
|
42
47
|
return JSON.stringify(config);
|
|
@@ -182,6 +187,7 @@ const TriggerConfigField = forwardRef(
|
|
|
182
187
|
onChange: (val) => handleUpdate({ scheduleType: val }),
|
|
183
188
|
disabled,
|
|
184
189
|
children: [
|
|
190
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "interval", children: "Every N minutes" }),
|
|
185
191
|
/* @__PURE__ */ jsx(SingleSelectOption, { value: "daily", children: "Daily" }),
|
|
186
192
|
/* @__PURE__ */ jsx(SingleSelectOption, { value: "weekly", children: "Weekly" }),
|
|
187
193
|
/* @__PURE__ */ jsx(SingleSelectOption, { value: "cron", children: "Custom (Cron)" })
|
|
@@ -189,6 +195,24 @@ const TriggerConfigField = forwardRef(
|
|
|
189
195
|
}
|
|
190
196
|
)
|
|
191
197
|
] }),
|
|
198
|
+
config.scheduleType === "interval" && /* @__PURE__ */ jsxs(Field.Root, { name: `${name}-scheduleEveryMinutes`, children: [
|
|
199
|
+
/* @__PURE__ */ jsx(Field.Label, { children: "Interval" }),
|
|
200
|
+
/* @__PURE__ */ jsxs(
|
|
201
|
+
SingleSelect,
|
|
202
|
+
{
|
|
203
|
+
value: String(config.scheduleEveryMinutes ?? 5),
|
|
204
|
+
onChange: (val) => handleUpdate({ scheduleEveryMinutes: parseInt(val, 10) || 5 }),
|
|
205
|
+
disabled,
|
|
206
|
+
children: [
|
|
207
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "5", children: "Every 5 minutes" }),
|
|
208
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "10", children: "Every 10 minutes" }),
|
|
209
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "15", children: "Every 15 minutes" }),
|
|
210
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "30", children: "Every 30 minutes" }),
|
|
211
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "60", children: "Every 60 minutes" })
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
)
|
|
215
|
+
] }),
|
|
192
216
|
(config.scheduleType === "daily" || config.scheduleType === "weekly") && /* @__PURE__ */ jsxs(Field.Root, { name: `${name}-scheduleTime`, children: [
|
|
193
217
|
/* @__PURE__ */ jsx(Field.Label, { children: "Time of Day (UTC)" }),
|
|
194
218
|
/* @__PURE__ */ jsx(
|
package/dist/admin/index.js
CHANGED
package/dist/admin/index.mjs
CHANGED
|
@@ -58,7 +58,7 @@ const index = {
|
|
|
58
58
|
components: {
|
|
59
59
|
Input: async () => import(
|
|
60
60
|
/* webpackChunkName: "crm-trigger-config" */
|
|
61
|
-
"../_chunks/index-
|
|
61
|
+
"../_chunks/index-DXHJL-v5.mjs"
|
|
62
62
|
)
|
|
63
63
|
},
|
|
64
64
|
options: {
|
|
@@ -124,7 +124,7 @@ const index = {
|
|
|
124
124
|
Component: async () => {
|
|
125
125
|
const component = await import(
|
|
126
126
|
/* webpackChunkName: "crm-dashboard-page" */
|
|
127
|
-
"../_chunks/index-
|
|
127
|
+
"../_chunks/index-DEONgZRM.mjs"
|
|
128
128
|
);
|
|
129
129
|
return component;
|
|
130
130
|
},
|