@bigbinary/neeto-rules-frontend 2.5.27 → 2.5.29
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/NeetoRules.js +1 -1
- package/dist/NeetoRulesForm.js +262 -110
- package/dist/NeetoRulesForm.js.map +1 -1
- package/dist/RulePreview.js +2 -2
- package/dist/cjs/NeetoRules.js +1 -1
- package/dist/cjs/NeetoRulesForm.js +259 -107
- package/dist/cjs/NeetoRulesForm.js.map +1 -1
- package/dist/cjs/RulePreview.js +2 -2
- package/dist/cjs/index.js +5 -3
- 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 +5 -3
- package/dist/index.js.map +1 -1
- package/dist/{useUtilityStore-C0O0N3Aq.js → useUtilityStore-6TPs8A8Q.js} +5 -1
- package/dist/useUtilityStore-6TPs8A8Q.js.map +1 -0
- package/dist/{useUtilityStore-0xgAU9fw.js → useUtilityStore-D6PfpKqa.js} +5 -1
- package/dist/useUtilityStore-D6PfpKqa.js.map +1 -0
- package/package.json +13 -12
- package/dist/useUtilityStore-0xgAU9fw.js.map +0 -1
- package/dist/useUtilityStore-C0O0N3Aq.js.map +0 -1
package/dist/NeetoRulesForm.js
CHANGED
|
@@ -3,28 +3,30 @@ import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructurin
|
|
|
3
3
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
5
|
import { shallow } from 'zustand/shallow';
|
|
6
|
-
import { useRef, useEffect, createElement, useCallback, forwardRef,
|
|
6
|
+
import { useRef, useEffect, useState, createElement, useCallback, forwardRef, useMemo, memo, Fragment as Fragment$1 } from 'react';
|
|
7
7
|
import { useFormikContext, useField, FieldArray, ErrorMessage, Formik, Form as Form$1 } from 'formik';
|
|
8
|
-
import { findBy,
|
|
8
|
+
import { findBy, isNotEmpty, noop, isPresent, hyphenate, renameKeys, notEqualsDeep, nullSafe, toLabelAndValue, removeBy, isNotPresent, isNot } from '@bigbinary/neeto-cist';
|
|
9
9
|
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
10
10
|
import Delete from '@bigbinary/neeto-icons/Delete';
|
|
11
|
-
import Refresh from '@bigbinary/neeto-icons/Refresh';
|
|
12
11
|
import Button from '@bigbinary/neetoui/Button';
|
|
13
12
|
import { useTranslation, Trans } from 'react-i18next';
|
|
14
|
-
import { u as useUtilityStore, g as getSeparator, d as dotPath$1, b as getDateTimeValue, a as getDateTimeFormattedValue, D as DATE_TIME_TYPES, e as DATE_TIME_FORMAT, f as DATE_FORMAT, T as TIME_FORMAT } from './useUtilityStore-
|
|
13
|
+
import { u as useUtilityStore, g as getSeparator, d as dotPath$1, b as getDateTimeValue, a as getDateTimeFormattedValue, D as DATE_TIME_TYPES, e as DATE_TIME_FORMAT, f as DATE_FORMAT, T as TIME_FORMAT } from './useUtilityStore-6TPs8A8Q.js';
|
|
15
14
|
import classNames from 'classnames';
|
|
16
15
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
17
|
-
import { assocPath, pluck, identity, isEmpty, mergeDeepLeft, isNotNil, whereAny, reject, equals, unless, path, omit, useWith, split, when, is, trim, eqBy, F, values, isNil, without, append, pipe, filter, uniq, join, map, assoc, mergeLeft, includes, test } from 'ramda';
|
|
16
|
+
import { assocPath, toLower, pluck, identity, isEmpty, mergeDeepLeft, isNotNil, whereAny, reject, equals, unless, path, omit, useWith, split, when, is, trim, eqBy, F, values, isNil, without, append, pipe, filter, uniq, join, map, assoc, mergeLeft, includes, test } from 'ramda';
|
|
18
17
|
import { t as t$1 } from 'i18next';
|
|
19
18
|
import * as yup from 'yup';
|
|
19
|
+
import Search from '@bigbinary/neeto-icons/Search';
|
|
20
|
+
import Input$1 from '@bigbinary/neetoui/Input';
|
|
20
21
|
import Radio from '@bigbinary/neetoui/formik/Radio';
|
|
21
22
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
22
23
|
import { manager } from '@bigbinary/neetoui/managers';
|
|
23
24
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
24
25
|
import Collapse from '@bigbinary/neeto-icons/Collapse';
|
|
26
|
+
import Callout from '@bigbinary/neetoui/Callout';
|
|
25
27
|
import Left from '@bigbinary/neeto-icons/Left';
|
|
26
28
|
import Textarea from '@bigbinary/neetoui/formik/Textarea';
|
|
27
|
-
import Input$
|
|
29
|
+
import Input$2 from '@bigbinary/neetoui/formik/Input';
|
|
28
30
|
import Switch from '@bigbinary/neetoui/formik/Switch';
|
|
29
31
|
import { withT, useStateWithDependency, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
30
32
|
import Editor from '@monaco-editor/react';
|
|
@@ -36,19 +38,19 @@ import { dayjs, joinHyphenCase, hyphenize } from '@bigbinary/neeto-commons-front
|
|
|
36
38
|
import DatePicker from '@bigbinary/neetoui/DatePicker';
|
|
37
39
|
import MultiEmailInput from '@bigbinary/neetoui/formik/MultiEmailInput';
|
|
38
40
|
import FormikEditor from '@bigbinary/neeto-editor/FormikEditor';
|
|
41
|
+
import Refresh from '@bigbinary/neeto-icons/Refresh';
|
|
39
42
|
import Select$1 from '@bigbinary/neetoui/formik/Select';
|
|
40
43
|
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
41
44
|
import Check from '@bigbinary/neeto-icons/Check';
|
|
42
45
|
import Close from '@bigbinary/neeto-icons/Close';
|
|
43
|
-
import Input$2 from '@bigbinary/neetoui/Input';
|
|
44
46
|
import Checkbox from '@bigbinary/neetoui/Checkbox';
|
|
45
47
|
import CreatableSelect from 'react-select/creatable';
|
|
46
48
|
import _toArray from '@babel/runtime/helpers/toArray';
|
|
47
49
|
import { isPhoneNumberValid } from '@bigbinary/neeto-molecules/PhoneNumber';
|
|
48
50
|
import Tag from '@bigbinary/neetoui/Tag';
|
|
49
51
|
import { components } from 'react-select';
|
|
52
|
+
import { O as OPERATORS$1, V as VERB_LABELS, M as MAXIMUM_OPTION_LENGTH$2, I as INPUT_FIELD_TYPES, C as CONDITION_VALUE_TYPES, F as FIELDS_WITH_OPTIONS$1 } from './constants-C_bfl8XZ.js';
|
|
50
53
|
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
51
|
-
import { O as OPERATORS$1, V as VERB_LABELS, I as INPUT_FIELD_TYPES, C as CONDITION_VALUE_TYPES, F as FIELDS_WITH_OPTIONS$1 } from './constants-DvCsjJGj.js';
|
|
52
54
|
import Radio$1 from '@bigbinary/neetoui/Radio';
|
|
53
55
|
import TimePicker from '@bigbinary/neetoui/TimePicker';
|
|
54
56
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
@@ -148,7 +150,7 @@ var Footer = function Footer(_ref) {
|
|
|
148
150
|
className = _ref.className;
|
|
149
151
|
return /*#__PURE__*/jsx("div", {
|
|
150
152
|
"data-cy": "pane-footer",
|
|
151
|
-
className: classNames("neeto-rules-side-panel__footer neeto-ui-border-gray-
|
|
153
|
+
className: classNames("neeto-rules-side-panel__footer neeto-ui-border-gray-200 flex items-center justify-between border-t p-6", className),
|
|
152
154
|
children: children
|
|
153
155
|
});
|
|
154
156
|
};
|
|
@@ -166,7 +168,7 @@ var Header = function Header(_ref) {
|
|
|
166
168
|
t = _useTranslation.t;
|
|
167
169
|
return /*#__PURE__*/jsxs("div", {
|
|
168
170
|
"data-cy": "pane-header",
|
|
169
|
-
className: classNames("neeto-rules-side-panel__header neeto-ui-border-gray-
|
|
171
|
+
className: classNames("neeto-rules-side-panel__header neeto-ui-border-gray-200 flex items-start justify-between border-b p-6", _defineProperty({}, className, className)),
|
|
170
172
|
children: [/*#__PURE__*/jsx("div", {
|
|
171
173
|
className: "flex min-w-0 flex-grow",
|
|
172
174
|
children: children
|
|
@@ -216,7 +218,7 @@ var Panel = function Panel() {
|
|
|
216
218
|
large: "neeto-rules-side-panel--large"
|
|
217
219
|
}[panelState.size] || "neeto-rules-side-panel--small";
|
|
218
220
|
return /*#__PURE__*/jsx("div", _objectSpread$u(_objectSpread$u({
|
|
219
|
-
className: classNames("neeto-rules-side-panel neeto-ui-border-gray-
|
|
221
|
+
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))
|
|
220
222
|
}, paneProps), {}, {
|
|
221
223
|
children: /*#__PURE__*/jsx(Component, _objectSpread$u(_objectSpread$u({}, data), {}, {
|
|
222
224
|
onClose: resetPanelState
|
|
@@ -227,15 +229,11 @@ Panel.Header = Header;
|
|
|
227
229
|
Panel.Body = Body;
|
|
228
230
|
Panel.Footer = Footer;
|
|
229
231
|
|
|
230
|
-
var
|
|
231
|
-
var
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
return /*#__PURE__*/jsx(Typography, {
|
|
236
|
-
className: "neeto-ui-text-white neeto-ui-bg-error-500 neeto-ui-rounded-sm -mx-4 w-full p-3",
|
|
237
|
-
style: "h5",
|
|
238
|
-
children: message
|
|
232
|
+
var StickySidebarHeader = function StickySidebarHeader(_ref) {
|
|
233
|
+
var children = _ref.children;
|
|
234
|
+
return /*#__PURE__*/jsx("div", {
|
|
235
|
+
className: "sticky top-0 neeto-ui-bg-white py-6 flex flex-col gap-3",
|
|
236
|
+
children: children
|
|
239
237
|
});
|
|
240
238
|
};
|
|
241
239
|
|
|
@@ -281,6 +279,7 @@ var DEFAULT_RULE_ACTION = {
|
|
|
281
279
|
};
|
|
282
280
|
var EDITOR_ADDONS = ["code-block", "block-quote", "image-upload"];
|
|
283
281
|
var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
282
|
+
var MAXIMUM_OPTION_LENGTH$1 = 7;
|
|
284
283
|
var ACTION_INPUT_TYPES = ["text", "number", "decimal", "regex"];
|
|
285
284
|
var DEFAULT_HELP_POPOVER_PROPS = {
|
|
286
285
|
helpLinkProps: {
|
|
@@ -288,6 +287,18 @@ var DEFAULT_HELP_POPOVER_PROPS = {
|
|
|
288
287
|
}
|
|
289
288
|
};
|
|
290
289
|
|
|
290
|
+
var ErrorCallout = function ErrorCallout(_ref) {
|
|
291
|
+
var message = _ref.message,
|
|
292
|
+
selectedField = _ref.selectedField;
|
|
293
|
+
if (!message) return null;
|
|
294
|
+
if (typeof message === "function") return message(selectedField);
|
|
295
|
+
return /*#__PURE__*/jsx(Callout, {
|
|
296
|
+
className: "block",
|
|
297
|
+
style: "danger",
|
|
298
|
+
children: message
|
|
299
|
+
});
|
|
300
|
+
};
|
|
301
|
+
|
|
291
302
|
var getFieldDetails$1 = function getFieldDetails(fieldValue) {
|
|
292
303
|
var actionOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
293
304
|
return findBy({
|
|
@@ -316,6 +327,12 @@ var getDetailsByValue = function getDetailsByValue(value, options) {
|
|
|
316
327
|
value: value
|
|
317
328
|
}, options);
|
|
318
329
|
};
|
|
330
|
+
var getSearchedOptions$2 = function getSearchedOptions(dropdownOptions, searchTerm) {
|
|
331
|
+
return dropdownOptions.filter(function (_ref) {
|
|
332
|
+
var label = _ref.label;
|
|
333
|
+
return toLower(label).includes(toLower(searchTerm.trim()));
|
|
334
|
+
});
|
|
335
|
+
};
|
|
319
336
|
var getSelectedOptions = function getSelectedOptions(options) {
|
|
320
337
|
return options.filter(identity).length ? options : [];
|
|
321
338
|
};
|
|
@@ -368,6 +385,10 @@ var getPanelSize = function getPanelSize(selectedField) {
|
|
|
368
385
|
var ActionPanel = function ActionPanel() {
|
|
369
386
|
var _useTranslation = useTranslation(),
|
|
370
387
|
t = _useTranslation.t;
|
|
388
|
+
var _useState = useState(""),
|
|
389
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
390
|
+
searchTerm = _useState2[0],
|
|
391
|
+
setSearchTerm = _useState2[1];
|
|
371
392
|
var _useUtilityStore = useUtilityStore(function (store) {
|
|
372
393
|
return {
|
|
373
394
|
setPanelState: store["setPanelState"],
|
|
@@ -407,6 +428,8 @@ var ActionPanel = function ActionPanel() {
|
|
|
407
428
|
ref = _useActiveField.ref,
|
|
408
429
|
setFieldActive = _useActiveField.setFieldActive;
|
|
409
430
|
var label = index ? t("neetoRules.common.andThen") : t("neetoRules.common.then");
|
|
431
|
+
var isSearchable = actionOptions.length > MAXIMUM_OPTION_LENGTH$1;
|
|
432
|
+
var searchedOptions = getSearchedOptions$2(actionOptions, searchTerm);
|
|
410
433
|
var setFieldValueAndUntouch = function setFieldValueAndUntouch(field, value) {
|
|
411
434
|
setFieldValue(field, value);
|
|
412
435
|
setFieldTouched(field, false);
|
|
@@ -447,26 +470,45 @@ var ActionPanel = function ActionPanel() {
|
|
|
447
470
|
})]
|
|
448
471
|
})
|
|
449
472
|
}), /*#__PURE__*/jsxs(Panel.Body, {
|
|
450
|
-
className: "space-y-4",
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
473
|
+
className: classNames("space-y-4", {
|
|
474
|
+
"pt-0": isSearchable || errorMessage
|
|
475
|
+
}),
|
|
476
|
+
children: [(isSearchable || errorMessage) && /*#__PURE__*/jsxs(StickySidebarHeader, {
|
|
477
|
+
children: [isSearchable && /*#__PURE__*/jsx(Input$1, {
|
|
478
|
+
"data-cy": "search-text-field",
|
|
479
|
+
placeholder: t("neetoRules.common.search"),
|
|
480
|
+
prefix: /*#__PURE__*/jsx(Search, {}),
|
|
481
|
+
value: searchTerm,
|
|
482
|
+
onChange: function onChange(e) {
|
|
483
|
+
return setSearchTerm(e.target.value);
|
|
484
|
+
},
|
|
485
|
+
onClick: function onClick(e) {
|
|
486
|
+
return e.stopPropagation();
|
|
487
|
+
}
|
|
488
|
+
}), /*#__PURE__*/jsx(ErrorCallout, {
|
|
489
|
+
selectedField: selectedField,
|
|
490
|
+
message: errorMessage
|
|
491
|
+
})]
|
|
492
|
+
}), isNotEmpty(searchedOptions) ? /*#__PURE__*/jsx(Radio, {
|
|
455
493
|
ref: ref,
|
|
456
494
|
stacked: true,
|
|
457
495
|
name: "".concat(name, ".name"),
|
|
458
496
|
value: selectedField === null || selectedField === void 0 ? void 0 : selectedField.value,
|
|
459
497
|
onChange: handleSelectOption,
|
|
460
|
-
children:
|
|
498
|
+
children: searchedOptions.map(function (_ref2) {
|
|
461
499
|
var label = _ref2.label,
|
|
462
500
|
value = _ref2.value;
|
|
463
501
|
return /*#__PURE__*/createElement(Radio.Item, {
|
|
464
502
|
label: label,
|
|
465
503
|
value: value,
|
|
466
|
-
key:
|
|
504
|
+
key: value,
|
|
467
505
|
onFocus: setFieldActive
|
|
468
506
|
});
|
|
469
507
|
})
|
|
508
|
+
}) : /*#__PURE__*/jsx("div", {
|
|
509
|
+
className: "py-1 text-sm",
|
|
510
|
+
"data-cy": "no-options-menu-item",
|
|
511
|
+
children: t("neetoRules.common.noOptions")
|
|
470
512
|
})]
|
|
471
513
|
}), /*#__PURE__*/jsx(Panel.Footer, {
|
|
472
514
|
children: /*#__PURE__*/jsx(Button, {
|
|
@@ -721,13 +763,13 @@ var KeyValuePairsField = withT(function (_ref) {
|
|
|
721
763
|
children: [data.map(function (_, index) {
|
|
722
764
|
return /*#__PURE__*/jsxs("div", {
|
|
723
765
|
className: "flex h-8 space-x-3",
|
|
724
|
-
children: [/*#__PURE__*/jsx(Input$
|
|
766
|
+
children: [/*#__PURE__*/jsx(Input$2, {
|
|
725
767
|
onFocus: onFocus,
|
|
726
768
|
className: "w-1/3",
|
|
727
769
|
name: "".concat(name, ".").concat(index, ".key"),
|
|
728
770
|
placeholder: t("neetoRules.labels.key"),
|
|
729
771
|
type: "text"
|
|
730
|
-
}), /*#__PURE__*/jsx(Input$
|
|
772
|
+
}), /*#__PURE__*/jsx(Input$2, {
|
|
731
773
|
onFocus: onFocus,
|
|
732
774
|
className: "w-2/3",
|
|
733
775
|
name: "".concat(name, ".").concat(index, ".value"),
|
|
@@ -964,7 +1006,7 @@ var SaveAsTemplate = function SaveAsTemplate(_ref) {
|
|
|
964
1006
|
label: t("neetoRules.labels.saveAsTemplate"),
|
|
965
1007
|
name: switchName,
|
|
966
1008
|
onChange: handleChange
|
|
967
|
-
}), shouldSaveAsTemplate && /*#__PURE__*/jsx(Input$
|
|
1009
|
+
}), shouldSaveAsTemplate && /*#__PURE__*/jsx(Input$2, {
|
|
968
1010
|
autoFocus: true,
|
|
969
1011
|
required: true,
|
|
970
1012
|
label: t("neetoRules.labels.templateName"),
|
|
@@ -1140,7 +1182,7 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
1140
1182
|
initialFocusRef: ref,
|
|
1141
1183
|
onChange: handleTemplateChange,
|
|
1142
1184
|
onFocus: setFieldActive
|
|
1143
|
-
}), /*#__PURE__*/jsx(Input$
|
|
1185
|
+
}), /*#__PURE__*/jsx(Input$2, {
|
|
1144
1186
|
required: true,
|
|
1145
1187
|
className: "mb-4",
|
|
1146
1188
|
"data-cy": "api-action-endpoint-text-field",
|
|
@@ -1380,7 +1422,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1380
1422
|
}, otherProps));
|
|
1381
1423
|
};
|
|
1382
1424
|
|
|
1383
|
-
var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required"];
|
|
1425
|
+
var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required", "handleSlackChannelRefresh", "action"];
|
|
1384
1426
|
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; }
|
|
1385
1427
|
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; }
|
|
1386
1428
|
var Target$g = function Target(_ref) {
|
|
@@ -1444,6 +1486,8 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1444
1486
|
className = _ref2.className,
|
|
1445
1487
|
_ref2$required = _ref2.required,
|
|
1446
1488
|
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
1489
|
+
handleSlackChannelRefresh = _ref2.handleSlackChannelRefresh,
|
|
1490
|
+
action = _ref2.action,
|
|
1447
1491
|
otherProps = _objectWithoutProperties(_ref2, _excluded$d);
|
|
1448
1492
|
var _useTranslation2 = useTranslation(),
|
|
1449
1493
|
t = _useTranslation2.t;
|
|
@@ -1475,18 +1519,32 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1475
1519
|
setValue((_option$value = option === null || option === void 0 ? void 0 : option.value) !== null && _option$value !== void 0 ? _option$value : null);
|
|
1476
1520
|
setTouched(true);
|
|
1477
1521
|
};
|
|
1478
|
-
return /*#__PURE__*/
|
|
1479
|
-
className:
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1522
|
+
return /*#__PURE__*/jsxs("div", {
|
|
1523
|
+
className: "flex items-start gap-2",
|
|
1524
|
+
children: [/*#__PURE__*/jsx(Select$1, _objectSpread$p(_objectSpread$p({}, _objectSpread$p({
|
|
1525
|
+
className: className,
|
|
1526
|
+
name: name,
|
|
1527
|
+
required: required
|
|
1528
|
+
}, otherProps)), {}, {
|
|
1529
|
+
innerRef: ref,
|
|
1530
|
+
label: defaultLabel,
|
|
1531
|
+
options: dropdownOptions,
|
|
1532
|
+
value: selectedOption,
|
|
1533
|
+
onChange: handleSelectOption,
|
|
1534
|
+
onFocus: setFieldActive
|
|
1535
|
+
})), handleSlackChannelRefresh && action.name === "message_to_slack" && /*#__PURE__*/jsx(Button, {
|
|
1536
|
+
className: "mt-[22px]",
|
|
1537
|
+
"data-cy": "refresh-slack-button",
|
|
1538
|
+
icon: Refresh,
|
|
1539
|
+
size: "medium",
|
|
1540
|
+
style: "secondary",
|
|
1541
|
+
tooltipProps: {
|
|
1542
|
+
content: t("neetoRules.slack.refreshChannelList"),
|
|
1543
|
+
position: "top"
|
|
1544
|
+
},
|
|
1545
|
+
onClick: handleSlackChannelRefresh
|
|
1546
|
+
})]
|
|
1547
|
+
});
|
|
1490
1548
|
};
|
|
1491
1549
|
SelectField$2.Target = Target$g;
|
|
1492
1550
|
|
|
@@ -1623,7 +1681,7 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1623
1681
|
name: "".concat(name, ".emails"),
|
|
1624
1682
|
initialFocusRef: isFirstFieldInForm("emails") ? initialFocusRef : null,
|
|
1625
1683
|
onFocus: setFieldActive
|
|
1626
|
-
}), !selectedField.hideSubject && /*#__PURE__*/jsx(Input$
|
|
1684
|
+
}), !selectedField.hideSubject && /*#__PURE__*/jsx(Input$2, {
|
|
1627
1685
|
required: true,
|
|
1628
1686
|
className: "mb-4",
|
|
1629
1687
|
"data-cy": "email-action-subject-text-field",
|
|
@@ -1703,7 +1761,7 @@ var Input = function Input(_ref2) {
|
|
|
1703
1761
|
}),
|
|
1704
1762
|
ref = _useActiveField2.ref,
|
|
1705
1763
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
1706
|
-
return /*#__PURE__*/jsx(Input$
|
|
1764
|
+
return /*#__PURE__*/jsx(Input$2, {
|
|
1707
1765
|
ref: ref,
|
|
1708
1766
|
required: required,
|
|
1709
1767
|
className: "my-auto",
|
|
@@ -1785,7 +1843,7 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1785
1843
|
return /*#__PURE__*/jsx("div", {
|
|
1786
1844
|
className: classNames("flex flex-grow", _defineProperty({}, className, className)),
|
|
1787
1845
|
ref: inputWrapperRef,
|
|
1788
|
-
children: /*#__PURE__*/jsx(Input$
|
|
1846
|
+
children: /*#__PURE__*/jsx(Input$1, _objectSpread$n(_objectSpread$n({
|
|
1789
1847
|
autoFocus: true,
|
|
1790
1848
|
required: true,
|
|
1791
1849
|
className: "neeto-planner-inline-input",
|
|
@@ -2199,7 +2257,6 @@ var MultiSelectCheckbox$1 = function MultiSelectCheckbox(_ref2) {
|
|
|
2199
2257
|
}) : /*#__PURE__*/jsx(Select$1, {
|
|
2200
2258
|
name: name,
|
|
2201
2259
|
innerRef: ref,
|
|
2202
|
-
label: defaultLabel,
|
|
2203
2260
|
options: dropdownOptions,
|
|
2204
2261
|
onFocus: setFieldActive
|
|
2205
2262
|
})]
|
|
@@ -2809,7 +2866,8 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2809
2866
|
isTarget = _ref$isTarget === void 0 ? false : _ref$isTarget,
|
|
2810
2867
|
errorMessage = _ref.errorMessage,
|
|
2811
2868
|
_ref$openPanel = _ref.openPanel,
|
|
2812
|
-
openPanel = _ref$openPanel === void 0 ? noop : _ref$openPanel
|
|
2869
|
+
openPanel = _ref$openPanel === void 0 ? noop : _ref$openPanel,
|
|
2870
|
+
handleSlackChannelRefresh = _ref.handleSlackChannelRefresh;
|
|
2813
2871
|
var _useTranslation = useTranslation(),
|
|
2814
2872
|
t = _useTranslation.t;
|
|
2815
2873
|
var hasError = !!errorMessage;
|
|
@@ -2866,6 +2924,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2866
2924
|
}
|
|
2867
2925
|
}), /*#__PURE__*/jsx(EmailFields.Target, {
|
|
2868
2926
|
action: action,
|
|
2927
|
+
hasError: hasError,
|
|
2869
2928
|
index: index,
|
|
2870
2929
|
name: name,
|
|
2871
2930
|
selectedField: selectedField,
|
|
@@ -3005,6 +3064,8 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
3005
3064
|
return openPanel("small");
|
|
3006
3065
|
}
|
|
3007
3066
|
}) : /*#__PURE__*/jsx(SelectField$2, {
|
|
3067
|
+
action: action,
|
|
3068
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh,
|
|
3008
3069
|
index: index,
|
|
3009
3070
|
selectedField: selectedField,
|
|
3010
3071
|
required: true,
|
|
@@ -3177,14 +3238,15 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
|
|
|
3177
3238
|
setPanelState = _useUtilityStore.setPanelState,
|
|
3178
3239
|
resetPanelState = _useUtilityStore.resetPanelState;
|
|
3179
3240
|
var _useUtilityStore2 = useUtilityStore(function (store) {
|
|
3180
|
-
var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6;
|
|
3241
|
+
var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6, _store$panelState7;
|
|
3181
3242
|
return {
|
|
3182
3243
|
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"],
|
|
3183
3244
|
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"],
|
|
3184
3245
|
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"],
|
|
3185
3246
|
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"],
|
|
3186
3247
|
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"],
|
|
3187
|
-
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"]
|
|
3248
|
+
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"],
|
|
3249
|
+
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"]
|
|
3188
3250
|
};
|
|
3189
3251
|
}, shallow),
|
|
3190
3252
|
name = _useUtilityStore2.name,
|
|
@@ -3192,7 +3254,8 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
|
|
|
3192
3254
|
action = _useUtilityStore2.action,
|
|
3193
3255
|
valueOptions = _useUtilityStore2.valueOptions,
|
|
3194
3256
|
selectedField = _useUtilityStore2.selectedField,
|
|
3195
|
-
errorMessage = _useUtilityStore2.errorMessage
|
|
3257
|
+
errorMessage = _useUtilityStore2.errorMessage,
|
|
3258
|
+
handleSlackChannelRefresh = _useUtilityStore2.handleSlackChannelRefresh;
|
|
3196
3259
|
var _useFormikContext = useFormikContext(),
|
|
3197
3260
|
setFieldTouched = _useFormikContext.setFieldTouched;
|
|
3198
3261
|
var _useField = useField("".concat(name, ".metadata")),
|
|
@@ -3248,12 +3311,17 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
|
|
|
3248
3311
|
})]
|
|
3249
3312
|
})
|
|
3250
3313
|
}), /*#__PURE__*/jsxs(Panel.Body, {
|
|
3251
|
-
className: "space-y-4",
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3314
|
+
className: classNames("space-y-4", {
|
|
3315
|
+
"pt-0": errorMessage
|
|
3316
|
+
}),
|
|
3317
|
+
children: [errorMessage && /*#__PURE__*/jsx(StickySidebarHeader, {
|
|
3318
|
+
children: /*#__PURE__*/jsx(ErrorCallout, {
|
|
3319
|
+
selectedField: selectedField,
|
|
3320
|
+
message: errorMessage
|
|
3321
|
+
})
|
|
3255
3322
|
}), /*#__PURE__*/jsx(ActionSubItem$1, {
|
|
3256
3323
|
action: action,
|
|
3324
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh,
|
|
3257
3325
|
index: index,
|
|
3258
3326
|
selectedField: selectedField,
|
|
3259
3327
|
valueOptions: valueOptions,
|
|
@@ -3421,7 +3489,7 @@ var InputField$1 = function InputField(_ref2) {
|
|
|
3421
3489
|
}),
|
|
3422
3490
|
ref = _useActiveField2.ref,
|
|
3423
3491
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
3424
|
-
return /*#__PURE__*/jsx(Input$
|
|
3492
|
+
return /*#__PURE__*/jsx(Input$2, {
|
|
3425
3493
|
name: name,
|
|
3426
3494
|
placeholder: placeholder,
|
|
3427
3495
|
ref: ref,
|
|
@@ -3681,6 +3749,12 @@ var getVerbOptions = function getVerbOptions() {
|
|
|
3681
3749
|
};
|
|
3682
3750
|
});
|
|
3683
3751
|
};
|
|
3752
|
+
var getSearchedOptions$1 = function getSearchedOptions(dropdownOptions, searchTerm) {
|
|
3753
|
+
return dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.filter(function (_ref) {
|
|
3754
|
+
var label = _ref.label;
|
|
3755
|
+
return toLower(label).includes(toLower(searchTerm.trim()));
|
|
3756
|
+
});
|
|
3757
|
+
};
|
|
3684
3758
|
var getAllOptions = function getAllOptions(options) {
|
|
3685
3759
|
return Array.isArray(options) ? options.map(function (option) {
|
|
3686
3760
|
return {
|
|
@@ -3798,7 +3872,7 @@ var MultiSelectCreate = function MultiSelectCreate(_ref2) {
|
|
|
3798
3872
|
MultiSelectCreate.Target = Target$3;
|
|
3799
3873
|
|
|
3800
3874
|
var _excluded$7 = ["name", "options", "placeholder", "onClick"],
|
|
3801
|
-
_excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel", "required"];
|
|
3875
|
+
_excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel", "required", "isSearchable"];
|
|
3802
3876
|
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; }
|
|
3803
3877
|
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; }
|
|
3804
3878
|
var Target$2 = function Target(_ref) {
|
|
@@ -3853,9 +3927,15 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3853
3927
|
showLabel = _ref2$showLabel === void 0 ? true : _ref2$showLabel,
|
|
3854
3928
|
_ref2$required = _ref2.required,
|
|
3855
3929
|
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
3930
|
+
_ref2$isSearchable = _ref2.isSearchable,
|
|
3931
|
+
isSearchable = _ref2$isSearchable === void 0 ? false : _ref2$isSearchable,
|
|
3856
3932
|
otherProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
3857
3933
|
var _useTranslation2 = useTranslation(),
|
|
3858
3934
|
t = _useTranslation2.t;
|
|
3935
|
+
var _useState = useState(""),
|
|
3936
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3937
|
+
searchTerm = _useState2[0],
|
|
3938
|
+
setSearchTerm = _useState2[1];
|
|
3859
3939
|
var _useField3 = useField(name),
|
|
3860
3940
|
_useField4 = _slicedToArray(_useField3, 3),
|
|
3861
3941
|
field = _useField4[0],
|
|
@@ -3870,6 +3950,7 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3870
3950
|
var selectedOption = findBy({
|
|
3871
3951
|
value: field.value
|
|
3872
3952
|
}, options);
|
|
3953
|
+
var searchedOptions = getSearchedOptions$1(options, searchTerm);
|
|
3873
3954
|
var handleRadioChange = function handleRadioChange(_ref3) {
|
|
3874
3955
|
var value = _ref3.target.value;
|
|
3875
3956
|
var selectedOption = findBy({
|
|
@@ -3878,25 +3959,45 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3878
3959
|
handleOnChange ? handleOnChange(selectedOption) : setValue(value);
|
|
3879
3960
|
setTouched(true);
|
|
3880
3961
|
};
|
|
3881
|
-
return /*#__PURE__*/
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3962
|
+
return /*#__PURE__*/jsxs("div", {
|
|
3963
|
+
className: "w-full",
|
|
3964
|
+
children: [isSearchable && /*#__PURE__*/jsx(StickySidebarHeader, {
|
|
3965
|
+
children: /*#__PURE__*/jsx(Input$1, {
|
|
3966
|
+
"data-cy": "search-text-field",
|
|
3967
|
+
placeholder: t("neetoRules.common.search"),
|
|
3968
|
+
prefix: /*#__PURE__*/jsx(Search, {}),
|
|
3969
|
+
value: searchTerm,
|
|
3970
|
+
onChange: function onChange(e) {
|
|
3971
|
+
return setSearchTerm(e.target.value);
|
|
3972
|
+
},
|
|
3973
|
+
onClick: function onClick(e) {
|
|
3974
|
+
return e.stopPropagation();
|
|
3975
|
+
}
|
|
3976
|
+
})
|
|
3977
|
+
}), isNotEmpty(searchedOptions) ? /*#__PURE__*/jsx(Radio$1, _objectSpread$h(_objectSpread$h({
|
|
3978
|
+
ref: ref,
|
|
3979
|
+
required: required,
|
|
3980
|
+
stacked: true,
|
|
3981
|
+
label: showLabel && t("neetoRules.labels.selectValue"),
|
|
3982
|
+
value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value,
|
|
3983
|
+
onChange: handleRadioChange,
|
|
3984
|
+
onFocus: setFieldActive
|
|
3985
|
+
}, otherProps), {}, {
|
|
3986
|
+
children: searchedOptions.map(function (_ref4) {
|
|
3987
|
+
var label = _ref4.label,
|
|
3988
|
+
value = _ref4.value;
|
|
3989
|
+
return /*#__PURE__*/createElement(Radio$1.Item, {
|
|
3990
|
+
label: label,
|
|
3991
|
+
value: value,
|
|
3992
|
+
key: value
|
|
3993
|
+
});
|
|
3994
|
+
})
|
|
3995
|
+
})) : /*#__PURE__*/jsx("div", {
|
|
3996
|
+
className: "py-1 text-sm",
|
|
3997
|
+
"data-cy": "no-options-menu-item",
|
|
3998
|
+
children: t("neetoRules.common.noOptions")
|
|
3999
|
+
})]
|
|
4000
|
+
});
|
|
3900
4001
|
};
|
|
3901
4002
|
RadioField$1.Target = Target$2;
|
|
3902
4003
|
|
|
@@ -4121,6 +4222,7 @@ var FieldPanel = function FieldPanel() {
|
|
|
4121
4222
|
var _useField3 = useField("".concat(name, ".joinType")),
|
|
4122
4223
|
_useField4 = _slicedToArray(_useField3, 1),
|
|
4123
4224
|
logicalOperator = _useField4[0];
|
|
4225
|
+
var isSearchable = conditionOptions.length > MAXIMUM_OPTION_LENGTH$2;
|
|
4124
4226
|
var handleContinue = function handleContinue() {
|
|
4125
4227
|
!meta.error && setPanelState(mergeDeepLeft({
|
|
4126
4228
|
type: PANEL_TYPES.VERB_AND_VALUE,
|
|
@@ -4148,7 +4250,11 @@ var FieldPanel = function FieldPanel() {
|
|
|
4148
4250
|
})]
|
|
4149
4251
|
})
|
|
4150
4252
|
}), /*#__PURE__*/jsx(Panel.Body, {
|
|
4253
|
+
className: classNames({
|
|
4254
|
+
"pt-0": isSearchable
|
|
4255
|
+
}),
|
|
4151
4256
|
children: /*#__PURE__*/jsx(RadioField$1, {
|
|
4257
|
+
isSearchable: isSearchable,
|
|
4152
4258
|
shouldAutoFocus: true,
|
|
4153
4259
|
handleOnChange: handleFieldChange,
|
|
4154
4260
|
name: "".concat(name, ".field"),
|
|
@@ -4414,6 +4520,7 @@ var VerbAndValuePanel = function VerbAndValuePanel() {
|
|
|
4414
4520
|
});
|
|
4415
4521
|
};
|
|
4416
4522
|
|
|
4523
|
+
var MAXIMUM_OPTION_LENGTH = 7;
|
|
4417
4524
|
var OPERATORS = {
|
|
4418
4525
|
or: "or_operator",
|
|
4419
4526
|
and: "and_operator"
|
|
@@ -4476,7 +4583,7 @@ var DelayPanel = function DelayPanel() {
|
|
|
4476
4583
|
}), /*#__PURE__*/jsx(Panel.Body, {
|
|
4477
4584
|
children: /*#__PURE__*/jsxs("div", {
|
|
4478
4585
|
className: "flex gap-x-2",
|
|
4479
|
-
children: [/*#__PURE__*/jsx(Input$
|
|
4586
|
+
children: [/*#__PURE__*/jsx(Input$2, {
|
|
4480
4587
|
className: "w-44",
|
|
4481
4588
|
max: 15,
|
|
4482
4589
|
min: 1,
|
|
@@ -4510,11 +4617,27 @@ var DelayPanel = function DelayPanel() {
|
|
|
4510
4617
|
});
|
|
4511
4618
|
};
|
|
4512
4619
|
|
|
4620
|
+
var getAllEvents = function getAllEvents(events, dropdownOptions) {
|
|
4621
|
+
return dropdownOptions.filter(function (option) {
|
|
4622
|
+
return events.includes(option.value);
|
|
4623
|
+
});
|
|
4624
|
+
};
|
|
4625
|
+
var getSearchedOptions = function getSearchedOptions(dropdownOptions, searchTerm) {
|
|
4626
|
+
return dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.filter(function (_ref) {
|
|
4627
|
+
var label = _ref.label;
|
|
4628
|
+
return toLower(label).includes(toLower(searchTerm.trim()));
|
|
4629
|
+
});
|
|
4630
|
+
};
|
|
4631
|
+
|
|
4513
4632
|
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; }
|
|
4514
4633
|
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; }
|
|
4515
4634
|
var EventsPanel = function EventsPanel() {
|
|
4516
4635
|
var _useTranslation = useTranslation(),
|
|
4517
4636
|
t = _useTranslation.t;
|
|
4637
|
+
var _useState = useState(""),
|
|
4638
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
4639
|
+
searchTerm = _useState2[0],
|
|
4640
|
+
setSearchTerm = _useState2[1];
|
|
4518
4641
|
var _useUtilityStore = useUtilityStore(function (store) {
|
|
4519
4642
|
return {
|
|
4520
4643
|
setPanelState: store["setPanelState"]
|
|
@@ -4556,6 +4679,8 @@ var EventsPanel = function EventsPanel() {
|
|
|
4556
4679
|
var defaultData = elementProps.defaultData;
|
|
4557
4680
|
var eventNames = pluck("name", events);
|
|
4558
4681
|
var dropdownOptions = elementProps.eventOptions;
|
|
4682
|
+
var searchedOptions = getSearchedOptions(dropdownOptions, searchTerm);
|
|
4683
|
+
var isSearchable = dropdownOptions.length > MAXIMUM_OPTION_LENGTH;
|
|
4559
4684
|
var handleDefaultData = /*#__PURE__*/function () {
|
|
4560
4685
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
4561
4686
|
var _values$name;
|
|
@@ -4658,10 +4783,26 @@ var EventsPanel = function EventsPanel() {
|
|
|
4658
4783
|
children: t("neetoRules.form.addEventDescription")
|
|
4659
4784
|
})]
|
|
4660
4785
|
})
|
|
4661
|
-
}), /*#__PURE__*/
|
|
4662
|
-
|
|
4786
|
+
}), /*#__PURE__*/jsxs(Panel.Body, {
|
|
4787
|
+
className: classNames({
|
|
4788
|
+
"pt-0": isSearchable
|
|
4789
|
+
}),
|
|
4790
|
+
children: [isSearchable && /*#__PURE__*/jsx(StickySidebarHeader, {
|
|
4791
|
+
children: /*#__PURE__*/jsx(Input$1, {
|
|
4792
|
+
"data-cy": "search-text-field",
|
|
4793
|
+
placeholder: t("neetoRules.common.search"),
|
|
4794
|
+
prefix: /*#__PURE__*/jsx(Search, {}),
|
|
4795
|
+
value: searchTerm,
|
|
4796
|
+
onChange: function onChange(e) {
|
|
4797
|
+
return setSearchTerm(e.target.value);
|
|
4798
|
+
},
|
|
4799
|
+
onClick: function onClick(e) {
|
|
4800
|
+
return e.stopPropagation();
|
|
4801
|
+
}
|
|
4802
|
+
})
|
|
4803
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
4663
4804
|
className: "space-y-3",
|
|
4664
|
-
children: [isNotEmpty(
|
|
4805
|
+
children: [isNotEmpty(searchedOptions) ? searchedOptions.map(function (option) {
|
|
4665
4806
|
return /*#__PURE__*/createElement(Checkbox, {
|
|
4666
4807
|
ref: ref,
|
|
4667
4808
|
checked: eventNames === null || eventNames === void 0 ? void 0 : eventNames.includes(option.value),
|
|
@@ -4682,7 +4823,7 @@ var EventsPanel = function EventsPanel() {
|
|
|
4682
4823
|
className: "neeto-ui-input__error",
|
|
4683
4824
|
children: error
|
|
4684
4825
|
})]
|
|
4685
|
-
})
|
|
4826
|
+
})]
|
|
4686
4827
|
}), /*#__PURE__*/jsx(Panel.Footer, {
|
|
4687
4828
|
children: /*#__PURE__*/jsx(Button, {
|
|
4688
4829
|
"data-cy": "continue-button",
|
|
@@ -5207,7 +5348,8 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5207
5348
|
selectedActionOptions = _ref.selectedActionOptions,
|
|
5208
5349
|
routeToSlackIntegration = _ref.routeToSlackIntegration,
|
|
5209
5350
|
shouldOpenPanel = _ref.shouldOpenPanel,
|
|
5210
|
-
setShouldOpenPanel = _ref.setShouldOpenPanel
|
|
5351
|
+
setShouldOpenPanel = _ref.setShouldOpenPanel,
|
|
5352
|
+
handleSlackChannelRefresh = _ref.handleSlackChannelRefresh;
|
|
5211
5353
|
var _useTranslation = useTranslation(),
|
|
5212
5354
|
t = _useTranslation.t;
|
|
5213
5355
|
var _useFormikContext = useFormikContext(),
|
|
@@ -5219,10 +5361,12 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5219
5361
|
setFieldActive = _useActiveField.setFieldActive;
|
|
5220
5362
|
var _useUtilityStore = useUtilityStore(function (store) {
|
|
5221
5363
|
return {
|
|
5222
|
-
setPanelState: store["setPanelState"]
|
|
5364
|
+
setPanelState: store["setPanelState"],
|
|
5365
|
+
setErrorFields: store["setErrorFields"]
|
|
5223
5366
|
};
|
|
5224
5367
|
}, shallow),
|
|
5225
|
-
setPanelState = _useUtilityStore.setPanelState
|
|
5368
|
+
setPanelState = _useUtilityStore.setPanelState,
|
|
5369
|
+
setErrorFields = _useUtilityStore.setErrorFields;
|
|
5226
5370
|
var _useUtilityStore2 = useUtilityStore(function (store) {
|
|
5227
5371
|
var _store$panelState;
|
|
5228
5372
|
return {
|
|
@@ -5280,7 +5424,8 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5280
5424
|
selectedField: selectedField,
|
|
5281
5425
|
onSelectAction: onSelectAction,
|
|
5282
5426
|
valueOptions: getSelectedFieldOptions(),
|
|
5283
|
-
errorMessage: errorMessage
|
|
5427
|
+
errorMessage: errorMessage,
|
|
5428
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh
|
|
5284
5429
|
};
|
|
5285
5430
|
var _openPanel = function openPanel(type, panelSize) {
|
|
5286
5431
|
setPanelState({
|
|
@@ -5308,7 +5453,24 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5308
5453
|
})
|
|
5309
5454
|
});
|
|
5310
5455
|
});
|
|
5311
|
-
}, [selectedField]);
|
|
5456
|
+
}, [selectedField === null || selectedField === void 0 ? void 0 : selectedField.value]);
|
|
5457
|
+
var hasError = !!errorMessage;
|
|
5458
|
+
useEffect(function () {
|
|
5459
|
+
if (hasError) {
|
|
5460
|
+
setErrorFields(function (prev) {
|
|
5461
|
+
return prev.includes(name) ? prev : [].concat(_toConsumableArray(prev), [name]);
|
|
5462
|
+
});
|
|
5463
|
+
} else {
|
|
5464
|
+
setErrorFields(function (prev) {
|
|
5465
|
+
return prev.filter(isNot(name));
|
|
5466
|
+
});
|
|
5467
|
+
}
|
|
5468
|
+
return function () {
|
|
5469
|
+
setErrorFields(function (prev) {
|
|
5470
|
+
return prev.filter(isNot(name));
|
|
5471
|
+
});
|
|
5472
|
+
};
|
|
5473
|
+
}, [hasError, name, setErrorFields]);
|
|
5312
5474
|
return /*#__PURE__*/jsx("div", {
|
|
5313
5475
|
className: "flex flex-grow min-w-0 flex-wrap gap-x-1 gap-y-3",
|
|
5314
5476
|
children: /*#__PURE__*/jsxs("div", {
|
|
@@ -5324,7 +5486,7 @@ var ActionItem = function ActionItem(_ref) {
|
|
|
5324
5486
|
style: "link",
|
|
5325
5487
|
className: classNames("neeto-ui-text-gray-800 neeto-ui-font-semibold underline", {
|
|
5326
5488
|
"neeto-ui-text-accent-800": isFieldActive,
|
|
5327
|
-
"neeto-ui-text-error-500": isActionSelected
|
|
5489
|
+
"neeto-ui-text-error-500": isActionSelected || !!errorMessage
|
|
5328
5490
|
}),
|
|
5329
5491
|
onClick: handleOnClick
|
|
5330
5492
|
}), /*#__PURE__*/jsx(ActionSubItem$1, _objectSpread$d(_objectSpread$d({}, _objectSpread$d(_objectSpread$d({}, panelData), {}, {
|
|
@@ -5427,6 +5589,7 @@ var Actions = function Actions(_ref) {
|
|
|
5427
5589
|
children: [/*#__PURE__*/jsx(ActionItem$1, {
|
|
5428
5590
|
action: action,
|
|
5429
5591
|
elementProps: elementProps,
|
|
5592
|
+
handleSlackChannelRefresh: handleSlackChannelRefresh,
|
|
5430
5593
|
index: index,
|
|
5431
5594
|
onSelectAction: onSelectAction,
|
|
5432
5595
|
routeToSlackIntegration: routeToSlackIntegration,
|
|
@@ -5437,18 +5600,7 @@ var Actions = function Actions(_ref) {
|
|
|
5437
5600
|
parentName: name
|
|
5438
5601
|
}), /*#__PURE__*/jsxs("div", {
|
|
5439
5602
|
className: "flex flex-wrap flex-shrink-0 self-center",
|
|
5440
|
-
children: [
|
|
5441
|
-
"data-cy": "refresh-slack-button",
|
|
5442
|
-
icon: Refresh,
|
|
5443
|
-
size: "medium",
|
|
5444
|
-
tooltipProps: {
|
|
5445
|
-
content: t("neetoRules.slack.refreshChannelList"),
|
|
5446
|
-
position: "top"
|
|
5447
|
-
},
|
|
5448
|
-
onClick: function onClick() {
|
|
5449
|
-
return handleSlackChannelRefresh();
|
|
5450
|
-
}
|
|
5451
|
-
}), showButton && index === actions.length - 1 && /*#__PURE__*/jsx(Button, {
|
|
5603
|
+
children: [showButton && index === actions.length - 1 && /*#__PURE__*/jsx(Button, {
|
|
5452
5604
|
"data-cy": "add-action-button",
|
|
5453
5605
|
icon: Plus,
|
|
5454
5606
|
size: "medium",
|
|
@@ -5629,7 +5781,7 @@ var ConditionItem = function ConditionItem(_ref) {
|
|
|
5629
5781
|
})
|
|
5630
5782
|
});
|
|
5631
5783
|
});
|
|
5632
|
-
}, [selectedField, condition.verb]);
|
|
5784
|
+
}, [selectedField === null || selectedField === void 0 ? void 0 : selectedField.value, condition.verb]);
|
|
5633
5785
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
5634
5786
|
children: [!!index && /*#__PURE__*/jsx(LogicalOperator, {
|
|
5635
5787
|
handleGroupJoinType: handleGroupJoinType,
|
|
@@ -5993,12 +6145,6 @@ var Performer = function Performer(_ref) {
|
|
|
5993
6145
|
});
|
|
5994
6146
|
};
|
|
5995
6147
|
|
|
5996
|
-
var getAllEvents = function getAllEvents(events, dropdownOptions) {
|
|
5997
|
-
return dropdownOptions.filter(function (option) {
|
|
5998
|
-
return events.includes(option.value);
|
|
5999
|
-
});
|
|
6000
|
-
};
|
|
6001
|
-
|
|
6002
6148
|
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; }
|
|
6003
6149
|
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; }
|
|
6004
6150
|
var Events = function Events(_ref) {
|
|
@@ -6223,7 +6369,7 @@ var InputField = function InputField(_ref) {
|
|
|
6223
6369
|
_useDebouncedUpdate2 = _slicedToArray(_useDebouncedUpdate, 2),
|
|
6224
6370
|
text = _useDebouncedUpdate2[0],
|
|
6225
6371
|
setText = _useDebouncedUpdate2[1];
|
|
6226
|
-
return /*#__PURE__*/jsx(Input$
|
|
6372
|
+
return /*#__PURE__*/jsx(Input$2, _objectSpread$7(_objectSpread$7({
|
|
6227
6373
|
className: "mb-4",
|
|
6228
6374
|
label: label || (elementProps === null || elementProps === void 0 ? void 0 : elementProps.label)
|
|
6229
6375
|
}, field), {}, {
|
|
@@ -6610,10 +6756,12 @@ var Form = function Form(_ref) {
|
|
|
6610
6756
|
customData = _useCustomDataStore.customData;
|
|
6611
6757
|
var _useUtilityStore = useUtilityStore(function (store) {
|
|
6612
6758
|
return {
|
|
6613
|
-
resetPanelState: store["resetPanelState"]
|
|
6759
|
+
resetPanelState: store["resetPanelState"],
|
|
6760
|
+
errorFields: store["errorFields"]
|
|
6614
6761
|
};
|
|
6615
6762
|
}, shallow),
|
|
6616
|
-
resetPanelState = _useUtilityStore.resetPanelState
|
|
6763
|
+
resetPanelState = _useUtilityStore.resetPanelState,
|
|
6764
|
+
errorFields = _useUtilityStore.errorFields;
|
|
6617
6765
|
var initialValues = useMemo(function () {
|
|
6618
6766
|
return formatData(data);
|
|
6619
6767
|
}, [data]);
|
|
@@ -6633,6 +6781,10 @@ var Form = function Form(_ref) {
|
|
|
6633
6781
|
};
|
|
6634
6782
|
}, []);
|
|
6635
6783
|
var submitForm = function submitForm(values, formikBag) {
|
|
6784
|
+
if (isNotEmpty(errorFields)) {
|
|
6785
|
+
formikBag.setSubmitting(false);
|
|
6786
|
+
return;
|
|
6787
|
+
}
|
|
6636
6788
|
if (isCancelledNameGeneration) {
|
|
6637
6789
|
saveRuleName(values);
|
|
6638
6790
|
return;
|