@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
package/dist/NeetoRulesForm.js
CHANGED
|
@@ -3,30 +3,32 @@ import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructurin
|
|
|
3
3
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
5
|
import { shallow } from 'zustand/shallow';
|
|
6
|
-
import { useRef, useEffect, createElement, forwardRef, useState, useMemo, memo, Fragment as Fragment$1 } from 'react';
|
|
6
|
+
import { useRef, useEffect, createElement, useCallback, forwardRef, useState, useMemo, memo, Fragment as Fragment$1 } from 'react';
|
|
7
7
|
import { useFormikContext, useField, FieldArray, ErrorMessage, Formik, Form as Form$1 } from 'formik';
|
|
8
|
-
import { findBy, noop, isNotEmpty, isPresent, hyphenate, renameKeys, nullSafe, toLabelAndValue, removeBy, isNotPresent } from '@bigbinary/neeto-cist';
|
|
8
|
+
import { findBy, noop, isNotEmpty, isPresent, hyphenate, renameKeys, notEqualsDeep, nullSafe, toLabelAndValue, removeBy, isNotPresent } from '@bigbinary/neeto-cist';
|
|
9
9
|
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
10
10
|
import Delete from '@bigbinary/neeto-icons/Delete';
|
|
11
11
|
import Refresh from '@bigbinary/neeto-icons/Refresh';
|
|
12
12
|
import Button from '@bigbinary/neetoui/Button';
|
|
13
13
|
import { useTranslation, Trans } from 'react-i18next';
|
|
14
|
-
import { u as useUtilityStore, g as getSeparator } from './useUtilityStore-
|
|
14
|
+
import { u as useUtilityStore, g as getSeparator } from './useUtilityStore-BcSUEW_u.js';
|
|
15
15
|
import classNames from 'classnames';
|
|
16
16
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
17
|
-
import { assocPath, pluck, identity, isEmpty, mergeDeepLeft, isNotNil, whereAny,
|
|
17
|
+
import { assocPath, pluck, identity, isEmpty, mergeDeepLeft, isNotNil, whereAny, reject, equals, unless, path, omit, useWith, split, when, is, trim, eqBy, F, values, isNil, without, append, pipe, filter, uniq, join, map, assoc, mergeLeft, includes, test } from 'ramda';
|
|
18
|
+
import { t as t$1 } from 'i18next';
|
|
19
|
+
import * as yup from 'yup';
|
|
18
20
|
import Radio from '@bigbinary/neetoui/formik/Radio';
|
|
19
21
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
20
22
|
import { manager } from '@bigbinary/neetoui/managers';
|
|
21
23
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
22
24
|
import Collapse from '@bigbinary/neeto-icons/Collapse';
|
|
23
|
-
import { t as t$1 } from 'i18next';
|
|
24
25
|
import Left from '@bigbinary/neeto-icons/Left';
|
|
25
26
|
import Textarea from '@bigbinary/neetoui/formik/Textarea';
|
|
26
27
|
import Input$1 from '@bigbinary/neetoui/formik/Input';
|
|
27
28
|
import Switch from '@bigbinary/neetoui/formik/Switch';
|
|
28
29
|
import { withT, useStateWithDependency, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
29
30
|
import Editor from '@monaco-editor/react';
|
|
31
|
+
import Help from '@bigbinary/neeto-icons/Help';
|
|
30
32
|
import DynamicVariables from '@bigbinary/neeto-molecules/DynamicVariables';
|
|
31
33
|
import Label from '@bigbinary/neetoui/Label';
|
|
32
34
|
import Select from '@bigbinary/neetoui/Select';
|
|
@@ -45,7 +47,6 @@ import _toArray from '@babel/runtime/helpers/toArray';
|
|
|
45
47
|
import { isPhoneNumberValid } from '@bigbinary/neeto-molecules/PhoneNumber';
|
|
46
48
|
import Tag from '@bigbinary/neetoui/Tag';
|
|
47
49
|
import { components } from 'react-select';
|
|
48
|
-
import * as yup from 'yup';
|
|
49
50
|
import { O as OPERATORS$1, V as VERB_LABELS, I as INPUT_FIELD_TYPES, C as CONDITION_VALUE_TYPES, F as FIELDS_WITH_OPTIONS$1 } from './constants-DghBXpIM.js';
|
|
50
51
|
import Radio$1 from '@bigbinary/neetoui/Radio';
|
|
51
52
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
@@ -58,7 +59,6 @@ import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
|
58
59
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
59
60
|
import NeetoHeader from '@bigbinary/neeto-molecules/Header';
|
|
60
61
|
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
61
|
-
import Help from '@bigbinary/neeto-icons/Help';
|
|
62
62
|
import Switch$1 from '@bigbinary/neetoui/Switch';
|
|
63
63
|
import { u as useCustomDataStore } from './useCustomDataStore-B1qHMIGJ.js';
|
|
64
64
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
@@ -66,7 +66,7 @@ import 'zustand';
|
|
|
66
66
|
|
|
67
67
|
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}}
|
|
68
68
|
|
|
69
|
-
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,
|
|
69
|
+
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== */";
|
|
70
70
|
n(css,{});
|
|
71
71
|
|
|
72
72
|
var useActiveField = function useActiveField(name) {
|
|
@@ -175,9 +175,9 @@ var Header = function Header(_ref) {
|
|
|
175
175
|
});
|
|
176
176
|
};
|
|
177
177
|
|
|
178
|
-
var _excluded$
|
|
179
|
-
function ownKeys$
|
|
180
|
-
function _objectSpread$
|
|
178
|
+
var _excluded$f = ["component"];
|
|
179
|
+
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; }
|
|
180
|
+
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; }
|
|
181
181
|
var Panel = function Panel() {
|
|
182
182
|
var _useUtilityStore = useUtilityStore(function (store) {
|
|
183
183
|
return {
|
|
@@ -198,17 +198,17 @@ var Panel = function Panel() {
|
|
|
198
198
|
Object.assign(data, panelState.data);
|
|
199
199
|
}
|
|
200
200
|
var Component = config.component,
|
|
201
|
-
paneProps = _objectWithoutProperties(config, _excluded$
|
|
201
|
+
paneProps = _objectWithoutProperties(config, _excluded$f);
|
|
202
202
|
var isOpen = !!panelState.type;
|
|
203
203
|
var hasOverlays = manager.hasOverlays();
|
|
204
204
|
var panelSize = {
|
|
205
205
|
small: "neeto-rules-side-panel--small",
|
|
206
206
|
large: "neeto-rules-side-panel--large"
|
|
207
207
|
}[panelState.size] || "neeto-rules-side-panel--small";
|
|
208
|
-
return /*#__PURE__*/jsx("div", _objectSpread$
|
|
208
|
+
return /*#__PURE__*/jsx("div", _objectSpread$u(_objectSpread$u({
|
|
209
209
|
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))
|
|
210
210
|
}, paneProps), {}, {
|
|
211
|
-
children: /*#__PURE__*/jsx(Component, _objectSpread$
|
|
211
|
+
children: /*#__PURE__*/jsx(Component, _objectSpread$u(_objectSpread$u({}, data), {}, {
|
|
212
212
|
onClose: resetPanelState
|
|
213
213
|
}), panelState.type)
|
|
214
214
|
}));
|
|
@@ -272,6 +272,11 @@ var DEFAULT_RULE_ACTION = {
|
|
|
272
272
|
var EDITOR_ADDONS = ["code-block", "block-quote", "image-upload"];
|
|
273
273
|
var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
274
274
|
var ACTION_INPUT_TYPES = ["text", "number", "decimal", "regex"];
|
|
275
|
+
var DEFAULT_HELP_POPOVER_PROPS = {
|
|
276
|
+
helpLinkProps: {
|
|
277
|
+
label: t$1("neetoRules.labels.viewHelpArticle")
|
|
278
|
+
}
|
|
279
|
+
};
|
|
275
280
|
|
|
276
281
|
var getFieldDetails$1 = function getFieldDetails(fieldValue) {
|
|
277
282
|
var actionOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -590,7 +595,13 @@ var EDITOR_CONFIG = {
|
|
|
590
595
|
scrollBeyondLastLine: false,
|
|
591
596
|
autoIndent: "full"
|
|
592
597
|
};
|
|
593
|
-
var API_REQUEST_FIELDS =
|
|
598
|
+
var API_REQUEST_FIELDS = {
|
|
599
|
+
TEMPLATE_ID: "templateId",
|
|
600
|
+
ENDPOINT: "endpoint",
|
|
601
|
+
BODY: "body",
|
|
602
|
+
ENABLE_CUSTOM_HEADERS: "enableCustomHeaders",
|
|
603
|
+
CUSTOM_HEADERS: "customHeaders"
|
|
604
|
+
};
|
|
594
605
|
|
|
595
606
|
var addOption = function addOption(arrayHelpers) {
|
|
596
607
|
return arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);
|
|
@@ -611,9 +622,72 @@ var hasKeyOrValue = whereAny({
|
|
|
611
622
|
var formatCustomFields = function formatCustomFields(customFields) {
|
|
612
623
|
return isPresent(customFields) ? customFields : [CUSTOM_HEADERS_INITIAL_VALUE];
|
|
613
624
|
};
|
|
625
|
+
var rejectEmptyKeyValuePairs = reject(whereAny({
|
|
626
|
+
key: isEmpty,
|
|
627
|
+
value: isEmpty
|
|
628
|
+
}));
|
|
629
|
+
var areHeadersSame = function areHeadersSame(enableCustomHeaders, customHeaders) {
|
|
630
|
+
var template = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
631
|
+
var templateHasCustomHeaders = template.enableCustomHeaders,
|
|
632
|
+
templateHeaders = template.customHeaders;
|
|
633
|
+
if (!enableCustomHeaders && !templateHasCustomHeaders) return true;
|
|
634
|
+
if (enableCustomHeaders !== templateHasCustomHeaders) return false;
|
|
635
|
+
return equals(customHeaders, templateHeaders);
|
|
636
|
+
};
|
|
637
|
+
var isBodyAvailable = function isBodyAvailable(body) {
|
|
638
|
+
try {
|
|
639
|
+
var data = JSON.parse(body);
|
|
640
|
+
return isPresent(data);
|
|
641
|
+
} catch (_unused) {
|
|
642
|
+
return false;
|
|
643
|
+
}
|
|
644
|
+
};
|
|
645
|
+
var formatTemplateValues = function formatTemplateValues(key, template) {
|
|
646
|
+
switch (key) {
|
|
647
|
+
case API_REQUEST_FIELDS.CUSTOM_HEADERS:
|
|
648
|
+
return formatCustomFields(template[key]);
|
|
649
|
+
case API_REQUEST_FIELDS.TEMPLATE_ID:
|
|
650
|
+
return template.id;
|
|
651
|
+
default:
|
|
652
|
+
return template[key];
|
|
653
|
+
}
|
|
654
|
+
};
|
|
655
|
+
|
|
656
|
+
var sanitizeHelpPopoverProps = unless(path(["helpLinkProps", "href"]), omit(["helpLinkProps"]));
|
|
657
|
+
var setEditorContent = function setEditorContent(ref, content) {
|
|
658
|
+
if (!ref.current) return;
|
|
659
|
+
ref.current.editor.commands.setContent(content);
|
|
660
|
+
};
|
|
661
|
+
var mergeRefs = function mergeRefs() {
|
|
662
|
+
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
663
|
+
refs[_key] = arguments[_key];
|
|
664
|
+
}
|
|
665
|
+
return function (node) {
|
|
666
|
+
refs.forEach(function (ref) {
|
|
667
|
+
if (typeof ref === "function") ref(node);else if (ref !== null) ref.current = node;
|
|
668
|
+
});
|
|
669
|
+
};
|
|
670
|
+
};
|
|
614
671
|
|
|
615
672
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
616
673
|
var dotPath = useWith(path, [split(".")]);
|
|
674
|
+
var areValuesEqual = function areValuesEqual(value1, value2) {
|
|
675
|
+
var normalize = when(is(String), trim);
|
|
676
|
+
return eqBy(normalize, value1, value2);
|
|
677
|
+
};
|
|
678
|
+
var buildHelpPopoverProps = function buildHelpPopoverProps(popoverProps) {
|
|
679
|
+
var combinedProps = mergeDeepLeft(popoverProps, DEFAULT_HELP_POPOVER_PROPS);
|
|
680
|
+
return sanitizeHelpPopoverProps(combinedProps);
|
|
681
|
+
};
|
|
682
|
+
var withHelpPopover = function withHelpPopover(helpPopoverProps) {
|
|
683
|
+
return isPresent(helpPopoverProps) ? {
|
|
684
|
+
labelProps: {
|
|
685
|
+
helpIconProps: {
|
|
686
|
+
popoverProps: buildHelpPopoverProps(helpPopoverProps)
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
} : {};
|
|
690
|
+
};
|
|
617
691
|
|
|
618
692
|
var KeyValuePairsField = withT(function (_ref) {
|
|
619
693
|
var t = _ref.t,
|
|
@@ -672,9 +746,13 @@ var KeyValuePairsField = withT(function (_ref) {
|
|
|
672
746
|
});
|
|
673
747
|
});
|
|
674
748
|
|
|
749
|
+
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; }
|
|
750
|
+
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; }
|
|
675
751
|
var CustomHeaders = function CustomHeaders(_ref) {
|
|
676
752
|
var name = _ref.name,
|
|
677
|
-
onFocus = _ref.onFocus
|
|
753
|
+
onFocus = _ref.onFocus,
|
|
754
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
755
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
678
756
|
var _useFormikContext = useFormikContext(),
|
|
679
757
|
values = _useFormikContext.values,
|
|
680
758
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
@@ -693,27 +771,31 @@ var CustomHeaders = function CustomHeaders(_ref) {
|
|
|
693
771
|
var label = t("neetoRules.labels.includeHeaders");
|
|
694
772
|
return /*#__PURE__*/jsxs("div", {
|
|
695
773
|
className: "flex flex-col space-y-4 mb-4",
|
|
696
|
-
children: [/*#__PURE__*/jsx(Switch, {
|
|
774
|
+
children: [/*#__PURE__*/jsx(Switch, _objectSpread$t({
|
|
697
775
|
label: label,
|
|
698
776
|
onFocus: onFocus,
|
|
699
777
|
"data-cy": "neeto-rules-api-fields-".concat(hyphenate(label), "-switch"),
|
|
700
778
|
name: switchName,
|
|
701
779
|
onChange: handleChange
|
|
702
|
-
}), isCustomHeadersEnabled && /*#__PURE__*/jsx(KeyValuePairsField, {
|
|
780
|
+
}, withHelpPopover(helpPopoverProps))), isCustomHeadersEnabled && /*#__PURE__*/jsx(KeyValuePairsField, {
|
|
703
781
|
onFocus: onFocus,
|
|
704
782
|
entity: t("neetoRules.labels.headers"),
|
|
705
|
-
name:
|
|
783
|
+
name: keyValuePairsFieldName
|
|
706
784
|
})]
|
|
707
785
|
});
|
|
708
786
|
};
|
|
709
787
|
|
|
788
|
+
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; }
|
|
789
|
+
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; }
|
|
710
790
|
var JsonEditor = function JsonEditor(_ref) {
|
|
711
791
|
var name = _ref.name,
|
|
712
792
|
onFocus = _ref.onFocus,
|
|
713
793
|
_ref$initialValue = _ref.initialValue,
|
|
714
794
|
initialValue = _ref$initialValue === void 0 ? "{}" : _ref$initialValue,
|
|
715
795
|
_ref$variables = _ref.variables,
|
|
716
|
-
variables = _ref$variables === void 0 ? [] : _ref$variables
|
|
796
|
+
variables = _ref$variables === void 0 ? [] : _ref$variables,
|
|
797
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
798
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
717
799
|
var editorRef = useRef(null);
|
|
718
800
|
var completionProviderRef = useRef(null);
|
|
719
801
|
var _useField = useField(name),
|
|
@@ -802,12 +884,18 @@ var JsonEditor = function JsonEditor(_ref) {
|
|
|
802
884
|
};
|
|
803
885
|
}, []);
|
|
804
886
|
return /*#__PURE__*/jsxs("div", {
|
|
805
|
-
className: "space-y-2
|
|
806
|
-
children: [/*#__PURE__*/jsx(Label, {
|
|
887
|
+
className: "space-y-2",
|
|
888
|
+
children: [/*#__PURE__*/jsx(Label, _objectSpread$s(_objectSpread$s({
|
|
807
889
|
required: true,
|
|
808
|
-
"data-cy": "api-field-body"
|
|
890
|
+
"data-cy": "api-field-body"
|
|
891
|
+
}, isPresent(helpPopoverProps) && {
|
|
892
|
+
helpIconProps: {
|
|
893
|
+
icon: Help,
|
|
894
|
+
popoverProps: buildHelpPopoverProps(helpPopoverProps)
|
|
895
|
+
}
|
|
896
|
+
}), {}, {
|
|
809
897
|
children: t("neetoRules.labels.body")
|
|
810
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
898
|
+
})), /*#__PURE__*/jsxs("div", {
|
|
811
899
|
className: "neeto-rules-json-editor__wrapper",
|
|
812
900
|
children: [/*#__PURE__*/jsx("div", {
|
|
813
901
|
className: "neeto-rules-json-editor__dynamic-variables",
|
|
@@ -833,6 +921,43 @@ var JsonEditor = function JsonEditor(_ref) {
|
|
|
833
921
|
});
|
|
834
922
|
};
|
|
835
923
|
|
|
924
|
+
var SaveAsTemplate = function SaveAsTemplate(_ref) {
|
|
925
|
+
var name = _ref.name,
|
|
926
|
+
_ref$className = _ref.className,
|
|
927
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
928
|
+
var _useFormikContext = useFormikContext(),
|
|
929
|
+
values = _useFormikContext.values,
|
|
930
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
931
|
+
var _useTranslation = useTranslation(),
|
|
932
|
+
t = _useTranslation.t;
|
|
933
|
+
var switchName = "".concat(name, ".shouldSaveAsTemplate");
|
|
934
|
+
var templateName = "".concat(name, ".templateName");
|
|
935
|
+
var shouldSaveAsTemplate = dotPath(switchName, values);
|
|
936
|
+
var handleChange = function handleChange(_ref2) {
|
|
937
|
+
var checked = _ref2.target.checked;
|
|
938
|
+
if (!checked) {
|
|
939
|
+
setFieldValue(templateName, "");
|
|
940
|
+
}
|
|
941
|
+
setFieldValue(switchName, checked);
|
|
942
|
+
};
|
|
943
|
+
return /*#__PURE__*/jsxs("div", {
|
|
944
|
+
className: classNames(["flex flex-col space-y-4", className]),
|
|
945
|
+
children: [/*#__PURE__*/jsx(Switch, {
|
|
946
|
+
"data-cy": "neeto-rules-save-as-template-switch",
|
|
947
|
+
label: t("neetoRules.labels.saveAsTemplate"),
|
|
948
|
+
name: switchName,
|
|
949
|
+
onChange: handleChange
|
|
950
|
+
}), shouldSaveAsTemplate && /*#__PURE__*/jsx(Input$1, {
|
|
951
|
+
autoFocus: true,
|
|
952
|
+
required: true,
|
|
953
|
+
label: t("neetoRules.labels.templateName"),
|
|
954
|
+
name: templateName
|
|
955
|
+
})]
|
|
956
|
+
});
|
|
957
|
+
};
|
|
958
|
+
|
|
959
|
+
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; }
|
|
960
|
+
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; }
|
|
836
961
|
var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
837
962
|
var selectedField = _ref.selectedField,
|
|
838
963
|
templates = _ref.templates,
|
|
@@ -853,7 +978,9 @@ var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
|
853
978
|
}, templates);
|
|
854
979
|
onChange === null || onChange === void 0 || onChange(template);
|
|
855
980
|
};
|
|
856
|
-
|
|
981
|
+
var _ref2 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
982
|
+
helpPopoverProps = _ref2.template;
|
|
983
|
+
return /*#__PURE__*/jsx(Select, _objectSpread$r({
|
|
857
984
|
onFocus: onFocus,
|
|
858
985
|
isClearable: true,
|
|
859
986
|
isSearchable: true,
|
|
@@ -867,7 +994,35 @@ var SelectTemplateField = function SelectTemplateField(_ref) {
|
|
|
867
994
|
placeholder: t("neetoRules.placeholders.selectTemplate"),
|
|
868
995
|
value: selectedTemplate,
|
|
869
996
|
onChange: handleTemplateChange
|
|
870
|
-
});
|
|
997
|
+
}, withHelpPopover(helpPopoverProps)));
|
|
998
|
+
};
|
|
999
|
+
|
|
1000
|
+
var useHasFieldChanged = function useHasFieldChanged(name) {
|
|
1001
|
+
var _useFormikContext = useFormikContext(),
|
|
1002
|
+
values = _useFormikContext.values,
|
|
1003
|
+
initialValues = _useFormikContext.initialValues;
|
|
1004
|
+
var initialValue = dotPath(name, initialValues);
|
|
1005
|
+
var value = dotPath(name, values);
|
|
1006
|
+
return notEqualsDeep(initialValue, value);
|
|
1007
|
+
};
|
|
1008
|
+
|
|
1009
|
+
var useResetSaveAsTemplateOnHide = function useResetSaveAsTemplateOnHide(name, shouldShowSaveAsTemplate) {
|
|
1010
|
+
var _dotPath;
|
|
1011
|
+
var _useFormikContext = useFormikContext(),
|
|
1012
|
+
values = _useFormikContext.values,
|
|
1013
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
1014
|
+
var currentValue = (_dotPath = dotPath(name, values)) !== null && _dotPath !== void 0 ? _dotPath : {};
|
|
1015
|
+
var isVisible = shouldShowSaveAsTemplate(currentValue);
|
|
1016
|
+
var wasVisibleRef = useRef(isVisible);
|
|
1017
|
+
useEffect(function () {
|
|
1018
|
+
var wasVisible = wasVisibleRef.current;
|
|
1019
|
+
if (wasVisible && !isVisible) {
|
|
1020
|
+
setFieldValue("".concat(name, ".shouldSaveAsTemplate"), false);
|
|
1021
|
+
setFieldValue("".concat(name, ".templateName"), "");
|
|
1022
|
+
}
|
|
1023
|
+
wasVisibleRef.current = isVisible;
|
|
1024
|
+
}, [isVisible, name, setFieldValue]);
|
|
1025
|
+
return isVisible;
|
|
871
1026
|
};
|
|
872
1027
|
|
|
873
1028
|
var Target$i = function Target(_ref) {
|
|
@@ -920,20 +1075,46 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
920
1075
|
t = _useTranslation2.t;
|
|
921
1076
|
var _useFormikContext = useFormikContext(),
|
|
922
1077
|
setFieldValue = _useFormikContext.setFieldValue,
|
|
923
|
-
|
|
1078
|
+
formValues = _useFormikContext.values;
|
|
924
1079
|
var _useActiveField2 = useActiveField(name, {
|
|
925
1080
|
shouldAutoFocus: shouldAutoFocus
|
|
926
1081
|
}),
|
|
927
1082
|
ref = _useActiveField2.ref,
|
|
928
1083
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
929
|
-
var
|
|
1084
|
+
var _useUtilityStore = useUtilityStore(function (store) {
|
|
1085
|
+
return {
|
|
1086
|
+
isSaveAsTemplateEnabled: store["isSaveAsTemplateEnabled"]
|
|
1087
|
+
};
|
|
1088
|
+
}, shallow),
|
|
1089
|
+
isSaveAsTemplateEnabled = _useUtilityStore.isSaveAsTemplateEnabled;
|
|
1090
|
+
var hasFieldChanged = useHasFieldChanged(name);
|
|
1091
|
+
var templates = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates) || [];
|
|
1092
|
+
var shouldShowSaveAsTemplate = useCallback(function () {
|
|
1093
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1094
|
+
templateId = _ref3.templateId,
|
|
1095
|
+
endpoint = _ref3.endpoint,
|
|
1096
|
+
enableCustomHeaders = _ref3.enableCustomHeaders,
|
|
1097
|
+
_ref3$customHeaders = _ref3.customHeaders,
|
|
1098
|
+
customHeaders = _ref3$customHeaders === void 0 ? [CUSTOM_HEADERS_INITIAL_VALUE] : _ref3$customHeaders,
|
|
1099
|
+
body = _ref3.body;
|
|
1100
|
+
var template = findBy({
|
|
1101
|
+
id: templateId
|
|
1102
|
+
}, templates);
|
|
1103
|
+
var hasContent = isPresent(endpoint) || isPresent(rejectEmptyKeyValuePairs(customHeaders)) || isBodyAvailable(body);
|
|
1104
|
+
var isContentDifferentFromTemplate = !(areValuesEqual(template === null || template === void 0 ? void 0 : template.endpoint, endpoint) && areHeadersSame(enableCustomHeaders, customHeaders, template) && equals(template === null || template === void 0 ? void 0 : template.body, body));
|
|
1105
|
+
return hasContent && hasFieldChanged && isContentDifferentFromTemplate;
|
|
1106
|
+
}, [templates, hasFieldChanged]);
|
|
1107
|
+
var isSaveAsTemplateVisible = useResetSaveAsTemplateOnHide(name, isSaveAsTemplateEnabled ? shouldShowSaveAsTemplate : F);
|
|
930
1108
|
var isTemplateSelectionEnabled = isPresent(templates);
|
|
931
1109
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
932
|
-
API_REQUEST_FIELDS.forEach(function (key) {
|
|
933
|
-
var value = key
|
|
1110
|
+
values(API_REQUEST_FIELDS).forEach(function (key) {
|
|
1111
|
+
var value = formatTemplateValues(key, template);
|
|
934
1112
|
setFieldValue("".concat(name, ".").concat(key), value);
|
|
935
1113
|
});
|
|
936
1114
|
};
|
|
1115
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1116
|
+
customHeadersHelpPopoverProps = _ref4.customHeaders,
|
|
1117
|
+
bodyHelpPopoverProps = _ref4.body;
|
|
937
1118
|
return /*#__PURE__*/jsxs("div", {
|
|
938
1119
|
className: "w-full",
|
|
939
1120
|
children: [isTemplateSelectionEnabled && /*#__PURE__*/jsx(SelectTemplateField, {
|
|
@@ -954,12 +1135,16 @@ var ApiFields = function ApiFields(_ref2) {
|
|
|
954
1135
|
onFocus: setFieldActive
|
|
955
1136
|
}), /*#__PURE__*/jsx(CustomHeaders, {
|
|
956
1137
|
name: name,
|
|
1138
|
+
helpPopoverProps: customHeadersHelpPopoverProps,
|
|
957
1139
|
onFocus: setFieldActive
|
|
958
1140
|
}), /*#__PURE__*/jsx(JsonEditor, {
|
|
959
|
-
|
|
1141
|
+
helpPopoverProps: bodyHelpPopoverProps,
|
|
1142
|
+
initialValue: dotPath("".concat(name, ".body"), formValues),
|
|
960
1143
|
name: "".concat(name, ".body"),
|
|
961
1144
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
962
1145
|
onFocus: setFieldActive
|
|
1146
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsx(SaveAsTemplate, {
|
|
1147
|
+
name: name
|
|
963
1148
|
})]
|
|
964
1149
|
});
|
|
965
1150
|
};
|
|
@@ -1134,9 +1319,9 @@ var EmailIdFields = function EmailIdFields(_ref) {
|
|
|
1134
1319
|
});
|
|
1135
1320
|
};
|
|
1136
1321
|
|
|
1137
|
-
var _excluded$
|
|
1138
|
-
function ownKeys$
|
|
1139
|
-
function _objectSpread$
|
|
1322
|
+
var _excluded$e = ["autoFocus", "name", "value", "label", "variables", "addons", "editorRef", "defaults"];
|
|
1323
|
+
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; }
|
|
1324
|
+
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; }
|
|
1140
1325
|
var EditorAction = function EditorAction(_ref) {
|
|
1141
1326
|
var _ref$autoFocus = _ref.autoFocus,
|
|
1142
1327
|
autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
|
|
@@ -1151,7 +1336,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1151
1336
|
_ref$editorRef = _ref.editorRef,
|
|
1152
1337
|
editorRef = _ref$editorRef === void 0 ? null : _ref$editorRef,
|
|
1153
1338
|
defaults = _ref.defaults,
|
|
1154
|
-
otherProps = _objectWithoutProperties(_ref, _excluded$
|
|
1339
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$e);
|
|
1155
1340
|
var _useStateWithDependen = useStateWithDependency(value, [name]),
|
|
1156
1341
|
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
1157
1342
|
editorData = _useStateWithDependen2[0],
|
|
@@ -1162,7 +1347,7 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1162
1347
|
useEffect(function () {
|
|
1163
1348
|
setFieldValue(name, editorData);
|
|
1164
1349
|
}, [debouncedValue]);
|
|
1165
|
-
return /*#__PURE__*/createElement(FormikEditor, _objectSpread$
|
|
1350
|
+
return /*#__PURE__*/createElement(FormikEditor, _objectSpread$q({
|
|
1166
1351
|
addons: addons,
|
|
1167
1352
|
autoFocus: autoFocus,
|
|
1168
1353
|
defaults: defaults,
|
|
@@ -1178,6 +1363,9 @@ var EditorAction = function EditorAction(_ref) {
|
|
|
1178
1363
|
}, otherProps));
|
|
1179
1364
|
};
|
|
1180
1365
|
|
|
1366
|
+
var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required"];
|
|
1367
|
+
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; }
|
|
1368
|
+
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; }
|
|
1181
1369
|
var Target$f = function Target(_ref) {
|
|
1182
1370
|
var _selectedOption$label;
|
|
1183
1371
|
var dropdownOptions = _ref.dropdownOptions,
|
|
@@ -1238,7 +1426,8 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1238
1426
|
shouldAutoFocus = _ref2$shouldAutoFocus === void 0 ? false : _ref2$shouldAutoFocus,
|
|
1239
1427
|
className = _ref2.className,
|
|
1240
1428
|
_ref2$required = _ref2.required,
|
|
1241
|
-
required = _ref2$required === void 0 ? false : _ref2$required
|
|
1429
|
+
required = _ref2$required === void 0 ? false : _ref2$required,
|
|
1430
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded$d);
|
|
1242
1431
|
var _useTranslation2 = useTranslation(),
|
|
1243
1432
|
t = _useTranslation2.t;
|
|
1244
1433
|
var _useField3 = useField(name),
|
|
@@ -1269,35 +1458,23 @@ var SelectField$2 = function SelectField(_ref2) {
|
|
|
1269
1458
|
setValue((_option$value = option === null || option === void 0 ? void 0 : option.value) !== null && _option$value !== void 0 ? _option$value : null);
|
|
1270
1459
|
setTouched(true);
|
|
1271
1460
|
};
|
|
1272
|
-
return /*#__PURE__*/jsx(Select$1, {
|
|
1461
|
+
return /*#__PURE__*/jsx(Select$1, _objectSpread$p(_objectSpread$p({}, _objectSpread$p({
|
|
1273
1462
|
className: className,
|
|
1274
1463
|
name: name,
|
|
1275
|
-
required: required
|
|
1464
|
+
required: required
|
|
1465
|
+
}, otherProps)), {}, {
|
|
1276
1466
|
innerRef: ref,
|
|
1277
1467
|
label: defaultLabel,
|
|
1278
1468
|
options: dropdownOptions,
|
|
1279
1469
|
value: selectedOption,
|
|
1280
1470
|
onChange: handleSelectOption,
|
|
1281
1471
|
onFocus: setFieldActive
|
|
1282
|
-
});
|
|
1472
|
+
}));
|
|
1283
1473
|
};
|
|
1284
1474
|
SelectField$2.Target = Target$f;
|
|
1285
1475
|
|
|
1286
|
-
var
|
|
1287
|
-
|
|
1288
|
-
ref.current.editor.commands.setContent(content);
|
|
1289
|
-
};
|
|
1290
|
-
var mergeRefs = function mergeRefs() {
|
|
1291
|
-
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1292
|
-
refs[_key] = arguments[_key];
|
|
1293
|
-
}
|
|
1294
|
-
return function (node) {
|
|
1295
|
-
refs.forEach(function (ref) {
|
|
1296
|
-
if (typeof ref === "function") ref(node);else if (ref !== null) ref.current = node;
|
|
1297
|
-
});
|
|
1298
|
-
};
|
|
1299
|
-
};
|
|
1300
|
-
|
|
1476
|
+
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; }
|
|
1477
|
+
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; }
|
|
1301
1478
|
var Target$e = function Target(_ref) {
|
|
1302
1479
|
var selectedField = _ref.selectedField,
|
|
1303
1480
|
_ref$separatorIndex = _ref.separatorIndex,
|
|
@@ -1370,8 +1547,28 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1370
1547
|
}),
|
|
1371
1548
|
initialFocusRef = _useActiveField2.ref,
|
|
1372
1549
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
1550
|
+
var _useUtilityStore = useUtilityStore(function (store) {
|
|
1551
|
+
return {
|
|
1552
|
+
isSaveAsTemplateEnabled: store["isSaveAsTemplateEnabled"]
|
|
1553
|
+
};
|
|
1554
|
+
}, shallow),
|
|
1555
|
+
isSaveAsTemplateEnabled = _useUtilityStore.isSaveAsTemplateEnabled;
|
|
1556
|
+
var hasFieldChanged = useHasFieldChanged(name);
|
|
1373
1557
|
var templates = selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates;
|
|
1374
1558
|
var isTemplateSelectionEnabled = isPresent(templates);
|
|
1559
|
+
var shouldShowSaveAsTemplate = useCallback(function () {
|
|
1560
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1561
|
+
templateId = _ref3.templateId,
|
|
1562
|
+
subject = _ref3.subject,
|
|
1563
|
+
body = _ref3.body;
|
|
1564
|
+
var template = findBy({
|
|
1565
|
+
id: templateId
|
|
1566
|
+
}, templates);
|
|
1567
|
+
var hasContent = isPresent(subject) || isPresent(body);
|
|
1568
|
+
var isContentDifferentFromTemplate = !(areValuesEqual(template === null || template === void 0 ? void 0 : template.subject, subject) && (template === null || template === void 0 ? void 0 : template.body) === body);
|
|
1569
|
+
return hasContent && hasFieldChanged && isContentDifferentFromTemplate;
|
|
1570
|
+
}, [templates, hasFieldChanged]);
|
|
1571
|
+
var isSaveAsTemplateVisible = useResetSaveAsTemplateOnHide(name, isSaveAsTemplateEnabled ? shouldShowSaveAsTemplate : F);
|
|
1375
1572
|
var isFirstFieldInForm = function isFirstFieldInForm(field) {
|
|
1376
1573
|
if (isTemplateSelectionEnabled) return false;
|
|
1377
1574
|
if (field === "emails") return true;
|
|
@@ -1379,14 +1576,17 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1379
1576
|
return !isEmailIdField && selectedField.hideSubject;
|
|
1380
1577
|
};
|
|
1381
1578
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
1579
|
+
setFieldValue("".concat(name, ".templateId"), template.id);
|
|
1382
1580
|
setFieldValue("".concat(name, ".body"), template.body);
|
|
1383
1581
|
setEditorContent(editorRef, template.body);
|
|
1384
1582
|
if (selectedField.hideSubject) return;
|
|
1385
1583
|
setFieldValue("".concat(name, ".subject"), template.subject);
|
|
1386
1584
|
};
|
|
1585
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
1586
|
+
recipientFieldHelpPopoverProps = _ref4.recipientField;
|
|
1387
1587
|
return /*#__PURE__*/jsxs("div", {
|
|
1388
1588
|
className: "w-full",
|
|
1389
|
-
children: [showFieldSelection && /*#__PURE__*/createElement(SelectField$2, {
|
|
1589
|
+
children: [showFieldSelection && /*#__PURE__*/createElement(SelectField$2, _objectSpread$o({
|
|
1390
1590
|
index: index,
|
|
1391
1591
|
selectedField: selectedField,
|
|
1392
1592
|
required: true,
|
|
@@ -1395,7 +1595,7 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1395
1595
|
dropdownOptions: fieldOptions,
|
|
1396
1596
|
key: "".concat(name, ".value"),
|
|
1397
1597
|
name: "".concat(name, ".value")
|
|
1398
|
-
}), isTemplateSelectionEnabled && /*#__PURE__*/jsx(SelectTemplateField, {
|
|
1598
|
+
}, withHelpPopover(recipientFieldHelpPopoverProps))), isTemplateSelectionEnabled && /*#__PURE__*/jsx(SelectTemplateField, {
|
|
1399
1599
|
initialFocusRef: initialFocusRef,
|
|
1400
1600
|
selectedField: selectedField,
|
|
1401
1601
|
templates: templates,
|
|
@@ -1423,6 +1623,9 @@ var EmailFields = function EmailFields(_ref2) {
|
|
|
1423
1623
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
1424
1624
|
editorRef: isFirstFieldInForm("body") ? mergeRefs(editorRef, initialFocusRef) : editorRef,
|
|
1425
1625
|
onFocus: setFieldActive
|
|
1626
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsx(SaveAsTemplate, {
|
|
1627
|
+
name: name,
|
|
1628
|
+
className: "mt-4"
|
|
1426
1629
|
})]
|
|
1427
1630
|
});
|
|
1428
1631
|
};
|
|
@@ -1525,8 +1728,8 @@ var SHORTCUTS = {
|
|
|
1525
1728
|
};
|
|
1526
1729
|
|
|
1527
1730
|
var _excluded$c = ["value", "nullable", "className", "handleSubmit", "handleCancel"];
|
|
1528
|
-
function ownKeys$
|
|
1529
|
-
function _objectSpread$
|
|
1731
|
+
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; }
|
|
1732
|
+
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; }
|
|
1530
1733
|
var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
1531
1734
|
var _props$value = props.value,
|
|
1532
1735
|
value = _props$value === void 0 ? "" : _props$value,
|
|
@@ -1564,7 +1767,7 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
1564
1767
|
return /*#__PURE__*/jsx("div", {
|
|
1565
1768
|
className: classNames("flex flex-grow", _defineProperty({}, className, className)),
|
|
1566
1769
|
ref: inputWrapperRef,
|
|
1567
|
-
children: /*#__PURE__*/jsx(Input$2, _objectSpread$
|
|
1770
|
+
children: /*#__PURE__*/jsx(Input$2, _objectSpread$n(_objectSpread$n({
|
|
1568
1771
|
autoFocus: true,
|
|
1569
1772
|
required: true,
|
|
1570
1773
|
className: "neeto-planner-inline-input",
|
|
@@ -2211,8 +2414,8 @@ var formatErrorMessage = function formatErrorMessage(error) {
|
|
|
2211
2414
|
};
|
|
2212
2415
|
|
|
2213
2416
|
var _excluded$b = ["children"];
|
|
2214
|
-
function ownKeys$
|
|
2215
|
-
function _objectSpread$
|
|
2417
|
+
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; }
|
|
2418
|
+
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; }
|
|
2216
2419
|
var STYLES = {
|
|
2217
2420
|
border: {
|
|
2218
2421
|
"default": "1px solid rgb(var(--neeto-ui-gray-400))",
|
|
@@ -2224,8 +2427,8 @@ var STYLES = {
|
|
|
2224
2427
|
}
|
|
2225
2428
|
};
|
|
2226
2429
|
var MultiValueRemove = function MultiValueRemove(props) {
|
|
2227
|
-
return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$
|
|
2228
|
-
innerProps: _objectSpread$
|
|
2430
|
+
return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$m(_objectSpread$m({}, props), {}, {
|
|
2431
|
+
innerProps: _objectSpread$m(_objectSpread$m({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(dasherize(props.data.label), "-remove-icon"))),
|
|
2229
2432
|
children: /*#__PURE__*/jsx(Close, {
|
|
2230
2433
|
size: 16
|
|
2231
2434
|
})
|
|
@@ -2245,8 +2448,8 @@ var ValueContainer = function ValueContainer(_ref) {
|
|
|
2245
2448
|
firstChild = _children[0],
|
|
2246
2449
|
rest = _children.slice(1);
|
|
2247
2450
|
var shouldCollapse = !isFocused && value.length > visiblePhoneNumbersCount;
|
|
2248
|
-
return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$
|
|
2249
|
-
innerProps: _objectSpread$
|
|
2451
|
+
return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$m(_objectSpread$m({}, props), {}, {
|
|
2452
|
+
innerProps: _objectSpread$m(_objectSpread$m({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-phone-number-input-container")),
|
|
2250
2453
|
children: [shouldCollapse ? firstChild.slice(0, visiblePhoneNumbersCount) : firstChild, shouldCollapse && /*#__PURE__*/jsx(Tag, {
|
|
2251
2454
|
style: "secondary",
|
|
2252
2455
|
label: t("neetoRules.labels.remainingItemsCount", {
|
|
@@ -2256,8 +2459,8 @@ var ValueContainer = function ValueContainer(_ref) {
|
|
|
2256
2459
|
}));
|
|
2257
2460
|
};
|
|
2258
2461
|
var ClearIndicator = function ClearIndicator(props) {
|
|
2259
|
-
return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$
|
|
2260
|
-
innerProps: _objectSpread$
|
|
2462
|
+
return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$m(_objectSpread$m({}, props), {}, {
|
|
2463
|
+
innerProps: _objectSpread$m(_objectSpread$m({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
|
|
2261
2464
|
children: /*#__PURE__*/jsx(Close, {
|
|
2262
2465
|
className: "cursor-pointer",
|
|
2263
2466
|
size: 16
|
|
@@ -2275,7 +2478,7 @@ var CUSTOM_STYLES = {
|
|
|
2275
2478
|
input: assoc("overflow", "hidden"),
|
|
2276
2479
|
multiValue: function multiValue(styles, _ref2) {
|
|
2277
2480
|
var valid = _ref2.data.valid;
|
|
2278
|
-
return _objectSpread$
|
|
2481
|
+
return _objectSpread$m(_objectSpread$m({}, styles), {}, {
|
|
2279
2482
|
border: valid ? STYLES.border["default"] : STYLES.border.error,
|
|
2280
2483
|
color: valid ? STYLES.color["default"] : STYLES.color.error
|
|
2281
2484
|
});
|
|
@@ -2289,8 +2492,8 @@ var CUSTOM_COMPONENTS = {
|
|
|
2289
2492
|
};
|
|
2290
2493
|
|
|
2291
2494
|
var _excluded$a = ["value", "onChange", "error", "onBlur", "onFocus"];
|
|
2292
|
-
function ownKeys$
|
|
2293
|
-
function _objectSpread$
|
|
2495
|
+
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; }
|
|
2496
|
+
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; }
|
|
2294
2497
|
var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
2295
2498
|
var _ref$value = _ref.value,
|
|
2296
2499
|
value = _ref$value === void 0 ? [] : _ref$value,
|
|
@@ -2351,7 +2554,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
2351
2554
|
"data-cy": "".concat(dasherize(label), "-input-label"),
|
|
2352
2555
|
children: label
|
|
2353
2556
|
})
|
|
2354
|
-
}), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$
|
|
2557
|
+
}), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$l({
|
|
2355
2558
|
isMulti: true,
|
|
2356
2559
|
required: true,
|
|
2357
2560
|
classNamePrefix: "neeto-ui-react-select",
|
|
@@ -2362,7 +2565,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
2362
2565
|
className: classNames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
|
|
2363
2566
|
"neeto-ui-react-select__container--error": !!error
|
|
2364
2567
|
}),
|
|
2365
|
-
styles: _objectSpread$
|
|
2568
|
+
styles: _objectSpread$l(_objectSpread$l({}, CUSTOM_STYLES), {}, {
|
|
2366
2569
|
control: mergeLeft({
|
|
2367
2570
|
maxHeight: "200px",
|
|
2368
2571
|
overflowY: "auto"
|
|
@@ -2375,7 +2578,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
2375
2578
|
setIsFocused(true);
|
|
2376
2579
|
_onFocus();
|
|
2377
2580
|
}
|
|
2378
|
-
}, _objectSpread$
|
|
2581
|
+
}, _objectSpread$l({
|
|
2379
2582
|
inputValue: inputValue,
|
|
2380
2583
|
isFocused: isFocused,
|
|
2381
2584
|
onChange: onChange,
|
|
@@ -2435,6 +2638,8 @@ var PhoneNumberField = function PhoneNumberField(_ref) {
|
|
|
2435
2638
|
});
|
|
2436
2639
|
};
|
|
2437
2640
|
|
|
2641
|
+
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; }
|
|
2642
|
+
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; }
|
|
2438
2643
|
var Target$7 = function Target(_ref) {
|
|
2439
2644
|
var name = _ref.name,
|
|
2440
2645
|
_ref$separatorIndex = _ref.separatorIndex,
|
|
@@ -2506,11 +2711,29 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2506
2711
|
}),
|
|
2507
2712
|
initialFocusRef = _useActiveField2.ref,
|
|
2508
2713
|
setFieldActive = _useActiveField2.setFieldActive;
|
|
2714
|
+
var _useUtilityStore = useUtilityStore(function (store) {
|
|
2715
|
+
return {
|
|
2716
|
+
isSaveAsTemplateEnabled: store["isSaveAsTemplateEnabled"]
|
|
2717
|
+
};
|
|
2718
|
+
}, shallow),
|
|
2719
|
+
isSaveAsTemplateEnabled = _useUtilityStore.isSaveAsTemplateEnabled;
|
|
2720
|
+
var hasFieldChanged = useHasFieldChanged(name);
|
|
2509
2721
|
var _useFormikContext = useFormikContext(),
|
|
2510
2722
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
2511
|
-
var templates = selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates;
|
|
2723
|
+
var templates = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.templates) || [];
|
|
2512
2724
|
var isTemplateSelectionEnabled = isPresent(templates);
|
|
2725
|
+
var shouldShowSaveAsTemplate = useCallback(function () {
|
|
2726
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
2727
|
+
templateId = _ref3.templateId,
|
|
2728
|
+
body = _ref3.body;
|
|
2729
|
+
var template = findBy({
|
|
2730
|
+
id: templateId
|
|
2731
|
+
}, templates);
|
|
2732
|
+
return isPresent(body) && hasFieldChanged && (template === null || template === void 0 ? void 0 : template.body) !== body;
|
|
2733
|
+
}, [templates, hasFieldChanged]);
|
|
2734
|
+
var isSaveAsTemplateVisible = useResetSaveAsTemplateOnHide(name, isSaveAsTemplateEnabled ? shouldShowSaveAsTemplate : F);
|
|
2513
2735
|
var handleTemplateChange = function handleTemplateChange(template) {
|
|
2736
|
+
setFieldValue("".concat(name, ".templateId"), template.id);
|
|
2514
2737
|
setFieldValue("".concat(name, ".body"), template.body);
|
|
2515
2738
|
setEditorContent(editorRef, template.body);
|
|
2516
2739
|
};
|
|
@@ -2518,9 +2741,11 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2518
2741
|
if (isTemplateSelectionEnabled) return false;
|
|
2519
2742
|
return field === "phoneNumbers" ? true : !showPhoneNumberInput;
|
|
2520
2743
|
};
|
|
2744
|
+
var _ref4 = (selectedField === null || selectedField === void 0 ? void 0 : selectedField.helpPopoverProps) || {},
|
|
2745
|
+
recipientFieldHelpPopoverProps = _ref4.recipientField;
|
|
2521
2746
|
return /*#__PURE__*/jsxs("div", {
|
|
2522
2747
|
className: "w-full",
|
|
2523
|
-
children: [showFieldSelection && /*#__PURE__*/createElement(SelectField$2, {
|
|
2748
|
+
children: [showFieldSelection && /*#__PURE__*/createElement(SelectField$2, _objectSpread$k({
|
|
2524
2749
|
index: index,
|
|
2525
2750
|
selectedField: selectedField,
|
|
2526
2751
|
shouldAutoFocus: true,
|
|
@@ -2528,7 +2753,7 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2528
2753
|
dropdownOptions: fieldOptions,
|
|
2529
2754
|
key: "".concat(name, ".value"),
|
|
2530
2755
|
name: "".concat(name, ".value")
|
|
2531
|
-
}), isTemplateSelectionEnabled && /*#__PURE__*/jsx(SelectTemplateField, {
|
|
2756
|
+
}, withHelpPopover(recipientFieldHelpPopoverProps))), isTemplateSelectionEnabled && /*#__PURE__*/jsx(SelectTemplateField, {
|
|
2532
2757
|
initialFocusRef: initialFocusRef,
|
|
2533
2758
|
selectedField: selectedField,
|
|
2534
2759
|
templates: templates,
|
|
@@ -2549,6 +2774,9 @@ var SmsFields = function SmsFields(_ref2) {
|
|
|
2549
2774
|
variables: selectedField === null || selectedField === void 0 ? void 0 : selectedField.variables,
|
|
2550
2775
|
editorRef: isFirstFieldInForm("body") ? mergeRefs(editorRef, initialFocusRef) : editorRef,
|
|
2551
2776
|
onFocus: setFieldActive
|
|
2777
|
+
}), isSaveAsTemplateVisible && /*#__PURE__*/jsx(SaveAsTemplate, {
|
|
2778
|
+
name: name,
|
|
2779
|
+
className: "mt-4"
|
|
2552
2780
|
})]
|
|
2553
2781
|
});
|
|
2554
2782
|
};
|
|
@@ -4567,7 +4795,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4567
4795
|
body: yup.string().test("body", t$1("neetoRules.validations.required.body"), function (value) {
|
|
4568
4796
|
return !isEditorEmpty(value);
|
|
4569
4797
|
}),
|
|
4570
|
-
value: selectedAction.type === ACTION_TYPES.emailTo ? yup.string().required(t$1("neetoRules.validations.required.value")) : schema
|
|
4798
|
+
value: selectedAction.type === ACTION_TYPES.emailTo ? yup.string().required(t$1("neetoRules.validations.required.value")) : schema,
|
|
4799
|
+
templateName: TEMPLATE_NAME_VALIDATION_SCHEMA
|
|
4571
4800
|
});
|
|
4572
4801
|
} else if ([ACTION_TYPES.sms, ACTION_TYPES.smsToNumbers, ACTION_TYPES.smsTo].includes(selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4573
4802
|
return yup.object({
|
|
@@ -4579,7 +4808,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4579
4808
|
body: yup.string().test("body", t$1("neetoRules.validations.required.body"), function (value) {
|
|
4580
4809
|
return !isEditorEmpty(value);
|
|
4581
4810
|
}),
|
|
4582
|
-
value: selectedAction.type === ACTION_TYPES.smsTo ? yup.string().required(t$1("neetoRules.validations.required.value")) : schema
|
|
4811
|
+
value: selectedAction.type === ACTION_TYPES.smsTo ? yup.string().required(t$1("neetoRules.validations.required.value")) : schema,
|
|
4812
|
+
templateName: TEMPLATE_NAME_VALIDATION_SCHEMA
|
|
4583
4813
|
});
|
|
4584
4814
|
} else if (ACTION_TYPES.sendToApi === (selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4585
4815
|
return yup.object({
|
|
@@ -4607,7 +4837,8 @@ var getActionsSchema = function getActionsSchema(element, customData) {
|
|
|
4607
4837
|
message: t$1("neetoRules.validations.invalidJsonBody")
|
|
4608
4838
|
});
|
|
4609
4839
|
}
|
|
4610
|
-
})
|
|
4840
|
+
}),
|
|
4841
|
+
templateName: TEMPLATE_NAME_VALIDATION_SCHEMA
|
|
4611
4842
|
});
|
|
4612
4843
|
} else if (ACTION_TYPES.multiSelect === (selectedAction === null || selectedAction === void 0 ? void 0 : selectedAction.type)) {
|
|
4613
4844
|
return yup.object({
|
|
@@ -4783,6 +5014,12 @@ var PANEL_TYPE_CONFIG_MAP = _defineProperty(_defineProperty(_defineProperty(_def
|
|
|
4783
5014
|
component: ActionSubItemPanel,
|
|
4784
5015
|
data: {}
|
|
4785
5016
|
});
|
|
5017
|
+
var TEMPLATE_NAME_VALIDATION_SCHEMA = yup.string().when("shouldSaveAsTemplate", {
|
|
5018
|
+
is: true,
|
|
5019
|
+
then: yup.string().trim().required(t$1("neetoRules.validations.required.entity", {
|
|
5020
|
+
entity: t$1("neetoRules.labels.templateName")
|
|
5021
|
+
}))
|
|
5022
|
+
});
|
|
4786
5023
|
|
|
4787
5024
|
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; }
|
|
4788
5025
|
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; }
|
|
@@ -4967,7 +5204,9 @@ var Actions = function Actions(_ref) {
|
|
|
4967
5204
|
_ref$routeToSlackInte = _ref.routeToSlackIntegration,
|
|
4968
5205
|
routeToSlackIntegration = _ref$routeToSlackInte === void 0 ? "" : _ref$routeToSlackInte,
|
|
4969
5206
|
_ref$openPanel = _ref.openPanel,
|
|
4970
|
-
openPanel = _ref$openPanel === void 0 ? false : _ref$openPanel
|
|
5207
|
+
openPanel = _ref$openPanel === void 0 ? false : _ref$openPanel,
|
|
5208
|
+
_ref$isSaveAsTemplate = _ref.isSaveAsTemplateEnabled,
|
|
5209
|
+
isSaveAsTemplateEnabled = _ref$isSaveAsTemplate === void 0 ? false : _ref$isSaveAsTemplate;
|
|
4971
5210
|
var _useFormikContext = useFormikContext(),
|
|
4972
5211
|
values = _useFormikContext.values,
|
|
4973
5212
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
@@ -4979,12 +5218,17 @@ var Actions = function Actions(_ref) {
|
|
|
4979
5218
|
setShouldOpenPanel = _useState2[1];
|
|
4980
5219
|
var _useUtilityStore = useUtilityStore(function (store) {
|
|
4981
5220
|
return {
|
|
4982
|
-
resetPanelState: store["resetPanelState"]
|
|
5221
|
+
resetPanelState: store["resetPanelState"],
|
|
5222
|
+
setIsSaveAsTemplateEnabled: store["setIsSaveAsTemplateEnabled"]
|
|
4983
5223
|
};
|
|
4984
5224
|
}, shallow),
|
|
4985
|
-
resetPanelState = _useUtilityStore.resetPanelState
|
|
5225
|
+
resetPanelState = _useUtilityStore.resetPanelState,
|
|
5226
|
+
setIsSaveAsTemplateEnabled = _useUtilityStore.setIsSaveAsTemplateEnabled;
|
|
4986
5227
|
var elementProps = data[name] || {};
|
|
4987
5228
|
var actions = values[name].value || [];
|
|
5229
|
+
useEffect(function () {
|
|
5230
|
+
setIsSaveAsTemplateEnabled(isSaveAsTemplateEnabled);
|
|
5231
|
+
}, [isSaveAsTemplateEnabled]);
|
|
4988
5232
|
var showButton = useMemo(function () {
|
|
4989
5233
|
var _actions;
|
|
4990
5234
|
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;
|