@bigbinary/neeto-rules-frontend 2.5.15 → 2.5.17

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.
Files changed (52) hide show
  1. package/README.md +45 -0
  2. package/app/javascript/src/translations/en.json +38 -9
  3. package/dist/NeetoRules.js +12 -32
  4. package/dist/NeetoRules.js.map +1 -1
  5. package/dist/NeetoRulesForm.js +5104 -3434
  6. package/dist/NeetoRulesForm.js.map +1 -1
  7. package/dist/RulePreview.js +26 -19
  8. package/dist/RulePreview.js.map +1 -1
  9. package/dist/RulesReorder.js +2 -1
  10. package/dist/RulesReorder.js.map +1 -1
  11. package/dist/cjs/NeetoRules.js +19 -39
  12. package/dist/cjs/NeetoRules.js.map +1 -1
  13. package/dist/cjs/NeetoRulesForm.js +5106 -3436
  14. package/dist/cjs/NeetoRulesForm.js.map +1 -1
  15. package/dist/cjs/RulePreview.js +27 -20
  16. package/dist/cjs/RulePreview.js.map +1 -1
  17. package/dist/cjs/RulesReorder.js +2 -1
  18. package/dist/cjs/RulesReorder.js.map +1 -1
  19. package/dist/cjs/index.js +24 -19
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/{constants-C0OOtVhT.js → constants-BkPVd-Gz.js} +10 -8
  22. package/dist/constants-BkPVd-Gz.js.map +1 -0
  23. package/dist/{constants-CB5HRjxq.js → constants-DghBXpIM.js} +10 -7
  24. package/dist/constants-DghBXpIM.js.map +1 -0
  25. package/dist/{index-CYeamuNR.js → index-DXdpXQae.js} +7 -85
  26. package/dist/index-DXdpXQae.js.map +1 -0
  27. package/dist/{index-DGlpB-_C.js → index-e15PIyUY.js} +6 -88
  28. package/dist/index-e15PIyUY.js.map +1 -0
  29. package/dist/index.js +24 -19
  30. package/dist/index.js.map +1 -1
  31. package/dist/useAutomationRulesApi-CVgffrQW.js +102 -0
  32. package/dist/useAutomationRulesApi-CVgffrQW.js.map +1 -0
  33. package/dist/useAutomationRulesApi-Dex5R8oY.js +109 -0
  34. package/dist/useAutomationRulesApi-Dex5R8oY.js.map +1 -0
  35. package/dist/useUtilityStore-BcSUEW_u.js +70 -0
  36. package/dist/useUtilityStore-BcSUEW_u.js.map +1 -0
  37. package/dist/useUtilityStore-DhJI92iM.js +74 -0
  38. package/dist/useUtilityStore-DhJI92iM.js.map +1 -0
  39. package/package.json +47 -41
  40. package/types.d.ts +14 -0
  41. package/dist/constants-C0OOtVhT.js.map +0 -1
  42. package/dist/constants-CB5HRjxq.js.map +0 -1
  43. package/dist/index-CYeamuNR.js.map +0 -1
  44. package/dist/index-DGlpB-_C.js.map +0 -1
  45. package/dist/useUtilityStore-BGuo9bko.js +0 -27
  46. package/dist/useUtilityStore-BGuo9bko.js.map +0 -1
  47. package/dist/useUtilityStore-KjKihXb0.js +0 -25
  48. package/dist/useUtilityStore-KjKihXb0.js.map +0 -1
  49. package/dist/utils-BngEaPaz.js +0 -26
  50. package/dist/utils-BngEaPaz.js.map +0 -1
  51. package/dist/utils-CvS2p6ZS.js +0 -23
  52. package/dist/utils-CvS2p6ZS.js.map +0 -1
package/README.md CHANGED
@@ -722,6 +722,8 @@ const initialProps = {
722
722
  6. `separator`: Separator to be shown between action sub items. If there is only
723
723
  one sub item, provide a string value. If there are multiple sub items,
724
724
  provide an array of separators.
725
+ 7. `isSaveAsTemplateEnabled`: To allow users to save the contents of current
726
+ message as a new template.
725
727
 
726
728
  Refer to the [Actions section](./docs/actions.md) for more information.
727
729
 
@@ -764,6 +766,49 @@ which is being sent by neeto-form in action options.
764
766
  }
