@bigbinary/neeto-rules-frontend 2.5.28 → 2.5.30
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/dist/NeetoRulesForm.js +253 -115
- package/dist/NeetoRulesForm.js.map +1 -1
- package/dist/RulePreview.js +1 -1
- package/dist/cjs/NeetoRulesForm.js +250 -112
- package/dist/cjs/NeetoRulesForm.js.map +1 -1
- package/dist/cjs/RulePreview.js +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/{constants-CCwwHsAM.js → constants-BjXYr8nk.js} +3 -1
- package/dist/{constants-DvCsjJGj.js.map → constants-BjXYr8nk.js.map} +1 -1
- package/dist/{constants-DvCsjJGj.js → constants-C_bfl8XZ.js} +3 -2
- package/dist/{constants-CCwwHsAM.js.map → constants-C_bfl8XZ.js.map} +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
- package/types.d.ts +2 -1
|
@@ -10,7 +10,6 @@ var formik = require('formik');
|
|
|
10
10
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
11
11
|
var Plus = require('@bigbinary/neeto-icons/Plus');
|
|
12
12
|
var Delete = require('@bigbinary/neeto-icons/Delete');
|
|
13
|
-
var Refresh = require('@bigbinary/neeto-icons/Refresh');
|
|
14
13
|
var Button = require('@bigbinary/neetoui/Button');
|
|
15
14
|
var reactI18next = require('react-i18next');
|
|
16
15
|
var useUtilityStore = require('../useUtilityStore-D6PfpKqa.js');
|
|
@@ -19,14 +18,17 @@ var Typography = require('@bigbinary/neetoui/Typography');
|
|
|
19
18
|
var ramda = require('ramda');
|
|
20
19
|
var i18next = require('i18next');
|
|
21
20
|
var yup = require('yup');
|
|
21
|
+
var Search = require('@bigbinary/neeto-icons/Search');
|
|
22
|
+
var Input$1 = require('@bigbinary/neetoui/Input');
|
|
22
23
|
var Radio = require('@bigbinary/neetoui/formik/Radio');
|
|
23
24
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
24
25
|
var managers = require('@bigbinary/neetoui/managers');
|
|
25
26
|
var jsxRuntime = require('react/jsx-runtime');
|
|
26
27
|
var Collapse = require('@bigbinary/neeto-icons/Collapse');
|
|
28
|
+
var Callout = require('@bigbinary/neetoui/Callout');
|
|
27
29
|
var Left = require('@bigbinary/neeto-icons/Left');
|
|
28
30
|
var Textarea = require('@bigbinary/neetoui/formik/Textarea');
|
|
29
|
-
var Input$
|
|
31
|
+
var Input$2 = require('@bigbinary/neetoui/formik/Input');
|
|
30
32
|
var Switch = require('@bigbinary/neetoui/formik/Switch');
|
|
31
33
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
32
34
|
var Editor = require('@monaco-editor/react');
|
|
@@ -38,19 +40,19 @@ var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
|
38
40
|
var DatePicker = require('@bigbinary/neetoui/DatePicker');
|
|
39
41
|
var MultiEmailInput = require('@bigbinary/neetoui/formik/MultiEmailInput');
|
|
40
42
|
var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
|
|
43
|
+
var Refresh = require('@bigbinary/neeto-icons/Refresh');
|
|
41
44
|
var Select$1 = require('@bigbinary/neetoui/formik/Select');
|
|
42
45
|
var useHotkeys = require('@bigbinary/neeto-hotkeys');
|
|
43
46
|
var Check = require('@bigbinary/neeto-icons/Check');
|
|
44
47
|
var Close = require('@bigbinary/neeto-icons/Close');
|
|
45
|
-
var Input$2 = require('@bigbinary/neetoui/Input');
|
|
46
48
|
var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
|
47
49
|
var CreatableSelect = require('react-select/creatable');
|
|
48
50
|
var _toArray = require('@babel/runtime/helpers/toArray');
|
|
49
51
|
var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
|
|
50
52
|
var Tag = require('@bigbinary/neetoui/Tag');
|
|
51
53
|
var reactSelect = require('react-select');
|
|
54
|
+
var constants = require('../constants-BjXYr8nk.js');
|
|
52
55
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
53
|
-
var constants = require('../constants-CCwwHsAM.js');
|
|
54
56
|
var Radio$1 = require('@bigbinary/neetoui/Radio');
|
|
55
57
|
var TimePicker = require('@bigbinary/neetoui/TimePicker');
|
|
56
58
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -169,7 +171,7 @@ var Footer = function Footer(_ref) {
|
|
|
169
171
|
className = _ref.className;
|
|
170
172
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
171
173
|
"data-cy": "pane-footer",
|
|
172
|
-
className: classNames("neeto-rules-side-panel__footer neeto-ui-border-gray-
|
|
174
|
+
className: classNames("neeto-rules-side-panel__footer neeto-ui-border-gray-200 flex items-center justify-between border-t p-6", className),
|
|
173
175
|
children: children
|
|
174
176
|
});
|
|
175
177
|
};
|
|
@@ -187,7 +189,7 @@ var Header = function Header(_ref) {
|
|
|
187
189
|
t = _useTranslation.t;
|
|
188
190
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
189
191
|
"data-cy": "pane-header",
|
|
190
|
-
className: classNames("neeto-rules-side-panel__header neeto-ui-border-gray-
|
|
192
|
+
className: classNames("neeto-rules-side-panel__header neeto-ui-border-gray-200 flex items-start justify-between border-b p-6", _defineProperty({}, className, className)),
|
|
191
193
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
192
194
|
className: "flex min-w-0 flex-grow",
|
|
193
195
|
children: children
|
|
@@ -237,7 +239,7 @@ var Panel = function Panel() {
|
|
|
237
239
|
large: "neeto-rules-side-panel--large"
|
|
238
240
|
}[panelState.size] || "neeto-rules-side-panel--small";
|
|
239
241
|
return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$u(_objectSpread$u({
|
|
240
|
-
className: classNames("neeto-rules-side-panel neeto-ui-border-gray-
|
|
242
|
+
className: classNames("neeto-rules-side-panel neeto-ui-border-gray-200 transition-width neeto-ui-bg-white ml-auto flex h-screen max-h-full flex-col overflow-y-auto border-l duration-300 ease-in-out", _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, panelSize, isOpen), "w-0 overflow-hidden", !isOpen), "absolute", hasOverlays), "right-0", hasOverlays))
|
|
241
243
|
}, paneProps), {}, {
|
|
242
244
|
children: /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$u(_objectSpread$u({}, data), {}, {
|
|
243
245
|
onClose: resetPanelState
|
|
@@ -248,15 +250,11 @@ Panel.Header = Header;
|
|
|
248
250
|
Panel.Body = Body;
|
|
249
251
|
Panel.Footer = Footer;
|
|
250
252
|
|
|
251
|
-
var
|
|
252
|
-
var
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
return /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
257
|
-
className: "neeto-ui-text-white neeto-ui-bg-error-500 neeto-ui-rounded-sm -mx-4 w-full p-3",
|
|
258
|
-
style: "h5",
|
|
259
|
-
children: message
|
|
253
|
+
var StickySidebarHeader = function StickySidebarHeader(_ref) {
|
|
254
|
+
var children = _ref.children;
|
|
255
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
256
|
+
className: "sticky top-0 neeto-ui-bg-white py-6 flex flex-col gap-3",
|
|
257
|
+
children: children
|
|
260
258
|
});
|
|
261
259
|
};
|
|
262
260
|
|
|
@@ -302,6 +300,7 @@ var DEFAULT_RULE_ACTION = {
|
|
|
302
300
|
};
|
|
303
301
|
var EDITOR_ADDONS = ["code-block", "block-quote", "image-upload"];
|
|
304
302
|
var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
303
|
+
var MAXIMUM_OPTION_LENGTH$1 = 7;
|
|
305
304
|
var ACTION_INPUT_TYPES = ["text", "number", "decimal", "regex"];
|
|
306
305
|
var DEFAULT_HELP_POPOVER_PROPS = {
|
|
307
306
|
helpLinkProps: {
|
|
@@ -309,6 +308,18 @@ var DEFAULT_HELP_POPOVER_PROPS = {
|
|
|
309
308
|
}
|
|
310
309
|
};
|
|
311
310
|
|
|
311
|
+
var ErrorCallout = function ErrorCallout(_ref) {
|
|
312
|
+
var message = _ref.message,
|
|
313
|
+
selectedField = _ref.selectedField;
|
|
314
|
+
if (!message) return null;
|
|
315
|
+
if (typeof message === "function") return message(selectedField);
|
|
316
|
+
return /*#__PURE__*/jsxRuntime.jsx(Callout, {
|
|
317
|
+
className: "block",
|
|
318
|
+
style: "danger",
|
|
319
|
+
children: message
|
|
320
|
+
});
|
|
321
|
+
};
|
|
322
|
+
|
|
312
323
|
var getFieldDetails$1 = function getFieldDetails(fieldValue) {
|
|
313
324
|
var actionOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
314
325
|
return neetoCist.findBy({
|
|
@@ -337,6 +348,12 @@ var getDetailsByValue = function getDetailsByValue(value, options) {
|
|
|
337
348
|
value: value
|
|
338
349
|
}, options);
|
|
339
350
|
};
|
|
351
|
+
var getSearchedOptions$2 = function getSearchedOptions(dropdownOptions, searchTerm) {
|
|
352
|
+
return dropdownOptions.filter(function (_ref) {
|
|
353
|
+
var label = _ref.label;
|
|
354
|
+
return ramda.toLower(label).includes(ramda.toLower(searchTerm.trim()));
|
|
355
|
+
});
|
|
356
|
+
};
|
|
340
357
|
var getSelectedOptions = function getSelectedOptions(options) {
|
|
341
358
|
return options.filter(ramda.identity).length ? options : [];
|
|
342
359
|
};
|
|
@@ -389,6 +406,10 @@ var getPanelSize = function getPanelSize(selectedField) {
|
|
|
389
406
|
var ActionPanel = function ActionPanel() {
|
|
390
407
|
var _useTranslation = reactI18next.useTranslation(),
|
|
391
408
|
t = _useTranslation.t;
|
|
409
|
+
var _useState = react.useState(""),
|
|
410
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
411
|
+
searchTerm = _useState2[0],
|
|
412
|
+
setSearchTerm = _useState2[1];
|
|
392
413
|
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
393
414
|
return {
|
|
394
415
|
setPanelState: store["setPanelState"],
|
|
@@ -428,6 +449,8 @@ var ActionPanel = function ActionPanel() {
|
|
|
428
449
|
ref = _useActiveField.ref,
|
|
429
450
|
setFieldActive = _useActiveField.setFieldActive;
|
|
430
451
|
var label = index ? t("neetoRules.common.andThen") : t("neetoRules.common.then");
|
|
452
|
+
var isSearchable = actionOptions.length > MAXIMUM_OPTION_LENGTH$1;
|
|
453
|
+
var searchedOptions = getSearchedOptions$2(actionOptions, searchTerm);
|
|
431
454
|
var setFieldValueAndUntouch = function setFieldValueAndUntouch(field, value) {
|
|
432
455
|
setFieldValue(field, value);
|
|
433
456
|
setFieldTouched(field, false);
|
|
@@ -468,26 +491,45 @@ var ActionPanel = function ActionPanel() {
|
|
|
468
491
|
})]
|
|
469
492
|
})
|
|
470
493
|
}), /*#__PURE__*/jsxRuntime.jsxs(Panel.Body, {
|
|
471
|
-
className: "space-y-4",
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
494
|
+
className: classNames("space-y-4", {
|
|
495
|
+
"pt-0": isSearchable || errorMessage
|
|
496
|
+
}),
|
|
497
|
+
children: [(isSearchable || errorMessage) && /*#__PURE__*/jsxRuntime.jsxs(StickySidebarHeader, {
|
|
498
|
+
children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(Input$1, {
|
|
499
|
+
"data-cy": "search-text-field",
|
|
500
|
+
placeholder: t("neetoRules.common.search"),
|
|
501
|
+
prefix: /*#__PURE__*/jsxRuntime.jsx(Search, {}),
|
|
502
|
+
value: searchTerm,
|
|
503
|
+
onChange: function onChange(e) {
|
|
504
|
+
return setSearchTerm(e.target.value);
|
|
505
|
+
},
|
|
506
|
+
onClick: function onClick(e) {
|
|
507
|
+
return e.stopPropagation();
|
|
508
|
+
}
|
|
509
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ErrorCallout, {
|
|
510
|
+
selectedField: selectedField,
|
|
511
|
+
message: errorMessage
|
|
512
|
+
})]
|
|
513
|
+
}), neetoCist.isNotEmpty(searchedOptions) ? /*#__PURE__*/jsxRuntime.jsx(Radio, {
|
|
476
514
|
ref: ref,
|
|
477
515
|
stacked: true,
|
|
478
516
|
name: "".concat(name, ".name"),
|
|
479
517
|
value: selectedField === null || selectedField === void 0 ? void 0 : selectedField.value,
|
|
480
518
|
onChange: handleSelectOption,
|
|
481
|
-
children:
|
|
519
|
+
children: searchedOptions.map(function (_ref2) {
|
|
482
520
|
var label = _ref2.label,
|
|
483
521
|
value = _ref2.value;
|
|
484
522
|
return /*#__PURE__*/react.createElement(Radio.Item, {
|
|
485
523
|
label: label,
|
|
486
524
|
value: value,
|
|
487
|
-
key:
|
|
525
|
+
key: value,
|
|
488
526
|
onFocus: setFieldActive
|
|
489
527
|
});
|
|
490
528
|
})
|
|
529
|
+
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
530
|
+
className: "py-1 text-sm",
|
|
531
|
+
"data-cy": "no-options-menu-item",
|
|
532
|
+
children: t("neetoRules.common.noOptions")
|
|
491
533
|
})]
|
|
492
534
|
}), /*#__PURE__*/jsxRuntime.jsx(Panel.Footer, {
|
|
493
535
|
children: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
@@ -742,13 +784,13 @@ var KeyValuePairsField = reactUtils.withT(function (_ref) {
|
|
|
742
784
|
children: [data.map(function (_, index) {
|
|
743
785
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
744
786
|
className: "flex h-8 space-x-3",
|
|
745
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Input$
|
|
787
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
746
788
|
onFocus: onFocus,
|
|
747
789
|
className: "w-1/3",
|
|
748
790
|
name: "".concat(name, ".").concat(index, ".key"),
|
|
749
791
|
placeholder: t("neetoRules.labels.key"),
|
|
750
792
|
type: "text"
|
|
751
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
793
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
752
794
|
onFocus: onFocus,
|
|
753
795
|
className: "w-2/3",
|
|
754
796
|
name: "".concat(name, ".").concat(index, ".value"),
|
|
@@ -985,7 +1027,7 @@ var SaveAsTemplate = function SaveAsTemplate(_ref) {
|
|
|
985
1027
|
label: t("neetoRules.labels.saveAsTemplate"),
|
|
986
1028
|
name: switchName,
|
|
987
1029
|
onChange: handleChange
|
|
988
|
-
}), shouldSaveAsTemplate && /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
1030
|
+
}), shouldSaveAsTemplate && /*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
989
1031
|
autoFocus: true,
|
|
990
1032
|
required: true,
|
|
991
1033
|
label: t("neetoRules.labels.templateName"),
|
|
@@ -1161,7 +1203,7 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
1161
1203
|
initialFocusRef: ref,
|
|
1162
1204
|
onChange: handleTemplateChange,
|
|
1163
1205
|
onFocus: setFieldActive
|
|
1164
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
1206
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
1165
1207
|
required: true,
|
|
1166
1208
|
className: "mb-4",
|
|
1167
1209
|
"data-cy": "api-action-endpoint-text-field",
|
|
@@ -1401,7 +1443,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1401
1443
|
}, otherProps));
|
|
1402
1444
|
};
|
|
1403
1445
|
|
|
1404
|
-
var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required"];
|
|
1446
|
+
var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required", "handleSlackChannelRefresh", "action"];
|
|
1405
1447
|
function ownKeys$p(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1406
1448
|
function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$p(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1407
1449
|
var Target$g = function Target(_ref) {
|
|
@@ -1465,6 +1507,8 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1465
1507
|
className = _ref2.className,
|
|
1466
1508
|
_ref2$required = _ref2.required,
|
|
1467
1509
|
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
1510
|
+
handleSlackChannelRefresh = _ref2.handleSlackChannelRefresh,
|
|
1511
|
+
action = _ref2.action,
|
|
1468
1512
|
otherProps = _objectWithoutProperties(_ref2, _excluded$d);
|
|
1469
1513
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
1470
1514
|
t = _useTranslation2.t;
|
|
@@ -1496,18 +1540,32 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1496
1540
|
setValue((_option$value = option === null || option === void 0 ? void 0 : option.value) !== null && _option$value !== void 0 ? _option$value : null);
|
|
1497
1541
|
setTouched(true);
|
|
1498
1542
|
};
|
|
1499
|
-
return /*#__PURE__*/jsxRuntime.
|
|
1500
|
-
className:
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1543
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1544
|
+
className: "flex items-start gap-2",
|
|
1545
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Select$1, _objectSpread$p(_objectSpread$p({}, _objectSpread$p({
|
|
1546
|
+
className: className,
|
|
1547
|
+
name: name,
|
|
1548
|
+
required: required
|
|
1549
|
+
}, otherProps)), {}, {
|
|
1550
|
+
innerRef: ref,
|
|
1551
|
+
label: defaultLabel,
|
|
1552
|
+
options: dropdownOptions,
|
|
1553
|
+
value: selectedOption,
|
|
1554
|
+
onChange: handleSelectOption,
|
|
1555
|
+
onFocus: setFieldActive
|
|
1556
|
+
})), handleSlackChannelRefresh && action.name === "message_to_slack" && /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
1557
|
+
className: "mt-[22px]",
|
|
1558
|
+
"data-cy": "refresh-slack-button",
|
|
1559
|
+
icon: Refresh,
|
|
1560
|
+
size: "medium",
|
|
1561
|
+
style: "secondary",
|
|
1562
|
+
tooltipProps: {
|
|
1563
|
+
content: t("neetoRules.slack.refreshChannelList"),
|
|
1564
|
+
position: "top"
|
|
1565
|
+
},
|
|
1566
|
+
onClick: handleSlackChannelRefresh
|
|
1567
|
+
})]
|
|
1568
|
+
});
|
|
1511
1569
|
};
|
|
1512
1570
|
SelectField$2.Target = Target$g;
|
|
1513
1571
|
|
|
@@ -1644,7 +1702,7 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1644
1702
|
name: "".concat(name, ".emails"),
|
|
1645
1703
|
initialFocusRef: isFirstFieldInForm("emails") ? initialFocusRef : null,
|
|
1646
1704
|
onFocus: setFieldActive
|
|
1647
|
-
}), !selectedField.hideSubject && /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
1705
|
+
}), !selectedField.hideSubject && /*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
1648
1706
|
required: true,
|
|
1649
1707
|
className: "mb-4",
|
|
1650
1708
|
"data-cy": "email-action-subject-text-field",
|
|
@@ -1724,7 +1782,7 @@ var Input = function Input(_ref2) {
|
|
|
1724
1782
|
}),
|
|
1725
1783
|
ref = _useActiveField2.ref,
|
|
1726
1784
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
1727
|
-
return /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
1785
|
+
return /*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
1728
1786
|
ref: ref,
|
|
1729
1787
|
required: required,
|
|
1730
1788
|
className: "my-auto",
|
|
@@ -1806,7 +1864,7 @@ var InlineInput = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
|
1806
1864
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1807
1865
|
className: classNames("flex flex-grow", _defineProperty({}, className, className)),
|
|
1808
1866
|
ref: inputWrapperRef,
|
|
1809
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
1867
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input$1, _objectSpread$n(_objectSpread$n({
|
|
1810
1868
|
autoFocus: true,
|
|
1811
1869
|
required: true,
|
|
1812
1870
|
className: "neeto-planner-inline-input",
|
|
@@ -2220,7 +2278,6 @@ var MultiSelectCheckbox$1 = function MultiSelectCheckbox(_ref2) {
|
|
|
2220
2278
|
}) : /*#__PURE__*/jsxRuntime.jsx(Select$1, {
|
|
2221
2279
|
name: name,
|
|
2222
2280
|
innerRef: ref,
|
|
2223
|
-
label: defaultLabel,
|
|
2224
2281
|
options: dropdownOptions,
|
|
2225
2282
|
onFocus: setFieldActive
|
|
2226
2283
|
})]
|
|
@@ -2830,7 +2887,8 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2830
2887
|
isTarget = _ref$isTarget === void 0 ? false : _ref$isTarget,
|
|
2831
2888
|
errorMessage = _ref.errorMessage,
|
|
2832
2889
|
_ref$openPanel = _ref.openPanel,
|
|
2833
|
-
openPanel = _ref$openPanel === void 0 ? neetoCist.noop : _ref$openPanel
|
|
2890
|
+
openPanel = _ref$openPanel === void 0 ? neetoCist.noop : _ref$openPanel,
|
|
2891
|
+
handleSlackChannelRefresh = _ref.handleSlackChannelRefresh;
|
|
2834
2892
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2835
2893
|
t = _useTranslation.t;
|
|
2836
2894
|
var hasError = !!errorMessage;
|
|
@@ -3027,6 +3085,8 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
3027
3085
|
return openPanel("small");
|
|
3028
3086
|
}
|
|
3029
3087
|
}) : /*#__PURE__*/jsxRuntime.jsx(SelectField$2, {
|
|
3088
|
+
action: action,
|
|
3089
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh,
|
|
3030
3090
|
index: index,
|
|
3031
3091
|
selectedField: selectedField,
|
|
3032
3092
|
required: true,
|
|
@@ -3199,14 +3259,15 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
|
|
|
3199
3259
|
setPanelState = _useUtilityStore.setPanelState,
|
|
3200
3260
|
resetPanelState = _useUtilityStore.resetPanelState;
|
|
3201
3261
|
var _useUtilityStore2 = useUtilityStore.useUtilityStore(function (store) {
|
|
3202
|
-
var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6;
|
|
3262
|
+
var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6, _store$panelState7;
|
|
3203
3263
|
return {
|
|
3204
3264
|
name: (_store$panelState = store["panelState"]) === null || _store$panelState === void 0 || (_store$panelState = _store$panelState["data"]) === null || _store$panelState === void 0 ? void 0 : _store$panelState["name"],
|
|
3205
3265
|
index: (_store$panelState2 = store["panelState"]) === null || _store$panelState2 === void 0 || (_store$panelState2 = _store$panelState2["data"]) === null || _store$panelState2 === void 0 ? void 0 : _store$panelState2["index"],
|
|
3206
3266
|
action: (_store$panelState3 = store["panelState"]) === null || _store$panelState3 === void 0 || (_store$panelState3 = _store$panelState3["data"]) === null || _store$panelState3 === void 0 ? void 0 : _store$panelState3["action"],
|
|
3207
3267
|
valueOptions: (_store$panelState4 = store["panelState"]) === null || _store$panelState4 === void 0 || (_store$panelState4 = _store$panelState4["data"]) === null || _store$panelState4 === void 0 ? void 0 : _store$panelState4["valueOptions"],
|
|
3208
3268
|
selectedField: (_store$panelState5 = store["panelState"]) === null || _store$panelState5 === void 0 || (_store$panelState5 = _store$panelState5["data"]) === null || _store$panelState5 === void 0 ? void 0 : _store$panelState5["selectedField"],
|
|
3209
|
-
errorMessage: (_store$panelState6 = store["panelState"]) === null || _store$panelState6 === void 0 || (_store$panelState6 = _store$panelState6["data"]) === null || _store$panelState6 === void 0 ? void 0 : _store$panelState6["errorMessage"]
|
|
3269
|
+
errorMessage: (_store$panelState6 = store["panelState"]) === null || _store$panelState6 === void 0 || (_store$panelState6 = _store$panelState6["data"]) === null || _store$panelState6 === void 0 ? void 0 : _store$panelState6["errorMessage"],
|
|
3270
|
+
handleSlackChannelRefresh: (_store$panelState7 = store["panelState"]) === null || _store$panelState7 === void 0 || (_store$panelState7 = _store$panelState7["data"]) === null || _store$panelState7 === void 0 ? void 0 : _store$panelState7["handleSlackChannelRefresh"]
|
|
3210
3271
|
};
|
|
3211
3272
|
}, shallow.shallow),
|
|
3212
3273
|
name = _useUtilityStore2.name,
|
|
@@ -3214,7 +3275,8 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
|
|
|
3214
3275
|
action = _useUtilityStore2.action,
|
|
3215
3276
|
valueOptions = _useUtilityStore2.valueOptions,
|
|
3216
3277
|
selectedField = _useUtilityStore2.selectedField,
|
|
3217
|
-
errorMessage = _useUtilityStore2.errorMessage
|
|
3278
|
+
errorMessage = _useUtilityStore2.errorMessage,
|
|
3279
|
+
handleSlackChannelRefresh = _useUtilityStore2.handleSlackChannelRefresh;
|
|
3218
3280
|
var _useFormikContext = formik.useFormikContext(),
|
|
3219
3281
|
setFieldTouched = _useFormikContext.setFieldTouched;
|
|
3220
3282
|
var _useField = formik.useField("".concat(name, ".metadata")),
|
|
@@ -3270,12 +3332,17 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
|
|
|
3270
3332
|
})]
|
|
3271
3333
|
})
|
|
3272
3334
|
}), /*#__PURE__*/jsxRuntime.jsxs(Panel.Body, {
|
|
3273
|
-
className: "space-y-4",
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3335
|
+
className: classNames("space-y-4", {
|
|
3336
|
+
"pt-0": errorMessage
|
|
3337
|
+
}),
|
|
3338
|
+
children: [errorMessage && /*#__PURE__*/jsxRuntime.jsx(StickySidebarHeader, {
|
|
3339
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ErrorCallout, {
|
|
3340
|
+
selectedField: selectedField,
|
|
3341
|
+
message: errorMessage
|
|
3342
|
+
})
|
|
3277
3343
|
}), /*#__PURE__*/jsxRuntime.jsx(ActionSubItem$1, {
|
|
3278
3344
|
action: action,
|
|
3345
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh,
|
|
3279
3346
|
index: index,
|
|
3280
3347
|
selectedField: selectedField,
|
|
3281
3348
|
valueOptions: valueOptions,
|
|
@@ -3443,7 +3510,7 @@ var InputField$1 = function InputField(_ref2) {
|
|
|
3443
3510
|
}),
|
|
3444
3511
|
ref = _useActiveField2.ref,
|
|
3445
3512
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
3446
|
-
return /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
3513
|
+
return /*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
3447
3514
|
name: name,
|
|
3448
3515
|
placeholder: placeholder,
|
|
3449
3516
|
ref: ref,
|
|
@@ -3703,6 +3770,12 @@ var getVerbOptions = function getVerbOptions() {
|
|
|
3703
3770
|
};
|
|
3704
3771
|
});
|
|
3705
3772
|
};
|
|
3773
|
+
var getSearchedOptions$1 = function getSearchedOptions(dropdownOptions, searchTerm) {
|
|
3774
|
+
return dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.filter(function (_ref) {
|
|
3775
|
+
var label = _ref.label;
|
|
3776
|
+
return ramda.toLower(label).includes(ramda.toLower(searchTerm.trim()));
|
|
3777
|
+
});
|
|
3778
|
+
};
|
|
3706
3779
|
var getAllOptions = function getAllOptions(options) {
|
|
3707
3780
|
return Array.isArray(options) ? options.map(function (option) {
|
|
3708
3781
|
return {
|
|
@@ -3820,7 +3893,7 @@ var MultiSelectCreate = function MultiSelectCreate(_ref2) {
|
|
|
3820
3893
|
MultiSelectCreate.Target = Target$3;
|
|
3821
3894
|
|
|
3822
3895
|
var _excluded$7 = ["name", "options", "placeholder", "onClick"],
|
|
3823
|
-
_excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel", "required"];
|
|
3896
|
+
_excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel", "required", "isSearchable"];
|
|
3824
3897
|
function ownKeys$h(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3825
3898
|
function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3826
3899
|
var Target$2 = function Target(_ref) {
|
|
@@ -3875,9 +3948,15 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3875
3948
|
showLabel = _ref2$showLabel === void 0 ? true : _ref2$showLabel,
|
|
3876
3949
|
_ref2$required = _ref2.required,
|
|
3877
3950
|
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
3951
|
+
_ref2$isSearchable = _ref2.isSearchable,
|
|
3952
|
+
isSearchable = _ref2$isSearchable === void 0 ? false : _ref2$isSearchable,
|
|
3878
3953
|
otherProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
3879
3954
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
3880
3955
|
t = _useTranslation2.t;
|
|
3956
|
+
var _useState = react.useState(""),
|
|
3957
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3958
|
+
searchTerm = _useState2[0],
|
|
3959
|
+
setSearchTerm = _useState2[1];
|
|
3881
3960
|
var _useField3 = formik.useField(name),
|
|
3882
3961
|
_useField4 = _slicedToArray(_useField3, 3),
|
|
3883
3962
|
field = _useField4[0],
|
|
@@ -3892,6 +3971,7 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3892
3971
|
var selectedOption = neetoCist.findBy({
|
|
3893
3972
|
value: field.value
|
|
3894
3973
|
}, options);
|
|
3974
|
+
var searchedOptions = getSearchedOptions$1(options, searchTerm);
|
|
3895
3975
|
var handleRadioChange = function handleRadioChange(_ref3) {
|
|
3896
3976
|
var value = _ref3.target.value;
|
|
3897
3977
|
var selectedOption = neetoCist.findBy({
|
|
@@ -3900,25 +3980,45 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3900
3980
|
handleOnChange ? handleOnChange(selectedOption) : setValue(value);
|
|
3901
3981
|
setTouched(true);
|
|
3902
3982
|
};
|
|
3903
|
-
return /*#__PURE__*/jsxRuntime.
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3983
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
3984
|
+
className: "w-full",
|
|
3985
|
+
children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(StickySidebarHeader, {
|
|
3986
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input$1, {
|
|
3987
|
+
"data-cy": "search-text-field",
|
|
3988
|
+
placeholder: t("neetoRules.common.search"),
|
|
3989
|
+
prefix: /*#__PURE__*/jsxRuntime.jsx(Search, {}),
|
|
3990
|
+
value: searchTerm,
|
|
3991
|
+
onChange: function onChange(e) {
|
|
3992
|
+
return setSearchTerm(e.target.value);
|
|
3993
|
+
},
|
|
3994
|
+
onClick: function onClick(e) {
|
|
3995
|
+
return e.stopPropagation();
|
|
3996
|
+
}
|
|
3997
|
+
})
|
|
3998
|
+
}), neetoCist.isNotEmpty(searchedOptions) ? /*#__PURE__*/jsxRuntime.jsx(Radio$1, _objectSpread$h(_objectSpread$h({
|
|
3999
|
+
ref: ref,
|
|
4000
|
+
required: required,
|
|
4001
|
+
stacked: true,
|
|
4002
|
+
label: showLabel && t("neetoRules.labels.selectValue"),
|
|
4003
|
+
value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value,
|
|
4004
|
+
onChange: handleRadioChange,
|
|
4005
|
+
onFocus: setFieldActive
|
|
4006
|
+
}, otherProps), {}, {
|
|
4007
|
+
children: searchedOptions.map(function (_ref4) {
|
|
4008
|
+
var label = _ref4.label,
|
|
4009
|
+
value = _ref4.value;
|
|
4010
|
+
return /*#__PURE__*/react.createElement(Radio$1.Item, {
|
|
4011
|
+
label: label,
|
|
4012
|
+
value: value,
|
|
4013
|
+
key: value
|
|
4014
|
+
});
|
|
4015
|
+
})
|
|
4016
|
+
})) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
4017
|
+
className: "py-1 text-sm",
|
|
4018
|
+
"data-cy": "no-options-menu-item",
|
|
4019
|
+
children: t("neetoRules.common.noOptions")
|
|
4020
|
+
})]
|
|
4021
|
+
});
|
|
3922
4022
|
};
|
|
3923
4023
|
RadioField$1.Target = Target$2;
|
|
3924
4024
|
|
|
@@ -4143,6 +4243,7 @@ var FieldPanel = function FieldPanel() {
|
|
|
4143
4243
|
var _useField3 = formik.useField("".concat(name, ".joinType")),
|
|
4144
4244
|
_useField4 = _slicedToArray(_useField3, 1),
|
|
4145
4245
|
logicalOperator = _useField4[0];
|
|
4246
|
+
var isSearchable = conditionOptions.length > constants.MAXIMUM_OPTION_LENGTH;
|
|
4146
4247
|
var handleContinue = function handleContinue() {
|
|
4147
4248
|
!meta.error && setPanelState(ramda.mergeDeepLeft({
|
|
4148
4249
|
type: PANEL_TYPES.VERB_AND_VALUE,
|
|
@@ -4170,7 +4271,11 @@ var FieldPanel = function FieldPanel() {
|
|
|
4170
4271
|
})]
|
|
4171
4272
|
})
|
|
4172
4273
|
}), /*#__PURE__*/jsxRuntime.jsx(Panel.Body, {
|
|
4274
|
+
className: classNames({
|
|
4275
|
+
"pt-0": isSearchable
|
|
4276
|
+
}),
|
|
4173
4277
|
children: /*#__PURE__*/jsxRuntime.jsx(RadioField$1, {
|
|
4278
|
+
isSearchable: isSearchable,
|
|
4174
4279
|
shouldAutoFocus: true,
|
|
4175
4280
|
handleOnChange: handleFieldChange,
|
|
4176
4281
|
name: "".concat(name, ".field"),
|
|
@@ -4436,6 +4541,7 @@ var VerbAndValuePanel = function VerbAndValuePanel() {
|
|
|
4436
4541
|
});
|
|
4437
4542
|
};
|
|
4438
4543
|
|
|
4544
|
+
var MAXIMUM_OPTION_LENGTH = 7;
|
|
4439
4545
|
var OPERATORS = {
|
|
4440
4546
|
or: "or_operator",
|
|
4441
4547
|
and: "and_operator"
|
|
@@ -4498,7 +4604,7 @@ var DelayPanel = function DelayPanel() {
|
|
|
4498
4604
|
}), /*#__PURE__*/jsxRuntime.jsx(Panel.Body, {
|
|
4499
4605
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
4500
4606
|
className: "flex gap-x-2",
|
|
4501
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Input$
|
|
4607
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Input$2, {
|
|
4502
4608
|
className: "w-44",
|
|
4503
4609
|
max: 15,
|
|
4504
4610
|
min: 1,
|
|
@@ -4532,11 +4638,27 @@ var DelayPanel = function DelayPanel() {
|
|
|
4532
4638
|
});
|
|
4533
4639
|
};
|
|
4534
4640
|
|
|
4641
|
+
var getAllEvents = function getAllEvents(events, dropdownOptions) {
|
|
4642
|
+
return dropdownOptions.filter(function (option) {
|
|
4643
|
+
return events.includes(option.value);
|
|
4644
|
+
});
|
|
4645
|
+
};
|
|
4646
|
+
var getSearchedOptions = function getSearchedOptions(dropdownOptions, searchTerm) {
|
|
4647
|
+
return dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.filter(function (_ref) {
|
|
4648
|
+
var label = _ref.label;
|
|
4649
|
+
return ramda.toLower(label).includes(ramda.toLower(searchTerm.trim()));
|
|
4650
|
+
});
|
|
4651
|
+
};
|
|
4652
|
+
|
|
4535
4653
|
function ownKeys$f(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4536
4654
|
function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4537
4655
|
var EventsPanel = function EventsPanel() {
|
|
4538
4656
|
var _useTranslation = reactI18next.useTranslation(),
|
|
4539
4657
|
t = _useTranslation.t;
|
|
4658
|
+
var _useState = react.useState(""),
|
|
4659
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
4660
|
+
searchTerm = _useState2[0],
|
|
4661
|
+
setSearchTerm = _useState2[1];
|
|
4540
4662
|
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
4541
4663
|
return {
|
|
4542
4664
|
setPanelState: store["setPanelState"]
|
|
@@ -4578,6 +4700,8 @@ var EventsPanel = function EventsPanel() {
|
|
|
4578
4700
|
var defaultData = elementProps.defaultData;
|
|
4579
4701
|
var eventNames = ramda.pluck("name", events);
|
|
4580
4702
|
var dropdownOptions = elementProps.eventOptions;
|
|
4703
|
+
var searchedOptions = getSearchedOptions(dropdownOptions, searchTerm);
|
|
4704
|
+
var isSearchable = dropdownOptions.length > MAXIMUM_OPTION_LENGTH;
|
|
4581
4705
|
var handleDefaultData = /*#__PURE__*/function () {
|
|
4582
4706
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
4583
4707
|
var _values$name;
|
|
@@ -4680,10 +4804,26 @@ var EventsPanel = function EventsPanel() {
|
|
|
4680
4804
|
children: t("neetoRules.form.addEventDescription")
|
|
4681
4805
|
})]
|
|
4682
4806
|
})
|
|
4683
|
-
}), /*#__PURE__*/jsxRuntime.
|
|
4684
|
-
|
|
4807
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Panel.Body, {
|
|
4808
|
+
className: classNames({
|
|
4809
|
+
"pt-0": isSearchable
|
|
4810
|
+
}),
|
|
4811
|
+
children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(StickySidebarHeader, {
|
|
4812
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input$1, {
|
|
4813
|
+
"data-cy": "search-text-field",
|
|
4814
|
+
placeholder: t("neetoRules.common.search"),
|
|
4815
|
+
prefix: /*#__PURE__*/jsxRuntime.jsx(Search, {}),
|
|
4816
|
+
value: searchTerm,
|
|
4817
|
+
onChange: function onChange(e) {
|
|
4818
|
+
return setSearchTerm(e.target.value);
|
|
4819
|
+
},
|
|
4820
|
+
onClick: function onClick(e) {
|
|
4821
|
+
return e.stopPropagation();
|
|
4822
|
+
}
|
|
4823
|
+
})
|
|
4824
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
4685
4825
|
className: "space-y-3",
|
|
4686
|
-
children: [neetoCist.isNotEmpty(
|
|
4826
|
+
children: [neetoCist.isNotEmpty(searchedOptions) ? searchedOptions.map(function (option) {
|
|
4687
4827
|
return /*#__PURE__*/react.createElement(Checkbox, {
|
|
4688
4828
|
ref: ref,
|
|
4689
4829
|
checked: eventNames === null || eventNames === void 0 ? void 0 : eventNames.includes(option.value),
|
|
@@ -4704,7 +4844,7 @@ var EventsPanel = function EventsPanel() {
|
|
|
4704
4844
|
className: "neeto-ui-input__error",
|
|
4705
4845
|
children: error
|
|
4706
4846
|
})]
|
|
4707
|
-
})
|
|
4847
|
+
})]
|
|
4708
4848
|
}), /*#__PURE__*/jsxRuntime.jsx(Panel.Footer, {
|
|
4709
4849
|
children: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
4710
4850
|
"data-cy": "continue-button",
|
|
@@ -5135,10 +5275,13 @@ var getSchemaForExecutionDelay = function getSchemaForExecutionDelay(_) {
|
|
|
5135
5275
|
var getSchemaForElement = function getSchemaForElement(element, customData) {
|
|
5136
5276
|
return VALIDATION_SCHEMA[element.type](element, customData);
|
|
5137
5277
|
};
|
|
5138
|
-
var getValidationSchema = function getValidationSchema(
|
|
5278
|
+
var getValidationSchema = function getValidationSchema(_ref) {
|
|
5279
|
+
var data = _ref.data,
|
|
5280
|
+
customData = _ref.customData,
|
|
5281
|
+
isNameGenerationDisabled = _ref.isNameGenerationDisabled;
|
|
5139
5282
|
var fieldKeys = Object.keys(data);
|
|
5140
5283
|
var schema = fieldKeys.reduce(function (acc, key) {
|
|
5141
|
-
if (key === "name") return acc;
|
|
5284
|
+
if (key === "name" && !isNameGenerationDisabled) return acc;
|
|
5142
5285
|
return _objectSpread$e(_objectSpread$e({}, acc), {}, _defineProperty({}, key, yup__namespace.object({
|
|
5143
5286
|
value: getSchemaForElement(data[key], customData)
|
|
5144
5287
|
})));
|
|
@@ -5229,7 +5372,8 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5229
5372
|
selectedActionOptions = _ref.selectedActionOptions,
|
|
5230
5373
|
routeToSlackIntegration = _ref.routeToSlackIntegration,
|
|
5231
5374
|
shouldOpenPanel = _ref.shouldOpenPanel,
|
|
5232
|
-
setShouldOpenPanel = _ref.setShouldOpenPanel
|
|
5375
|
+
setShouldOpenPanel = _ref.setShouldOpenPanel,
|
|
5376
|
+
handleSlackChannelRefresh = _ref.handleSlackChannelRefresh;
|
|
5233
5377
|
var _useTranslation = reactI18next.useTranslation(),
|
|
5234
5378
|
t = _useTranslation.t;
|
|
5235
5379
|
var _useFormikContext = formik.useFormikContext(),
|
|
@@ -5304,7 +5448,8 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5304
5448
|
selectedField: selectedField,
|
|
5305
5449
|
onSelectAction: onSelectAction,
|
|
5306
5450
|
valueOptions: getSelectedFieldOptions(),
|
|
5307
|
-
errorMessage: errorMessage
|
|
5451
|
+
errorMessage: errorMessage,
|
|
5452
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh
|
|
5308
5453
|
};
|
|
5309
5454
|
var _openPanel = function openPanel(type, panelSize) {
|
|
5310
5455
|
setPanelState({
|
|
@@ -5332,9 +5477,10 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5332
5477
|
})
|
|
5333
5478
|
});
|
|
5334
5479
|
});
|
|
5335
|
-
}, [selectedField]);
|
|
5480
|
+
}, [selectedField === null || selectedField === void 0 ? void 0 : selectedField.value]);
|
|
5481
|
+
var hasError = !!errorMessage;
|
|
5336
5482
|
react.useEffect(function () {
|
|
5337
|
-
if (
|
|
5483
|
+
if (hasError) {
|
|
5338
5484
|
setErrorFields(function (prev) {
|
|
5339
5485
|
return prev.includes(name) ? prev : [].concat(_toConsumableArray(prev), [name]);
|
|
5340
5486
|
});
|
|
@@ -5348,7 +5494,7 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5348
5494
|
return prev.filter(neetoCist.isNot(name));
|
|
5349
5495
|
});
|
|
5350
5496
|
};
|
|
5351
|
-
}, [
|
|
5497
|
+
}, [hasError, name, setErrorFields]);
|
|
5352
5498
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
5353
5499
|
className: "flex flex-grow min-w-0 flex-wrap gap-x-1 gap-y-3",
|
|
5354
5500
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -5467,6 +5613,7 @@ var Actions = function Actions(_ref) {
|
|
|
5467
5613
|
children: [/*#__PURE__*/jsxRuntime.jsx(ActionItem$1, {
|
|
5468
5614
|
action: action,
|
|
5469
5615
|
elementProps: elementProps,
|
|
5616
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh,
|
|
5470
5617
|
index: index,
|
|
5471
5618
|
onSelectAction: onSelectAction,
|
|
5472
5619
|
routeToSlackIntegration: routeToSlackIntegration,
|
|
@@ -5477,18 +5624,7 @@ var Actions = function Actions(_ref) {
|
|
|
5477
5624
|
parentName: name
|
|
5478
5625
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5479
5626
|
className: "flex flex-wrap flex-shrink-0 self-center",
|
|
5480
|
-
children: [
|
|
5481
|
-
"data-cy": "refresh-slack-button",
|
|
5482
|
-
icon: Refresh,
|
|
5483
|
-
size: "medium",
|
|
5484
|
-
tooltipProps: {
|
|
5485
|
-
content: t("neetoRules.slack.refreshChannelList"),
|
|
5486
|
-
position: "top"
|
|
5487
|
-
},
|
|
5488
|
-
onClick: function onClick() {
|
|
5489
|
-
return handleSlackChannelRefresh();
|
|
5490
|
-
}
|
|
5491
|
-
}), showButton && index === actions.length - 1 && /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
5627
|
+
children: [showButton && index === actions.length - 1 && /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
5492
5628
|
"data-cy": "add-action-button",
|
|
5493
5629
|
icon: Plus,
|
|
5494
5630
|
size: "medium",
|
|
@@ -5669,7 +5805,7 @@ var ConditionItem = function ConditionItem(_ref) {
|
|
|
5669
5805
|
})
|
|
5670
5806
|
});
|
|
5671
5807
|
});
|
|
5672
|
-
}, [selectedField, condition.verb]);
|
|
5808
|
+
}, [selectedField === null || selectedField === void 0 ? void 0 : selectedField.value, condition.verb]);
|
|
5673
5809
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
5674
5810
|
children: [!!index && /*#__PURE__*/jsxRuntime.jsx(LogicalOperator, {
|
|
5675
5811
|
handleGroupJoinType: handleGroupJoinType,
|
|
@@ -6033,12 +6169,6 @@ var Performer = function Performer(_ref) {
|
|
|
6033
6169
|
});
|
|
6034
6170
|
};
|
|
6035
6171
|
|
|
6036
|
-
var getAllEvents = function getAllEvents(events, dropdownOptions) {
|
|
6037
|
-
return dropdownOptions.filter(function (option) {
|
|
6038
|
-
return events.includes(option.value);
|
|
6039
|
-
});
|
|
6040
|
-
};
|
|
6041
|
-
|
|
6042
6172
|
function ownKeys$9(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6043
6173
|
function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6044
6174
|
var Events = function Events(_ref) {
|
|
@@ -6263,7 +6393,7 @@ var InputField = function InputField(_ref) {
|
|
|
6263
6393
|
_useDebouncedUpdate2 = _slicedToArray(_useDebouncedUpdate, 2),
|
|
6264
6394
|
text = _useDebouncedUpdate2[0],
|
|
6265
6395
|
setText = _useDebouncedUpdate2[1];
|
|
6266
|
-
return /*#__PURE__*/jsxRuntime.jsx(Input$
|
|
6396
|
+
return /*#__PURE__*/jsxRuntime.jsx(Input$2, _objectSpread$7(_objectSpread$7({
|
|
6267
6397
|
className: "mb-4",
|
|
6268
6398
|
label: label || (elementProps === null || elementProps === void 0 ? void 0 : elementProps.label)
|
|
6269
6399
|
}, field), {}, {
|
|
@@ -6391,7 +6521,8 @@ var TextareaField = function TextareaField(_ref) {
|
|
|
6391
6521
|
var usePollRuleName = function usePollRuleName(_ref) {
|
|
6392
6522
|
var url = _ref.url,
|
|
6393
6523
|
formikRef = _ref.formikRef,
|
|
6394
|
-
payloadKey = _ref.payloadKey
|
|
6524
|
+
payloadKey = _ref.payloadKey,
|
|
6525
|
+
isNameGenerationDisabled = _ref.isNameGenerationDisabled;
|
|
6395
6526
|
var resolverRef = react.useRef(neetoCist.noop);
|
|
6396
6527
|
var _useState = react.useState(null),
|
|
6397
6528
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -6415,7 +6546,7 @@ var usePollRuleName = function usePollRuleName(_ref) {
|
|
|
6415
6546
|
url: url,
|
|
6416
6547
|
id: rule === null || rule === void 0 ? void 0 : rule.id
|
|
6417
6548
|
}, {
|
|
6418
|
-
enabled: !!(rule !== null && rule !== void 0 && rule.id) && !isCancelledNameGeneration,
|
|
6549
|
+
enabled: !!(rule !== null && rule !== void 0 && rule.id) && !isCancelledNameGeneration && !isNameGenerationDisabled,
|
|
6419
6550
|
refetchInterval: function refetchInterval(query) {
|
|
6420
6551
|
var _query$state$data;
|
|
6421
6552
|
return (_query$state$data = query.state.data) !== null && _query$state$data !== void 0 && (_query$state$data = _query$state$data[payloadKey]) !== null && _query$state$data !== void 0 && _query$state$data.isDefaultName ? POLL_RETRY_COUNT : false;
|
|
@@ -6433,7 +6564,7 @@ var usePollRuleName = function usePollRuleName(_ref) {
|
|
|
6433
6564
|
}, 1000);
|
|
6434
6565
|
}, [ruleNameStatus === null || ruleNameStatus === void 0 ? void 0 : ruleNameStatus.isDefaultName]);
|
|
6435
6566
|
var waitForGeneratedRuleName = react.useCallback(function (rule) {
|
|
6436
|
-
if (!rule || !(rule !== null && rule !== void 0 && rule.isDefaultName)) return rule;
|
|
6567
|
+
if (!rule || !(rule !== null && rule !== void 0 && rule.isDefaultName) || isNameGenerationDisabled) return rule;
|
|
6437
6568
|
setRule(rule);
|
|
6438
6569
|
setIsGeneratingName(true);
|
|
6439
6570
|
setIsCancelledNameGeneration(false);
|
|
@@ -6637,7 +6768,9 @@ var Form = function Form(_ref) {
|
|
|
6637
6768
|
_ref$showStatusSwitch = _ref.showStatusSwitch,
|
|
6638
6769
|
showStatusSwitch = _ref$showStatusSwitch === void 0 ? true : _ref$showStatusSwitch,
|
|
6639
6770
|
_ref$payloadKey = _ref.payloadKey,
|
|
6640
|
-
payloadKey = _ref$payloadKey === void 0 ? "rule" : _ref$payloadKey
|
|
6771
|
+
payloadKey = _ref$payloadKey === void 0 ? "rule" : _ref$payloadKey,
|
|
6772
|
+
_ref$isNameGeneration = _ref.isNameGenerationDisabled,
|
|
6773
|
+
isNameGenerationDisabled = _ref$isNameGeneration === void 0 ? false : _ref$isNameGeneration;
|
|
6641
6774
|
var _useTranslation = reactI18next.useTranslation(),
|
|
6642
6775
|
t = _useTranslation.t;
|
|
6643
6776
|
var formikRef = react.useRef(null);
|
|
@@ -6662,7 +6795,8 @@ var Form = function Form(_ref) {
|
|
|
6662
6795
|
var _usePollRuleName = usePollRuleName({
|
|
6663
6796
|
url: url,
|
|
6664
6797
|
formikRef: formikRef,
|
|
6665
|
-
payloadKey: payloadKey
|
|
6798
|
+
payloadKey: payloadKey,
|
|
6799
|
+
isNameGenerationDisabled: isNameGenerationDisabled
|
|
6666
6800
|
}),
|
|
6667
6801
|
waitForGeneratedRuleName = _usePollRuleName.waitForGeneratedRuleName,
|
|
6668
6802
|
handleCancelNameGeneration = _usePollRuleName.handleCancelNameGeneration,
|
|
@@ -6691,7 +6825,11 @@ var Form = function Form(_ref) {
|
|
|
6691
6825
|
enableReinitialize: true,
|
|
6692
6826
|
initialValues: _objectSpread$1(_objectSpread$1({}, DEFAULT_INITIAL_VALUE), initialValues),
|
|
6693
6827
|
innerRef: formikRef,
|
|
6694
|
-
validationSchema: getValidationSchema(
|
|
6828
|
+
validationSchema: getValidationSchema({
|
|
6829
|
+
data: data,
|
|
6830
|
+
customData: customData,
|
|
6831
|
+
isNameGenerationDisabled: isNameGenerationDisabled
|
|
6832
|
+
}),
|
|
6695
6833
|
onSubmit: submitForm,
|
|
6696
6834
|
children: function children(_ref2) {
|
|
6697
6835
|
var dirty = _ref2.dirty,
|
|
@@ -6718,7 +6856,7 @@ var Form = function Form(_ref) {
|
|
|
6718
6856
|
data: initialValues,
|
|
6719
6857
|
label: t("neetoRules.common.name"),
|
|
6720
6858
|
name: "name",
|
|
6721
|
-
placeholder: t("neetoRules.placeholders.autoGenerateName")
|
|
6859
|
+
placeholder: isNameGenerationDisabled ? "" : t("neetoRules.placeholders.autoGenerateName")
|
|
6722
6860
|
}), isGeneratingName && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
6723
6861
|
children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip, {
|
|
6724
6862
|
content: t("neetoRules.form.aiGeneratedName"),
|