@bigbinary/neeto-rules-frontend 2.5.15-beta-8 → 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 +1 -1
- package/dist/NeetoRulesForm.js +327 -83
- package/dist/NeetoRulesForm.js.map +1 -1
- package/dist/RulePreview.js +1 -1
- package/dist/cjs/NeetoRules.js +1 -1
- package/dist/cjs/NeetoRulesForm.js +324 -80
- package/dist/cjs/NeetoRulesForm.js.map +1 -1
- package/dist/cjs/RulePreview.js +1 -1
- package/dist/cjs/index.js +3 -3
- package/dist/index.js +3 -3
- 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-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;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,
|
|
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] : [];
|
|
@@ -611,7 +616,13 @@ var EDITOR_CONFIG = {
|
|
|
611
616
|
scrollBeyondLastLine: false,
|
|
612
617
|
autoIndent: "full"
|
|
613
618
|
};
|
|
614
|
-
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
|
+
};
|
|
615
626
|
|
|
616
627
|
var addOption = function addOption(arrayHelpers) {
|
|
617
628
|
return arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);
|
|
@@ -632,9 +643,72 @@ var hasKeyOrValue = ramda.whereAny({
|
|
|
632
643
|
var formatCustomFields = function formatCustomFields(customFields) {
|
|
633
644
|
return neetoCist.isPresent(customFields) ? customFields : [CUSTOM_HEADERS_INITIAL_VALUE];
|
|
634
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
|
+
};
|
|
635
692
|
|
|
636
693
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
637
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
|
+
};
|
|
638
712
|
|
|
639
713
|
var KeyValuePairsField = reactUtils.withT(function (_ref) {
|
|
640
714
|
var t = _ref.t,
|
|
@@ -693,9 +767,13 @@ var KeyValuePairsField = reactUtils.withT(function (_ref) {
|
|
|
693
767
|
});
|
|
694
768
|
});
|
|
695
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; }
|
|
696
772
|
var CustomHeaders = function CustomHeaders(_ref) {
|
|
697
773
|
var name = _ref.name,
|
|
698
|
-
onFocus = _ref.onFocus
|
|
774
|
+
onFocus = _ref.onFocus,
|
|
775
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
776
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
699
777
|
var _useFormikContext = formik.useFormikContext(),
|
|
700
778
|
values = _useFormikContext.values,
|
|
701
779
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
@@ -714,27 +792,31 @@ var CustomHeaders = function CustomHeaders(_ref) {
|
|
|
714
792
|
var label = t("neetoRules.labels.includeHeaders");
|
|
715
793
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
716
794
|
className: "flex flex-col space-y-4 mb-4",
|
|
717
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
795
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, _objectSpread$t({
|
|
718
796
|
label: label,
|
|
719
797
|
onFocus: onFocus,
|
|
720
798
|
"data-cy": "neeto-rules-api-fields-".concat(neetoCist.hyphenate(label), "-switch"),
|
|
721
799
|
name: switchName,
|
|
722
800
|
onChange: handleChange
|
|
723
|
-
}), isCustomHeadersEnabled && /*#__PURE__*/jsxRuntime.jsx(KeyValuePairsField, {
|
|
801
|
+
}, withHelpPopover(helpPopoverProps))), isCustomHeadersEnabled && /*#__PURE__*/jsxRuntime.jsx(KeyValuePairsField, {
|
|
724
802
|
onFocus: onFocus,
|
|
725
803
|
entity: t("neetoRules.labels.headers"),
|
|
726
|
-
name:
|
|
804
|
+
name: keyValuePairsFieldName
|
|
727
805
|
})]
|
|
728
806
|
});
|
|
729
807
|
};
|
|
730
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; }
|
|
731
811
|
var JsonEditor = function JsonEditor(_ref) {
|
|
732
812
|
var name = _ref.name,
|
|
733
813
|
onFocus = _ref.onFocus,
|
|
734
814
|
_ref$initialValue = _ref.initialValue,
|
|
735
815
|
initialValue = _ref$initialValue === void 0 ? "{}" : _ref$initialValue,
|
|
736
816
|
_ref$variables = _ref.variables,
|
|
737
|
-
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;
|
|
738
820
|
var editorRef = react.useRef(null);
|
|
739
821
|
var completionProviderRef = react.useRef(null);
|
|
740
822
|
var _useField = formik.useField(name),
|
|
@@ -823,12 +905,18 @@ var JsonEditor = function JsonEditor(_ref) {
|
|
|
823
905
|
};
|
|
824
906
|
}, []);
|
|
825
907
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
826
|
-
className: "space-y-2
|
|
827
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
908
|
+
className: "space-y-2",
|
|
909
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread$s(_objectSpread$s({
|
|
828
910
|
required: true,
|
|
829
|
-
"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
|
+
}), {}, {
|
|
830
918
|
children: t("neetoRules.labels.body")
|
|
831
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
919
|
+
})), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
832
920
|
className: "neeto-rules-json-editor__wrapper",
|
|
833
921
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
834
922
|
className: "neeto-rules-json-editor__dynamic-variables",
|
|
@@ -854,6 +942,43 @@ var JsonEditor = function JsonEditor(_ref) {
|
|
|
854
942
|
});
|
|
855
943
|
};
|
|
856
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; }
|
|
857
982
|
var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
858
983
|
var selectedField = _ref.selectedField,
|
|
859
984
|
templates = _ref.templates,
|
|
@@ -874,7 +999,9 @@ var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
|
874
999
|
}, templates);
|
|
875
1000
|
onChange === null || onChange === void 0 || onChange(template);
|
|
876
1001
|
};
|
|
877
|
-
|
|
1002
|
+
var _ref2 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1003
|
+
helpPopoverProps = _ref2.template;
|
|
1004
|
+
return /*#__PURE__*/jsxRuntime.jsx(Select, _objectSpread$r({
|
|
878
1005
|
onFocus: onFocus,
|
|
879
1006
|
isClearable: true,
|
|
880
1007
|
isSearchable: true,
|
|
@@ -888,7 +1015,35 @@ var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
|
888
1015
|
placeholder: t("neetoRules.placeholders.selectTemplate"),
|
|
889
1016
|
value: selectedTemplate,
|
|
890
1017
|
onChange: handleTemplateChange
|
|
891
|
-
});
|
|
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;
|
|
892
1047
|
};
|
|
893
1048
|
|
|
894
1049
|
var Target$i = function Target(_ref) {
|
|
@@ -941,20 +1096,46 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
941
1096
|
t = _useTranslation2.t;
|
|
942
1097
|
var _useFormikContext = formik.useFormikContext(),
|
|
943
1098
|
setFieldValue = _useFormikContext.setFieldValue,
|
|
944
|
-
|
|
1099
|
+
formValues = _useFormikContext.values;
|
|
945
1100
|
var _useActiveField2 = useActiveField(name, {
|
|
946
1101
|
shouldAutoFocus: shouldAutoFocus
|
|
947
1102
|
}),
|
|
948
1103
|
ref = _useActiveField2.ref,
|
|
949
1104
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
950
|
-
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);
|
|
951
1129
|
var isTemplateSelectionEnabled = neetoCist.isPresent(templates);
|
|
952
1130
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
953
|
-
API_REQUEST_FIELDS.forEach(function (key) {
|
|
954
|
-
var value = key
|
|
1131
|
+
ramda.values(API_REQUEST_FIELDS).forEach(function (key) {
|
|
1132
|
+
var value = formatTemplateValues(key, template);
|
|
955
1133
|
setFieldValue("".concat(name, ".").concat(key), value);
|
|
956
1134
|
});
|
|
957
1135
|
};
|
|
1136
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1137
|
+
customHeadersHelpPopoverProps = _ref4.customHeaders,
|
|
1138
|
+
bodyHelpPopoverProps = _ref4.body;
|
|
958
1139
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
959
1140
|
className: "w-full",
|
|
960
1141
|
children: [isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
@@ -975,12 +1156,16 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
975
1156
|
onFocus: setFieldActive
|
|
976
1157
|
}), /*#__PURE__*/jsxRuntime.jsx(CustomHeaders, {
|
|
977
1158
|
name: name,
|
|
1159
|
+
helpPopoverProps: customHeadersHelpPopoverProps,
|
|
978
1160
|
onFocus: setFieldActive
|
|
979
1161
|
}), /*#__PURE__*/jsxRuntime.jsx(JsonEditor, {
|
|
980
|
-
|
|
1162
|
+
helpPopoverProps: bodyHelpPopoverProps,
|
|
1163
|
+
initialValue: dotPath("".concat(name, ".body"), formValues),
|
|
981
1164
|
name: "".concat(name, ".body"),
|
|
982
1165
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
983
1166
|
onFocus: setFieldActive
|
|
1167
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsxRuntime.jsx(SaveAsTemplate, {
|
|
1168
|
+
name: name
|
|
984
1169
|
})]
|
|
985
1170
|
});
|
|
986
1171
|
};
|
|
@@ -1155,9 +1340,9 @@ var EmailIdFields = function EmailIdFields(_ref) {
|
|
|
1155
1340
|
});
|
|
1156
1341
|
};
|
|
1157
1342
|
|
|
1158
|
-
var _excluded$
|
|
1159
|
-
function ownKeys$
|
|
1160
|
-
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; }
|
|
1161
1346
|
var EditorAction = function EditorAction(_ref) {
|
|
1162
1347
|
var _ref$autoFocus = _ref.autoFocus,
|
|
1163
1348
|
autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
|
|
@@ -1172,7 +1357,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1172
1357
|
_ref$editorRef = _ref.editorRef,
|
|
1173
1358
|
editorRef = _ref$editorRef === void 0 ? null : _ref$editorRef,
|
|
1174
1359
|
defaults = _ref.defaults,
|
|
1175
|
-
otherProps = _objectWithoutProperties(_ref, _excluded$
|
|
1360
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$e);
|
|
1176
1361
|
var _useStateWithDependen = reactUtils.useStateWithDependency(value, [name]),
|
|
1177
1362
|
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
1178
1363
|
editorData = _useStateWithDependen2[0],
|
|
@@ -1183,7 +1368,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1183
1368
|
react.useEffect(function () {
|
|
1184
1369
|
setFieldValue(name, editorData);
|
|
1185
1370
|
}, [debouncedValue]);
|
|
1186
|
-
return /*#__PURE__*/react.createElement(FormikEditor, _objectSpread$
|
|
1371
|
+
return /*#__PURE__*/react.createElement(FormikEditor, _objectSpread$q({
|
|
1187
1372
|
addons: addons,
|
|
1188
1373
|
autoFocus: autoFocus,
|
|
1189
1374
|
defaults: defaults,
|
|
@@ -1199,6 +1384,9 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1199
1384
|
}, otherProps));
|
|
1200
1385
|
};
|
|
1201
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; }
|
|
1202
1390
|
var Target$f = function Target(_ref) {
|
|
1203
1391
|
var _selectedOption$label;
|
|
1204
1392
|
var dropdownOptions = _ref.dropdownOptions,
|
|
@@ -1259,7 +1447,8 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1259
1447
|
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
1260
1448
|
className = _ref2.className,
|
|
1261
1449
|
_ref2$required = _ref2.required,
|
|
1262
|
-
required = _ref2$required === void 0 ? false : _ref2$required
|
|
1450
|
+
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
1451
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded$d);
|
|
1263
1452
|
var _useTranslation2 = reactI18next.useTranslation(),
|
|
1264
1453
|
t = _useTranslation2.t;
|
|
1265
1454
|
var _useField3 = formik.useField(name),
|
|
@@ -1290,35 +1479,23 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1290
1479
|
setValue((_option$value = option === null || option === void 0 ? void 0 : option.value) !== null && _option$value !== void 0 ? _option$value : null);
|
|
1291
1480
|
setTouched(true);
|
|
1292
1481
|
};
|
|
1293
|
-
return /*#__PURE__*/jsxRuntime.jsx(Select$1, {
|
|
1482
|
+
return /*#__PURE__*/jsxRuntime.jsx(Select$1, _objectSpread$p(_objectSpread$p({}, _objectSpread$p({
|
|
1294
1483
|
className: className,
|
|
1295
1484
|
name: name,
|
|
1296
|
-
required: required
|
|
1485
|
+
required: required
|
|
1486
|
+
}, otherProps)), {}, {
|
|
1297
1487
|
innerRef: ref,
|
|
1298
1488
|
label: defaultLabel,
|
|
1299
1489
|
options: dropdownOptions,
|
|
1300
1490
|
value: selectedOption,
|
|
1301
1491
|
onChange: handleSelectOption,
|
|
1302
1492
|
onFocus: setFieldActive
|
|
1303
|
-
});
|
|
1493
|
+
}));
|
|
1304
1494
|
};
|
|
1305
1495
|
SelectField$2.Target = Target$f;
|
|
1306
1496
|
|
|
1307
|
-
var
|
|
1308
|
-
|
|
1309
|
-
ref.current.editor.commands.setContent(content);
|
|
1310
|
-
};
|
|
1311
|
-
var mergeRefs = function mergeRefs() {
|
|
1312
|
-
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1313
|
-
refs[_key] = arguments[_key];
|
|
1314
|
-
}
|
|
1315
|
-
return function (node) {
|
|
1316
|
-
refs.forEach(function (ref) {
|
|
1317
|
-
if (typeof ref === "function") ref(node);else if (ref !== null) ref.current = node;
|
|
1318
|
-
});
|
|
1319
|
-
};
|
|
1320
|
-
};
|
|
1321
|
-
|
|
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; }
|
|
1322
1499
|
var Target$e = function Target(_ref) {
|
|
1323
1500
|
var selectedField = _ref.selectedField,
|
|
1324
1501
|
_ref$separatorIndex = _ref.separatorIndex,
|
|
@@ -1391,8 +1568,28 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1391
1568
|
}),
|
|
1392
1569
|
initialFocusRef = _useActiveField2.ref,
|
|
1393
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);
|
|
1394
1578
|
var templates = selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates;
|
|
1395
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);
|
|
1396
1593
|
var isFirstFieldInForm = function isFirstFieldInForm(field) {
|
|
1397
1594
|
if (isTemplateSelectionEnabled) return false;
|
|
1398
1595
|
if (field === "emails") return true;
|
|
@@ -1400,14 +1597,17 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1400
1597
|
return !isEmailIdField && selectedField.hideSubject;
|
|
1401
1598
|
};
|
|
1402
1599
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
1600
|
+
setFieldValue("".concat(name, ".templateId"), template.id);
|
|
1403
1601
|
setFieldValue("".concat(name, ".body"), template.body);
|
|
1404
1602
|
setEditorContent(editorRef, template.body);
|
|
1405
1603
|
if (selectedField.hideSubject) return;
|
|
1406
1604
|
setFieldValue("".concat(name, ".subject"), template.subject);
|
|
1407
1605
|
};
|
|
1606
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1607
|
+
recipientFieldHelpPopoverProps = _ref4.recipientField;
|
|
1408
1608
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1409
1609
|
className: "w-full",
|
|
1410
|
-
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, {
|
|
1610
|
+
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, _objectSpread$o({
|
|
1411
1611
|
index: index,
|
|
1412
1612
|
selectedField: selectedField,
|
|
1413
1613
|
required: true,
|
|
@@ -1416,7 +1616,7 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1416
1616
|
dropdownOptions: fieldOptions,
|
|
1417
1617
|
key: "".concat(name, ".value"),
|
|
1418
1618
|
name: "".concat(name, ".value")
|
|
1419
|
-
}), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
1619
|
+
}, withHelpPopover(recipientFieldHelpPopoverProps))), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
1420
1620
|
initialFocusRef: initialFocusRef,
|
|
1421
1621
|
selectedField: selectedField,
|
|
1422
1622
|
templates: templates,
|
|
@@ -1444,6 +1644,9 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1444
1644
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
1445
1645
|
editorRef: isFirstFieldInForm("body") ? mergeRefs(editorRef, initialFocusRef) : editorRef,
|
|
1446
1646
|
onFocus: setFieldActive
|
|
1647
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsxRuntime.jsx(SaveAsTemplate, {
|
|
1648
|
+
name: name,
|
|
1649
|
+
className: "mt-4"
|
|
1447
1650
|
})]
|
|
1448
1651
|
});
|
|
1449
1652
|
};
|
|
@@ -1546,8 +1749,8 @@ var SHORTCUTS = {
|
|
|
1546
1749
|
};
|
|
1547
1750
|
|
|
1548
1751
|
var _excluded$c = ["value", "nullable", "className", "handleSubmit", "handleCancel"];
|
|
1549
|
-
function ownKeys$
|
|
1550
|
-
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; }
|
|
1551
1754
|
var InlineInput = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
1552
1755
|
var _props$value = props.value,
|
|
1553
1756
|
value = _props$value === void 0 ? "" : _props$value,
|
|
@@ -1585,7 +1788,7 @@ var InlineInput = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
|
1585
1788
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1586
1789
|
className: classNames("flex flex-grow", _defineProperty({}, className, className)),
|
|
1587
1790
|
ref: inputWrapperRef,
|
|
1588
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Input$2, _objectSpread$
|
|
1791
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input$2, _objectSpread$n(_objectSpread$n({
|
|
1589
1792
|
autoFocus: true,
|
|
1590
1793
|
required: true,
|
|
1591
1794
|
className: "neeto-planner-inline-input",
|
|
@@ -2232,8 +2435,8 @@ var formatErrorMessage = function formatErrorMessage(error) {
|
|
|
2232
2435
|
};
|
|
2233
2436
|
|
|
2234
2437
|
var _excluded$b = ["children"];
|
|
2235
|
-
function ownKeys$
|
|
2236
|
-
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; }
|
|
2237
2440
|
var STYLES = {
|
|
2238
2441
|
border: {
|
|
2239
2442
|
"default": "1px solid rgb(var(--neeto-ui-gray-400))",
|
|
@@ -2245,8 +2448,8 @@ var STYLES = {
|
|
|
2245
2448
|
}
|
|
2246
2449
|
};
|
|
2247
2450
|
var MultiValueRemove = function MultiValueRemove(props) {
|
|
2248
|
-
return /*#__PURE__*/jsxRuntime.jsx(reactSelect.components.MultiValueRemove, _objectSpread$
|
|
2249
|
-
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"))),
|
|
2250
2453
|
children: /*#__PURE__*/jsxRuntime.jsx(Close, {
|
|
2251
2454
|
size: 16
|
|
2252
2455
|
})
|
|
@@ -2266,8 +2469,8 @@ var ValueContainer = function ValueContainer(_ref) {
|
|
|
2266
2469
|
firstChild = _children[0],
|
|
2267
2470
|
rest = _children.slice(1);
|
|
2268
2471
|
var shouldCollapse = !isFocused && value.length > visiblePhoneNumbersCount;
|
|
2269
|
-
return /*#__PURE__*/jsxRuntime.jsxs(reactSelect.components.ValueContainer, _objectSpread$
|
|
2270
|
-
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")),
|
|
2271
2474
|
children: [shouldCollapse ? firstChild.slice(0, visiblePhoneNumbersCount) : firstChild, shouldCollapse && /*#__PURE__*/jsxRuntime.jsx(Tag, {
|
|
2272
2475
|
style: "secondary",
|
|
2273
2476
|
label: t("neetoRules.labels.remainingItemsCount", {
|
|
@@ -2277,8 +2480,8 @@ var ValueContainer = function ValueContainer(_ref) {
|
|
|
2277
2480
|
}));
|
|
2278
2481
|
};
|
|
2279
2482
|
var ClearIndicator = function ClearIndicator(props) {
|
|
2280
|
-
return /*#__PURE__*/jsxRuntime.jsx(reactSelect.components.ClearIndicator, _objectSpread$
|
|
2281
|
-
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")),
|
|
2282
2485
|
children: /*#__PURE__*/jsxRuntime.jsx(Close, {
|
|
2283
2486
|
className: "cursor-pointer",
|
|
2284
2487
|
size: 16
|
|
@@ -2296,7 +2499,7 @@ var CUSTOM_STYLES = {
|
|
|
2296
2499
|
input: ramda.assoc("overflow", "hidden"),
|
|
2297
2500
|
multiValue: function multiValue(styles, _ref2) {
|
|
2298
2501
|
var valid = _ref2.data.valid;
|
|
2299
|
-
return _objectSpread$
|
|
2502
|
+
return _objectSpread$m(_objectSpread$m({}, styles), {}, {
|
|
2300
2503
|
border: valid ? STYLES.border["default"] : STYLES.border.error,
|
|
2301
2504
|
color: valid ? STYLES.color["default"] : STYLES.color.error
|
|
2302
2505
|
});
|
|
@@ -2310,8 +2513,8 @@ var CUSTOM_COMPONENTS = {
|
|
|
2310
2513
|
};
|
|
2311
2514
|
|
|
2312
2515
|
var _excluded$a = ["value", "onChange", "error", "onBlur", "onFocus"];
|
|
2313
|
-
function ownKeys$
|
|
2314
|
-
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; }
|
|
2315
2518
|
var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
2316
2519
|
var _ref$value = _ref.value,
|
|
2317
2520
|
value = _ref$value === void 0 ? [] : _ref$value,
|
|
@@ -2372,7 +2575,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2372
2575
|
"data-cy": "".concat(dasherize(label), "-input-label"),
|
|
2373
2576
|
children: label
|
|
2374
2577
|
})
|
|
2375
|
-
}), /*#__PURE__*/jsxRuntime.jsx(CreatableSelect, _objectSpread$
|
|
2578
|
+
}), /*#__PURE__*/jsxRuntime.jsx(CreatableSelect, _objectSpread$l({
|
|
2376
2579
|
isMulti: true,
|
|
2377
2580
|
required: true,
|
|
2378
2581
|
classNamePrefix: "neeto-ui-react-select",
|
|
@@ -2383,7 +2586,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2383
2586
|
className: classNames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
|
|
2384
2587
|
"neeto-ui-react-select__container--error": !!error
|
|
2385
2588
|
}),
|
|
2386
|
-
styles: _objectSpread$
|
|
2589
|
+
styles: _objectSpread$l(_objectSpread$l({}, CUSTOM_STYLES), {}, {
|
|
2387
2590
|
control: ramda.mergeLeft({
|
|
2388
2591
|
maxHeight: "200px",
|
|
2389
2592
|
overflowY: "auto"
|
|
@@ -2396,7 +2599,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
|
2396
2599
|
setIsFocused(true);
|
|
2397
2600
|
_onFocus();
|
|
2398
2601
|
}
|
|
2399
|
-
}, _objectSpread$
|
|
2602
|
+
}, _objectSpread$l({
|
|
2400
2603
|
inputValue: inputValue,
|
|
2401
2604
|
isFocused: isFocused,
|
|
2402
2605
|
onChange: onChange,
|
|
@@ -2456,6 +2659,8 @@ var PhoneNumberField = function PhoneNumberField(_ref) {
|
|
|
2456
2659
|
});
|
|
2457
2660
|
};
|
|
2458
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; }
|
|
2459
2664
|
var Target$7 = function Target(_ref) {
|
|
2460
2665
|
var name = _ref.name,
|
|
2461
2666
|
_ref$separatorIndex = _ref.separatorIndex,
|
|
@@ -2527,11 +2732,29 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2527
2732
|
}),
|
|
2528
2733
|
initialFocusRef = _useActiveField2.ref,
|
|
2529
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);
|
|
2530
2742
|
var _useFormikContext = formik.useFormikContext(),
|
|
2531
2743
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
2532
|
-
var templates = selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates;
|
|
2744
|
+
var templates = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates) || [];
|
|
2533
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);
|
|
2534
2756
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
2757
|
+
setFieldValue("".concat(name, ".templateId"), template.id);
|
|
2535
2758
|
setFieldValue("".concat(name, ".body"), template.body);
|
|
2536
2759
|
setEditorContent(editorRef, template.body);
|
|
2537
2760
|
};
|
|
@@ -2539,9 +2762,11 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2539
2762
|
if (isTemplateSelectionEnabled) return false;
|
|
2540
2763
|
return field === "phoneNumbers" ? true : !showPhoneNumberInput;
|
|
2541
2764
|
};
|
|
2765
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
2766
|
+
recipientFieldHelpPopoverProps = _ref4.recipientField;
|
|
2542
2767
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2543
2768
|
className: "w-full",
|
|
2544
|
-
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, {
|
|
2769
|
+
children: [showFieldSelection && /*#__PURE__*/react.createElement(SelectField$2, _objectSpread$k({
|
|
2545
2770
|
index: index,
|
|
2546
2771
|
selectedField: selectedField,
|
|
2547
2772
|
shouldAutoFocus: true,
|
|
@@ -2549,7 +2774,7 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2549
2774
|
dropdownOptions: fieldOptions,
|
|
2550
2775
|
key: "".concat(name, ".value"),
|
|
2551
2776
|
name: "".concat(name, ".value")
|
|
2552
|
-
}), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
2777
|
+
}, withHelpPopover(recipientFieldHelpPopoverProps))), isTemplateSelectionEnabled && /*#__PURE__*/jsxRuntime.jsx(SelectTemplateField, {
|
|
2553
2778
|
initialFocusRef: initialFocusRef,
|
|
2554
2779
|
selectedField: selectedField,
|
|
2555
2780
|
templates: templates,
|
|
@@ -2570,6 +2795,9 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2570
2795
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
2571
2796
|
editorRef: isFirstFieldInForm("body") ? mergeRefs(editorRef, initialFocusRef) : editorRef,
|
|
2572
2797
|
onFocus: setFieldActive
|
|
2798
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsxRuntime.jsx(SaveAsTemplate, {
|
|
2799
|
+
name: name,
|
|
2800
|
+
className: "mt-4"
|
|
2573
2801
|
})]
|
|
2574
2802
|
});
|
|
2575
2803
|
};
|
|
@@ -4588,7 +4816,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4588
4816
|
body: yup__namespace.string().test("body", i18next.t("neetoRules.validations.required.body"), function (value) {
|
|
4589
4817
|
return !utils$1.isEditorEmpty(value);
|
|
4590
4818
|
}),
|
|
4591
|
-
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
|
|
4592
4821
|
});
|
|
4593
4822
|
} else if ([ACTION_TYPES.sms, ACTION_TYPES.smsToNumbers, ACTION_TYPES.smsTo].includes(selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4594
4823
|
return yup__namespace.object({
|
|
@@ -4600,7 +4829,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4600
4829
|
body: yup__namespace.string().test("body", i18next.t("neetoRules.validations.required.body"), function (value) {
|
|
4601
4830
|
return !utils$1.isEditorEmpty(value);
|
|
4602
4831
|
}),
|
|
4603
|
-
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
|
|
4604
4834
|
});
|
|
4605
4835
|
} else if (ACTION_TYPES.sendToApi === (selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4606
4836
|
return yup__namespace.object({
|
|
@@ -4628,7 +4858,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4628
4858
|
message: i18next.t("neetoRules.validations.invalidJsonBody")
|
|
4629
4859
|
});
|
|
4630
4860
|
}
|
|
4631
|
-
})
|
|
4861
|
+
}),
|
|
4862
|
+
templateName: TEMPLATE_NAME_VALIDATION_SCHEMA
|
|
4632
4863
|
});
|
|
4633
4864
|
} else if (ACTION_TYPES.multiSelect === (selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4634
4865
|
return yup__namespace.object({
|
|
@@ -4804,6 +5035,12 @@ var PANEL_TYPE_CONFIG_MAP = _defineProperty(_defineProperty(_defineProperty(_def
|
|
|
4804
5035
|
component: ActionSubItemPanel,
|
|
4805
5036
|
data: {}
|
|
4806
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
|
+
});
|
|
4807
5044
|
|
|
4808
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; }
|
|
4809
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; }
|
|
@@ -4988,7 +5225,9 @@ var Actions = function Actions(_ref) {
|
|
|
4988
5225
|
_ref$routeToSlackInte = _ref.routeToSlackIntegration,
|
|
4989
5226
|
routeToSlackIntegration = _ref$routeToSlackInte === void 0 ? "" : _ref$routeToSlackInte,
|
|
4990
5227
|
_ref$openPanel = _ref.openPanel,
|
|
4991
|
-
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;
|
|
4992
5231
|
var _useFormikContext = formik.useFormikContext(),
|
|
4993
5232
|
values = _useFormikContext.values,
|
|
4994
5233
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
@@ -5000,12 +5239,17 @@ var Actions = function Actions(_ref) {
|
|
|
5000
5239
|
setShouldOpenPanel = _useState2[1];
|
|
5001
5240
|
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
5002
5241
|
return {
|
|
5003
|
-
resetPanelState: store["resetPanelState"]
|
|
5242
|
+
resetPanelState: store["resetPanelState"],
|
|
5243
|
+
setIsSaveAsTemplateEnabled: store["setIsSaveAsTemplateEnabled"]
|
|
5004
5244
|
};
|
|
5005
5245
|
}, shallow.shallow),
|
|
5006
|
-
resetPanelState = _useUtilityStore.resetPanelState
|
|
5246
|
+
resetPanelState = _useUtilityStore.resetPanelState,
|
|
5247
|
+
setIsSaveAsTemplateEnabled = _useUtilityStore.setIsSaveAsTemplateEnabled;
|
|
5007
5248
|
var elementProps = data[name] || {};
|
|
5008
5249
|
var actions = values[name].value || [];
|
|
5250
|
+
react.useEffect(function () {
|
|
5251
|
+
setIsSaveAsTemplateEnabled(isSaveAsTemplateEnabled);
|
|
5252
|
+
}, [isSaveAsTemplateEnabled]);
|
|
5009
5253
|
var showButton = react.useMemo(function () {
|
|
5010
5254
|
var _actions;
|
|
5011
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;
|