765
767
  ```
766
768
 
769
+ #### 3.11 Saving the contents of current message as a new template
770
+
771
+ To save the contents of the current message as a new template, set `isSaveAsTemplateEnabled` to true. The message contents will then be available in the values passed to the `handleSubmit` callback, allowing the host application to use this data for creating new templates.
772
+
773
+ #### 3.12 Displaying help popovers in the action panel
774
+
775
+ You can configure help popovers to appear next to input fields in Email, SMS, and API actions. To do this, provide the appropriate `helpPopoverProps` in the action options.
776
+
777
+ ```jsx
778
+ {
779
+ label: t("form.settings.automationRules.actions.sendToApi"),
780
+ value: ACTION_OPTIONS.sendToApi,
781
+ type: "sendToApi",
782
+ helpPopoverProps: {
783
+ customHeaders: {
784
+ title: "Title for custom headers popover",
785
+ description: "Description for custom headers popover.",
786
+ helpLinkProps: { href: CUSTOM_HEADERS_HELP_DOC_URL },
787
+ },
788
+ body: {
789
+ title: "Title for API payload popover",
790
+ description: "Description for API payload popover.",
791
+ helpLinkProps: { href: API_PAYLOAD_HELP_DOC_URL },
792
+ },
793
+ },
794
+ }
795
+ ```
796
+
797
+ Below are the supported actions and fields where help popovers can be displayed:
798
+
799
+ 1. Email actions:
800
+ - `template`: Displays a help popover next to the template dropdown
801
+ - `recipientField`: Displays a help popover next to the recipient selection dropdown (lists records with emails)
802
+
803
+ 2. SMS actions:
804
+ - `template`: Displays a help popover next to the template dropdown
805
+ - `recipientField`: Displays a help popover next to the recipient selection dropdown (lists records with phone numbers)
806
+
807
+ 3. API actions:
808
+ - `template`: Displays a help popover next to the template dropdown
809
+ - `customHeaders`: Displays a help popover next to the custom headers label
810
+ - `body`: Displays a help popover next to the body label
811
+
767
812
  #### 4. `RulePreview`
768
813
 
769
814
  The `RulePreview` component is used to preview the automation rule.
@@ -2,6 +2,8 @@
2
2
  "neetoRules": {
3
3
  "common": {
4
4
  "title": "Automation rules",
5
+ "collapseSidebar": "Collapse sidebar",
6
+ "back": "Back",
5
7
  "automationRuleWithCount_one": "{{count}} automation rule",
6
8
  "automationRuleWithCount_other": "{{count}} automation rules",
7
9
  "events": "Events",
@@ -10,7 +12,7 @@
10
12
  "conditions": "Conditions",
11
13
  "condition": "Condition",
12
14
  "preview": "Preview",
13
- "addAction": "Add Action",
15
+ "addAction": "Add action",
14
16
  "actions": "Actions",
15
17
  "saveChange": "Save changes",
16
18
  "value": "Value",
@@ -26,6 +28,7 @@
26
28
  "noOptions": "No options",
27
29
  "by": "by",
28
30
  "when": "When",
31
+ "if": "If",
29
32
  "or": "or",
30
33
  "search": "Search",
31
34
  "as": "as",
@@ -39,7 +42,12 @@
39
42
  "reorder": "Reorder",
40
43
  "at": "at",
41
44
  "apply": "Apply and send",
42
- "addDelay": "Add delay"
45
+ "addDelay": "Add delay",
46
+ "andIf": "and if",
47
+ "orIf": "or if",
48
+ "andWhen": "and when",
49
+ "orWhen": "or when",
50
+ "andThen": "and then"
43
51
  },
44
52
  "cannedResponses": {
45
53
  "title": "Canned responses"
@@ -61,12 +69,21 @@
61
69
  "selectField": "select field",
62
70
  "addCondition": "Add condition",
63
71
  "selectDate": "Select date",
64
- "delayExecutionBy": "Delay execution by"
72
+ "delayExecutionBy": "Delay execution by",
73
+ "addConditionDescription": "Add a condition that must be met for the rule to be run.",
74
+ "addConditionVerbAndValueDescription": "Add the conditional trigger that sets the rule in motion.",
75
+ "addActionDescription": "Add an action that occurs as a result of the rule.",
76
+ "addActionSubItemDescription": "Add details on how this action should be performed.",
77
+ "addEventDescription": "Add a trigger that sets the rule in motion.",
78
+ "actionTriggeredBy": "Action triggered by",
79
+ "addPerformerDescription": "Add by whom the action should be triggered that sets the rule in motion.",
80
+ "aiGeneratedName": "An AI-generated name will be available soon."
65
81
  },
66
82
  "labels": {
67
83
  "active": "Active",
68
84
  "body": "Body",
69
85
  "selectValues": "Select values",
86
+ "selectValue": "Select value",
70
87
  "multipleValues": "Multiple values",
71
88
  "id": "ID",
72
89
  "name": "Name",
@@ -152,8 +169,6 @@
152
169
  "endpoint": "Endpoint",
153
170
  "key": "Key",
154
171
  "value": "Value",
155
- "addKeyValuePair": "Add new key value pair",
156
- "additionalData": "Additional data",
157
172
  "remove_tags": "Remove tags",
158
173
  "add_tags": "Add tags",
159
174
  "change_status": "Change status",
@@ -162,9 +177,16 @@
162
177
  "assign_group": "Assign {{taxonomies.group.singular}}",
163
178
  "assign_agent": "Assign {{taxonomies.agent.singular}}",
164
179
  "change_priority": "Change priority",
165
- "selectCannedResponse": "Select a canned response"
180
+ "selectCannedResponse": "Select a canned response",
181
+ "headers": "Headers",
182
+ "includeHeaders": "Include headers",
183
+ "addEntity": "Add {{entity}}",
184
+ "templateName": "Template name",
185
+ "saveAsTemplate": "Save as template",
186
+ "viewHelpArticle": "View help article"
166
187
  },
167
188
  "placeholders": {
189
+ "autoGenerateName": "The name will be auto-generated based on your rule if left blank.",
168
190
  "if": "If",
169
191
  "multiSelect": "Example: urgent, billing",
170
192
  "select": "Select",
@@ -175,11 +197,14 @@
175
197
  "selectTemplate": "Select a template",
176
198
  "phoneNumberField": "Type phone number and press enter",
177
199
  "searchRules": "Search automation rules",
178
- "enterDelay": "Enter delay"
200
+ "enterDelay": "Enter delay",
201
+ "chooseOption": "Choose an option"
179
202
  },
180
203
  "buttons": {
181
204
  "save": "Save",
182
- "cancel": "Cancel"
205
+ "cancel": "Cancel",
206
+ "continue": "Continue",
207
+ "cancelNameGeneration": "Cancel name generation"
183
208
  },
184
209
  "validations": {
185
210
  "required": {
@@ -224,7 +249,8 @@
224
249
  "invalidUrlEntity": "{{entity}} must be a valid URL",
225
250
  "maximumEmails": "Only up to {{max}} email addresses are allowed",
226
251
  "maxDelay": "Delay can't be more than {{max}}",
227
- "minDelay": "Delay can't be less than {{min}}"
252
+ "minDelay": "Delay can't be less than {{min}}",
253
+ "invalidJsonBody": "Body should be a valid JSON"
228
254
  },
229
255
  "conditionVerbs": {
230
256
  "is": "Is",
@@ -355,6 +381,9 @@
355
381
  "helpText": {
356
382
  "description": "Automation rules feature allows you to create rules to automate specific actions when certain events occur.",
357
383
  "addDelay": "Add a delay so the following actions execute after the specified time"
384
+ },
385
+ "apiFields": {
386
+ "insertPlaceholder": "Insert placeholder: {{label}}"
358
387
  }
359
388
  }
360
389
  }
@@ -1,14 +1,15 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import { memo, useState } from 'react';
4
- import { isPresent, removeBy, isNotEmpty } from '@bigbinary/neeto-cist';
4
+ import { truncate, removeBy, isNotEmpty, isPresent } from '@bigbinary/neeto-cist';
5
5
  import { DEFAULT_PAGE_SIZE } from '@bigbinary/neeto-commons-frontend/constants';
6
6
  import { withT, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
7
7
  import Container from '@bigbinary/neeto-molecules/Container';
8
- import { u as useUpdateAutomationRule, a as useCloneAutomationRule, b as useDeleteAutomationRule, c as useFetchAutomationRules, R as RulesReorder, I as INITIAL_RULES_DATA } from './index-CYeamuNR.js';
8
+ import { b as useUpdateAutomationRule, c as useCloneAutomationRule, d as useDeleteAutomationRule, u as useFetchAutomationRules } from './useAutomationRulesApi-CVgffrQW.js';
9
+ import { R as RulesReorder, I as INITIAL_RULES_DATA } from './index-DXdpXQae.js';
9
10
  import NeetoHeader from '@bigbinary/neeto-molecules/Header';
10
11
  import Button from '@bigbinary/neetoui/Button';
11
- import { c as createRoutes } from './utils-CvS2p6ZS.js';
12
+ import { c as createRoutes, u as useUtilityStore } from './useUtilityStore-BcSUEW_u.js';
12
13
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
14
  import { shallow } from 'zustand/shallow';
14
15
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
@@ -20,20 +21,18 @@ import NoData from '@bigbinary/neetoui/NoData';
20
21
  import Spinner from '@bigbinary/neetoui/Spinner';
21
22
  import { isNotNil, isEmpty } from 'ramda';
22
23
  import { Trans, useTranslation } from 'react-i18next';
23
- import { u as useUtilityStore } from './useUtilityStore-KjKihXb0.js';
24
24
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
25
25
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
26
26
  import { t } from 'i18next';
27
27
  import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
28
28
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
29
29
  import Switch from '@bigbinary/neetoui/Switch';
30
- import Tooltip from '@bigbinary/neetoui/Tooltip';
31
- import '@hello-pangea/dnd';
32
- import '@bigbinary/neeto-icons/Reorder';
33
- import '@bigbinary/neetoui/Pane';
34
30
  import '@tanstack/react-query';
35
31
  import 'axios';
36
32
  import './index-9h4B7JZZ.js';
33
+ import '@hello-pangea/dnd';
34
+ import '@bigbinary/neeto-icons/Reorder';
35
+ import '@bigbinary/neetoui/Pane';
37
36
  import 'react-router-dom';
38
37
  import 'zustand';
39
38
 
@@ -176,42 +175,23 @@ var getColumnData = function getColumnData(_ref3) {
176
175
  }, otherProps)));
177
176
  onPreview(rule.id);
178
177
  },
179
- children: name
178
+ children: truncate(name || rule.defaultName, 100)
180
179
  }), /*#__PURE__*/jsx(MoreDropdown, {
180
+ menuItems: buildActionDropdownMenuItems(_objectSpread$2({
181
+ rule: rule
182
+ }, otherProps)),
181
183
  dropdownProps: {
182
184
  strategy: "fixed",
183
185
  appendTo: function appendTo() {
184
186
  return document.body;
185
187
  }
186
- },
187
- menuItems: buildActionDropdownMenuItems(_objectSpread$2({
188
- rule: rule
189
- }, otherProps))
188
+ }
190
189
  })]
191
190
  }), /*#__PURE__*/jsx(DisableMessage, {
192
191
  disabledReason: rule.disabledReason
193
192
  })]
194
193
  });
195
194
  }
196
- }, {
197
- title: t("neetoRules.labels.description"),
198
- dataIndex: "description",
199
- key: "description",
200
- width: 390,
201
- render: function render(description) {
202
- return isPresent(description) ? /*#__PURE__*/jsx(Tooltip, {
203
- content: description,
204
- position: "bottom",
205
- children: /*#__PURE__*/jsx(Typography, {
206
- className: "line-clamp-2 whitespace-pre-line",
207
- style: "body2",
208
- children: description
209
- })
210
- }) : /*#__PURE__*/jsx(Typography, {
211
- style: "body2",
212
- children: "-"
213
- });
214
- }
215
195
  }, {
216
196
  title: t("neetoRules.labels.active"),
217
197
  key: "active",
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoRules.js","sources":["../app/javascript/src/components/NeetoRules/Header.jsx","../app/javascript/src/components/NeetoRules/RulesTable/constants.js","../app/javascript/src/components/NeetoRules/RulesTable/DisableMessage.jsx","../app/javascript/src/components/NeetoRules/RulesTable/utils.jsx","../app/javascript/src/components/NeetoRules/RulesTable/index.jsx","../app/javascript/src/components/NeetoRules/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\n\nimport { createRoutes } from \"utils\";\n\nconst Header = withT(\n ({\n breadcrumbs,\n automationRulesPath,\n helpPopoverProps = {},\n hasUnfilteredRules,\n headerProps,\n t,\n }) => (\n <NeetoHeader\n {...{ breadcrumbs }}\n title={t(\"neetoRules.common.title\")}\n actionBlock={\n <Button\n className=\"hover:neeto-ui-text-white hover:no-underline\"\n data-cy=\"settings-automation-new-rule-button\"\n data-test-id=\"settings-automation-new-rule-button\"\n iconPosition=\"right\"\n label={t(\"neetoRules.button.addNew\")}\n style=\"primary\"\n to={createRoutes(automationRulesPath).new}\n />\n }\n searchProps={\n hasUnfilteredRules && {\n placeholder: t(\"neetoRules.placeholders.searchRules\"),\n }\n }\n titleHelpPopoverProps={{\n description: t(\"neetoRules.helpText.description\"),\n title: t(\"neetoRules.common.title\"),\n ...helpPopoverProps,\n }}\n {...headerProps}\n />\n )\n);\nexport default memo(Header);\n","export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\nimport { isNotNil } from \"ramda\";\n\nconst DisableMessage = withT(\n ({ t, disabledReason }) =>\n isNotNil(disabledReason) && (\n <div>\n <Typography class=\"text-red-600\" component=\"span\" style=\"body2\">\n {t(disabledReason)}\n </Typography>\n </div>\n )\n);\n\nexport default DisableMessage;\n","import { t } from \"i18next\";\nimport { isPresent, removeBy } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Switch, Button, Typography, Tooltip } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\nimport { createRoutes } from \"utils\";\n\nimport { STATUS_KEYS } from \"./constants\";\nimport DisableMessage from \"./DisableMessage\";\n\nconst buildActionDropdownMenuItems = ({\n rule,\n onClone,\n onDelete,\n moreDropdownItems = [],\n automationRulesPath,\n allowCloning,\n}) => {\n const defaultOptions = [\n ...moreDropdownItems.map(({ onClick, ...others }) => ({\n ...others,\n onClick: () => onClick(rule),\n })),\n {\n key: \"edit\",\n className: \"neeto-ui-btn\",\n \"data-test-id\": \"automation-rules-edit-link\",\n \"data-cy\": \"automation-rules-edit-link\",\n label: t(\"neetoRules.button.edit\"),\n to: buildUrl(createRoutes(automationRulesPath).edit, { ruleId: rule.id }),\n },\n {\n key: \"clone\",\n \"data-test-id\": \"automation-rules-clone-link\",\n \"data-cy\": \"automation-rules-clone-link\",\n label: t(\"neetoRules.button.clone\"),\n onClick: () => onClone(rule.id),\n },\n { key: \"divider\", type: \"divider\" },\n {\n key: \"delete\",\n \"data-test-id\": \"automation-rules-delete-link\",\n \"data-cy\": \"automation-rules-delete-link\",\n label: t(\"neetoRules.button.delete\"),\n onClick: () => onDelete(rule),\n },\n ];\n\n if (!allowCloning) {\n return removeBy({ key: \"clone\" }, defaultOptions);\n }\n\n return defaultOptions;\n};\n\nexport const getColumnData = ({\n handleChangeStatus,\n additionalColumns = [],\n onPreview,\n ...otherProps\n}) => {\n const { setMoreActionDropdownItems } = useUtilityStore.pick();\n\n return [\n {\n title: t(\"neetoRules.labels.name\"),\n dataIndex: \"name\",\n key: \"name\",\n ellipsis: true,\n width: 440,\n render: (name, rule) => (\n <div>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n className=\"whitespace-pre-line break-words text-left\"\n style=\"link\"\n onClick={() => {\n setMoreActionDropdownItems(\n buildActionDropdownMenuItems({ rule, ...otherProps })\n );\n onPreview(rule.id);\n }}\n >\n {name}\n </Button>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={buildActionDropdownMenuItems({\n rule,\n ...otherProps,\n })}\n />\n </div>\n <DisableMessage disabledReason={rule.disabledReason} />\n </div>\n ),\n },\n {\n title: t(\"neetoRules.labels.description\"),\n dataIndex: \"description\",\n key: \"description\",\n width: 390,\n render: description =>\n isPresent(description) ? (\n <Tooltip content={description} position=\"bottom\">\n <Typography\n className=\"line-clamp-2 whitespace-pre-line\"\n style=\"body2\"\n >\n {description}\n </Typography>\n </Tooltip>\n ) : (\n <Typography style=\"body2\">-</Typography>\n ),\n },\n {\n title: t(\"neetoRules.labels.active\"),\n key: \"active\",\n width: 140,\n align: \"center\",\n render: (_, rule) => (\n <div className=\"flex justify-center\">\n <Switch\n checked={rule.status === STATUS_KEYS.ENABLED}\n data-test-id=\"automation-rules-state-switch-row\"\n disabled={!!rule.disabledReason}\n onChange={e => {\n handleChangeStatus(e, rule.id);\n }}\n />\n </div>\n ),\n },\n ...additionalColumns,\n ];\n};\n\nexport const renderNoDataHelpText = helpDocUrl => (\n <Trans\n i18nKey=\"neetoRules.noData.helpText\"\n components={{\n a: <Button style=\"link\" target=\"_blank\" to={{ pathname: helpDocUrl }} />,\n }}\n />\n);\n","import { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, Table, Typography, NoData, Button, Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\nimport {\n useCloneAutomationRule,\n useDeleteAutomationRule,\n useUpdateAutomationRule,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\nimport { createRoutes } from \"utils\";\n\nimport { STATUS_KEYS } from \"./constants\";\nimport { getColumnData, renderNoDataHelpText } from \"./utils\";\n\nconst RulesTable = ({\n url,\n additionalColumns,\n allowReordering,\n automationRulesPath = \"/\",\n onPreview,\n moreDropdownItems = [],\n rules = [],\n totalCount,\n helpDocUrl,\n isLoading,\n onDeleteSuccess,\n onCloneSuccess,\n onUpdateSuccess,\n page,\n setIsReorderPaneOpen,\n setPage,\n allowCloning = true,\n hasUnfilteredRules = true,\n payloadKey = \"rule\",\n}) => {\n const { searchTerm = \"\" } = useQueryParams();\n\n const [selectedRule, setSelectedRule] = useState(null);\n\n const { hidePreviewPane } = useUtilityStore.pick();\n\n const { t } = useTranslation();\n\n const { mutate: updateRule, isPending: isUpdating } =\n useUpdateAutomationRule(url);\n\n const { mutate: cloneRule, isPending: isCloning } =\n useCloneAutomationRule(url);\n\n const { mutate: deleteRule, isPending: isDeleting } =\n useDeleteAutomationRule(url);\n\n const handleChangeStatus = (event, id) => {\n const status = event.target.checked\n ? STATUS_KEYS.ENABLED\n : STATUS_KEYS.DISABLED;\n const payload = { [payloadKey]: { status } };\n updateRule({ id, url, payload }, { onSuccess: () => onUpdateSuccess?.() });\n };\n\n const handleCloneSuccess = () => {\n onCloneSuccess?.();\n hidePreviewPane();\n };\n\n const handleDeleteSuccess = () => {\n onDeleteSuccess?.();\n hidePreviewPane();\n setSelectedRule(null);\n };\n\n const columnData = getColumnData({\n handleChangeStatus,\n additionalColumns,\n onClone: id => cloneRule({ id, url }, { onSuccess: handleCloneSuccess }),\n onDelete: setSelectedRule,\n onPreview,\n automationRulesPath,\n moreDropdownItems,\n allowCloning,\n });\n\n if (isLoading && isEmpty(rules)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n {hasUnfilteredRules && (\n <SubHeader\n leftActionBlock={\n <Typography className=\"mr-4 font-semibold\" style=\"h4\">\n {t(\"neetoRules.common.automationRuleWithCount\", {\n count: totalCount,\n })}\n </Typography>\n }\n rightActionBlock={\n hasUnfilteredRules &&\n allowReordering && (\n <Button\n disabled={isNotEmpty(searchTerm)}\n label={t(\"neetoRules.common.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n )\n }\n />\n )}\n {isNotEmpty(rules) ? (\n <>\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, totalCount }}\n fixedHeight\n allowClick={false}\n currentPageNumber={page}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n handlePageChange={setPage}\n loading={isUpdating || isCloning || isDeleting || isLoading}\n rowData={rules.map(item => ({ key: item.id, ...item }))}\n rowSelection={false}\n scroll={{ x: 0 }}\n tableLayout=\"fixed\"\n />\n </TableWrapper>\n <Alert\n isOpen={!!selectedRule}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoRules.button.delete\")}\n title={t(\"neetoRules.deleteAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoRules.deleteAlert.message\"\n values={{ name: selectedRule?.name }}\n />\n }\n onClose={() => setSelectedRule(null)}\n onSubmit={() =>\n deleteRule(\n { id: selectedRule?.id, url },\n { onSuccess: handleDeleteSuccess }\n )\n }\n />\n </>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={t(\"neetoRules.noData.title\")}\n {...(isEmpty(searchTerm) && {\n helpText: helpDocUrl ? renderNoDataHelpText(helpDocUrl) : null,\n primaryButtonProps: {\n label: t(\"neetoRules.button.addNew\"),\n to: createRoutes(automationRulesPath).new,\n },\n })}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default RulesTable;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\n\nimport { useFetchAutomationRules } from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport { INITIAL_RULES_DATA } from \"./constants\";\nimport Header from \"./Header\";\nimport RulesReorder from \"./RulesReorder\";\nimport RulesTable from \"./RulesTable\";\nimport { DEFAULT_INIT_PAGE } from \"./RulesTable/constants\";\n\nconst NeetoRules = ({\n breadcrumbs,\n automationRulesPath,\n automationRulesEndpoint: url,\n allowReordering = false,\n rulesTableProps = {},\n helpPopoverProps = {},\n deleteRule,\n cloneRule,\n updateRule,\n reorderRules,\n headerProps = {},\n}) => {\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const helpDocUrl = helpPopoverProps?.helpLinkProps?.href;\n\n const [page, setPage] = useState(DEFAULT_INIT_PAGE);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const {\n data: { rules, totalCount } = INITIAL_RULES_DATA,\n isLoading,\n isFetching,\n } = useFetchAutomationRules({\n url,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n searchTerm,\n });\n\n const hasUnfilteredRules = isPresent(searchTerm) || totalCount > 0;\n\n return (\n <Container>\n <Header\n {...{\n automationRulesPath,\n breadcrumbs,\n hasUnfilteredRules,\n headerProps,\n helpPopoverProps,\n }}\n />\n <RulesTable\n {...{\n allowReordering,\n automationRulesPath,\n hasUnfilteredRules,\n helpDocUrl,\n page,\n rules,\n setIsReorderPaneOpen,\n setPage,\n totalCount,\n url,\n ...rulesTableProps,\n }}\n allowCloning={cloneRule?.allowed ?? true}\n isLoading={isLoading || isFetching}\n onCloneSuccess={cloneRule?.onSuccess?.callback}\n onDeleteSuccess={deleteRule?.onSuccess?.callback}\n onUpdateSuccess={updateRule?.onSuccess?.callback}\n />\n {allowReordering && !isLoading && (\n <RulesReorder\n {...{ totalCount, url }}\n isOpen={isReorderPaneOpen}\n onClose={() => setIsReorderPaneOpen(false)}\n onReorderSuccess={reorderRules?.onSuccess?.callback}\n />\n )}\n </Container>\n );\n};\n\nexport default NeetoRules;\n"],"names":["Header","withT","_ref","breadcrumbs","automationRulesPath","_ref$helpPopoverProps","helpPopoverProps","hasUnfilteredRules","headerProps","t","_jsx","NeetoHeader","_objectSpread","title","actionBlock","Button","className","iconPosition","label","style","to","createRoutes","searchProps","placeholder","titleHelpPopoverProps","description","memo","STATUS_KEYS","ENABLED","DISABLED","DEFAULT_INIT_PAGE","DisableMessage","disabledReason","isNotNil","children","Typography","component","buildActionDropdownMenuItems","rule","onClone","onDelete","_ref$moreDropdownItem","moreDropdownItems","allowCloning","defaultOptions","concat","_toConsumableArray","map","_ref2","onClick","others","_objectWithoutProperties","_excluded","key","buildUrl","edit","ruleId","id","type","removeBy","getColumnData","_ref3","handleChangeStatus","_ref3$additionalColum","additionalColumns","onPreview","otherProps","_excluded2","_useUtilityStore","useUtilityStore","store","setMoreActionDropdownItems","shallow","dataIndex","ellipsis","width","render","name","_jsxs","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","isPresent","Tooltip","content","position","align","_","Switch","checked","status","disabled","onChange","e","renderNoDataHelpText","helpDocUrl","Trans","i18nKey","components","a","target","pathname","RulesTable","url","allowReordering","_ref$automationRulesP","_ref$rules","rules","totalCount","isLoading","onDeleteSuccess","onCloneSuccess","onUpdateSuccess","page","setIsReorderPaneOpen","setPage","_ref$allowCloning","_ref$hasUnfilteredRul","_ref$payloadKey","payloadKey","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","_useState","useState","_useState2","_slicedToArray","selectedRule","setSelectedRule","hidePreviewPane","_useTranslation","useTranslation","_useUpdateAutomationR","useUpdateAutomationRule","updateRule","mutate","isUpdating","isPending","_useCloneAutomationRu","useCloneAutomationRule","cloneRule","isCloning","_useDeleteAutomationR","useDeleteAutomationRule","deleteRule","isDeleting","event","payload","_defineProperty","onSuccess","handleCloneSuccess","handleDeleteSuccess","columnData","isEmpty","Spinner","_Fragment","SubHeader","leftActionBlock","count","rightActionBlock","isNotEmpty","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","Table","fixedHeight","allowClick","currentPageNumber","defaultPageSize","handlePageChange","loading","rowData","item","rowSelection","scroll","x","tableLayout","Alert","isOpen","isSubmitting","submitButtonLabel","message","values","onClose","onSubmit","NoData","helpText","primaryButtonProps","NeetoRules","_helpPopoverProps$hel","_cloneRule$allowed","_cloneRule$onSuccess","_deleteRule$onSuccess","_updateRule$onSuccess","_reorderRules$onSucce","automationRulesEndpoint","_ref$allowReordering","_ref$rulesTableProps","rulesTableProps","reorderRules","_ref$headerProps","isReorderPaneOpen","helpLinkProps","href","_useState3","_useState4","_useFetchAutomationRu","useFetchAutomationRules","pageSize","_useFetchAutomationRu2","data","_useFetchAutomationRu3","INITIAL_RULES_DATA","isFetching","Container","allowed","callback","RulesReorder","onReorderSuccess"],"mappings":"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"}
1
+ {"version":3,"file":"NeetoRules.js","sources":["../app/javascript/src/components/NeetoRules/Header.jsx","../app/javascript/src/components/NeetoRules/RulesTable/constants.js","../app/javascript/src/components/NeetoRules/RulesTable/DisableMessage.jsx","../app/javascript/src/components/NeetoRules/RulesTable/utils.jsx","../app/javascript/src/components/NeetoRules/RulesTable/index.jsx","../app/javascript/src/components/NeetoRules/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\n\nimport { createRoutes } from \"utils\";\n\nconst Header = withT(\n ({\n breadcrumbs,\n automationRulesPath,\n helpPopoverProps = {},\n hasUnfilteredRules,\n headerProps,\n t,\n }) => (\n <NeetoHeader\n {...{ breadcrumbs }}\n title={t(\"neetoRules.common.title\")}\n actionBlock={\n <Button\n className=\"hover:neeto-ui-text-white hover:no-underline\"\n data-cy=\"settings-automation-new-rule-button\"\n data-test-id=\"settings-automation-new-rule-button\"\n iconPosition=\"right\"\n label={t(\"neetoRules.button.addNew\")}\n style=\"primary\"\n to={createRoutes(automationRulesPath).new}\n />\n }\n searchProps={\n hasUnfilteredRules && {\n placeholder: t(\"neetoRules.placeholders.searchRules\"),\n }\n }\n titleHelpPopoverProps={{\n description: t(\"neetoRules.helpText.description\"),\n title: t(\"neetoRules.common.title\"),\n ...helpPopoverProps,\n }}\n {...headerProps}\n />\n )\n);\nexport default memo(Header);\n","export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\nimport { isNotNil } from \"ramda\";\n\nconst DisableMessage = withT(\n ({ t, disabledReason }) =>\n isNotNil(disabledReason) && (\n <div>\n <Typography class=\"text-red-600\" component=\"span\" style=\"body2\">\n {t(disabledReason)}\n </Typography>\n </div>\n )\n);\n\nexport default DisableMessage;\n","import { t } from \"i18next\";\nimport { removeBy, truncate } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Switch, Button } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\nimport { createRoutes } from \"utils\";\n\nimport { STATUS_KEYS } from \"./constants\";\nimport DisableMessage from \"./DisableMessage\";\n\nconst buildActionDropdownMenuItems = ({\n rule,\n onClone,\n onDelete,\n moreDropdownItems = [],\n automationRulesPath,\n allowCloning,\n}) => {\n const defaultOptions = [\n ...moreDropdownItems.map(({ onClick, ...others }) => ({\n ...others,\n onClick: () => onClick(rule),\n })),\n {\n key: \"edit\",\n className: \"neeto-ui-btn\",\n \"data-test-id\": \"automation-rules-edit-link\",\n \"data-cy\": \"automation-rules-edit-link\",\n label: t(\"neetoRules.button.edit\"),\n to: buildUrl(createRoutes(automationRulesPath).edit, { ruleId: rule.id }),\n },\n {\n key: \"clone\",\n \"data-test-id\": \"automation-rules-clone-link\",\n \"data-cy\": \"automation-rules-clone-link\",\n label: t(\"neetoRules.button.clone\"),\n onClick: () => onClone(rule.id),\n },\n { key: \"divider\", type: \"divider\" },\n {\n key: \"delete\",\n \"data-test-id\": \"automation-rules-delete-link\",\n \"data-cy\": \"automation-rules-delete-link\",\n label: t(\"neetoRules.button.delete\"),\n onClick: () => onDelete(rule),\n },\n ];\n\n if (!allowCloning) {\n return removeBy({ key: \"clone\" }, defaultOptions);\n }\n\n return defaultOptions;\n};\n\nexport const getColumnData = ({\n handleChangeStatus,\n additionalColumns = [],\n onPreview,\n ...otherProps\n}) => {\n const { setMoreActionDropdownItems } = useUtilityStore.pick();\n\n return [\n {\n title: t(\"neetoRules.labels.name\"),\n dataIndex: \"name\",\n key: \"name\",\n ellipsis: true,\n width: 440,\n render: (name, rule) => (\n <div>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n className=\"whitespace-pre-line break-words text-left\"\n style=\"link\"\n onClick={() => {\n setMoreActionDropdownItems(\n buildActionDropdownMenuItems({ rule, ...otherProps })\n );\n onPreview(rule.id);\n }}\n >\n {truncate(name || rule.defaultName, 100)}\n </Button>\n <MoreDropdown\n menuItems={buildActionDropdownMenuItems({ rule, ...otherProps })}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n />\n </div>\n <DisableMessage disabledReason={rule.disabledReason} />\n </div>\n ),\n },\n {\n title: t(\"neetoRules.labels.active\"),\n key: \"active\",\n width: 140,\n align: \"center\",\n render: (_, rule) => (\n <div className=\"flex justify-center\">\n <Switch\n checked={rule.status === STATUS_KEYS.ENABLED}\n data-test-id=\"automation-rules-state-switch-row\"\n disabled={!!rule.disabledReason}\n onChange={e => {\n handleChangeStatus(e, rule.id);\n }}\n />\n </div>\n ),\n },\n ...additionalColumns,\n ];\n};\n\nexport const renderNoDataHelpText = helpDocUrl => (\n <Trans\n i18nKey=\"neetoRules.noData.helpText\"\n components={{\n a: <Button style=\"link\" target=\"_blank\" to={{ pathname: helpDocUrl }} />,\n }}\n />\n);\n","import { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, Table, Typography, NoData, Button, Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\nimport {\n useCloneAutomationRule,\n useDeleteAutomationRule,\n useUpdateAutomationRule,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\nimport { createRoutes } from \"utils\";\n\nimport { STATUS_KEYS } from \"./constants\";\nimport { getColumnData, renderNoDataHelpText } from \"./utils\";\n\nconst RulesTable = ({\n url,\n additionalColumns,\n allowReordering,\n automationRulesPath = \"/\",\n onPreview,\n moreDropdownItems = [],\n rules = [],\n totalCount,\n helpDocUrl,\n isLoading,\n onDeleteSuccess,\n onCloneSuccess,\n onUpdateSuccess,\n page,\n setIsReorderPaneOpen,\n setPage,\n allowCloning = true,\n hasUnfilteredRules = true,\n payloadKey = \"rule\",\n}) => {\n const { searchTerm = \"\" } = useQueryParams();\n\n const [selectedRule, setSelectedRule] = useState(null);\n\n const { hidePreviewPane } = useUtilityStore.pick();\n\n const { t } = useTranslation();\n\n const { mutate: updateRule, isPending: isUpdating } =\n useUpdateAutomationRule(url);\n\n const { mutate: cloneRule, isPending: isCloning } =\n useCloneAutomationRule(url);\n\n const { mutate: deleteRule, isPending: isDeleting } =\n useDeleteAutomationRule(url);\n\n const handleChangeStatus = (event, id) => {\n const status = event.target.checked\n ? STATUS_KEYS.ENABLED\n : STATUS_KEYS.DISABLED;\n const payload = { [payloadKey]: { status } };\n updateRule({ id, url, payload }, { onSuccess: () => onUpdateSuccess?.() });\n };\n\n const handleCloneSuccess = () => {\n onCloneSuccess?.();\n hidePreviewPane();\n };\n\n const handleDeleteSuccess = () => {\n onDeleteSuccess?.();\n hidePreviewPane();\n setSelectedRule(null);\n };\n\n const columnData = getColumnData({\n handleChangeStatus,\n additionalColumns,\n onClone: id => cloneRule({ id, url }, { onSuccess: handleCloneSuccess }),\n onDelete: setSelectedRule,\n onPreview,\n automationRulesPath,\n moreDropdownItems,\n allowCloning,\n });\n\n if (isLoading && isEmpty(rules)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n {hasUnfilteredRules && (\n <SubHeader\n leftActionBlock={\n <Typography className=\"mr-4 font-semibold\" style=\"h4\">\n {t(\"neetoRules.common.automationRuleWithCount\", {\n count: totalCount,\n })}\n </Typography>\n }\n rightActionBlock={\n hasUnfilteredRules &&\n allowReordering && (\n <Button\n disabled={isNotEmpty(searchTerm)}\n label={t(\"neetoRules.common.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n )\n }\n />\n )}\n {isNotEmpty(rules) ? (\n <>\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, totalCount }}\n fixedHeight\n allowClick={false}\n currentPageNumber={page}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n handlePageChange={setPage}\n loading={isUpdating || isCloning || isDeleting || isLoading}\n rowData={rules.map(item => ({ key: item.id, ...item }))}\n rowSelection={false}\n scroll={{ x: 0 }}\n tableLayout=\"fixed\"\n />\n </TableWrapper>\n <Alert\n isOpen={!!selectedRule}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoRules.button.delete\")}\n title={t(\"neetoRules.deleteAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoRules.deleteAlert.message\"\n values={{ name: selectedRule?.name }}\n />\n }\n onClose={() => setSelectedRule(null)}\n onSubmit={() =>\n deleteRule(\n { id: selectedRule?.id, url },\n { onSuccess: handleDeleteSuccess }\n )\n }\n />\n </>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={t(\"neetoRules.noData.title\")}\n {...(isEmpty(searchTerm) && {\n helpText: helpDocUrl ? renderNoDataHelpText(helpDocUrl) : null,\n primaryButtonProps: {\n label: t(\"neetoRules.button.addNew\"),\n to: createRoutes(automationRulesPath).new,\n },\n })}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default RulesTable;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\n\nimport { useFetchAutomationRules } from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport { INITIAL_RULES_DATA } from \"./constants\";\nimport Header from \"./Header\";\nimport RulesReorder from \"./RulesReorder\";\nimport RulesTable from \"./RulesTable\";\nimport { DEFAULT_INIT_PAGE } from \"./RulesTable/constants\";\n\nconst NeetoRules = ({\n breadcrumbs,\n automationRulesPath,\n automationRulesEndpoint: url,\n allowReordering = false,\n rulesTableProps = {},\n helpPopoverProps = {},\n deleteRule,\n cloneRule,\n updateRule,\n reorderRules,\n headerProps = {},\n}) => {\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const helpDocUrl = helpPopoverProps?.helpLinkProps?.href;\n\n const [page, setPage] = useState(DEFAULT_INIT_PAGE);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const {\n data: { rules, totalCount } = INITIAL_RULES_DATA,\n isLoading,\n isFetching,\n } = useFetchAutomationRules({\n url,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n searchTerm,\n });\n\n const hasUnfilteredRules = isPresent(searchTerm) || totalCount > 0;\n\n return (\n <Container>\n <Header\n {...{\n automationRulesPath,\n breadcrumbs,\n hasUnfilteredRules,\n headerProps,\n helpPopoverProps,\n }}\n />\n <RulesTable\n {...{\n allowReordering,\n automationRulesPath,\n hasUnfilteredRules,\n helpDocUrl,\n page,\n rules,\n setIsReorderPaneOpen,\n setPage,\n totalCount,\n url,\n ...rulesTableProps,\n }}\n allowCloning={cloneRule?.allowed ?? true}\n isLoading={isLoading || isFetching}\n onCloneSuccess={cloneRule?.onSuccess?.callback}\n onDeleteSuccess={deleteRule?.onSuccess?.callback}\n onUpdateSuccess={updateRule?.onSuccess?.callback}\n />\n {allowReordering && !isLoading && (\n <RulesReorder\n {...{ totalCount, url }}\n isOpen={isReorderPaneOpen}\n onClose={() => setIsReorderPaneOpen(false)}\n onReorderSuccess={reorderRules?.onSuccess?.callback}\n />\n )}\n </Container>\n );\n};\n\nexport default NeetoRules;\n"],"names":["Header","withT","_ref","breadcrumbs","automationRulesPath","_ref$helpPopoverProps","helpPopoverProps","hasUnfilteredRules","headerProps","t","_jsx","NeetoHeader","_objectSpread","title","actionBlock","Button","className","iconPosition","label","style","to","createRoutes","searchProps","placeholder","titleHelpPopoverProps","description","memo","STATUS_KEYS","ENABLED","DISABLED","DEFAULT_INIT_PAGE","DisableMessage","disabledReason","isNotNil","children","Typography","component","buildActionDropdownMenuItems","rule","onClone","onDelete","_ref$moreDropdownItem","moreDropdownItems","allowCloning","defaultOptions","concat","_toConsumableArray","map","_ref2","onClick","others","_objectWithoutProperties","_excluded","key","buildUrl","edit","ruleId","id","type","removeBy","getColumnData","_ref3","handleChangeStatus","_ref3$additionalColum","additionalColumns","onPreview","otherProps","_excluded2","_useUtilityStore","useUtilityStore","store","setMoreActionDropdownItems","shallow","dataIndex","ellipsis","width","render","name","_jsxs","truncate","defaultName","MoreDropdown","menuItems","dropdownProps","strategy","appendTo","document","body","align","_","Switch","checked","status","disabled","onChange","e","renderNoDataHelpText","helpDocUrl","Trans","i18nKey","components","a","target","pathname","RulesTable","url","allowReordering","_ref$automationRulesP","_ref$rules","rules","totalCount","isLoading","onDeleteSuccess","onCloneSuccess","onUpdateSuccess","page","setIsReorderPaneOpen","setPage","_ref$allowCloning","_ref$hasUnfilteredRul","_ref$payloadKey","payloadKey","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","_useState","useState","_useState2","_slicedToArray","selectedRule","setSelectedRule","hidePreviewPane","_useTranslation","useTranslation","_useUpdateAutomationR","useUpdateAutomationRule","updateRule","mutate","isUpdating","isPending","_useCloneAutomationRu","useCloneAutomationRule","cloneRule","isCloning","_useDeleteAutomationR","useDeleteAutomationRule","deleteRule","isDeleting","event","payload","_defineProperty","onSuccess","handleCloneSuccess","handleDeleteSuccess","columnData","isEmpty","Spinner","_Fragment","SubHeader","leftActionBlock","count","rightActionBlock","isNotEmpty","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","Table","fixedHeight","allowClick","currentPageNumber","defaultPageSize","handlePageChange","loading","rowData","item","rowSelection","scroll","x","tableLayout","Alert","isOpen","isSubmitting","submitButtonLabel","message","values","onClose","onSubmit","NoData","helpText","primaryButtonProps","NeetoRules","_helpPopoverProps$hel","_cloneRule$allowed","_cloneRule$onSuccess","_deleteRule$onSuccess","_updateRule$onSuccess","_reorderRules$onSucce","automationRulesEndpoint","_ref$allowReordering","_ref$rulesTableProps","rulesTableProps","reorderRules","_ref$headerProps","isReorderPaneOpen","helpLinkProps","href","_useState3","_useState4","_useFetchAutomationRu","useFetchAutomationRules","pageSize","_useFetchAutomationRu2","data","_useFetchAutomationRu3","INITIAL_RULES_DATA","isFetching","isPresent","Container","allowed","callback","RulesReorder","onReorderSuccess"],"mappings":"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"}