@bigbinary/neeto-rules-frontend 2.3.1 → 2.4.0
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 +342 -151
- package/app/javascript/src/translations/en.json +15 -2
- package/dist/NeetoRules.js +106 -9161
- package/dist/NeetoRules.js.map +1 -1
- package/dist/NeetoRulesForm.js +86 -559
- package/dist/NeetoRulesForm.js.map +1 -1
- package/dist/RulePreview.js +31 -7
- package/dist/RulePreview.js.map +1 -1
- package/dist/cjs/NeetoRules.js +154 -9225
- package/dist/cjs/NeetoRules.js.map +1 -1
- package/dist/cjs/NeetoRulesForm.js +336 -800
- package/dist/cjs/NeetoRulesForm.js.map +1 -1
- package/dist/cjs/RulePreview.js +42 -15
- package/dist/cjs/RulePreview.js.map +1 -1
- package/dist/cjs/index.js +408 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +396 -18
- package/dist/index.js.map +1 -1
- package/dist/useUtilityStore-e4b36ba2.js.map +1 -1
- package/dist/useUtilityStore-ee4f96f8.js.map +1 -1
- package/dist/utils-866e8e3b.js +23 -0
- package/dist/utils-866e8e3b.js.map +1 -0
- package/dist/utils-cd8f199f.js +26 -0
- package/dist/utils-cd8f199f.js.map +1 -0
- package/package.json +103 -83
- package/types.d.ts +39 -0
- package/dist/toConsumableArray-71e2b184.js +0 -58
- package/dist/toConsumableArray-71e2b184.js.map +0 -1
- package/dist/toConsumableArray-ee25f277.js +0 -53
- package/dist/toConsumableArray-ee25f277.js.map +0 -1
- package/dist/utils-249a1c9a.js +0 -119
- package/dist/utils-249a1c9a.js.map +0 -1
- package/dist/utils-ca50bfc9.js +0 -129
- package/dist/utils-ca50bfc9.js.map +0 -1
package/dist/cjs/RulePreview.js
CHANGED
|
@@ -3,18 +3,21 @@
|
|
|
3
3
|
var shallow = require('zustand/shallow');
|
|
4
4
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
5
5
|
var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
|
|
6
|
-
var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
|
|
7
6
|
var Pane = require('@bigbinary/neetoui/Pane');
|
|
7
|
+
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
8
8
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
9
9
|
var reactI18next = require('react-i18next');
|
|
10
10
|
var useUtilityStore = require('../useUtilityStore-e4b36ba2.js');
|
|
11
|
-
var
|
|
12
|
-
var
|
|
11
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
12
|
+
var react = require('react');
|
|
13
13
|
var Down = require('@bigbinary/neeto-icons/Down');
|
|
14
14
|
var Up = require('@bigbinary/neeto-icons/Up');
|
|
15
15
|
var Button = require('@bigbinary/neetoui/Button');
|
|
16
16
|
var ramda = require('ramda');
|
|
17
|
+
var utils = require('../utils-cd8f199f.js');
|
|
17
18
|
var jsxRuntime = require('react/jsx-runtime');
|
|
19
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
20
|
+
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
18
21
|
var constants = require('../constants-67118957.js');
|
|
19
22
|
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
20
23
|
require('zustand');
|
|
@@ -23,12 +26,15 @@ require('i18next');
|
|
|
23
26
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
27
|
|
|
25
28
|
var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
|
|
26
|
-
var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
|
|
27
29
|
var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
|
|
30
|
+
var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
|
|
28
31
|
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
32
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
29
33
|
var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
|
|
30
34
|
var Up__default = /*#__PURE__*/_interopDefaultLegacy(Up);
|
|
31
35
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
36
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
37
|
+
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
32
38
|
|
|
33
39
|
var Title = function Title(_ref) {
|
|
34
40
|
var title = _ref.title,
|
|
@@ -69,7 +75,7 @@ var MultiSelectValues = function MultiSelectValues(_ref) {
|
|
|
69
75
|
values = _ref.values;
|
|
70
76
|
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
71
77
|
children: values === null || values === void 0 ? void 0 : values.map(function (value, idx) {
|
|
72
|
-
return /*#__PURE__*/jsxRuntime.jsxs(
|
|
78
|
+
return /*#__PURE__*/jsxRuntime.jsxs(react.Fragment, {
|
|
73
79
|
children: [!!idx && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
74
80
|
className: "neeto-ui-text-gray-700",
|
|
75
81
|
style: "h5",
|
|
@@ -87,10 +93,10 @@ var MultiSelectValues = function MultiSelectValues(_ref) {
|
|
|
87
93
|
};
|
|
88
94
|
|
|
89
95
|
var getEntityDisplayValue = function getEntityDisplayValue(entitiy, entitiyOption) {
|
|
90
|
-
var _findBy;
|
|
96
|
+
var _findBy, _findBy$label;
|
|
91
97
|
return (_findBy = neetoCist.findBy({
|
|
92
98
|
value: entitiy.metadata.value
|
|
93
|
-
}, entitiyOption.dropdownOptions)) === null || _findBy === void 0
|
|
99
|
+
}, entitiyOption.dropdownOptions)) === null || _findBy === void 0 ? void 0 : (_findBy$label = _findBy.label) === null || _findBy$label === void 0 ? void 0 : _findBy$label.toLowerCase();
|
|
94
100
|
};
|
|
95
101
|
var getActionDisplayValue = function getActionDisplayValue(action, actionOption) {
|
|
96
102
|
var displayValueData = {
|
|
@@ -137,8 +143,8 @@ var getActionDisplayValue = function getActionDisplayValue(action, actionOption)
|
|
|
137
143
|
|
|
138
144
|
var ActionsDetail = function ActionsDetail(_ref) {
|
|
139
145
|
var actions = _ref.actions;
|
|
140
|
-
var _useState =
|
|
141
|
-
_useState2 =
|
|
146
|
+
var _useState = react.useState(false),
|
|
147
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
142
148
|
viewMore = _useState2[0],
|
|
143
149
|
setViewMore = _useState2[1];
|
|
144
150
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -244,7 +250,7 @@ var ActionsDetail = function ActionsDetail(_ref) {
|
|
|
244
250
|
};
|
|
245
251
|
|
|
246
252
|
function ownKeys(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; }
|
|
247
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
|
|
253
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
248
254
|
var ConditionsDetail = function ConditionsDetail(_ref) {
|
|
249
255
|
var conditions = _ref.conditions,
|
|
250
256
|
conditionOptions = _ref.conditionOptions,
|
|
@@ -252,8 +258,8 @@ var ConditionsDetail = function ConditionsDetail(_ref) {
|
|
|
252
258
|
conditionVerbs = _ref$conditionVerbs === void 0 ? {} : _ref$conditionVerbs,
|
|
253
259
|
_ref$hasEvent = _ref.hasEvent,
|
|
254
260
|
hasEvent = _ref$hasEvent === void 0 ? true : _ref$hasEvent;
|
|
255
|
-
var _useState =
|
|
256
|
-
_useState2 =
|
|
261
|
+
var _useState = react.useState(false),
|
|
262
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
257
263
|
viewMore = _useState2[0],
|
|
258
264
|
setViewMore = _useState2[1];
|
|
259
265
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -265,7 +271,7 @@ var ConditionsDetail = function ConditionsDetail(_ref) {
|
|
|
265
271
|
return joinType === "or_operator" ? "or" : "and";
|
|
266
272
|
};
|
|
267
273
|
var renderConditionValues = function renderConditionValues(condition, conditionOption) {
|
|
268
|
-
if (["
|
|
274
|
+
if (["date", "decimal", "email", "number", "text"].includes(conditionOption.type)) {
|
|
269
275
|
var _condition$metadata$v;
|
|
270
276
|
return /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
271
277
|
className: "neeto-ui-text-gray-800",
|
|
@@ -274,6 +280,18 @@ var ConditionsDetail = function ConditionsDetail(_ref) {
|
|
|
274
280
|
children: (_condition$metadata$v = condition.metadata.value) === null || _condition$metadata$v === void 0 ? void 0 : _condition$metadata$v.toLowerCase()
|
|
275
281
|
});
|
|
276
282
|
}
|
|
283
|
+
if (conditionOption.type === "textarea") {
|
|
284
|
+
var _condition$metadata$v2;
|
|
285
|
+
return /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
|
|
286
|
+
content: (_condition$metadata$v2 = condition.metadata.value) === null || _condition$metadata$v2 === void 0 ? void 0 : _condition$metadata$v2.toLowerCase(),
|
|
287
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
288
|
+
className: "neeto-ui-text-gray-800",
|
|
289
|
+
style: "h5",
|
|
290
|
+
weight: "semibold",
|
|
291
|
+
children: t("neetoRules.labels.text")
|
|
292
|
+
})
|
|
293
|
+
});
|
|
294
|
+
}
|
|
277
295
|
if (conditionOption.type === "multi-select") {
|
|
278
296
|
var values = ramda.pluck("label", conditionOption.dropdownOptions.filter(function (_ref2) {
|
|
279
297
|
var value = _ref2.value;
|
|
@@ -284,6 +302,12 @@ var ConditionsDetail = function ConditionsDetail(_ref) {
|
|
|
284
302
|
separator: t("neetoRules.common.or")
|
|
285
303
|
});
|
|
286
304
|
}
|
|
305
|
+
if (["multi-select-create"].includes(conditionOption.type)) {
|
|
306
|
+
return /*#__PURE__*/jsxRuntime.jsx(MultiSelectValues, {
|
|
307
|
+
separator: t("neetoRules.common.or"),
|
|
308
|
+
values: condition.metadata.values
|
|
309
|
+
});
|
|
310
|
+
}
|
|
287
311
|
if (conditionOption.type === "dropdown") {
|
|
288
312
|
return /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
289
313
|
className: "neeto-ui-text-gray-800",
|
|
@@ -406,7 +430,7 @@ var EventsDetail = function EventsDetail(_ref) {
|
|
|
406
430
|
className: "neeto-ui-text-gray-800",
|
|
407
431
|
style: "h5",
|
|
408
432
|
weight: "semibold",
|
|
409
|
-
children: currentPerformer === null || currentPerformer === void 0
|
|
433
|
+
children: currentPerformer === null || currentPerformer === void 0 ? void 0 : (_currentPerformer$lab = currentPerformer.label) === null || _currentPerformer$lab === void 0 ? void 0 : _currentPerformer$lab.toLowerCase()
|
|
410
434
|
})]
|
|
411
435
|
}), /*#__PURE__*/jsxRuntime.jsx(ConditionsDetail, {
|
|
412
436
|
conditions: conditions,
|
|
@@ -434,7 +458,10 @@ var RulePreview = function RulePreview(_ref) {
|
|
|
434
458
|
return /*#__PURE__*/jsxRuntime.jsx(Pane__default["default"], {
|
|
435
459
|
onClose: onClose,
|
|
436
460
|
isOpen: isOpen && showPreviewPane,
|
|
437
|
-
children: isLoading ? /*#__PURE__*/jsxRuntime.jsx(
|
|
461
|
+
children: isLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
462
|
+
className: "flex h-full w-full items-center justify-center",
|
|
463
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
|
|
464
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
438
465
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Header, {
|
|
439
466
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
440
467
|
className: "flex items-center justify-between gap-x-3",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RulePreview.js","sources":["../../app/javascript/src/components/RulePreview/Card.jsx","../../app/javascript/src/components/RulePreview/constants.js","../../app/javascript/src/components/RulePreview/MultiSelectValues.jsx","../../app/javascript/src/components/RulePreview/utils.js","../../app/javascript/src/components/RulePreview/ActionsDetail.jsx","../../app/javascript/src/components/RulePreview/ConditionsDetail.jsx","../../app/javascript/src/components/RulePreview/EventsDetail.jsx","../../app/javascript/src/components/RulePreview/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Title = ({ title, children }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {title}\n </Typography>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-sm my-3 p-4\">\n {children}\n </div>\n </>\n);\n\nTitle.propTypes = {\n title: PropTypes.string,\n children: PropTypes.node,\n};\nexport default Title;\n","export const PREVIEW_CONDITION_LIMIT = 3;\n\nexport const ACTION_TYPE = {\n TEXT: \"text\",\n NUMBER: \"number\",\n DECIMAL: \"decimal\",\n REGEX: \"regex\",\n DATE: \"date\",\n EMAIL: \"email\",\n EMAIL_TO: \"emailTo\",\n EMAIL_TO_IDS: \"emailToIds\",\n SMS_TO_NUMBERS: \"smsToNumbers\",\n MULTI_SELECT: \"multiSelect\",\n SEND_TO_API: \"sendToApi\",\n DROPDOWN: \"dropdown\",\n MULTISELECT: \"multiSelect\",\n};\n\nexport const TEXT_FIELDS = [\n ACTION_TYPE.TEXT,\n ACTION_TYPE.NUMBER,\n ACTION_TYPE.DECIMAL,\n ACTION_TYPE.REGEX,\n ACTION_TYPE.DATE,\n];\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst MultiSelectValues = ({ separator, values }) => (\n <>\n {values?.map((value, idx) => (\n <Fragment key={idx}>\n {!!idx && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {value.toLowerCase()}\n </Typography>\n </Fragment>\n ))}\n </>\n);\n\nexport default MultiSelectValues;\n","import { findBy } from \"neetocist\";\n\nimport { ACTION_TYPE, TEXT_FIELDS } from \"./constants\";\n\nexport const getEntityDisplayValue = (entitiy, entitiyOption) =>\n findBy(\n { value: entitiy.metadata.value },\n entitiyOption.dropdownOptions\n )?.label?.toLowerCase();\n\nexport const getActionDisplayValue = (action, actionOption) => {\n const displayValueData = { displayValue: null, isBulk: false };\n\n if (TEXT_FIELDS.includes(actionOption.type)) {\n displayValueData.displayValue = action.metadata.value?.toLowerCase();\n\n return displayValueData;\n }\n switch (actionOption.type) {\n case ACTION_TYPE.DROPDOWN: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n case ACTION_TYPE.EMAIL_TO_IDS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.emails;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO: {\n displayValueData.displayValue = action.displayValue;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SMS_TO_NUMBERS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.phoneNumbers;\n\n return displayValueData;\n }\n case ACTION_TYPE.SEND_TO_API: {\n displayValueData.displayValue = action.metadata.endpoint;\n\n return displayValueData;\n }\n default:\n return null;\n }\n};\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getSeparator } from \"utils\";\n\nimport Card from \"./Card\";\nimport { ACTION_TYPE } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getActionDisplayValue } from \"./utils\";\n\nconst ActionsDetail = ({ actions }) => {\n const [viewMore, setViewMore] = useState(false);\n const { t } = useTranslation();\n\n const actionsList = actions.value;\n const allActions =\n viewMore && actionsList.length > 4 ? actionsList : actionsList.slice(0, 4);\n\n const getLabel = index =>\n index\n ? t(\"neetoRules.common.and\", {\n what: t(\"neetoRules.common.then\"),\n })\n : t(\"neetoRules.common.then\");\n\n const renderActionValues = (action, actionOption) => {\n const { displayValue, isBulk } =\n getActionDisplayValue(action, actionOption) ?? {};\n\n if (actionOption.type === ACTION_TYPE.MULTISELECT) {\n const values = pluck(\n \"label\",\n actionOption.dropdownOptions.filter(({ value }) =>\n action.metadata.value.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.and\", { what: \"\" })}\n />\n );\n }\n\n if (!displayValue) return null;\n\n if (!isBulk) {\n const defaultSeparator =\n actionOption.type === ACTION_TYPE.SEND_TO_API\n ? t(\"neetoRules.common.at\")\n : t(\"neetoRules.common.to\");\n\n const separator = getSeparator({\n defaultSeparator,\n selectedField: actionOption,\n });\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {displayValue?.toLowerCase()}\n </Typography>\n </>\n );\n }\n\n return displayValue.map((value, index) => (\n <div className=\"mr-1 flex\" key={index}>\n <Typography key={index} style=\"h5\" weight=\"semibold\">\n {value}\n </Typography>\n {index !== displayValue.length - 1 && \", \"}\n </div>\n ));\n };\n\n const renderAction = action => {\n const actionOption = findBy({ value: action.name }, actions.actionOptions);\n if (!actionOption) return null;\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {actionOption?.label.toLowerCase()}\n </Typography>\n {renderActionValues(action, actionOption)}\n </>\n );\n };\n\n return (\n <Card title={t(\"neetoRules.common.then\")}>\n {allActions.map((action, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-1 gap-y-2\"\n data-cy=\"then-action-events\"\n key={action.name}\n >\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {getLabel(index)}\n </Typography>\n {renderAction(action)}\n </div>\n ))}\n {actionsList.length > 4 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </Card>\n );\n};\n\nexport default ActionsDetail;\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERB_LABELS } from \"components/NeetoRulesForm/Element/Conditions/constants\";\n\nimport { PREVIEW_CONDITION_LIMIT } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getEntityDisplayValue } from \"./utils\";\n\nconst ConditionsDetail = ({\n conditions,\n conditionOptions,\n conditionVerbs = {},\n hasEvent = true,\n}) => {\n const [viewMore, setViewMore] = useState(false);\n\n const { t } = useTranslation();\n\n const conditionsList = conditions.value;\n const allConditions =\n viewMore && conditionsList.length > PREVIEW_CONDITION_LIMIT\n ? conditionsList\n : conditionsList.slice(0, PREVIEW_CONDITION_LIMIT);\n\n const allConditionVerbs = { ...VERB_LABELS, ...conditionVerbs };\n\n const getLogicOperator = joinType =>\n joinType === \"or_operator\" ? \"or\" : \"and\";\n\n const renderConditionValues = (condition, conditionOption) => {\n if ([\"email\", \"text\", \"number\"].includes(conditionOption.type)) {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {condition.metadata.value?.toLowerCase()}\n </Typography>\n );\n }\n\n if (conditionOption.type === \"multi-select\") {\n const values = pluck(\n \"label\",\n conditionOption.dropdownOptions.filter(({ value }) =>\n condition.metadata.values.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.or\")}\n />\n );\n }\n\n if (conditionOption.type === \"dropdown\") {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getEntityDisplayValue(condition, conditionOption)}\n </Typography>\n );\n }\n\n return null;\n };\n\n const renderCondition = condition => {\n const conditionOption = findBy(\n { value: condition.field },\n conditionOptions\n );\n if (!conditionOption) return null;\n\n const conditionVerb = allConditionVerbs[condition.verb]?.toLowerCase();\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionOption?.label.toLowerCase()}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionVerb}\n </Typography>\n {renderConditionValues(condition, conditionOption)}\n </>\n );\n };\n\n return (\n <>\n <div className=\"mt-2\">\n {allConditions.map((condition, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-2 gap-y-2\"\n key={condition.id}\n >\n {!index && hasEvent && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.and\", { what: \"\" })}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getLogicOperator(condition.joinType)}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n {renderCondition(condition)}\n </div>\n ))}\n </div>\n {conditionsList.length > 3 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default ConditionsDetail;\n","import { findBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\n\nconst EventsDetail = ({ events, performer, conditions }) => {\n const { t } = useTranslation();\n\n const eventNames = pluck(\"name\", events.value);\n const allEvents = events.eventOptions.filter(event =>\n eventNames?.includes(event.value)\n );\n\n const currentPerformer = findBy(\n { value: performer.value },\n performer.options\n );\n\n return (\n <Card title={t(\"neetoRules.common.when\")}>\n <div\n className=\"flex flex-wrap gap-x-2 gap-y-2\"\n data-cy=\"when-condition-events\"\n >\n {allEvents.map((event, index) => (\n <div className=\"flex gap-x-2\" key={index}>\n {!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.or\")}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {event.label.toLowerCase()}\n </Typography>\n </div>\n ))}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.by\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {currentPerformer?.label?.toLowerCase()}\n </Typography>\n </div>\n <ConditionsDetail\n {...{ conditions }}\n conditionOptions={conditions.conditionOptions}\n conditionVerbs={conditions.verbs}\n />\n </Card>\n );\n};\n\nexport default EventsDetail;\n","import { isNotEmpty } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ActionsDetail from \"./ActionsDetail\";\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\nimport EventsDetail from \"./EventsDetail\";\n\nconst RulePreview = ({ isLoading, ruleDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const { moreActionDropdownItems, showPreviewPane } = useUtilityStore.pick();\n\n return (\n <Pane {...{ onClose }} isOpen={isOpen && showPreviewPane}>\n {isLoading ? (\n <PageLoader />\n ) : (\n <>\n <Pane.Header>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"line-clamp-2\" style=\"h4\" weight=\"semibold\">\n {ruleDetails.name.value}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={moreActionDropdownItems}\n />\n </div>\n </Pane.Header>\n <Pane.Body>\n <div className=\"mt-2 w-full\">\n <div className=\"mb-6\">\n {ruleDetails.description && (\n <Typography className=\"my-auto mb-4\" style=\"body2\">\n {ruleDetails.description.value}\n </Typography>\n )}\n {ruleDetails.entity && (\n <div className=\"flex space-x-8\">\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {ruleDetails.entity.label}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-2\"\n style=\"h5\"\n weight=\"normal\"\n >\n {ruleDetails.entity.value}\n </Typography>\n </div>\n )}\n </div>\n {ruleDetails.events && isNotEmpty(ruleDetails.events) ? (\n <EventsDetail\n conditions={ruleDetails.conditions}\n events={ruleDetails.events}\n performer={ruleDetails.performer}\n />\n ) : (\n <Card title={t(\"neetoRules.common.when\")}>\n <ConditionsDetail\n conditionOptions={ruleDetails.conditions.conditionOptions}\n conditionVerbs={ruleDetails.conditions.verbs}\n conditions={ruleDetails.conditions}\n hasEvent={false}\n />\n </Card>\n )}\n <ActionsDetail actions={ruleDetails.actions} />\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n );\n};\n\nexport default RulePreview;\n"],"names":["Title","_ref","title","children","_jsxs","_Fragment","_jsx","Typography","className","style","weight","PREVIEW_CONDITION_LIMIT","ACTION_TYPE","TEXT","NUMBER","DECIMAL","REGEX","DATE","EMAIL","EMAIL_TO","EMAIL_TO_IDS","SMS_TO_NUMBERS","MULTI_SELECT","SEND_TO_API","DROPDOWN","MULTISELECT","TEXT_FIELDS","MultiSelectValues","separator","values","map","value","idx","Fragment","toLowerCase","getEntityDisplayValue","entitiy","entitiyOption","_findBy","findBy","metadata","dropdownOptions","label","getActionDisplayValue","action","actionOption","displayValueData","displayValue","isBulk","includes","type","_action$metadata$valu","emails","phoneNumbers","endpoint","ActionsDetail","actions","_useState","useState","_useState2","_slicedToArray","viewMore","setViewMore","_useTranslation","useTranslation","t","actionsList","allActions","length","slice","getLabel","index","what","renderActionValues","_getActionDisplayValu","_ref2","pluck","filter","_ref3","defaultSeparator","getSeparator","selectedField","renderAction","name","actionOptions","Card","Button","icon","Down","Up","size","onClick","prevState","ConditionsDetail","conditions","conditionOptions","_ref$conditionVerbs","conditionVerbs","_ref$hasEvent","hasEvent","conditionsList","allConditions","allConditionVerbs","_objectSpread","VERB_LABELS","getLogicOperator","joinType","renderConditionValues","condition","conditionOption","_condition$metadata$v","renderCondition","_allConditionVerbs$co","field","conditionVerb","verb","id","EventsDetail","_currentPerformer$lab","events","performer","eventNames","allEvents","eventOptions","event","currentPerformer","options","verbs","RulePreview","isLoading","ruleDetails","isOpen","onClose","_useUtilityStore","useUtilityStore","store","moreActionDropdownItems","showPreviewPane","shallow","Pane","PageLoader","Header","MoreDropdown","dropdownProps","strategy","menuItems","Body","description","entity","isNotEmpty"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RulePreview.js","sources":["../../app/javascript/src/components/RulePreview/Card.jsx","../../app/javascript/src/components/RulePreview/constants.js","../../app/javascript/src/components/RulePreview/MultiSelectValues.jsx","../../app/javascript/src/components/RulePreview/utils.js","../../app/javascript/src/components/RulePreview/ActionsDetail.jsx","../../app/javascript/src/components/RulePreview/ConditionsDetail.jsx","../../app/javascript/src/components/RulePreview/EventsDetail.jsx","../../app/javascript/src/components/RulePreview/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Title = ({ title, children }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {title}\n </Typography>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-sm my-3 p-4\">\n {children}\n </div>\n </>\n);\n\nTitle.propTypes = {\n title: PropTypes.string,\n children: PropTypes.node,\n};\nexport default Title;\n","export const PREVIEW_CONDITION_LIMIT = 3;\n\nexport const ACTION_TYPE = {\n TEXT: \"text\",\n NUMBER: \"number\",\n DECIMAL: \"decimal\",\n REGEX: \"regex\",\n DATE: \"date\",\n EMAIL: \"email\",\n EMAIL_TO: \"emailTo\",\n EMAIL_TO_IDS: \"emailToIds\",\n SMS_TO_NUMBERS: \"smsToNumbers\",\n MULTI_SELECT: \"multiSelect\",\n SEND_TO_API: \"sendToApi\",\n DROPDOWN: \"dropdown\",\n MULTISELECT: \"multiSelect\",\n};\n\nexport const TEXT_FIELDS = [\n ACTION_TYPE.TEXT,\n ACTION_TYPE.NUMBER,\n ACTION_TYPE.DECIMAL,\n ACTION_TYPE.REGEX,\n ACTION_TYPE.DATE,\n];\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst MultiSelectValues = ({ separator, values }) => (\n <>\n {values?.map((value, idx) => (\n <Fragment key={idx}>\n {!!idx && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {value.toLowerCase()}\n </Typography>\n </Fragment>\n ))}\n </>\n);\n\nexport default MultiSelectValues;\n","import { findBy } from \"neetocist\";\n\nimport { ACTION_TYPE, TEXT_FIELDS } from \"./constants\";\n\nexport const getEntityDisplayValue = (entitiy, entitiyOption) =>\n findBy(\n { value: entitiy.metadata.value },\n entitiyOption.dropdownOptions\n )?.label?.toLowerCase();\n\nexport const getActionDisplayValue = (action, actionOption) => {\n const displayValueData = { displayValue: null, isBulk: false };\n\n if (TEXT_FIELDS.includes(actionOption.type)) {\n displayValueData.displayValue = action.metadata.value?.toLowerCase();\n\n return displayValueData;\n }\n switch (actionOption.type) {\n case ACTION_TYPE.DROPDOWN: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n case ACTION_TYPE.EMAIL_TO_IDS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.emails;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO: {\n displayValueData.displayValue = action.displayValue;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SMS_TO_NUMBERS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.phoneNumbers;\n\n return displayValueData;\n }\n case ACTION_TYPE.SEND_TO_API: {\n displayValueData.displayValue = action.metadata.endpoint;\n\n return displayValueData;\n }\n default:\n return null;\n }\n};\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getSeparator } from \"utils\";\n\nimport Card from \"./Card\";\nimport { ACTION_TYPE } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getActionDisplayValue } from \"./utils\";\n\nconst ActionsDetail = ({ actions }) => {\n const [viewMore, setViewMore] = useState(false);\n const { t } = useTranslation();\n\n const actionsList = actions.value;\n const allActions =\n viewMore && actionsList.length > 4 ? actionsList : actionsList.slice(0, 4);\n\n const getLabel = index =>\n index\n ? t(\"neetoRules.common.and\", {\n what: t(\"neetoRules.common.then\"),\n })\n : t(\"neetoRules.common.then\");\n\n const renderActionValues = (action, actionOption) => {\n const { displayValue, isBulk } =\n getActionDisplayValue(action, actionOption) ?? {};\n\n if (actionOption.type === ACTION_TYPE.MULTISELECT) {\n const values = pluck(\n \"label\",\n actionOption.dropdownOptions.filter(({ value }) =>\n action.metadata.value.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.and\", { what: \"\" })}\n />\n );\n }\n\n if (!displayValue) return null;\n\n if (!isBulk) {\n const defaultSeparator =\n actionOption.type === ACTION_TYPE.SEND_TO_API\n ? t(\"neetoRules.common.at\")\n : t(\"neetoRules.common.to\");\n\n const separator = getSeparator({\n defaultSeparator,\n selectedField: actionOption,\n });\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {displayValue?.toLowerCase()}\n </Typography>\n </>\n );\n }\n\n return displayValue.map((value, index) => (\n <div className=\"mr-1 flex\" key={index}>\n <Typography key={index} style=\"h5\" weight=\"semibold\">\n {value}\n </Typography>\n {index !== displayValue.length - 1 && \", \"}\n </div>\n ));\n };\n\n const renderAction = action => {\n const actionOption = findBy({ value: action.name }, actions.actionOptions);\n if (!actionOption) return null;\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {actionOption?.label.toLowerCase()}\n </Typography>\n {renderActionValues(action, actionOption)}\n </>\n );\n };\n\n return (\n <Card title={t(\"neetoRules.common.then\")}>\n {allActions.map((action, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-1 gap-y-2\"\n data-cy=\"then-action-events\"\n key={action.name}\n >\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {getLabel(index)}\n </Typography>\n {renderAction(action)}\n </div>\n ))}\n {actionsList.length > 4 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </Card>\n );\n};\n\nexport default ActionsDetail;\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERB_LABELS } from \"components/NeetoRulesForm/Element/Conditions/constants\";\n\nimport { PREVIEW_CONDITION_LIMIT } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getEntityDisplayValue } from \"./utils\";\n\nconst ConditionsDetail = ({\n conditions,\n conditionOptions,\n conditionVerbs = {},\n hasEvent = true,\n}) => {\n const [viewMore, setViewMore] = useState(false);\n\n const { t } = useTranslation();\n\n const conditionsList = conditions.value;\n const allConditions =\n viewMore && conditionsList.length > PREVIEW_CONDITION_LIMIT\n ? conditionsList\n : conditionsList.slice(0, PREVIEW_CONDITION_LIMIT);\n\n const allConditionVerbs = { ...VERB_LABELS, ...conditionVerbs };\n\n const getLogicOperator = joinType =>\n joinType === \"or_operator\" ? \"or\" : \"and\";\n\n const renderConditionValues = (condition, conditionOption) => {\n if (\n [\"date\", \"decimal\", \"email\", \"number\", \"text\"].includes(\n conditionOption.type\n )\n ) {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {condition.metadata.value?.toLowerCase()}\n </Typography>\n );\n }\n\n if (conditionOption.type === \"textarea\") {\n return (\n <Tooltip content={condition.metadata.value?.toLowerCase()}>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoRules.labels.text\")}\n </Typography>\n </Tooltip>\n );\n }\n\n if (conditionOption.type === \"multi-select\") {\n const values = pluck(\n \"label\",\n conditionOption.dropdownOptions.filter(({ value }) =>\n condition.metadata.values.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.or\")}\n />\n );\n }\n\n if ([\"multi-select-create\"].includes(conditionOption.type)) {\n return (\n <MultiSelectValues\n separator={t(\"neetoRules.common.or\")}\n values={condition.metadata.values}\n />\n );\n }\n\n if (conditionOption.type === \"dropdown\") {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getEntityDisplayValue(condition, conditionOption)}\n </Typography>\n );\n }\n\n return null;\n };\n\n const renderCondition = condition => {\n const conditionOption = findBy(\n { value: condition.field },\n conditionOptions\n );\n if (!conditionOption) return null;\n\n const conditionVerb = allConditionVerbs[condition.verb]?.toLowerCase();\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionOption?.label.toLowerCase()}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionVerb}\n </Typography>\n {renderConditionValues(condition, conditionOption)}\n </>\n );\n };\n\n return (\n <>\n <div className=\"mt-2\">\n {allConditions.map((condition, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-2 gap-y-2\"\n key={condition.id}\n >\n {!index && hasEvent && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.and\", { what: \"\" })}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getLogicOperator(condition.joinType)}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n {renderCondition(condition)}\n </div>\n ))}\n </div>\n {conditionsList.length > 3 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default ConditionsDetail;\n","import { findBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\n\nconst EventsDetail = ({ events, performer, conditions }) => {\n const { t } = useTranslation();\n\n const eventNames = pluck(\"name\", events.value);\n const allEvents = events.eventOptions.filter(event =>\n eventNames?.includes(event.value)\n );\n\n const currentPerformer = findBy(\n { value: performer.value },\n performer.options\n );\n\n return (\n <Card title={t(\"neetoRules.common.when\")}>\n <div\n className=\"flex flex-wrap gap-x-2 gap-y-2\"\n data-cy=\"when-condition-events\"\n >\n {allEvents.map((event, index) => (\n <div className=\"flex gap-x-2\" key={index}>\n {!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.or\")}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {event.label.toLowerCase()}\n </Typography>\n </div>\n ))}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.by\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {currentPerformer?.label?.toLowerCase()}\n </Typography>\n </div>\n <ConditionsDetail\n {...{ conditions }}\n conditionOptions={conditions.conditionOptions}\n conditionVerbs={conditions.verbs}\n />\n </Card>\n );\n};\n\nexport default EventsDetail;\n","import { isNotEmpty } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ActionsDetail from \"./ActionsDetail\";\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\nimport EventsDetail from \"./EventsDetail\";\n\nconst RulePreview = ({ isLoading, ruleDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const { moreActionDropdownItems, showPreviewPane } = useUtilityStore.pick();\n\n return (\n <Pane {...{ onClose }} isOpen={isOpen && showPreviewPane}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"line-clamp-2\" style=\"h4\" weight=\"semibold\">\n {ruleDetails.name.value}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={moreActionDropdownItems}\n />\n </div>\n </Pane.Header>\n <Pane.Body>\n <div className=\"mt-2 w-full\">\n <div className=\"mb-6\">\n {ruleDetails.description && (\n <Typography className=\"my-auto mb-4\" style=\"body2\">\n {ruleDetails.description.value}\n </Typography>\n )}\n {ruleDetails.entity && (\n <div className=\"flex space-x-8\">\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {ruleDetails.entity.label}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-2\"\n style=\"h5\"\n weight=\"normal\"\n >\n {ruleDetails.entity.value}\n </Typography>\n </div>\n )}\n </div>\n {ruleDetails.events && isNotEmpty(ruleDetails.events) ? (\n <EventsDetail\n conditions={ruleDetails.conditions}\n events={ruleDetails.events}\n performer={ruleDetails.performer}\n />\n ) : (\n <Card title={t(\"neetoRules.common.when\")}>\n <ConditionsDetail\n conditionOptions={ruleDetails.conditions.conditionOptions}\n conditionVerbs={ruleDetails.conditions.verbs}\n conditions={ruleDetails.conditions}\n hasEvent={false}\n />\n </Card>\n )}\n <ActionsDetail actions={ruleDetails.actions} />\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n );\n};\n\nexport default RulePreview;\n"],"names":["Title","_ref","title","children","_jsxs","_Fragment","_jsx","Typography","className","style","weight","PREVIEW_CONDITION_LIMIT","ACTION_TYPE","TEXT","NUMBER","DECIMAL","REGEX","DATE","EMAIL","EMAIL_TO","EMAIL_TO_IDS","SMS_TO_NUMBERS","MULTI_SELECT","SEND_TO_API","DROPDOWN","MULTISELECT","TEXT_FIELDS","MultiSelectValues","separator","values","map","value","idx","Fragment","toLowerCase","getEntityDisplayValue","entitiy","entitiyOption","_findBy","_findBy$label","findBy","metadata","dropdownOptions","label","getActionDisplayValue","action","actionOption","displayValueData","displayValue","isBulk","includes","type","_action$metadata$valu","emails","phoneNumbers","endpoint","ActionsDetail","actions","_useState","useState","_useState2","_slicedToArray","viewMore","setViewMore","_useTranslation","useTranslation","t","actionsList","allActions","length","slice","getLabel","index","what","renderActionValues","_getActionDisplayValu","_ref2","pluck","filter","_ref3","defaultSeparator","getSeparator","selectedField","renderAction","name","actionOptions","Card","Button","icon","Down","Up","size","onClick","prevState","ConditionsDetail","conditions","conditionOptions","_ref$conditionVerbs","conditionVerbs","_ref$hasEvent","hasEvent","conditionsList","allConditions","allConditionVerbs","_objectSpread","VERB_LABELS","getLogicOperator","joinType","renderConditionValues","condition","conditionOption","_condition$metadata$v","_condition$metadata$v2","Tooltip","content","renderCondition","_allConditionVerbs$co","field","conditionVerb","verb","id","EventsDetail","_currentPerformer$lab","events","performer","eventNames","allEvents","eventOptions","event","currentPerformer","options","verbs","RulePreview","isLoading","ruleDetails","isOpen","onClose","_useUtilityStore","useUtilityStore","store","moreActionDropdownItems","showPreviewPane","shallow","Pane","Spinner","Header","MoreDropdown","dropdownProps","strategy","menuItems","Body","description","entity","isNotEmpty"],"mappings":"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"}
|