@bigbinary/neeto-rules-frontend 2.5.15-beta-7 → 2.5.15-beta-9
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/README.md +45 -0
- package/app/javascript/src/translations/en.json +4 -1
- package/dist/NeetoRules.js +6 -26
- package/dist/NeetoRules.js.map +1 -1
- package/dist/NeetoRulesForm.js +410 -109
- package/dist/NeetoRulesForm.js.map +1 -1
- package/dist/RulePreview.js +4 -8
- package/dist/RulePreview.js.map +1 -1
- package/dist/cjs/NeetoRules.js +5 -25
- package/dist/cjs/NeetoRules.js.map +1 -1
- package/dist/cjs/NeetoRulesForm.js +407 -106
- package/dist/cjs/NeetoRulesForm.js.map +1 -1
- package/dist/cjs/RulePreview.js +4 -8
- package/dist/cjs/RulePreview.js.map +1 -1
- package/dist/cjs/index.js +4 -4
- package/dist/index.js +4 -4
- package/dist/{useUtilityStore-y6y2o_xQ.js → useUtilityStore-BcSUEW_u.js} +7 -1
- package/dist/useUtilityStore-BcSUEW_u.js.map +1 -0
- package/dist/{useUtilityStore-BFuftXo4.js → useUtilityStore-DhJI92iM.js} +7 -1
- package/dist/useUtilityStore-DhJI92iM.js.map +1 -0
- package/package.json +12 -12
- package/types.d.ts +10 -0
- package/dist/useUtilityStore-BFuftXo4.js.map +0 -1
- package/dist/useUtilityStore-y6y2o_xQ.js.map +0 -1
|
@@ -13,22 +13,24 @@ var Delete = require('@bigbinary/neeto-icons/Delete');
|
|
|
13
13
|
var Refresh = require('@bigbinary/neeto-icons/Refresh');
|
|
14
14
|
var Button = require('@bigbinary/neetoui/Button');
|
|
15
15
|
var reactI18next = require('react-i18next');
|
|
16
|
-
var useUtilityStore = require('../useUtilityStore-
|
|
16
|
+
var useUtilityStore = require('../useUtilityStore-DhJI92iM.js');
|
|
17
17
|
var classNames = require('classnames');
|
|
18
18
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
19
19
|
var ramda = require('ramda');
|
|
20
|
+
var i18next = require('i18next');
|
|
21
|
+
var yup = require('yup');
|
|
20
22
|
var Radio = require('@bigbinary/neetoui/formik/Radio');
|
|
21
23
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
22
24
|
var managers = require('@bigbinary/neetoui/managers');
|
|
23
25
|
var jsxRuntime = require('react/jsx-runtime');
|
|
24
26
|
var Collapse = require('@bigbinary/neeto-icons/Collapse');
|
|
25
|
-
var i18next = require('i18next');
|
|
26
27
|
var Left = require('@bigbinary/neeto-icons/Left');
|
|
27
28
|
var Textarea = require('@bigbinary/neetoui/formik/Textarea');
|
|
28
29
|
var Input$1 = require('@bigbinary/neetoui/formik/Input');
|
|
29
30
|
var Switch = require('@bigbinary/neetoui/formik/Switch');
|
|
30
31
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
31
32
|
var Editor = require('@monaco-editor/react');
|
|
33
|
+
var Help = require('@bigbinary/neeto-icons/Help');
|
|
32
34
|
var DynamicVariables = require('@bigbinary/neeto-molecules/DynamicVariables');
|
|
33
35
|
var Label = require('@bigbinary/neetoui/Label');
|
|
34
36
|
var Select = require('@bigbinary/neetoui/Select');
|
|
@@ -47,7 +49,6 @@ var _toArray = require('@babel/runtime/helpers/toArray');
|
|
|
47
49
|
var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
|
|
48
50
|
var Tag = require('@bigbinary/neetoui/Tag');
|
|
49
51
|
var reactSelect = require('react-select');
|
|
50
|
-
var yup = require('yup');
|
|
51
52
|
var constants = require('../constants-BkPVd-Gz.js');
|
|
52
53
|
var Radio$1 = require('@bigbinary/neetoui/Radio');
|
|
53
54
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -60,7 +61,6 @@ var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
|
60
61
|
var Container = require('@bigbinary/neeto-molecules/Container');
|
|
61
62
|
var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
|
|
62
63
|
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
63
|
-
var Help = require('@bigbinary/neeto-icons/Help');
|
|
64
64
|
var Switch$1 = require('@bigbinary/neetoui/Switch');
|
|
65
65
|
var useCustomDataStore = require('../useCustomDataStore-BEG8I__n.js');
|
|
66
66
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
@@ -87,7 +87,7 @@ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
|
87
87
|
|
|
88
88
|
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
89
89
|
|
|
90
|
-
var css = ".neeto-
|
|
90
|
+
var css = ".neeto-rules-main-content__container{height:100dvh!important}.neeto-rules-main-card .neeto-ui-btn.underline{text-align:left}.neeto-rules-side-panel{flex-grow:0;flex-shrink:0}.neeto-rules-side-panel--small{width:320px}@media (min-width:1024px){.neeto-rules-side-panel--small{width:380px}}.neeto-rules-side-panel--large{width:380px}@media (min-width:1024px){.neeto-rules-side-panel--large{width:480px}}.neeto-rules-json-editor__wrapper{height:35vh;padding-bottom:2rem;position:relative}.neeto-rules-json-editor__editor{height:100%}.neeto-rules-json-editor__dynamic-variables{position:absolute;right:1rem;top:1rem;z-index:10}[data-tippy-root]{z-index:99999!important}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19sYXlvdXQuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9tYWluLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9fcGFuZS5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2pzb24tZWRpdG9yLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FDRSx1QkNDRixDREVBLCtDQUNFLGVDQ0YsQ0NOQSx3QkFFRSxXQUFBLENBREEsYURVRixDQ1BFLCtCQUNFLFdEU0osQ0NQSSwwQkFIRiwrQkFJSSxXRFVKLENBQ0YsQ0NQRSwrQkFDRSxXRFNKLENDUEksMEJBSEYsK0JBSUksV0RVSixDQUNGLENFMUJFLGtDQUVFLFdBQUEsQ0FDQSxtQkFBQSxDQUZBLGlCRitCSixDRTFCRSxpQ0FDRSxXRjRCSixDRXpCRSw0Q0FDRSxpQkFBQSxDQUVBLFVBQUEsQ0FEQSxRQUFBLENBRUEsVUYyQkosQ0cxQ0Esa0JBQ0UsdUJINkNGIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLXJ1bGVzLW1haW4tY29udGVudF9fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDBkdmggIWltcG9ydGFudDtcbn1cblxuLm5lZXRvLXJ1bGVzLW1haW4tY2FyZCAubmVldG8tdWktYnRuLnVuZGVybGluZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59IiwiLm5lZXRvLXJ1bGVzLW1haW4tY29udGVudF9fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDBkdmggIWltcG9ydGFudDtcbn1cblxuLm5lZXRvLXJ1bGVzLW1haW4tY2FyZCAubmVldG8tdWktYnRuLnVuZGVybGluZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5uZWV0by1ydWxlcy1zaWRlLXBhbmVsIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbn1cbi5uZWV0by1ydWxlcy1zaWRlLXBhbmVsLS1zbWFsbCB7XG4gIHdpZHRoOiAzMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm5lZXRvLXJ1bGVzLXNpZGUtcGFuZWwtLXNtYWxsIHtcbiAgICB3aWR0aDogMzgwcHg7XG4gIH1cbn1cbi5uZWV0by1ydWxlcy1zaWRlLXBhbmVsLS1sYXJnZSB7XG4gIHdpZHRoOiAzODBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm5lZXRvLXJ1bGVzLXNpZGUtcGFuZWwtLWxhcmdlIHtcbiAgICB3aWR0aDogNDgwcHg7XG4gIH1cbn1cblxuLm5lZXRvLXJ1bGVzLWpzb24tZWRpdG9yX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDM1dmg7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuLm5lZXRvLXJ1bGVzLWpzb24tZWRpdG9yX19lZGl0b3Ige1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubmVldG8tcnVsZXMtanNvbi1lZGl0b3JfX2R5bmFtaWMtdmFyaWFibGVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFyZW07XG4gIHJpZ2h0OiAxcmVtO1xuICB6LWluZGV4OiAxMDtcbn1cblxuW2RhdGEtdGlwcHktcm9vdF0ge1xuICB6LWluZGV4OiA5OTk5OSAhaW1wb3J0YW50O1xufSIsIi5uZWV0by1ydWxlcy1zaWRlLXBhbmVsIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtZ3JvdzogMDtcblxuICAmLS1zbWFsbCB7XG4gICAgd2lkdGg6IDMyMHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgd2lkdGg6IDM4MHB4O1xuICAgIH1cbiAgfVxuXG4gICYtLWxhcmdlIHtcbiAgICB3aWR0aDogMzgwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICB3aWR0aDogNDgwcHg7XG4gICAgfVxuICB9XG59IiwiLm5lZXRvLXJ1bGVzLWpzb24tZWRpdG9yIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMzV2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gICZfX2VkaXRvciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJl9fZHluYW1pYy12YXJpYWJsZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFyZW07XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cbiIsIltkYXRhLXRpcHB5LXJvb3RdIHtcbiAgei1pbmRleDogOTk5OTkgIWltcG9ydGFudDtcbn1cbiJdfQ== */";
|
|
91
91
|
n(css,{});
|
|
92
92
|
|
|
93
93
|
var useActiveField = function useActiveField(name) {
|
|
@@ -196,9 +196,9 @@ var Header = function Header(_ref) {
|
|
|
196
196
|
});
|
|
197
197
|
};
|
|
198
198
|
|
|
199
|
-
var _excluded$
|
|
200
|
-
function ownKeys$
|
|
201
|
-
function _objectSpread$
|
|
199
|
+
var _excluded$f = ["component"];
|
|
200
|
+
function ownKeys$u(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; }
|
|
201
|
+
function _objectSpread$u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
202
202
|
var Panel = function Panel() {
|
|
203
203
|
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
204
204
|
return {
|
|
@@ -219,17 +219,17 @@ var Panel = function Panel() {
|
|
|
219
219
|
Object.assign(data, panelState.data);
|
|
220
220
|
}
|
|
221
221
|
var Component = config.component,
|
|
222
|
-
paneProps = _objectWithoutProperties(config, _excluded$
|
|
222
|
+
paneProps = _objectWithoutProperties(config, _excluded$f);
|
|
223
223
|
var isOpen = !!panelState.type;
|
|
224
224
|
var hasOverlays = managers.manager.hasOverlays();
|
|
225
225
|
var panelSize = {
|
|
226
226
|
small: "neeto-rules-side-panel--small",
|
|
227
227
|
large: "neeto-rules-side-panel--large"
|
|
228
228
|
}[panelState.size] || "neeto-rules-side-panel--small";
|
|
229
|
-
return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$
|
|
229
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$u(_objectSpread$u({
|
|
230
230
|
className: classNames("neeto-rules-side-panel neeto-ui-border-gray-300 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))
|
|
231
231
|
}, paneProps), {}, {
|
|
232
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$
|
|
232
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$u(_objectSpread$u({}, data), {}, {
|
|
233
233
|
onClose: resetPanelState
|
|
234
234
|
}), panelState.type)
|
|
235
235
|
}));
|
|
@@ -293,6 +293,11 @@ var DEFAULT_RULE_ACTION = {
|
|
|
293
293
|
var EDITOR_ADDONS = ["code-block", "block-quote", "image-upload"];
|
|
294
294
|
var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
295
295
|
var ACTION_INPUT_TYPES = ["text", "number", "decimal", "regex"];
|
|
296
|
+
var DEFAULT_HELP_POPOVER_PROPS = {
|
|
297
|
+
helpLinkProps: {
|
|
298
|
+
label: i18next.t("neetoRules.labels.viewHelpArticle")
|
|
299
|
+
}
|
|
300
|
+
};
|
|
296
301
|
|
|
297
302
|
var getFieldDetails$1 = function getFieldDetails(fieldValue) {
|
|
298
303
|
var actionOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -574,7 +579,9 @@ var LongTextField = function LongTextField(_ref2) {
|
|
|
574
579
|
_ref2$selectedField = _ref2.selectedField,
|
|
575
580
|
selectedField = _ref2$selectedField === void 0 ? {} : _ref2$selectedField,
|
|
576
581
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
577
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
582
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
583
|
+
_ref2$required = _ref2.required,
|
|
584
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
578
585
|
var _useActiveField2 = useActiveField(name, {
|
|
579
586
|
shouldAutoFocus: shouldAutoFocus
|
|
580
587
|
}),
|
|
@@ -584,8 +591,8 @@ var LongTextField = function LongTextField(_ref2) {
|
|
|
584
591
|
return /*#__PURE__*/jsxRuntime.jsx(Textarea, {
|
|
585
592
|
name: name,
|
|
586
593
|
ref: ref,
|
|
594
|
+
required: required,
|
|
587
595
|
rows: rows,
|
|
588
|
-
required: true,
|
|
589
596
|
className: "w-full",
|
|
590
597
|
onFocus: setFieldActive
|
|
591
598
|
});
|
|
@@ -609,7 +616,13 @@ var EDITOR_CONFIG = {
|
|
|
609
616
|
scrollBeyondLastLine: false,
|
|
610
617
|
autoIndent: "full"
|
|
611
618
|
};
|
|
612
|
-
var API_REQUEST_FIELDS =
|
|
619
|
+
var API_REQUEST_FIELDS = {
|
|
620
|
+
TEMPLATE_ID: "templateId",
|
|
621
|
+
ENDPOINT: "endpoint",
|
|
622
|
+
BODY: "body",
|
|
623
|
+
ENABLE_CUSTOM_HEADERS: "enableCustomHeaders",
|
|
624
|
+
CUSTOM_HEADERS: "customHeaders"
|
|
625
|
+
};
|
|
613
626
|
|
|
614
627
|
var addOption = function addOption(arrayHelpers) {
|
|
615
628
|
return arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);
|
|
@@ -630,9 +643,72 @@ var hasKeyOrValue = ramda.whereAny({
|
|
|
630
643
|
var formatCustomFields = function formatCustomFields(customFields) {
|
|
631
644
|
return neetoCist.isPresent(customFields) ? customFields : [CUSTOM_HEADERS_INITIAL_VALUE];
|
|
632
645
|
};
|
|
646
|
+
var rejectEmptyKeyValuePairs = ramda.reject(ramda.whereAny({
|
|
647
|
+
key: ramda.isEmpty,
|
|
648
|
+
value: ramda.isEmpty
|
|
649
|
+
}));
|
|
650
|
+
var areHeadersSame = function areHeadersSame(enableCustomHeaders, customHeaders) {
|
|
651
|
+
var template = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
652
|
+
var templateHasCustomHeaders = template.enableCustomHeaders,
|
|
653
|
+
templateHeaders = template.customHeaders;
|
|
654
|
+
if (!enableCustomHeaders && !templateHasCustomHeaders) return true;
|
|
655
|
+
if (enableCustomHeaders !== templateHasCustomHeaders) return false;
|
|
656
|
+
return ramda.equals(customHeaders, templateHeaders);
|
|
657
|
+
};
|
|
658
|
+
var isBodyAvailable = function isBodyAvailable(body) {
|
|
659
|
+
try {
|
|
660
|
+
var data = JSON.parse(body);
|
|
661
|
+
return neetoCist.isPresent(data);
|
|
662
|
+
} catch (_unused) {
|
|
663
|
+
return false;
|
|
664
|
+
}
|
|
665
|
+
};
|
|
666
|
+
var formatTemplateValues = function formatTemplateValues(key, template) {
|
|
667
|
+
switch (key) {
|
|
668
|
+
case API_REQUEST_FIELDS.CUSTOM_HEADERS:
|
|
669
|
+
return formatCustomFields(template[key]);
|
|
670
|
+
case API_REQUEST_FIELDS.TEMPLATE_ID:
|
|
671
|
+
return template.id;
|
|
672
|
+
default:
|
|
673
|
+
return template[key];
|
|
674
|
+
}
|
|
675
|
+
};
|
|
676
|
+
|
|
677
|
+
var sanitizeHelpPopoverProps = ramda.unless(ramda.path(["helpLinkProps", "href"]), ramda.omit(["helpLinkProps"]));
|
|
678
|
+
var setEditorContent = function setEditorContent(ref, content) {
|
|
679
|
+
if (!ref.current) return;
|
|
680
|
+
ref.current.editor.commands.setContent(content);
|
|
681
|
+
};
|
|
682
|
+
var mergeRefs = function mergeRefs() {
|
|
683
|
+
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
684
|
+
refs[_key] = arguments[_key];
|
|
685
|
+
}
|
|
686
|
+
return function (node) {
|
|
687
|
+
refs.forEach(function (ref) {
|
|
688
|
+
if (typeof ref === "function") ref(node);else if (ref !== null) ref.current = node;
|
|
689
|
+
});
|
|
690
|
+
};
|
|
691
|
+
};
|
|
633
692
|
|
|
634
693
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
635
694
|
var dotPath = ramda.useWith(ramda.path, [ramda.split(".")]);
|
|
695
|
+
var areValuesEqual = function areValuesEqual(value1, value2) {
|
|
696
|
+
var normalize = ramda.when(ramda.is(String), ramda.trim);
|
|
697
|
+
return ramda.eqBy(normalize, value1, value2);
|
|
698
|
+
};
|
|
699
|
+
var buildHelpPopoverProps = function buildHelpPopoverProps(popoverProps) {
|
|
700
|
+
var combinedProps = ramda.mergeDeepLeft(popoverProps, DEFAULT_HELP_POPOVER_PROPS);
|
|
701
|
+
return sanitizeHelpPopoverProps(combinedProps);
|
|
702
|
+
};
|
|
703
|
+
var withHelpPopover = function withHelpPopover(helpPopoverProps) {
|
|
704
|
+
return neetoCist.isPresent(helpPopoverProps) ? {
|
|
705
|
+
labelProps: {
|
|
706
|
+
helpIconProps: {
|
|
707
|
+
popoverProps: buildHelpPopoverProps(helpPopoverProps)
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
} : {};
|
|
711
|
+
};
|
|
636
712
|
|
|
637
713
|
var KeyValuePairsField = reactUtils.withT(function (_ref) {
|
|
638
714
|
var t = _ref.t,
|
|
@@ -691,9 +767,13 @@ var KeyValuePairsField = reactUtils.withT(function (_ref) {
|
|
|
691
767
|
});
|
|
692
768
|
});
|
|
693
769
|
|
|
770
|
+
function ownKeys$t(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; }
|
|
771
|
+
function _objectSpread$t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
694
772
|
var CustomHeaders = function CustomHeaders(_ref) {
|
|
695
773
|
var name = _ref.name,
|
|
696
|
-
onFocus = _ref.onFocus
|
|
774
|
+
onFocus = _ref.onFocus,
|
|
775
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
776
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
697
777
|
var _useFormikContext = formik.useFormikContext(),
|
|
698
778
|
values = _useFormikContext.values,
|
|
699
779
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
@@ -712,27 +792,31 @@ var CustomHeaders = function CustomHeaders(_ref) {
|
|
|
712
792
|
var label = t("neetoRules.labels.includeHeaders");
|
|
713
793
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
714
794
|
className: "flex flex-col space-y-4 mb-4",
|
|
715
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
795
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, _objectSpread$t({
|
|
716
796
|
label: label,
|
|
717
797
|
onFocus: onFocus,
|
|
718
798
|
"data-cy": "neeto-rules-api-fields-".concat(neetoCist.hyphenate(label), "-switch"),
|
|
719
799
|
name: switchName,
|
|
720
800
|
onChange: handleChange
|
|
721
|
-
}), isCustomHeadersEnabled && /*#__PURE__*/jsxRuntime.jsx(KeyValuePairsField, {
|
|
801
|
+
}, withHelpPopover(helpPopoverProps))), isCustomHeadersEnabled && /*#__PURE__*/jsxRuntime.jsx(KeyValuePairsField, {
|
|
722
802
|
onFocus: onFocus,
|
|
723
803
|
entity: t("neetoRules.labels.headers"),
|
|
724
|
-
name:
|
|
804
|
+
name: keyValuePairsFieldName
|
|
725
805
|
})]
|
|
726
806
|
});
|
|
727
807
|
};
|
|
728
808
|
|
|
809
|
+
function ownKeys$s(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; }
|
|
810
|
+
function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
729
811
|
var JsonEditor = function JsonEditor(_ref) {
|
|
730
812
|
var name = _ref.name,
|
|
731
813
|
onFocus = _ref.onFocus,
|
|
732
814
|
_ref$initialValue = _ref.initialValue,
|
|
733
815
|
initialValue = _ref$initialValue === void 0 ? "{}" : _ref$initialValue,
|
|
734
816
|
_ref$variables = _ref.variables,
|
|
735
|
-
variables = _ref$variables === void 0 ? [] : _ref$variables
|
|
817
|
+
variables = _ref$variables === void 0 ? [] : _ref$variables,
|
|
818
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
819
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
736
820
|
var editorRef = react.useRef(null);
|
|
737
821
|
var completionProviderRef = react.useRef(null);
|
|
738
822
|
var _useField = formik.useField(name),
|
|
@@ -821,12 +905,18 @@ var JsonEditor = function JsonEditor(_ref) {
|
|
|
821
905
|
};
|
|
822
906
|
}, []);
|
|
823
907
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
824
|
-
className: "space-y-2
|
|
825
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
908
|
+
className: "space-y-2",
|
|
909
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread$s(_objectSpread$s({
|
|
826
910
|
required: true,
|
|
827
|
-
"data-cy": "api-field-body"
|
|
911
|
+
"data-cy": "api-field-body"
|
|
912
|
+
}, neetoCist.isPresent(helpPopoverProps) && {
|
|
913
|
+
helpIconProps: {
|
|
914
|
+
icon: Help,
|
|
915
|
+
popoverProps: buildHelpPopoverProps(helpPopoverProps)
|
|
916
|
+
}
|
|
917
|
+
}), {}, {
|
|
828
918
|
children: t("neetoRules.labels.body")
|
|
829
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
919
|
+
})), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
830
920
|
className: "neeto-rules-json-editor__wrapper",
|
|
831
921
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
832
922
|
className: "neeto-rules-json-editor__dynamic-variables",
|
|
@@ -852,6 +942,43 @@ var JsonEditor = function JsonEditor(_ref) {
|
|
|
852
942
|
});
|
|
853
943
|
};
|
|
854
944
|
|
|
945
|
+
var SaveAsTemplate = function SaveAsTemplate(_ref) {
|
|
946
|
+
var name = _ref.name,
|
|
947
|
+
_ref$className = _ref.className,
|
|
948
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
949
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
950
|
+
values = _useFormikContext.values,
|
|
951
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
952
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
953
|
+
t = _useTranslation.t;
|
|
954
|
+
var switchName = "".concat(name, ".shouldSaveAsTemplate");
|
|
955
|
+
var templateName = "".concat(name, ".templateName");
|
|
956
|
+
var shouldSaveAsTemplate = dotPath(switchName, values);
|
|
957
|
+
var handleChange = function handleChange(_ref2) {
|
|
958
|
+
var checked = _ref2.target.checked;
|
|
959
|
+
if (!checked) {
|
|
960
|
+
setFieldValue(templateName, "");
|
|
961
|
+
}
|
|
962
|
+
setFieldValue(switchName, checked);
|
|
963
|
+
};
|
|
964
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
965
|
+
className: classNames(["flex flex-col space-y-4", className]),
|
|
966
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
967
|
+
"data-cy": "neeto-rules-save-as-template-switch",
|
|
968
|
+
label: t("neetoRules.labels.saveAsTemplate"),
|
|
969
|
+
name: switchName,
|
|
970
|
+
onChange: handleChange
|
|
971
|
+
}), shouldSaveAsTemplate && /*#__PURE__*/jsxRuntime.jsx(Input$1, {
|
|
972
|
+
autoFocus: true,
|
|
973
|
+
required: true,
|
|
974
|
+
label: t("neetoRules.labels.templateName"),
|
|
975
|
+
name: templateName
|
|
976
|
+
})]
|
|
977
|
+
});
|
|
978
|
+
};
|
|
979
|
+
|
|
980
|
+
function ownKeys$r(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; }
|
|
981
|
+
function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
855
982
|
var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
856
983
|
var selectedField = _ref.selectedField,
|
|
857
984
|
templates = _ref.templates,
|
|
@@ -872,7 +999,9 @@ var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
|
872
999
|
}, templates);
|
|
873
1000
|
onChange === null || onChange === void 0 || onChange(template);
|
|
874
1001
|
};
|
|
875
|
-
|
|
1002
|
+
var _ref2 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1003
|
+
helpPopoverProps = _ref2.template;
|
|
1004
|
+
return /*#__PURE__*/jsxRuntime.jsx(Select, _objectSpread$r({
|
|
876
1005
|
onFocus: onFocus,
|
|
877
1006
|
isClearable: true,
|
|
878
1007
|
isSearchable: true,
|
|
@@ -886,7 +1015,35 @@ var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
|
886
1015
|
placeholder: t("neetoRules.placeholders.selectTemplate"),
|
|
887
1016
|
value: selectedTemplate,
|
|
888
1017
|
onChange: handleTemplateChange
|
|
889
|
-
});
|
|
1018
|
+
}, withHelpPopover(helpPopoverProps)));
|
|
1019
|
+
};
|
|
1020
|
+
|
|
1021
|
+
var useHasFieldChanged = function useHasFieldChanged(name) {
|
|
1022
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
1023
|
+
values = _useFormikContext.values,
|
|
1024
|
+
initialValues = _useFormikContext.initialValues;
|
|
1025
|
+
var initialValue = dotPath(name, initialValues);
|
|
1026
|
+
var value = dotPath(name, values);
|
|
1027
|
+
return neetoCist.notEqualsDeep(initialValue, value);
|
|
1028
|
+
};
|
|
1029
|
+
|
|
1030
|
+
var useResetSaveAsTemplateOnHide = function useResetSaveAsTemplateOnHide(name, shouldShowSaveAsTemplate) {
|
|
1031
|
+
var _dotPath;
|
|
1032
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
1033
|
+
values = _useFormikContext.values,
|
|
1034
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
1035
|
+
var currentValue = (_dotPath = dotPath(name, values)) !== null && _dotPath !== void 0 ? _dotPath : {};
|
|
1036
|
+
var isVisible = shouldShowSaveAsTemplate(currentValue);
|
|
1037
|
+
var wasVisibleRef = react.useRef(isVisible);
|
|
1038
|
+
react.useEffect(function () {
|
|
1039
|
+
var wasVisible = wasVisibleRef.current;
|
|
1040
|
+
if (wasVisible && !isVisible) {
|
|
1041
|
+
setFieldValue("".concat(name, ".shouldSaveAsTemplate"), false);
|
|
1042
|
+
setFieldValue("".concat(name, ".templateName"), "");
|
|
1043
|
+
}
|
|
1044
|
+
wasVisibleRef.current = isVisible;
|
|
1045
|
+
}, [isVisible, name, setFieldValue]);
|
|
1046
|
+
return isVisible;
|
|
890
1047
|
};
|
|
891
1048
|
|
|
892
1049
|
var Target$i = function Target(_ref) {
|
|
@@ -939,20 +1096,46 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
939
1096
|
t = _useTranslation2.t;
|
|
940
1097
|
var _useFormikContext = formik.useFormikContext(),
|
|
941
1098
|
setFieldValue = _useFormikContext.setFieldValue,
|
|
942
|
-
|
|
1099
|
+
formValues = _useFormikContext.values;
|
|
943
1100
|
var _useActiveField2 = useActiveField(name, {
|
|
944
1101
|
shouldAutoFocus: shouldAutoFocus
|
|
945
1102
|
}),
|
|
946
1103
|
ref = _useActiveField2.ref,
|
|
947
1104
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
948
|
-
var
|
|
1105
|
+
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
1106
|
+
return {
|
|
1107
|
+
isSaveAsTemplateEnabled: store["isSaveAsTemplateEnabled"]
|
|
1108
|
+
};
|
|
1109
|
+
}, shallow.shallow),
|
|
1110
|
+
isSaveAsTemplateEnabled = _useUtilityStore.isSaveAsTemplateEnabled;
|
|
1111
|
+
var hasFieldChanged = useHasFieldChanged(name);
|
|
1112
|
+
var templates = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates) || [];
|
|
1113
|
+
var shouldShowSaveAsTemplate = react.useCallback(function () {
|
|
1114
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1115
|
+
templateId = _ref3.templateId,
|
|
1116
|
+
endpoint = _ref3.endpoint,
|
|
1117
|
+
enableCustomHeaders = _ref3.enableCustomHeaders,
|
|
1118
|
+
_ref3$customHeaders = _ref3.customHeaders,
|
|
1119
|
+
customHeaders = _ref3$customHeaders === void 0 ? [CUSTOM_HEADERS_INITIAL_VALUE] : _ref3$customHeaders,
|
|
1120
|
+
body = _ref3.body;
|
|
1121
|
+
var template = neetoCist.findBy({
|
|
1122
|
+
id: templateId
|
|
1123
|
+
}, templates);
|
|
1124
|
+
var hasContent = neetoCist.isPresent(endpoint) || neetoCist.isPresent(rejectEmptyKeyValuePairs(customHeaders)) || isBodyAvailable(body);
|
|
1125
|
+
var isContentDifferentFromTemplate = !(areValuesEqual(template === null || template === void 0 ? void 0 : template.endpoint, endpoint) && areHeadersSame(enableCustomHeaders, customHeaders, template) && ramda.equals(template === null || template === void 0 ? void 0 : template.body, body));
|
|
1126
|
+
return hasContent && hasFieldChanged && isContentDifferentFromTemplate;
|
|
1127
|
+
}, [templates, hasFieldChanged]);
|
|
1128
|
+
var isSaveAsTemplateVisible = useResetSaveAsTemplateOnHide(name, isSaveAsTemplateEnabled ? shouldShowSaveAsTemplate : ramda.F);
|
|
949
1129
|
var isTemplateSelectionEnabled = neetoCist.isPresent(templates);
|
|
950
1130
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
951
|
-
API_REQUEST_FIELDS.forEach(function (key) {
|
|
952
|
-
var value = key
|
|
1131
|
+
ramda.values(API_REQUEST_FIELDS).forEach(function (key) {
|
|
1132
|
+
var value = formatTemplateValues(key, template);
|
|
953
1133
|
setFieldValue("".concat(name, ".").concat(key), value);
|
|
954
1134
|
});
|
|
955
1135
|
};
|
|
1136
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1137
|
+
customHeadersHelpPopoverProps = _ref4.customHeaders,
|
|
1138
|
+
bodyHelpPopoverProps = _ref4.body;
|
|
956
1139
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
957
1140
|
className: "w-full",
|
|
958
1141
|
children: [isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
@@ -973,12 +1156,16 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
973
1156
|
onFocus: setFieldActive
|
|
974
1157
|
}), /*#__PURE__*/jsxRuntime.jsx(CustomHeaders, {
|
|
975
1158
|
name: name,
|
|
1159
|
+
helpPopoverProps: customHeadersHelpPopoverProps,
|
|
976
1160
|
onFocus: setFieldActive
|
|
977
1161
|
}), /*#__PURE__*/jsxRuntime.jsx(JsonEditor, {
|
|
978
|
-
|
|
1162
|
+
helpPopoverProps: bodyHelpPopoverProps,
|
|
1163
|
+
initialValue: dotPath("".concat(name, ".body"), formValues),
|
|
979
1164
|
name: "".concat(name, ".body"),
|
|
980
1165
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
981
1166
|
onFocus: setFieldActive
|
|
1167
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsxRuntime.jsx(SaveAsTemplate, {
|
|
1168
|
+
name: name
|
|
982
1169
|
})]
|
|
983
1170
|
});
|
|
984
1171
|
};
|
|
@@ -1087,7 +1274,9 @@ var Target$g = function Target(_ref) {
|
|
|
1087
1274
|
var DateField$1 = function DateField(_ref2) {
|
|
1088
1275
|
var name = _ref2.name,
|
|
1089
1276
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
1090
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
1277
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
1278
|
+
_ref2$required = _ref2.required,
|
|
1279
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
1091
1280
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
1092
1281
|
t = _useTranslation2.t;
|
|
1093
1282
|
var _useField3 = formik.useField("".concat(name, ".value")),
|
|
@@ -1104,6 +1293,7 @@ var DateField$1 = function DateField(_ref2) {
|
|
|
1104
1293
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
1105
1294
|
return /*#__PURE__*/jsxRuntime.jsx(DatePicker, {
|
|
1106
1295
|
ref: ref,
|
|
1296
|
+
required: required,
|
|
1107
1297
|
defaultValue: field.value,
|
|
1108
1298
|
label: t("neetoRules.form.selectDate"),
|
|
1109
1299
|
name: "".concat(name, ".value"),
|
|
@@ -1138,6 +1328,7 @@ var EmailIdFields = function EmailIdFields(_ref) {
|
|
|
1138
1328
|
children: /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, {
|
|
1139
1329
|
name: name,
|
|
1140
1330
|
onFocus: onFocus,
|
|
1331
|
+
required: true,
|
|
1141
1332
|
label: t("neetoRules.common.emailIds"),
|
|
1142
1333
|
placeholder: t("neetoRules.placeholders.emailField"),
|
|
1143
1334
|
ref: initialFocusRef,
|
|
@@ -1149,9 +1340,9 @@ var EmailIdFields = function EmailIdFields(_ref) {
|
|
|
1149
1340
|
});
|
|
1150
1341
|
};
|
|
1151
1342
|
|
|
1152
|
-
var _excluded$
|
|
1153
|
-
function ownKeys$
|
|
1154
|
-
function _objectSpread$
|
|
1343
|
+
var _excluded$e = ["autoFocus", "name", "value", "label", "variables", "addons", "editorRef", "defaults"];
|
|
1344
|
+
function ownKeys$q(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; }
|
|
1345
|
+
function _objectSpread$q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$q(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1155
1346
|
var EditorAction = function EditorAction(_ref) {
|
|
1156
1347
|
var _ref$autoFocus = _ref.autoFocus,
|
|
1157
1348
|
autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
|
|
@@ -1166,7 +1357,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1166
1357
|
_ref$editorRef = _ref.editorRef,
|
|
1167
1358
|
editorRef = _ref$editorRef === void 0 ? null : _ref$editorRef,
|
|
1168
1359
|
defaults = _ref.defaults,
|
|
1169
|
-
otherProps = _objectWithoutProperties(_ref, _excluded$
|
|
1360
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$e);
|
|
1170
1361
|
var _useStateWithDependen = reactUtils.useStateWithDependency(value, [name]),
|
|
1171
1362
|
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
1172
1363
|
editorData = _useStateWithDependen2[0],
|
|
@@ -1177,7 +1368,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1177
1368
|
react.useEffect(function () {
|
|
1178
1369
|
setFieldValue(name, editorData);
|
|
1179
1370
|
}, [debouncedValue]);
|
|
1180
|
-
return /*#__PURE__*/react.createElement(FormikEditor, _objectSpread$
|
|
1371
|
+
return /*#__PURE__*/react.createElement(FormikEditor, _objectSpread$q({
|
|
1181
1372
|
addons: addons,
|
|
1182
1373
|
autoFocus: autoFocus,
|
|
1183
1374
|
defaults: defaults,
|
|
@@ -1193,6 +1384,9 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1193
1384
|
}, otherProps));
|
|
1194
1385
|
};
|
|
1195
1386
|
|
|
1387
|
+
var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required"];
|
|
1388
|
+
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; }
|
|
1389
|
+
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; }
|
|
1196
1390
|
var Target$f = function Target(_ref) {
|
|
1197
1391
|
var _selectedOption$label;
|
|
1198
1392
|
var dropdownOptions = _ref.dropdownOptions,
|
|
@@ -1251,7 +1445,10 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1251
1445
|
selectedField = _ref2.selectedField,
|
|
1252
1446
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
1253
1447
|
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
1254
|
-
className = _ref2.className
|
|
1448
|
+
className = _ref2.className,
|
|
1449
|
+
_ref2$required = _ref2.required,
|
|
1450
|
+
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
1451
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded$d);
|
|
1255
1452
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
1256
1453
|
t = _useTranslation2.t;
|
|
1257
1454
|
var _useField3 = formik.useField(name),
|
|
@@ -1282,34 +1479,23 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1282
1479
|
setValue((_option$value = option === null || option === void 0 ? void 0 : option.value) !== null && _option$value !== void 0 ? _option$value : null);
|
|
1283
1480
|
setTouched(true);
|
|
1284
1481
|
};
|
|
1285
|
-
return /*#__PURE__*/jsxRuntime.jsx(Select$1, {
|
|
1482
|
+
return /*#__PURE__*/jsxRuntime.jsx(Select$1, _objectSpread$p(_objectSpread$p({}, _objectSpread$p({
|
|
1286
1483
|
className: className,
|
|
1287
1484
|
name: name,
|
|
1485
|
+
required: required
|
|
1486
|
+
}, otherProps)), {}, {
|
|
1288
1487
|
innerRef: ref,
|
|
1289
1488
|
label: defaultLabel,
|
|
1290
1489
|
options: dropdownOptions,
|
|
1291
1490
|
value: selectedOption,
|
|
1292
1491
|
onChange: handleSelectOption,
|
|
1293
1492
|
onFocus: setFieldActive
|
|
1294
|
-
});
|
|
1493
|
+
}));
|
|
1295
1494
|
};
|
|
1296
1495
|
SelectField$2.Target = Target$f;
|
|
1297
1496
|
|
|
1298
|
-
var
|
|
1299
|
-
|
|
1300
|
-
ref.current.editor.commands.setContent(content);
|
|
1301
|
-
};
|
|
1302
|
-
var mergeRefs = function mergeRefs() {
|
|
1303
|
-
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1304
|
-
refs[_key] = arguments[_key];
|
|
1305
|
-
}
|
|
1306
|
-
return function (node) {
|
|
1307
|
-
refs.forEach(function (ref) {
|
|
1308
|
-
if (typeof ref === "function") ref(node);else if (ref !== null) ref.current = node;
|
|
1309
|
-
});
|
|
1310
|
-
};
|
|
1311
|
-
};
|
|
1312
|
-
|
|
1497
|
+
function ownKeys$o(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; }
|
|
1498
|
+
function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$o(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1313
1499
|
var Target$e = function Target(_ref) {
|
|
1314
1500
|
var selectedField = _ref.selectedField,
|
|
1315
1501
|
_ref$separatorIndex = _ref.separatorIndex,
|
|
@@ -1382,8 +1568,28 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1382
1568
|
}),
|
|
1383
1569
|
initialFocusRef = _useActiveField2.ref,
|
|
1384
1570
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
1571
|
+
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
1572
|
+
return {
|
|
1573
|
+
isSaveAsTemplateEnabled: store["isSaveAsTemplateEnabled"]
|
|
1574
|
+
};
|
|
1575
|
+
}, shallow.shallow),
|
|
1576
|
+
isSaveAsTemplateEnabled = _useUtilityStore.isSaveAsTemplateEnabled;
|
|
1577
|
+
var hasFieldChanged = useHasFieldChanged(name);
|
|
1385
1578
|
var templates = selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates;
|
|
1386
1579
|
var isTemplateSelectionEnabled = neetoCist.isPresent(templates);
|
|
1580
|
+
var shouldShowSaveAsTemplate = react.useCallback(function () {
|
|
1581
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1582
|
+
templateId = _ref3.templateId,
|
|
1583
|
+
subject = _ref3.subject,
|
|
1584
|
+
body = _ref3.body;
|
|
1585
|
+
var template = neetoCist.findBy({
|
|
1586
|
+
id: templateId
|
|
1587
|
+
}, templates);
|
|
1588
|
+
var hasContent = neetoCist.isPresent(subject) || neetoCist.isPresent(body);
|
|
1589
|
+
var isContentDifferentFromTemplate = !(areValuesEqual(template === null || template === void 0 ? void 0 : template.subject, subject) && (template === null || template === void 0 ? void 0 : template.body) === body);
|
|
1590
|
+
return hasContent && hasFieldChanged && isContentDifferentFromTemplate;
|
|
1591
|
+
}, [templates, hasFieldChanged]);
|
|
1592
|
+
var isSaveAsTemplateVisible = useResetSaveAsTemplateOnHide(name, isSaveAsTemplateEnabled ? shouldShowSaveAsTemplate : ramda.F);
|
|
1387
1593
|
var isFirstFieldInForm = function isFirstFieldInForm(field) {
|
|
1388
1594
|
if (isTemplateSelectionEnabled) return false;
|
|
1389
1595
|
if (field === "emails") return true;
|
|
@@ -1391,22 +1597,26 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1391
1597
|
return !isEmailIdField && selectedField.hideSubject;
|
|
1392
1598
|
};
|
|
1393
1599
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
1600
|
+
setFieldValue("".concat(name, ".templateId"), template.id);
|
|
1394
1601
|
setFieldValue("".concat(name, ".body"), template.body);
|
|
1395
1602
|
setEditorContent(editorRef, template.body);
|
|
1396
1603
|
if (selectedField.hideSubject) return;
|
|
1397
1604
|
setFieldValue("".concat(name, ".subject"), template.subject);
|
|
1398
1605
|
};
|
|
1606
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1607
|
+
recipientFieldHelpPopoverProps = _ref4.recipientField;
|
|
1399
1608
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1400
1609
|
className: "w-full",
|
|
1401
|
-
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, {
|
|
1610
|
+
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, _objectSpread$o({
|
|
1402
1611
|
index: index,
|
|
1403
1612
|
selectedField: selectedField,
|
|
1613
|
+
required: true,
|
|
1404
1614
|
shouldAutoFocus: true,
|
|
1405
1615
|
className: "mb-6",
|
|
1406
1616
|
dropdownOptions: fieldOptions,
|
|
1407
1617
|
key: "".concat(name, ".value"),
|
|
1408
1618
|
name: "".concat(name, ".value")
|
|
1409
|
-
}), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
1619
|
+
}, withHelpPopover(recipientFieldHelpPopoverProps))), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
1410
1620
|
initialFocusRef: initialFocusRef,
|
|
1411
1621
|
selectedField: selectedField,
|
|
1412
1622
|
templates: templates,
|
|
@@ -1418,6 +1628,7 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1418
1628
|
initialFocusRef: isFirstFieldInForm("emails") ? initialFocusRef : null,
|
|
1419
1629
|
onFocus: setFieldActive
|
|
1420
1630
|
}), !selectedField.hideSubject && /*#__PURE__*/jsxRuntime.jsx(Input$1, {
|
|
1631
|
+
required: true,
|
|
1421
1632
|
className: "mb-4",
|
|
1422
1633
|
"data-cy": "email-action-subject-text-field",
|
|
1423
1634
|
label: t("neetoRules.labels.subject"),
|
|
@@ -1426,12 +1637,16 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1426
1637
|
type: "text",
|
|
1427
1638
|
onFocus: setFieldActive
|
|
1428
1639
|
}), /*#__PURE__*/jsxRuntime.jsx(EditorAction, {
|
|
1640
|
+
required: true,
|
|
1429
1641
|
label: t("neetoRules.labels.body"),
|
|
1430
1642
|
name: "".concat(name, ".body"),
|
|
1431
1643
|
value: (_action$metadata = action.metadata) === null || _action$metadata === void 0 ? void 0 : _action$metadata.body,
|
|
1432
1644
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
1433
1645
|
editorRef: isFirstFieldInForm("body") ? mergeRefs(editorRef, initialFocusRef) : editorRef,
|
|
1434
1646
|
onFocus: setFieldActive
|
|
1647
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsxRuntime.jsx(SaveAsTemplate, {
|
|
1648
|
+
name: name,
|
|
1649
|
+
className: "mt-4"
|
|
1435
1650
|
})]
|
|
1436
1651
|
});
|
|
1437
1652
|
};
|
|
@@ -1481,7 +1696,9 @@ var Target$d = function Target(_ref) {
|
|
|
1481
1696
|
var Input = function Input(_ref2) {
|
|
1482
1697
|
var name = _ref2.name,
|
|
1483
1698
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
1484
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
1699
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
1700
|
+
_ref2$required = _ref2.required,
|
|
1701
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
1485
1702
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
1486
1703
|
t = _useTranslation2.t;
|
|
1487
1704
|
var _useActiveField2 = useActiveField(name, {
|
|
@@ -1491,6 +1708,7 @@ var Input = function Input(_ref2) {
|
|
|
1491
1708
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
1492
1709
|
return /*#__PURE__*/jsxRuntime.jsx(Input$1, {
|
|
1493
1710
|
ref: ref,
|
|
1711
|
+
required: required,
|
|
1494
1712
|
className: "my-auto",
|
|
1495
1713
|
label: t("neetoRules.labels.value"),
|
|
1496
1714
|
name: "".concat(name, ".value"),
|
|
@@ -1531,8 +1749,8 @@ var SHORTCUTS = {
|
|
|
1531
1749
|
};
|
|
1532
1750
|
|
|
1533
1751
|
var _excluded$c = ["value", "nullable", "className", "handleSubmit", "handleCancel"];
|
|
1534
|
-
function ownKeys$
|
|
1535
|
-
function _objectSpread$
|
|
1752
|
+
function ownKeys$n(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; }
|
|
1753
|
+
function _objectSpread$n(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$n(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$n(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1536
1754
|
var InlineInput = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
1537
1755
|
var _props$value = props.value,
|
|
1538
1756
|
value = _props$value === void 0 ? "" : _props$value,
|
|
@@ -1570,8 +1788,9 @@ var InlineInput = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
|
1570
1788
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1571
1789
|
className: classNames("flex flex-grow", _defineProperty({}, className, className)),
|
|
1572
1790
|
ref: inputWrapperRef,
|
|
1573
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Input$2, _objectSpread$
|
|
1791
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input$2, _objectSpread$n(_objectSpread$n({
|
|
1574
1792
|
autoFocus: true,
|
|
1793
|
+
required: true,
|
|
1575
1794
|
className: "neeto-planner-inline-input",
|
|
1576
1795
|
"data-cy": "inline-input-field",
|
|
1577
1796
|
value: inputValue,
|
|
@@ -1737,10 +1956,9 @@ var Target$b = function Target(_ref) {
|
|
|
1737
1956
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1738
1957
|
t = _useTranslation.t;
|
|
1739
1958
|
var _useField = formik.useField(name),
|
|
1740
|
-
_useField2 = _slicedToArray(_useField,
|
|
1741
|
-
field = _useField2[0]
|
|
1742
|
-
_useField2[1];
|
|
1743
|
-
var meta = _useField2[2];
|
|
1959
|
+
_useField2 = _slicedToArray(_useField, 2),
|
|
1960
|
+
field = _useField2[0],
|
|
1961
|
+
meta = _useField2[1];
|
|
1744
1962
|
var _useActiveField = useActiveField(name),
|
|
1745
1963
|
isFieldActive = _useActiveField.isFieldActive,
|
|
1746
1964
|
setFieldActive = _useActiveField.setFieldActive;
|
|
@@ -1811,7 +2029,9 @@ var MultiSelect$1 = function MultiSelect(_ref2) {
|
|
|
1811
2029
|
name = _ref2.name,
|
|
1812
2030
|
selectedField = _ref2.selectedField,
|
|
1813
2031
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
1814
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
2032
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
2033
|
+
_ref2$required = _ref2.required,
|
|
2034
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
1815
2035
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
1816
2036
|
t = _useTranslation2.t;
|
|
1817
2037
|
var _useActiveField2 = useActiveField(name, {
|
|
@@ -1841,6 +2061,7 @@ var MultiSelect$1 = function MultiSelect(_ref2) {
|
|
|
1841
2061
|
className: "space-y-3",
|
|
1842
2062
|
children: /*#__PURE__*/jsxRuntime.jsx(Select$1, {
|
|
1843
2063
|
name: name,
|
|
2064
|
+
required: required,
|
|
1844
2065
|
isMulti: true,
|
|
1845
2066
|
innerRef: ref,
|
|
1846
2067
|
label: defaultLabel,
|
|
@@ -1864,10 +2085,9 @@ var Target$a = function Target(_ref) {
|
|
|
1864
2085
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1865
2086
|
t = _useTranslation.t;
|
|
1866
2087
|
var _useField = formik.useField(name),
|
|
1867
|
-
_useField2 = _slicedToArray(_useField,
|
|
1868
|
-
field = _useField2[0]
|
|
1869
|
-
_useField2[1];
|
|
1870
|
-
var meta = _useField2[2];
|
|
2088
|
+
_useField2 = _slicedToArray(_useField, 2),
|
|
2089
|
+
field = _useField2[0],
|
|
2090
|
+
meta = _useField2[1];
|
|
1871
2091
|
var _useActiveField = useActiveField(name),
|
|
1872
2092
|
isFieldActive = _useActiveField.isFieldActive,
|
|
1873
2093
|
setFieldActive = _useActiveField.setFieldActive;
|
|
@@ -1938,7 +2158,9 @@ var MultiSelectCheckbox$1 = function MultiSelectCheckbox(_ref2) {
|
|
|
1938
2158
|
dropdownOptions = _ref2$dropdownOptions === void 0 ? [] : _ref2$dropdownOptions,
|
|
1939
2159
|
name = _ref2.name,
|
|
1940
2160
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
1941
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
2161
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
2162
|
+
_ref2$required = _ref2.required,
|
|
2163
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
1942
2164
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
1943
2165
|
t = _useTranslation2.t;
|
|
1944
2166
|
var _useActiveField2 = useActiveField(name, {
|
|
@@ -1962,6 +2184,7 @@ var MultiSelectCheckbox$1 = function MultiSelectCheckbox(_ref2) {
|
|
|
1962
2184
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1963
2185
|
className: "space-y-3",
|
|
1964
2186
|
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
2187
|
+
required: required,
|
|
1965
2188
|
children: defaultLabel
|
|
1966
2189
|
}), neetoCist.isNotEmpty(dropdownOptions) ? dropdownOptions.map(function (option) {
|
|
1967
2190
|
return /*#__PURE__*/react.createElement(Checkbox, {
|
|
@@ -2050,6 +2273,7 @@ var NoteField = function NoteField(_ref2) {
|
|
|
2050
2273
|
ref: ref,
|
|
2051
2274
|
value: value,
|
|
2052
2275
|
variables: variables,
|
|
2276
|
+
required: true,
|
|
2053
2277
|
label: defaultLabel,
|
|
2054
2278
|
onFocus: setFieldActive
|
|
2055
2279
|
});
|
|
@@ -2115,7 +2339,9 @@ var RadioField$2 = function RadioField(_ref2) {
|
|
|
2115
2339
|
_ref2$className = _ref2.className,
|
|
2116
2340
|
className = _ref2$className === void 0 ? "" : _ref2$className,
|
|
2117
2341
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
2118
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
2342
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
2343
|
+
_ref2$required = _ref2.required,
|
|
2344
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
2119
2345
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
2120
2346
|
t = _useTranslation2.t;
|
|
2121
2347
|
var _useField3 = formik.useField(name),
|
|
@@ -2149,6 +2375,7 @@ var RadioField$2 = function RadioField(_ref2) {
|
|
|
2149
2375
|
return neetoCist.isNotEmpty(options) ? /*#__PURE__*/jsxRuntime.jsx(Radio, {
|
|
2150
2376
|
className: className,
|
|
2151
2377
|
name: name,
|
|
2378
|
+
required: required,
|
|
2152
2379
|
stacked: true,
|
|
2153
2380
|
label: defaultLabel,
|
|
2154
2381
|
value: selectedOption.value,
|
|
@@ -2208,8 +2435,8 @@ var formatErrorMessage = function formatErrorMessage(error) {
|
|
|
2208
2435
|
};
|
|
2209
2436
|
|
|
2210
2437
|
var _excluded$b = ["children"];
|
|
2211
|
-
function ownKeys$
|
|
2212
|
-
function _objectSpread$
|
|
2438
|
+
function ownKeys$m(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; }
|
|
2439
|
+
function _objectSpread$m(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$m(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$m(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2213
2440
|
var STYLES = {
|
|
2214
2441
|
border: {
|
|
2215
2442
|
"default": "1px solid rgb(var(--neeto-ui-gray-400))",
|
|
@@ -2221,8 +2448,8 @@ var STYLES = {
|
|
|
2221
2448
|
}
|
|
2222
2449
|
};
|
|
2223
2450
|
var MultiValueRemove = function MultiValueRemove(props) {
|
|
2224
|
-
return /*#__PURE__*/jsxRuntime.jsx(reactSelect.components.MultiValueRemove, _objectSpread$
|
|
2225
|
-
innerProps: _objectSpread$
|
|
2451
|
+
return /*#__PURE__*/jsxRuntime.jsx(reactSelect.components.MultiValueRemove, _objectSpread$m(_objectSpread$m({}, props), {}, {
|
|
2452
|
+
innerProps: _objectSpread$m(_objectSpread$m({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(dasherize(props.data.label), "-remove-icon"))),
|
|
2226
2453
|
children: /*#__PURE__*/jsxRuntime.jsx(Close, {
|
|
2227
2454
|
size: 16
|
|
2228
2455
|
})
|
|
@@ -2242,8 +2469,8 @@ var ValueContainer = function ValueContainer(_ref) {
|
|
|
2242
2469
|
firstChild = _children[0],
|
|
2243
2470
|
rest = _children.slice(1);
|
|
2244
2471
|
var shouldCollapse = !isFocused && value.length > visiblePhoneNumbersCount;
|
|
2245
|
-
return /*#__PURE__*/jsxRuntime.jsxs(reactSelect.components.ValueContainer, _objectSpread$
|
|
2246
|
-
innerProps: _objectSpread$
|
|
2472
|
+
return /*#__PURE__*/jsxRuntime.jsxs(reactSelect.components.ValueContainer, _objectSpread$m(_objectSpread$m({}, props), {}, {
|
|
2473
|
+
innerProps: _objectSpread$m(_objectSpread$m({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-phone-number-input-container")),
|
|
2247
2474
|
children: [shouldCollapse ? firstChild.slice(0, visiblePhoneNumbersCount) : firstChild, shouldCollapse && /*#__PURE__*/jsxRuntime.jsx(Tag, {
|
|
2248
2475
|
style: "secondary",
|
|
2249
2476
|
label: t("neetoRules.labels.remainingItemsCount", {
|
|
@@ -2253,8 +2480,8 @@ var ValueContainer = function ValueContainer(_ref) {
|
|
|
2253
2480
|
}));
|
|
2254
2481
|
};
|
|
2255
2482
|
var ClearIndicator = function ClearIndicator(props) {
|
|
2256
|
-
return /*#__PURE__*/jsxRuntime.jsx(reactSelect.components.ClearIndicator, _objectSpread$
|
|
2257
|
-
innerProps: _objectSpread$
|
|
2483
|
+
return /*#__PURE__*/jsxRuntime.jsx(reactSelect.components.ClearIndicator, _objectSpread$m(_objectSpread$m({}, props), {}, {
|
|
2484
|
+
innerProps: _objectSpread$m(_objectSpread$m({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
|
|
2258
2485
|
children: /*#__PURE__*/jsxRuntime.jsx(Close, {
|
|
2259
2486
|
className: "cursor-pointer",
|
|
2260
2487
|
size: 16
|
|
@@ -2272,7 +2499,7 @@ var CUSTOM_STYLES = {
|
|
|
2272
2499
|
input: ramda.assoc("overflow", "hidden"),
|
|
2273
2500
|
multiValue: function multiValue(styles, _ref2) {
|
|
2274
2501
|
var valid = _ref2.data.valid;
|
|
2275
|
-
return _objectSpread$
|
|
2502
|
+
return _objectSpread$m(_objectSpread$m({}, styles), {}, {
|
|
2276
2503
|
border: valid ? STYLES.border["default"] : STYLES.border.error,
|
|
2277
2504
|
color: valid ? STYLES.color["default"] : STYLES.color.error
|
|
2278
2505
|
});
|
|
@@ -2286,8 +2513,8 @@ var CUSTOM_COMPONENTS = {
|
|
|
2286
2513
|
};
|
|
2287
2514
|
|
|
2288
2515
|
var _excluded$a = ["value", "onChange", "error", "onBlur", "onFocus"];
|
|
2289
|
-
function ownKeys$
|
|
2290
|
-
function _objectSpread$
|
|
2516
|
+
function ownKeys$l(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; }
|
|
2517
|
+
function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2291
2518
|
var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
2292
2519
|
var _ref$value = _ref.value,
|
|
2293
2520
|
value = _ref$value === void 0 ? [] : _ref$value,
|
|
@@ -2348,7 +2575,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2348
2575
|
"data-cy": "".concat(dasherize(label), "-input-label"),
|
|
2349
2576
|
children: label
|
|
2350
2577
|
})
|
|
2351
|
-
}), /*#__PURE__*/jsxRuntime.jsx(CreatableSelect, _objectSpread$
|
|
2578
|
+
}), /*#__PURE__*/jsxRuntime.jsx(CreatableSelect, _objectSpread$l({
|
|
2352
2579
|
isMulti: true,
|
|
2353
2580
|
required: true,
|
|
2354
2581
|
classNamePrefix: "neeto-ui-react-select",
|
|
@@ -2359,7 +2586,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2359
2586
|
className: classNames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
|
|
2360
2587
|
"neeto-ui-react-select__container--error": !!error
|
|
2361
2588
|
}),
|
|
2362
|
-
styles: _objectSpread$
|
|
2589
|
+
styles: _objectSpread$l(_objectSpread$l({}, CUSTOM_STYLES), {}, {
|
|
2363
2590
|
control: ramda.mergeLeft({
|
|
2364
2591
|
maxHeight: "200px",
|
|
2365
2592
|
overflowY: "auto"
|
|
@@ -2372,7 +2599,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2372
2599
|
setIsFocused(true);
|
|
2373
2600
|
_onFocus();
|
|
2374
2601
|
}
|
|
2375
|
-
}, _objectSpread$
|
|
2602
|
+
}, _objectSpread$l({
|
|
2376
2603
|
inputValue: inputValue,
|
|
2377
2604
|
isFocused: isFocused,
|
|
2378
2605
|
onChange: onChange,
|
|
@@ -2432,6 +2659,8 @@ var PhoneNumberField = function PhoneNumberField(_ref) {
|
|
|
2432
2659
|
});
|
|
2433
2660
|
};
|
|
2434
2661
|
|
|
2662
|
+
function ownKeys$k(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; }
|
|
2663
|
+
function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2435
2664
|
var Target$7 = function Target(_ref) {
|
|
2436
2665
|
var name = _ref.name,
|
|
2437
2666
|
_ref$separatorIndex = _ref.separatorIndex,
|
|
@@ -2503,11 +2732,29 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2503
2732
|
}),
|
|
2504
2733
|
initialFocusRef = _useActiveField2.ref,
|
|
2505
2734
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
2735
|
+
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
2736
|
+
return {
|
|
2737
|
+
isSaveAsTemplateEnabled: store["isSaveAsTemplateEnabled"]
|
|
2738
|
+
};
|
|
2739
|
+
}, shallow.shallow),
|
|
2740
|
+
isSaveAsTemplateEnabled = _useUtilityStore.isSaveAsTemplateEnabled;
|
|
2741
|
+
var hasFieldChanged = useHasFieldChanged(name);
|
|
2506
2742
|
var _useFormikContext = formik.useFormikContext(),
|
|
2507
2743
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
2508
|
-
var templates = selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates;
|
|
2744
|
+
var templates = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates) || [];
|
|
2509
2745
|
var isTemplateSelectionEnabled = neetoCist.isPresent(templates);
|
|
2746
|
+
var shouldShowSaveAsTemplate = react.useCallback(function () {
|
|
2747
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
2748
|
+
templateId = _ref3.templateId,
|
|
2749
|
+
body = _ref3.body;
|
|
2750
|
+
var template = neetoCist.findBy({
|
|
2751
|
+
id: templateId
|
|
2752
|
+
}, templates);
|
|
2753
|
+
return neetoCist.isPresent(body) && hasFieldChanged && (template === null || template === void 0 ? void 0 : template.body) !== body;
|
|
2754
|
+
}, [templates, hasFieldChanged]);
|
|
2755
|
+
var isSaveAsTemplateVisible = useResetSaveAsTemplateOnHide(name, isSaveAsTemplateEnabled ? shouldShowSaveAsTemplate : ramda.F);
|
|
2510
2756
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
2757
|
+
setFieldValue("".concat(name, ".templateId"), template.id);
|
|
2511
2758
|
setFieldValue("".concat(name, ".body"), template.body);
|
|
2512
2759
|
setEditorContent(editorRef, template.body);
|
|
2513
2760
|
};
|
|
@@ -2515,9 +2762,11 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2515
2762
|
if (isTemplateSelectionEnabled) return false;
|
|
2516
2763
|
return field === "phoneNumbers" ? true : !showPhoneNumberInput;
|
|
2517
2764
|
};
|
|
2765
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
2766
|
+
recipientFieldHelpPopoverProps = _ref4.recipientField;
|
|
2518
2767
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2519
2768
|
className: "w-full",
|
|
2520
|
-
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, {
|
|
2769
|
+
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, _objectSpread$k({
|
|
2521
2770
|
index: index,
|
|
2522
2771
|
selectedField: selectedField,
|
|
2523
2772
|
shouldAutoFocus: true,
|
|
@@ -2525,7 +2774,7 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2525
2774
|
dropdownOptions: fieldOptions,
|
|
2526
2775
|
key: "".concat(name, ".value"),
|
|
2527
2776
|
name: "".concat(name, ".value")
|
|
2528
|
-
}), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
2777
|
+
}, withHelpPopover(recipientFieldHelpPopoverProps))), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
2529
2778
|
initialFocusRef: initialFocusRef,
|
|
2530
2779
|
selectedField: selectedField,
|
|
2531
2780
|
templates: templates,
|
|
@@ -2546,6 +2795,9 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2546
2795
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
2547
2796
|
editorRef: isFirstFieldInForm("body") ? mergeRefs(editorRef, initialFocusRef) : editorRef,
|
|
2548
2797
|
onFocus: setFieldActive
|
|
2798
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsxRuntime.jsx(SaveAsTemplate, {
|
|
2799
|
+
name: name,
|
|
2800
|
+
className: "mt-4"
|
|
2549
2801
|
})]
|
|
2550
2802
|
});
|
|
2551
2803
|
};
|
|
@@ -2740,6 +2992,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2740
2992
|
}) : /*#__PURE__*/jsxRuntime.jsx(RadioField$2, {
|
|
2741
2993
|
index: index,
|
|
2742
2994
|
selectedField: selectedField,
|
|
2995
|
+
required: true,
|
|
2743
2996
|
shouldAutoFocus: true,
|
|
2744
2997
|
name: "".concat(name, ".value"),
|
|
2745
2998
|
options: valueOptions
|
|
@@ -2758,6 +3011,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2758
3011
|
}) : /*#__PURE__*/jsxRuntime.jsx(SelectField$2, {
|
|
2759
3012
|
index: index,
|
|
2760
3013
|
selectedField: selectedField,
|
|
3014
|
+
required: true,
|
|
2761
3015
|
shouldAutoFocus: true,
|
|
2762
3016
|
dropdownOptions: valueOptions,
|
|
2763
3017
|
name: "".concat(name, ".value")
|
|
@@ -2811,6 +3065,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2811
3065
|
}) : /*#__PURE__*/jsxRuntime.jsx(MultiSelect$1, {
|
|
2812
3066
|
index: index,
|
|
2813
3067
|
selectedField: selectedField,
|
|
3068
|
+
required: true,
|
|
2814
3069
|
shouldAutoFocus: true,
|
|
2815
3070
|
dropdownOptions: valueOptions,
|
|
2816
3071
|
name: "".concat(name, ".value")
|
|
@@ -2829,6 +3084,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2829
3084
|
}) : /*#__PURE__*/jsxRuntime.jsx(MultiSelectCheckbox$1, {
|
|
2830
3085
|
index: index,
|
|
2831
3086
|
selectedField: selectedField,
|
|
3087
|
+
required: true,
|
|
2832
3088
|
shouldAutoFocus: true,
|
|
2833
3089
|
dropdownOptions: valueOptions,
|
|
2834
3090
|
name: "".concat(name, ".value")
|
|
@@ -2847,6 +3103,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2847
3103
|
index: index,
|
|
2848
3104
|
name: name,
|
|
2849
3105
|
selectedField: selectedField,
|
|
3106
|
+
required: true,
|
|
2850
3107
|
shouldAutoFocus: true
|
|
2851
3108
|
});
|
|
2852
3109
|
}
|
|
@@ -2863,6 +3120,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2863
3120
|
index: index,
|
|
2864
3121
|
name: name,
|
|
2865
3122
|
selectedField: selectedField,
|
|
3123
|
+
required: true,
|
|
2866
3124
|
shouldAutoFocus: true
|
|
2867
3125
|
});
|
|
2868
3126
|
}
|
|
@@ -2880,6 +3138,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
|
|
|
2880
3138
|
}) : /*#__PURE__*/jsxRuntime.jsx(LongTextField, {
|
|
2881
3139
|
index: index,
|
|
2882
3140
|
selectedField: selectedField,
|
|
3141
|
+
required: true,
|
|
2883
3142
|
shouldAutoFocus: true,
|
|
2884
3143
|
defaultLabel: t("neetoRules.labels.body"),
|
|
2885
3144
|
defaultSeparator: t("neetoRules.common.as"),
|
|
@@ -3042,7 +3301,9 @@ var DateField = function DateField(_ref2) {
|
|
|
3042
3301
|
var name = _ref2.name,
|
|
3043
3302
|
selectedField = _ref2.selectedField,
|
|
3044
3303
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
3045
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
3304
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
3305
|
+
_ref2$required = _ref2.required,
|
|
3306
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
3046
3307
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
3047
3308
|
t = _useTranslation2.t;
|
|
3048
3309
|
var _useField3 = formik.useField(name),
|
|
@@ -3066,6 +3327,7 @@ var DateField = function DateField(_ref2) {
|
|
|
3066
3327
|
};
|
|
3067
3328
|
return /*#__PURE__*/jsxRuntime.jsx(DatePicker, {
|
|
3068
3329
|
ref: ref,
|
|
3330
|
+
required: required,
|
|
3069
3331
|
defaultValue: field.value,
|
|
3070
3332
|
error: meta.touched && meta.error,
|
|
3071
3333
|
label: t("neetoRules.form.selectDate"),
|
|
@@ -3116,7 +3378,9 @@ var InputField$1 = function InputField(_ref2) {
|
|
|
3116
3378
|
var name = _ref2.name,
|
|
3117
3379
|
placeholder = _ref2.placeholder,
|
|
3118
3380
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
3119
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
3381
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
3382
|
+
_ref2$required = _ref2.required,
|
|
3383
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
3120
3384
|
var _useField3 = formik.useField(name),
|
|
3121
3385
|
_useField4 = _slicedToArray(_useField3, 3),
|
|
3122
3386
|
field = _useField4[0];
|
|
@@ -3131,6 +3395,7 @@ var InputField$1 = function InputField(_ref2) {
|
|
|
3131
3395
|
name: name,
|
|
3132
3396
|
placeholder: placeholder,
|
|
3133
3397
|
ref: ref,
|
|
3398
|
+
required: required,
|
|
3134
3399
|
label: placeholder,
|
|
3135
3400
|
value: field.value || "",
|
|
3136
3401
|
onFocus: setFieldActive,
|
|
@@ -3141,7 +3406,7 @@ var InputField$1 = function InputField(_ref2) {
|
|
|
3141
3406
|
};
|
|
3142
3407
|
InputField$1.Target = Target$5;
|
|
3143
3408
|
|
|
3144
|
-
var _excluded$9 = ["name", "dropdownOptions", "shouldAutoFocus"];
|
|
3409
|
+
var _excluded$9 = ["name", "dropdownOptions", "shouldAutoFocus", "required"];
|
|
3145
3410
|
function ownKeys$j(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; }
|
|
3146
3411
|
function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3147
3412
|
var Target$4 = function Target(_ref) {
|
|
@@ -3208,6 +3473,8 @@ var MultiSelect = function MultiSelect(_ref2) {
|
|
|
3208
3473
|
dropdownOptions = _ref2.dropdownOptions,
|
|
3209
3474
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
3210
3475
|
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
3476
|
+
_ref2$required = _ref2.required,
|
|
3477
|
+
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
3211
3478
|
otherProps = _objectWithoutProperties(_ref2, _excluded$9);
|
|
3212
3479
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
3213
3480
|
t = _useTranslation2.t;
|
|
@@ -3234,6 +3501,7 @@ var MultiSelect = function MultiSelect(_ref2) {
|
|
|
3234
3501
|
className: "space-y-3",
|
|
3235
3502
|
children: /*#__PURE__*/jsxRuntime.jsx(Select$1, _objectSpread$j({
|
|
3236
3503
|
name: name,
|
|
3504
|
+
required: required,
|
|
3237
3505
|
isMulti: true,
|
|
3238
3506
|
innerRef: ref,
|
|
3239
3507
|
label: t("neetoRules.labels.selectValues"),
|
|
@@ -3246,7 +3514,7 @@ var MultiSelect = function MultiSelect(_ref2) {
|
|
|
3246
3514
|
};
|
|
3247
3515
|
MultiSelect.Target = Target$4;
|
|
3248
3516
|
|
|
3249
|
-
var _excluded$8 = ["name", "dropdownOptions", "shouldAutoFocus"];
|
|
3517
|
+
var _excluded$8 = ["name", "dropdownOptions", "shouldAutoFocus", "required"];
|
|
3250
3518
|
function ownKeys$i(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; }
|
|
3251
3519
|
function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3252
3520
|
var Target$3 = function Target(_ref) {
|
|
@@ -3313,6 +3581,8 @@ var MultiSelectCheckbox = function MultiSelectCheckbox(_ref2) {
|
|
|
3313
3581
|
dropdownOptions = _ref2.dropdownOptions,
|
|
3314
3582
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
3315
3583
|
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
3584
|
+
_ref2$required = _ref2.required,
|
|
3585
|
+
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
3316
3586
|
otherProps = _objectWithoutProperties(_ref2, _excluded$8);
|
|
3317
3587
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
3318
3588
|
t = _useTranslation2.t;
|
|
@@ -3337,6 +3607,7 @@ var MultiSelectCheckbox = function MultiSelectCheckbox(_ref2) {
|
|
|
3337
3607
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
3338
3608
|
className: "space-y-3",
|
|
3339
3609
|
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
3610
|
+
required: required,
|
|
3340
3611
|
children: defaultLabel
|
|
3341
3612
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
3342
3613
|
className: "space-y-3",
|
|
@@ -3457,7 +3728,9 @@ var Target$2 = function Target(_ref) {
|
|
|
3457
3728
|
var MultiSelectCreate = function MultiSelectCreate(_ref2) {
|
|
3458
3729
|
var name = _ref2.name,
|
|
3459
3730
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
3460
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
3731
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
3732
|
+
_ref2$required = _ref2.required,
|
|
3733
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
3461
3734
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
3462
3735
|
t = _useTranslation2.t;
|
|
3463
3736
|
var _useField3 = formik.useField(name),
|
|
@@ -3479,6 +3752,7 @@ var MultiSelectCreate = function MultiSelectCreate(_ref2) {
|
|
|
3479
3752
|
};
|
|
3480
3753
|
return /*#__PURE__*/jsxRuntime.jsx(Select$1, {
|
|
3481
3754
|
name: name,
|
|
3755
|
+
required: required,
|
|
3482
3756
|
isCreateable: true,
|
|
3483
3757
|
isMulti: true,
|
|
3484
3758
|
className: "mt-4 w-full",
|
|
@@ -3494,7 +3768,7 @@ var MultiSelectCreate = function MultiSelectCreate(_ref2) {
|
|
|
3494
3768
|
MultiSelectCreate.Target = Target$2;
|
|
3495
3769
|
|
|
3496
3770
|
var _excluded$7 = ["name", "options", "placeholder", "onClick"],
|
|
3497
|
-
_excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel"];
|
|
3771
|
+
_excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel", "required"];
|
|
3498
3772
|
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; }
|
|
3499
3773
|
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; }
|
|
3500
3774
|
var Target$1 = function Target(_ref) {
|
|
@@ -3547,6 +3821,8 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3547
3821
|
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
3548
3822
|
_ref2$showLabel = _ref2.showLabel,
|
|
3549
3823
|
showLabel = _ref2$showLabel === void 0 ? true : _ref2$showLabel,
|
|
3824
|
+
_ref2$required = _ref2.required,
|
|
3825
|
+
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
3550
3826
|
otherProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
3551
3827
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
3552
3828
|
t = _useTranslation2.t;
|
|
@@ -3574,6 +3850,7 @@ var RadioField$1 = function RadioField(_ref2) {
|
|
|
3574
3850
|
};
|
|
3575
3851
|
return /*#__PURE__*/jsxRuntime.jsx(Radio$1, _objectSpread$h(_objectSpread$h({
|
|
3576
3852
|
ref: ref,
|
|
3853
|
+
required: required,
|
|
3577
3854
|
stacked: true,
|
|
3578
3855
|
label: showLabel && t("neetoRules.labels.selectValue"),
|
|
3579
3856
|
value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value,
|
|
@@ -3640,7 +3917,9 @@ var SelectField$1 = function SelectField(_ref2) {
|
|
|
3640
3917
|
placeholder = _ref2.placeholder,
|
|
3641
3918
|
handleSelect = _ref2.handleSelect,
|
|
3642
3919
|
_ref2$shouldAutoFocus = _ref2.shouldAutoFocus,
|
|
3643
|
-
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus
|
|
3920
|
+
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
3921
|
+
_ref2$required = _ref2.required,
|
|
3922
|
+
required = _ref2$required === void 0 ? false : _ref2$required;
|
|
3644
3923
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
3645
3924
|
t = _useTranslation2.t;
|
|
3646
3925
|
var _useField3 = formik.useField(name),
|
|
@@ -3671,6 +3950,7 @@ var SelectField$1 = function SelectField(_ref2) {
|
|
|
3671
3950
|
};
|
|
3672
3951
|
return /*#__PURE__*/jsxRuntime.jsx(Select$1, {
|
|
3673
3952
|
name: name,
|
|
3953
|
+
required: required,
|
|
3674
3954
|
innerRef: ref,
|
|
3675
3955
|
label: placeholder || t("neetoRules.labels.selectValue"),
|
|
3676
3956
|
options: dropdownOptions,
|
|
@@ -3780,6 +4060,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3780
4060
|
onClick: onClick,
|
|
3781
4061
|
name: "".concat(name, ".value")
|
|
3782
4062
|
}) : /*#__PURE__*/jsxRuntime.jsx(InputField$1, {
|
|
4063
|
+
required: true,
|
|
3783
4064
|
name: "".concat(name, ".value"),
|
|
3784
4065
|
placeholder: t("neetoRules.common.value")
|
|
3785
4066
|
});
|
|
@@ -3792,6 +4073,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3792
4073
|
name: "".concat(name, ".value")
|
|
3793
4074
|
}) : /*#__PURE__*/jsxRuntime.jsx(LongTextField, {
|
|
3794
4075
|
index: index,
|
|
4076
|
+
required: true,
|
|
3795
4077
|
defaultLabel: t("neetoRules.labels.text"),
|
|
3796
4078
|
name: "".concat(name, ".value")
|
|
3797
4079
|
});
|
|
@@ -3804,6 +4086,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3804
4086
|
}) : /*#__PURE__*/jsxRuntime.jsx(RadioField$1, {
|
|
3805
4087
|
index: index,
|
|
3806
4088
|
options: options,
|
|
4089
|
+
required: true,
|
|
3807
4090
|
name: "".concat(name, ".value")
|
|
3808
4091
|
});
|
|
3809
4092
|
}
|
|
@@ -3814,6 +4097,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3814
4097
|
name: "".concat(name, ".value")
|
|
3815
4098
|
}) : /*#__PURE__*/jsxRuntime.jsx(SelectField$1, {
|
|
3816
4099
|
index: index,
|
|
4100
|
+
required: true,
|
|
3817
4101
|
dropdownOptions: options,
|
|
3818
4102
|
name: "".concat(name, ".value")
|
|
3819
4103
|
});
|
|
@@ -3824,6 +4108,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3824
4108
|
dropdownOptions: options,
|
|
3825
4109
|
name: "".concat(name, ".values")
|
|
3826
4110
|
}) : /*#__PURE__*/jsxRuntime.jsx(MultiSelect, {
|
|
4111
|
+
required: true,
|
|
3827
4112
|
dropdownOptions: options,
|
|
3828
4113
|
name: "".concat(name, ".values")
|
|
3829
4114
|
});
|
|
@@ -3834,6 +4119,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3834
4119
|
dropdownOptions: options,
|
|
3835
4120
|
name: "".concat(name, ".values")
|
|
3836
4121
|
}) : /*#__PURE__*/jsxRuntime.jsx(MultiSelectCheckbox, {
|
|
4122
|
+
required: true,
|
|
3837
4123
|
dropdownOptions: options,
|
|
3838
4124
|
name: "".concat(name, ".values")
|
|
3839
4125
|
});
|
|
@@ -3843,6 +4129,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3843
4129
|
onClick: onClick,
|
|
3844
4130
|
name: "".concat(name, ".values")
|
|
3845
4131
|
}) : /*#__PURE__*/jsxRuntime.jsx(MultiSelectCreate, {
|
|
4132
|
+
required: true,
|
|
3846
4133
|
name: "".concat(name, ".values")
|
|
3847
4134
|
});
|
|
3848
4135
|
}
|
|
@@ -3851,6 +4138,7 @@ var ValueField = function ValueField(_ref) {
|
|
|
3851
4138
|
onClick: onClick,
|
|
3852
4139
|
name: "".concat(name, ".value")
|
|
3853
4140
|
}) : /*#__PURE__*/jsxRuntime.jsx(DateField, {
|
|
4141
|
+
required: true,
|
|
3854
4142
|
name: "".concat(name, ".value"),
|
|
3855
4143
|
selectedField: field
|
|
3856
4144
|
});
|
|
@@ -3960,6 +4248,7 @@ var VerbAndValuePanel = function VerbAndValuePanel() {
|
|
|
3960
4248
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
3961
4249
|
className: "flex flex-col space-y-4",
|
|
3962
4250
|
children: [/*#__PURE__*/jsxRuntime.jsx(SelectField$1, {
|
|
4251
|
+
required: true,
|
|
3963
4252
|
shouldAutoFocus: true,
|
|
3964
4253
|
dropdownOptions: verbOptions,
|
|
3965
4254
|
handleSelect: handleVerbChange,
|
|
@@ -4432,7 +4721,7 @@ var getConditionsSchema = function getConditionsSchema(element) {
|
|
|
4432
4721
|
if (selectedCondition !== null && selectedCondition !== void 0 && (_selectedCondition$no = selectedCondition.noValueForVerbs) !== null && _selectedCondition$no !== void 0 && _selectedCondition$no.includes(verb)) {
|
|
4433
4722
|
return yup__namespace.object();
|
|
4434
4723
|
}
|
|
4435
|
-
if ([constants.CONDITION_VALUE_TYPES.date, constants.CONDITION_VALUE_TYPES.radio, constants.CONDITION_VALUE_TYPES.select].includes(type)) {
|
|
4724
|
+
if ([constants.CONDITION_VALUE_TYPES.date, constants.CONDITION_VALUE_TYPES.radio, constants.CONDITION_VALUE_TYPES.dropdown, constants.CONDITION_VALUE_TYPES.select].includes(type)) {
|
|
4436
4725
|
return yup__namespace.object().shape({
|
|
4437
4726
|
value: yup__namespace.string().required(i18next.t("neetoRules.validations.required.value"))
|
|
4438
4727
|
});
|
|
@@ -4527,7 +4816,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4527
4816
|
body: yup__namespace.string().test("body", i18next.t("neetoRules.validations.required.body"), function (value) {
|
|
4528
4817
|
return !utils$1.isEditorEmpty(value);
|
|
4529
4818
|
}),
|
|
4530
|
-
value: selectedAction.type === ACTION_TYPES.emailTo ? yup__namespace.string().required(i18next.t("neetoRules.validations.required.value")) : schema
|
|
4819
|
+
value: selectedAction.type === ACTION_TYPES.emailTo ? yup__namespace.string().required(i18next.t("neetoRules.validations.required.value")) : schema,
|
|
4820
|
+
templateName: TEMPLATE_NAME_VALIDATION_SCHEMA
|
|
4531
4821
|
});
|
|
4532
4822
|
} else if ([ACTION_TYPES.sms, ACTION_TYPES.smsToNumbers, ACTION_TYPES.smsTo].includes(selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4533
4823
|
return yup__namespace.object({
|
|
@@ -4539,7 +4829,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4539
4829
|
body: yup__namespace.string().test("body", i18next.t("neetoRules.validations.required.body"), function (value) {
|
|
4540
4830
|
return !utils$1.isEditorEmpty(value);
|
|
4541
4831
|
}),
|
|
4542
|
-
value: selectedAction.type === ACTION_TYPES.smsTo ? yup__namespace.string().required(i18next.t("neetoRules.validations.required.value")) : schema
|
|
4832
|
+
value: selectedAction.type === ACTION_TYPES.smsTo ? yup__namespace.string().required(i18next.t("neetoRules.validations.required.value")) : schema,
|
|
4833
|
+
templateName: TEMPLATE_NAME_VALIDATION_SCHEMA
|
|
4543
4834
|
});
|
|
4544
4835
|
} else if (ACTION_TYPES.sendToApi === (selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4545
4836
|
return yup__namespace.object({
|
|
@@ -4567,7 +4858,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4567
4858
|
message: i18next.t("neetoRules.validations.invalidJsonBody")
|
|
4568
4859
|
});
|
|
4569
4860
|
}
|
|
4570
|
-
})
|
|
4861
|
+
}),
|
|
4862
|
+
templateName: TEMPLATE_NAME_VALIDATION_SCHEMA
|
|
4571
4863
|
});
|
|
4572
4864
|
} else if (ACTION_TYPES.multiSelect === (selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4573
4865
|
return yup__namespace.object({
|
|
@@ -4743,6 +5035,12 @@ var PANEL_TYPE_CONFIG_MAP = _defineProperty(_defineProperty(_defineProperty(_def
|
|
|
4743
5035
|
component: ActionSubItemPanel,
|
|
4744
5036
|
data: {}
|
|
4745
5037
|
});
|
|
5038
|
+
var TEMPLATE_NAME_VALIDATION_SCHEMA = yup__namespace.string().when("shouldSaveAsTemplate", {
|
|
5039
|
+
is: true,
|
|
5040
|
+
then: yup__namespace.string().trim().required(i18next.t("neetoRules.validations.required.entity", {
|
|
5041
|
+
entity: i18next.t("neetoRules.labels.templateName")
|
|
5042
|
+
}))
|
|
5043
|
+
});
|
|
4746
5044
|
|
|
4747
5045
|
function ownKeys$d(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; }
|
|
4748
5046
|
function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -4927,7 +5225,9 @@ var Actions = function Actions(_ref) {
|
|
|
4927
5225
|
_ref$routeToSlackInte = _ref.routeToSlackIntegration,
|
|
4928
5226
|
routeToSlackIntegration = _ref$routeToSlackInte === void 0 ? "" : _ref$routeToSlackInte,
|
|
4929
5227
|
_ref$openPanel = _ref.openPanel,
|
|
4930
|
-
openPanel = _ref$openPanel === void 0 ? false : _ref$openPanel
|
|
5228
|
+
openPanel = _ref$openPanel === void 0 ? false : _ref$openPanel,
|
|
5229
|
+
_ref$isSaveAsTemplate = _ref.isSaveAsTemplateEnabled,
|
|
5230
|
+
isSaveAsTemplateEnabled = _ref$isSaveAsTemplate === void 0 ? false : _ref$isSaveAsTemplate;
|
|
4931
5231
|
var _useFormikContext = formik.useFormikContext(),
|
|
4932
5232
|
values = _useFormikContext.values,
|
|
4933
5233
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
@@ -4939,12 +5239,17 @@ var Actions = function Actions(_ref) {
|
|
|
4939
5239
|
setShouldOpenPanel = _useState2[1];
|
|
4940
5240
|
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
4941
5241
|
return {
|
|
4942
|
-
resetPanelState: store["resetPanelState"]
|
|
5242
|
+
resetPanelState: store["resetPanelState"],
|
|
5243
|
+
setIsSaveAsTemplateEnabled: store["setIsSaveAsTemplateEnabled"]
|
|
4943
5244
|
};
|
|
4944
5245
|
}, shallow.shallow),
|
|
4945
|
-
resetPanelState = _useUtilityStore.resetPanelState
|
|
5246
|
+
resetPanelState = _useUtilityStore.resetPanelState,
|
|
5247
|
+
setIsSaveAsTemplateEnabled = _useUtilityStore.setIsSaveAsTemplateEnabled;
|
|
4946
5248
|
var elementProps = data[name] || {};
|
|
4947
5249
|
var actions = values[name].value || [];
|
|
5250
|
+
react.useEffect(function () {
|
|
5251
|
+
setIsSaveAsTemplateEnabled(isSaveAsTemplateEnabled);
|
|
5252
|
+
}, [isSaveAsTemplateEnabled]);
|
|
4948
5253
|
var showButton = react.useMemo(function () {
|
|
4949
5254
|
var _actions;
|
|
4950
5255
|
return !!((_actions = actions[(actions === null || actions === void 0 ? void 0 : actions.length) - 1]) !== null && _actions !== void 0 && _actions.name) && elementProps.actionOptions.length !== actions.length && showAddButton;
|
|
@@ -6092,10 +6397,6 @@ var Form = function Form(_ref) {
|
|
|
6092
6397
|
data: initialValues,
|
|
6093
6398
|
label: t("neetoRules.common.name"),
|
|
6094
6399
|
name: "name"
|
|
6095
|
-
}), /*#__PURE__*/jsxRuntime.jsx(TextareaField, {
|
|
6096
|
-
data: initialValues,
|
|
6097
|
-
label: t("neetoRules.common.description"),
|
|
6098
|
-
name: "description"
|
|
6099
6400
|
}), showStatusSwitch && /*#__PURE__*/jsxRuntime.jsx(Status, {}), typeof _children === "function" ? _children === null || _children === void 0 ? void 0 : _children(_objectSpread$1({
|
|
6100
6401
|
values: values,
|
|
6101
6402
|
formattedValues: buildPayload(data, values),
|