@bigbinary/neeto-rules-frontend 2.5.56 → 2.5.58

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 (62) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/NeetoRulesForm.js +67 -162
  3. package/dist/NeetoRulesForm.js.map +1 -1
  4. package/dist/cjs/NeetoRulesForm.js +10 -105
  5. package/dist/cjs/NeetoRulesForm.js.map +1 -1
  6. package/dist/cjs/index.js +1 -0
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/v2/CannedResponsesPane.js +396 -0
  9. package/dist/cjs/v2/CannedResponsesPane.js.map +1 -0
  10. package/dist/cjs/v2/NeetoRules.js +486 -0
  11. package/dist/cjs/v2/NeetoRules.js.map +1 -0
  12. package/dist/cjs/v2/NeetoRulesForm.js +6740 -0
  13. package/dist/cjs/v2/NeetoRulesForm.js.map +1 -0
  14. package/dist/cjs/v2/RulePreview.js +513 -0
  15. package/dist/cjs/v2/RulePreview.js.map +1 -0
  16. package/dist/cjs/v2/RulesReorder.js +24 -0
  17. package/dist/cjs/v2/RulesReorder.js.map +1 -0
  18. package/dist/cjs/v2/constants.js +8 -0
  19. package/dist/cjs/v2/constants.js.map +1 -0
  20. package/dist/cjs/v2/hooks.js +15 -0
  21. package/dist/cjs/v2/hooks.js.map +1 -0
  22. package/dist/cjs/v2/index.js +86 -0
  23. package/dist/cjs/v2/index.js.map +1 -0
  24. package/dist/constants-CYdcft3h.js +53 -0
  25. package/dist/constants-CYdcft3h.js.map +1 -0
  26. package/dist/constants-dLBadaIU.js +60 -0
  27. package/dist/constants-dLBadaIU.js.map +1 -0
  28. package/dist/index-BBcadHIi.js +208 -0
  29. package/dist/index-BBcadHIi.js.map +1 -0
  30. package/dist/index-CSnQp41c.js +211 -0
  31. package/dist/index-CSnQp41c.js.map +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/useCustomDataStore-D7hl6nev.js +74 -0
  35. package/dist/useCustomDataStore-D7hl6nev.js.map +1 -0
  36. package/dist/useCustomDataStore-DipT25Pg.js +77 -0
  37. package/dist/useCustomDataStore-DipT25Pg.js.map +1 -0
  38. package/dist/useDebouncedUpdate-6Ibug5MF.js +108 -0
  39. package/dist/useDebouncedUpdate-6Ibug5MF.js.map +1 -0
  40. package/dist/useDebouncedUpdate-BcPAGgg7.js +103 -0
  41. package/dist/useDebouncedUpdate-BcPAGgg7.js.map +1 -0
  42. package/dist/useUtilityStore-BBb39TOj.js +53 -0
  43. package/dist/useUtilityStore-BBb39TOj.js.map +1 -0
  44. package/dist/useUtilityStore-DkxAexDw.js +55 -0
  45. package/dist/useUtilityStore-DkxAexDw.js.map +1 -0
  46. package/dist/v2/CannedResponsesPane.js +394 -0
  47. package/dist/v2/CannedResponsesPane.js.map +1 -0
  48. package/dist/v2/NeetoRules.js +484 -0
  49. package/dist/v2/NeetoRules.js.map +1 -0
  50. package/dist/v2/NeetoRulesForm.js +6719 -0
  51. package/dist/v2/NeetoRulesForm.js.map +1 -0
  52. package/dist/v2/RulePreview.js +511 -0
  53. package/dist/v2/RulePreview.js.map +1 -0
  54. package/dist/v2/RulesReorder.js +18 -0
  55. package/dist/v2/RulesReorder.js.map +1 -0
  56. package/dist/v2/constants.js +2 -0
  57. package/dist/v2/constants.js.map +1 -0
  58. package/dist/v2/hooks.js +8 -0
  59. package/dist/v2/hooks.js.map +1 -0
  60. package/dist/v2/index.js +74 -0
  61. package/dist/v2/index.js.map +1 -0
  62. package/package.json +28 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CannedResponsesPane.js","sources":["../../app/javascript/src/v2/components/CannedResponsesPane/constants.js","../../app/javascript/src/v2/components/CannedResponsesPane/Action.jsx","../../app/javascript/src/v2/components/CannedResponsesPane/utils.jsx","../../app/javascript/src/v2/components/CannedResponsesPane/Body.jsx","../../app/javascript/src/v2/components/CannedResponsesPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst CANNED_RESPONSE_INPUT_ACTION_NAMES = [\n \"assign_agent\",\n \"assign_group\",\n \"remove_tags\",\n \"add_tags\",\n \"change_priority\",\n \"change_status\",\n];\n\nexport const CANNED_RESPONSE_RICH_TEXT_ACTION_NAME = [\"add_note\", \"add_reply\"];\n\nexport const CANNED_RESPONSE_ACTION_LABELS = [\n ...CANNED_RESPONSE_INPUT_ACTION_NAMES,\n ...CANNED_RESPONSE_RICH_TEXT_ACTION_NAME,\n].reduce(\n (labelObject, actionName) => ({\n ...labelObject,\n [actionName]: `neetoRules.labels.${actionName}`,\n }),\n {}\n);\n\nexport const ACTION_OPTIONS = {\n addNote: \"add_note\",\n addCommentOrReply: \"add_reply\",\n addTags: \"add_tags\",\n removeTags: \"remove_tags\",\n changePriority: \"change_priority\",\n changeStatus: \"change_status\",\n assignAgent: \"assign_agent\",\n assignGroup: \"assign_group\",\n assignTicketFieldValue: \"assign_field_value\",\n};\n\nexport const ACTION_TYPES_MAP = {\n single_option: \"dropdown\",\n multi_option: \"multiSelect\",\n checkbox: \"dropdown\",\n integer: \"number\",\n};\n\nexport const DEFAULT_CHECKBOX_OPTIONS = [\n { label: t(\"neetoRules.labels.checked\"), value: true },\n { label: t(\"neetoRules.labels.unchecked\"), value: false },\n];\n","import { Input, Label } from \"@bigbinary/neeto-atoms\";\nimport { Editor } from \"neetoeditor\";\n\nconst Action = ({ id, label, setFieldValue, value, richText = false }) => {\n if (richText) {\n return (\n <div className=\"mb-4 space-y-2\" key={id}>\n <Label>{label}</Label>\n <Editor\n initialValue={value}\n onChange={newValue => setFieldValue(id, newValue)}\n />\n </div>\n );\n }\n\n return (\n <Input\n {...{ label }}\n disabled\n className=\"mb-4\"\n key={id}\n value={value.replace(/_/g, \" \")}\n />\n );\n};\n\nexport default Action;\n","import { t } from \"i18next\";\nimport { findBy } from \"neetocist\";\nimport { join } from \"ramda\";\n\nimport Action from \"./Action\";\nimport {\n ACTION_OPTIONS,\n ACTION_TYPES_MAP,\n CANNED_RESPONSE_ACTION_LABELS,\n CANNED_RESPONSE_RICH_TEXT_ACTION_NAME,\n DEFAULT_CHECKBOX_OPTIONS,\n} from \"./constants\";\n\nconst renderActionValue = ({ actionType, displayValue }) => {\n if (actionType === \"multiSelect\") {\n return join(\", \", displayValue);\n }\n\n return displayValue;\n};\n\nconst renderDefaultAction = ({\n id,\n name,\n displayValue,\n setFieldValue,\n trixBody,\n}) => {\n const label = t(CANNED_RESPONSE_ACTION_LABELS[name]);\n\n if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(name)) {\n return (\n <Action {...{ id, label, setFieldValue }} richText value={trixBody} />\n );\n }\n\n return <Action {...{ id, label }} value={displayValue} />;\n};\n\nconst renderCustomAction = ({\n id,\n actionableId,\n displayValue,\n actionOptions,\n setFieldValue,\n}) => {\n const actionName = `ticket_field_${actionableId}`;\n const actionOption = findBy({ value: actionName }, actionOptions);\n const label = actionOption?.label;\n const actionType = actionOption?.type;\n const actionValue = renderActionValue({ actionType, displayValue });\n const isRichText = actionType === \"rich-text\";\n\n return (\n <Action\n {...{ id, label, setFieldValue }}\n richText={isRichText}\n value={actionValue}\n />\n );\n};\n\nconst getActionDropdown = ({ status, teams, members, tags }) => ({\n change_status: status || [],\n assign_group: teams || [],\n assign_agent: members || [],\n add_tags: tags || [],\n remove_tags: tags || [],\n});\n\nconst getActionType = kind => ACTION_TYPES_MAP[kind] || kind;\n\nconst getDropdownOptions = (kind, optionsAttribute) => {\n if ([\"single_option\", \"multi_option\"].includes(kind)) {\n return optionsAttribute.map(({ id, label }) => ({\n label,\n value: id,\n }));\n } else if (kind === \"checkbox\") {\n return [...DEFAULT_CHECKBOX_OPTIONS];\n }\n\n return [];\n};\n\nexport const renderAction = ({\n name,\n id,\n actionableId,\n displayValue,\n actionOptions = [],\n setFieldValue,\n trixBody = \"\",\n}) => {\n const isCustomAction = name === ACTION_OPTIONS.assignTicketFieldValue;\n\n return isCustomAction\n ? renderCustomAction({\n id,\n actionableId,\n displayValue,\n actionOptions,\n setFieldValue,\n })\n : renderDefaultAction({ id, name, displayValue, setFieldValue, trixBody });\n};\n\nexport const buildActionOptions = ({\n dropdownOptions,\n actionNameOptions,\n variables,\n}) => {\n const actionDropdown = getActionDropdown(dropdownOptions);\n const options = actionNameOptions.map(option => {\n const dropdownOptions = actionDropdown[option.value];\n\n return dropdownOptions ? { ...option, dropdownOptions } : option;\n });\n\n const fields =\n (dropdownOptions.fields || []).filter(\n field => !field.kind.startsWith(\"system_\")\n ) || [];\n\n const fieldOptions = fields.map(\n ({ id, name, kind, data: attributeOptions }) => ({\n label: t(\"neetoRules.common.assign\", { what: name }),\n value: `ticket_field_${id}`,\n type: getActionType(kind),\n variables,\n defaultData: { actionable_id: id, actionable_type: \"Field\" },\n dropdownOptions: getDropdownOptions(kind, attributeOptions),\n })\n );\n\n return [...options, ...fieldOptions];\n};\n","import { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CANNED_RESPONSE_RICH_TEXT_ACTION_NAME } from \"./constants\";\nimport { buildActionOptions, renderAction } from \"./utils\";\n\nconst Body = ({\n actionNameOptions,\n cannedResponse,\n dropdownList,\n isLoading,\n setFieldValue,\n variables,\n}) => {\n const { t } = useTranslation();\n\n const actionOptions = buildActionOptions({\n dropdownOptions: dropdownList,\n actionNameOptions,\n variables,\n });\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n const sortedActions = cannedResponse.actions.sort((a, b) => {\n if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(a.name)) {\n return 1;\n } else if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(b.name)) {\n return -1;\n }\n\n return 0;\n });\n\n return (\n <div className=\"overflow-y-auto\">\n {not(cannedResponse)\n ? t(\"neetoRules.common.preview\")\n : sortedActions?.map(action =>\n renderAction({ ...action, actionOptions, setFieldValue })\n )}\n </div>\n );\n};\nexport default Body;\n","import { useRef, useState } from \"react\";\n\nimport { Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { Form, Formik } from \"formik\";\nimport { isPresent, toLabelAndValue } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { omit, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"./Body\";\n\nconst CannedResponsesPane = ({\n actionNameOptions,\n areDropdownListsLoading,\n dropdownList,\n isCannedResponsePaneOpen,\n isLoadingPreview,\n macros,\n onApply,\n onCancel,\n previewCannedResponses,\n previewParams,\n variables = [],\n}) => {\n const [cannedResponse, setCannedResponse] = useState(null);\n\n const initialFocusRef = useRef();\n\n const { t } = useTranslation();\n\n const options = macros?.map(({ name, id }) => ({ label: name, value: id }));\n\n const handleSelect = async ({ value }) => {\n await previewCannedResponses(\n { id: value, payload: previewParams },\n { onSuccess: response => setCannedResponse(values(response || {})[0]) }\n );\n };\n\n const handleSubmit = values => {\n onApply({\n cannedResponse,\n setCannedResponse,\n onSettled: onCancel,\n updatedValues: omit([\"cannedResponse\"], values),\n });\n };\n\n const handleCancel = () => {\n onCancel();\n setCannedResponse(null);\n };\n\n return (\n <Sheet\n {...{ initialFocusRef }}\n isOpen={isCannedResponsePaneOpen}\n onClose={handleCancel}\n >\n <Sheet.Header>\n <Sheet.Title>\n {t(\"neetoRules.cannedResponses.title\", PLURAL)}\n </Sheet.Title>\n </Sheet.Header>\n <Formik\n initialValues={{ cannedResponse: toLabelAndValue(null) }}\n onSubmit={handleSubmit}\n >\n {({ setFieldValue, isSubmitting }) => (\n <Form className=\"flex flex-1 flex-col\">\n <Sheet.Body>\n <div className=\"flex w-full grow flex-col space-y-4\">\n {areDropdownListsLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"flex flex-col gap-y-4\">\n <Select\n {...{ options }}\n isSearchable\n label={t(\"neetoRules.labels.selectCannedResponse\")}\n name=\"cannedResponse\"\n ref={initialFocusRef}\n onChange={value => {\n setFieldValue(\"cannedResponse\", value);\n handleSelect(value);\n }}\n />\n {isPresent(cannedResponse) && (\n <div className=\"flex flex-col\">\n <Body\n {...{\n actionNameOptions,\n cannedResponse,\n dropdownList,\n setFieldValue,\n variables,\n }}\n isLoading={isLoadingPreview}\n />\n </div>\n )}\n </div>\n )}\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isSubmitting || isLoadingPreview}\n submitButtonProps={{ label: t(\"neetoRules.common.apply\") }}\n />\n </Sheet.Footer>\n </Form>\n )}\n </Formik>\n </Sheet>\n );\n};\n\nexport default CannedResponsesPane;\n"],"names":["CANNED_RESPONSE_INPUT_ACTION_NAMES","CANNED_RESPONSE_RICH_TEXT_ACTION_NAME","CANNED_RESPONSE_ACTION_LABELS","concat","reduce","labelObject","actionName","_objectSpread","_defineProperty","ACTION_OPTIONS","addNote","assignTicketFieldValue","ACTION_TYPES_MAP","single_option","multi_option","checkbox","integer","DEFAULT_CHECKBOX_OPTIONS","label","t","value","Action","_ref","id","setFieldValue","_ref$richText","richText","_jsxs","className","children","_jsx","Label","Editor","initialValue","onChange","newValue","_createElement","Input","disabled","key","replace","renderActionValue","actionType","displayValue","join","renderDefaultAction","_ref2","name","trixBody","includes","renderCustomAction","_ref3","actionableId","actionOptions","actionOption","findBy","type","actionValue","isRichText","getActionDropdown","_ref4","status","teams","members","tags","change_status","assign_group","assign_agent","add_tags","remove_tags","getActionType","kind","getDropdownOptions","optionsAttribute","map","_ref5","_toConsumableArray","renderAction","_ref6","_ref6$actionOptions","_ref6$trixBody","isCustomAction","buildActionOptions","_ref7","dropdownOptions","actionNameOptions","variables","actionDropdown","options","option","fields","filter","field","startsWith","fieldOptions","_ref8","attributeOptions","data","what","defaultData","actionable_id","actionable_type","Body","cannedResponse","dropdownList","isLoading","_useTranslation","useTranslation","Spinner","sortedActions","actions","sort","a","b","not","action","CannedResponsesPane","areDropdownListsLoading","isCannedResponsePaneOpen","isLoadingPreview","macros","onApply","onCancel","previewCannedResponses","previewParams","_ref$variables","_useState","useState","_useState2","_slicedToArray","setCannedResponse","initialFocusRef","useRef","handleSelect","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","payload","onSuccess","response","values","stop","_x","apply","arguments","handleSubmit","onSettled","updatedValues","omit","handleCancel","Sheet","isOpen","onClose","Header","Title","PLURAL","Formik","initialValues","toLabelAndValue","onSubmit","isSubmitting","Form","Select","isSearchable","ref","isPresent","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
@@ -0,0 +1,484 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import { memo, useState } from 'react';
4
+ import { truncate, removeBy, isNotEmpty, isPresent } from '@bigbinary/neeto-cist';
5
+ import { DEFAULT_PAGE_SIZE } from '@bigbinary/neeto-commons-frontend/v2/constants';
6
+ import { withT, useQueryParams } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
7
+ import Container from '@bigbinary/neeto-molecules/v2/Container';
8
+ import { b as useUpdateAutomationRule, c as useCloneAutomationRule, d as useDeleteAutomationRule, u as useFetchAutomationRules } from '../useAutomationRulesApi-C9I3wUZ8.js';
9
+ import { I as INITIAL_RULES_DATA, R as RulesReorder } from '../index-BBcadHIi.js';
10
+ import { Button, Typography, Switch, Spinner, DataTable, Alert, Empty } from '@bigbinary/neeto-atoms';
11
+ import NeetoHeader from '@bigbinary/neeto-molecules/v2/Header';
12
+ import { c as createRoutes } from '../utils-CfCq6Ltz.js';
13
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
14
+ import { shallow } from 'zustand/shallow';
15
+ import FilterBar from '@bigbinary/neeto-filters-frontend/v2/Bar';
16
+ import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
17
+ import { isNotNil, isEmpty } from 'ramda';
18
+ import { Trans, useTranslation } from 'react-i18next';
19
+ import { u as useUtilityStore } from '../useUtilityStore-BBb39TOj.js';
20
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
21
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
22
+ import { t } from 'i18next';
23
+ import { buildUrl } from '@bigbinary/neeto-commons-frontend/v2/utils';
24
+ import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
25
+ import '@tanstack/react-query';
26
+ import '@bigbinary/neeto-commons-frontend/react-utils';
27
+ import 'axios';
28
+ import '../index-9h4B7JZZ.js';
29
+ import '@hello-pangea/dnd';
30
+ import '@bigbinary/neeto-icons/Drag';
31
+ import 'react-router-dom';
32
+ import '@bigbinary/neeto-commons-frontend/initializers';
33
+ import '@bigbinary/neeto-commons-frontend/utils';
34
+ import 'zustand';
35
+
36
+ function ownKeys$3(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; }
37
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
38
+ var Header$1 = withT(function (_ref) {
39
+ var breadcrumbs = _ref.breadcrumbs,
40
+ automationRulesPath = _ref.automationRulesPath,
41
+ _ref$helpPopoverProps = _ref.helpPopoverProps,
42
+ helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
43
+ hasUnfilteredRules = _ref.hasUnfilteredRules,
44
+ headerProps = _ref.headerProps,
45
+ t = _ref.t;
46
+ return /*#__PURE__*/jsx(NeetoHeader, _objectSpread$3({
47
+ breadcrumbs: breadcrumbs,
48
+ title: t("neetoRules.common.title"),
49
+ actionBlock: /*#__PURE__*/jsx(Button, {
50
+ className: "hover:neeto-ui-text-white hover:no-underline",
51
+ "data-testid": "settings-automation-new-rule-button",
52
+ iconPosition: "right",
53
+ label: t("neetoRules.button.addNew"),
54
+ to: createRoutes(automationRulesPath)["new"]
55
+ }),
56
+ searchProps: hasUnfilteredRules && {
57
+ placeholder: t("neetoRules.placeholders.searchRules")
58
+ },
59
+ titleHelpPopoverProps: _objectSpread$3({
60
+ description: t("neetoRules.helpText.description"),
61
+ title: t("neetoRules.common.title")
62
+ }, helpPopoverProps)
63
+ }, headerProps));
64
+ });
65
+ var Header = /*#__PURE__*/memo(Header$1);
66
+
67
+ var STATUS_KEYS = {
68
+ ENABLED: "enabled",
69
+ DISABLED: "disabled"
70
+ };
71
+ var DEFAULT_INIT_PAGE = 1;
72
+
73
+ var DisableMessage = withT(function (_ref) {
74
+ var t = _ref.t,
75
+ disabledReason = _ref.disabledReason;
76
+ return isNotNil(disabledReason) && /*#__PURE__*/jsx("div", {
77
+ children: /*#__PURE__*/jsx(Typography, {
78
+ asChild: true,
79
+ variant: "body2",
80
+ children: /*#__PURE__*/jsx("span", {
81
+ className: "text-red-600",
82
+ children: t(disabledReason)
83
+ })
84
+ })
85
+ });
86
+ });
87
+
88
+ var _excluded = ["onClick"],
89
+ _excluded2 = ["handleChangeStatus", "additionalColumns", "onPreview"];
90
+ function ownKeys$2(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; }
91
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
92
+ var buildActionDropdownMenuItems = function buildActionDropdownMenuItems(_ref) {
93
+ var rule = _ref.rule,
94
+ onClone = _ref.onClone,
95
+ onDelete = _ref.onDelete,
96
+ _ref$moreDropdownItem = _ref.moreDropdownItems,
97
+ moreDropdownItems = _ref$moreDropdownItem === void 0 ? [] : _ref$moreDropdownItem,
98
+ automationRulesPath = _ref.automationRulesPath,
99
+ allowCloning = _ref.allowCloning;
100
+ var defaultOptions = [].concat(_toConsumableArray(moreDropdownItems.map(function (_ref2) {
101
+ var _onClick = _ref2.onClick,
102
+ others = _objectWithoutProperties(_ref2, _excluded);
103
+ return _objectSpread$2(_objectSpread$2({}, others), {}, {
104
+ onClick: function onClick() {
105
+ return _onClick(rule);
106
+ }
107
+ });
108
+ })), [{
109
+ key: "edit",
110
+ className: "neeto-ui-btn",
111
+ "data-testid": "automation-rules-edit-link",
112
+ label: t("neetoRules.button.edit"),
113
+ to: buildUrl(createRoutes(automationRulesPath).edit, {
114
+ ruleId: rule.id
115
+ })
116
+ }, {
117
+ key: "clone",
118
+ "data-testid": "automation-rules-clone-link",
119
+ label: t("neetoRules.button.clone"),
120
+ onClick: function onClick() {
121
+ return onClone(rule.id);
122
+ }
123
+ }, {
124
+ key: "divider",
125
+ type: "divider"
126
+ }, {
127
+ key: "delete",
128
+ "data-testid": "automation-rules-delete-link",
129
+ label: t("neetoRules.button.delete"),
130
+ onClick: function onClick() {
131
+ return onDelete(rule);
132
+ }
133
+ }]);
134
+ if (!allowCloning) {
135
+ return removeBy({
136
+ key: "clone"
137
+ }, defaultOptions);
138
+ }
139
+ return defaultOptions;
140
+ };
141
+ var getColumnData = function getColumnData(_ref3) {
142
+ var handleChangeStatus = _ref3.handleChangeStatus,
143
+ _ref3$additionalColum = _ref3.additionalColumns,
144
+ additionalColumns = _ref3$additionalColum === void 0 ? [] : _ref3$additionalColum,
145
+ onPreview = _ref3.onPreview,
146
+ otherProps = _objectWithoutProperties(_ref3, _excluded2);
147
+ var _useUtilityStore = useUtilityStore(function (store) {
148
+ return {
149
+ setMoreActionDropdownItems: store["setMoreActionDropdownItems"]
150
+ };
151
+ }, shallow),
152
+ setMoreActionDropdownItems = _useUtilityStore.setMoreActionDropdownItems;
153
+ return [{
154
+ id: "name",
155
+ accessorKey: "name",
156
+ header: t("neetoRules.labels.name"),
157
+ size: 440,
158
+ cell: function cell(_ref4) {
159
+ var row = _ref4.row,
160
+ getValue = _ref4.getValue;
161
+ var rule = row.original;
162
+ var name = getValue();
163
+ return /*#__PURE__*/jsxs("div", {
164
+ children: [/*#__PURE__*/jsxs("div", {
165
+ className: "flex items-center justify-between gap-x-3",
166
+ children: [/*#__PURE__*/jsx(Button, {
167
+ className: "whitespace-pre-line wrap-break-word text-start",
168
+ variant: "link",
169
+ onClick: function onClick() {
170
+ setMoreActionDropdownItems(buildActionDropdownMenuItems(_objectSpread$2({
171
+ rule: rule
172
+ }, otherProps)));
173
+ onPreview(rule.id);
174
+ },
175
+ children: truncate(name, 100)
176
+ }), /*#__PURE__*/jsx(MoreDropdown, {
177
+ menuItems: buildActionDropdownMenuItems(_objectSpread$2({
178
+ rule: rule
179
+ }, otherProps))
180
+ })]
181
+ }), /*#__PURE__*/jsx(DisableMessage, {
182
+ disabledReason: rule.disabledReason
183
+ })]
184
+ });
185
+ }
186
+ }, {
187
+ id: "active",
188
+ header: t("neetoRules.labels.active"),
189
+ size: 140,
190
+ meta: {
191
+ align: "center"
192
+ },
193
+ cell: function cell(_ref5) {
194
+ var row = _ref5.row;
195
+ var rule = row.original;
196
+ return /*#__PURE__*/jsx("div", {
197
+ className: "flex justify-center",
198
+ children: /*#__PURE__*/jsx(Switch, {
199
+ checked: rule.status === STATUS_KEYS.ENABLED,
200
+ "data-testid": "automation-rules-state-switch-row",
201
+ disabled: !!rule.disabledReason,
202
+ onCheckedChange: function onCheckedChange(checked) {
203
+ handleChangeStatus(checked, rule.id);
204
+ }
205
+ })
206
+ });
207
+ }
208
+ }].concat(_toConsumableArray(additionalColumns));
209
+ };
210
+ var renderNoDataHelpText = function renderNoDataHelpText(helpDocUrl) {
211
+ return /*#__PURE__*/jsx(Trans, {
212
+ i18nKey: "neetoRules.noData.helpText",
213
+ components: {
214
+ a: /*#__PURE__*/jsx(Button, {
215
+ target: "_blank",
216
+ to: {
217
+ pathname: helpDocUrl
218
+ },
219
+ variant: "link"
220
+ })
221
+ }
222
+ });
223
+ };
224
+
225
+ function ownKeys$1(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; }
226
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
227
+ var RulesTable = function RulesTable(_ref) {
228
+ var url = _ref.url,
229
+ additionalColumns = _ref.additionalColumns,
230
+ allowReordering = _ref.allowReordering,
231
+ _ref$automationRulesP = _ref.automationRulesPath,
232
+ automationRulesPath = _ref$automationRulesP === void 0 ? "/" : _ref$automationRulesP,
233
+ onPreview = _ref.onPreview,
234
+ _ref$moreDropdownItem = _ref.moreDropdownItems,
235
+ moreDropdownItems = _ref$moreDropdownItem === void 0 ? [] : _ref$moreDropdownItem,
236
+ _ref$rules = _ref.rules,
237
+ rules = _ref$rules === void 0 ? [] : _ref$rules,
238
+ totalCount = _ref.totalCount,
239
+ helpDocUrl = _ref.helpDocUrl,
240
+ isLoading = _ref.isLoading,
241
+ onDeleteSuccess = _ref.onDeleteSuccess,
242
+ onCloneSuccess = _ref.onCloneSuccess,
243
+ onUpdateSuccess = _ref.onUpdateSuccess,
244
+ page = _ref.page,
245
+ setIsReorderPaneOpen = _ref.setIsReorderPaneOpen,
246
+ setPage = _ref.setPage,
247
+ _ref$allowCloning = _ref.allowCloning,
248
+ allowCloning = _ref$allowCloning === void 0 ? true : _ref$allowCloning,
249
+ _ref$hasUnfilteredRul = _ref.hasUnfilteredRules,
250
+ hasUnfilteredRules = _ref$hasUnfilteredRul === void 0 ? true : _ref$hasUnfilteredRul,
251
+ _ref$payloadKey = _ref.payloadKey,
252
+ payloadKey = _ref$payloadKey === void 0 ? "rule" : _ref$payloadKey;
253
+ var _useQueryParams = useQueryParams(),
254
+ _useQueryParams$searc = _useQueryParams.searchTerm,
255
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
256
+ var searchKeywordProps = {
257
+ key: "search_term",
258
+ node: "name",
259
+ value: searchTerm
260
+ };
261
+ var _useState = useState(null),
262
+ _useState2 = _slicedToArray(_useState, 2),
263
+ selectedRule = _useState2[0],
264
+ setSelectedRule = _useState2[1];
265
+ var _useUtilityStore = useUtilityStore(function (store) {
266
+ return {
267
+ hidePreviewPane: store["hidePreviewPane"]
268
+ };
269
+ }, shallow),
270
+ hidePreviewPane = _useUtilityStore.hidePreviewPane;
271
+ var _useTranslation = useTranslation(),
272
+ t = _useTranslation.t;
273
+ var _useUpdateAutomationR = useUpdateAutomationRule(url),
274
+ updateRule = _useUpdateAutomationR.mutate,
275
+ isUpdating = _useUpdateAutomationR.isPending;
276
+ var _useCloneAutomationRu = useCloneAutomationRule(url),
277
+ cloneRule = _useCloneAutomationRu.mutate,
278
+ isCloning = _useCloneAutomationRu.isPending;
279
+ var _useDeleteAutomationR = useDeleteAutomationRule(url),
280
+ deleteRule = _useDeleteAutomationR.mutate,
281
+ isDeleting = _useDeleteAutomationR.isPending;
282
+ var handleChangeStatus = function handleChangeStatus(checked, id) {
283
+ var status = checked ? STATUS_KEYS.ENABLED : STATUS_KEYS.DISABLED;
284
+ var payload = _defineProperty({}, payloadKey, {
285
+ status: status
286
+ });
287
+ updateRule({
288
+ id: id,
289
+ url: url,
290
+ payload: payload
291
+ }, {
292
+ onSuccess: function onSuccess() {
293
+ return onUpdateSuccess === null || onUpdateSuccess === void 0 ? void 0 : onUpdateSuccess();
294
+ }
295
+ });
296
+ };
297
+ var handleCloneSuccess = function handleCloneSuccess() {
298
+ onCloneSuccess === null || onCloneSuccess === void 0 || onCloneSuccess();
299
+ hidePreviewPane();
300
+ };
301
+ var handleDeleteSuccess = function handleDeleteSuccess() {
302
+ onDeleteSuccess === null || onDeleteSuccess === void 0 || onDeleteSuccess();
303
+ hidePreviewPane();
304
+ setSelectedRule(null);
305
+ };
306
+ var columnData = getColumnData({
307
+ handleChangeStatus: handleChangeStatus,
308
+ additionalColumns: additionalColumns,
309
+ onClone: function onClone(id) {
310
+ return cloneRule({
311
+ id: id,
312
+ url: url
313
+ }, {
314
+ onSuccess: handleCloneSuccess
315
+ });
316
+ },
317
+ onDelete: setSelectedRule,
318
+ onPreview: onPreview,
319
+ automationRulesPath: automationRulesPath,
320
+ moreDropdownItems: moreDropdownItems,
321
+ allowCloning: allowCloning
322
+ });
323
+ if (isLoading && isEmpty(rules)) {
324
+ return /*#__PURE__*/jsx("div", {
325
+ className: "flex h-full w-full items-center justify-center",
326
+ children: /*#__PURE__*/jsx(Spinner, {})
327
+ });
328
+ }
329
+ return /*#__PURE__*/jsxs(Fragment, {
330
+ children: [hasUnfilteredRules && /*#__PURE__*/jsx(SubHeader, {
331
+ leftActionBlock: /*#__PURE__*/jsxs(Fragment, {
332
+ children: [/*#__PURE__*/jsx(Typography, {
333
+ className: "me-4",
334
+ "data-testid": "automation-rules-count",
335
+ variant: "h6",
336
+ weight: "semibold",
337
+ children: t("neetoRules.common.automationRuleWithCount", {
338
+ count: totalCount
339
+ })
340
+ }), isNotEmpty(searchTerm) && /*#__PURE__*/jsx(FilterBar, {
341
+ className: "!mb-0",
342
+ keyword: searchKeywordProps
343
+ })]
344
+ }),
345
+ rightActionBlock: hasUnfilteredRules && allowReordering && /*#__PURE__*/jsx(Button, {
346
+ disabled: isNotEmpty(searchTerm),
347
+ label: t("neetoRules.common.reorder"),
348
+ variant: "outline",
349
+ onClick: function onClick() {
350
+ return setIsReorderPaneOpen(true);
351
+ }
352
+ })
353
+ }), isNotEmpty(rules) ? /*#__PURE__*/jsxs(Fragment, {
354
+ children: [/*#__PURE__*/jsx("div", {
355
+ className: "flex w-full flex-1 flex-col overflow-hidden",
356
+ children: /*#__PURE__*/jsx(DataTable, {
357
+ totalCount: totalCount,
358
+ columns: columnData,
359
+ currentPage: page,
360
+ data: rules,
361
+ loading: isUpdating || isCloning || isDeleting || isLoading,
362
+ pageSize: DEFAULT_PAGE_SIZE,
363
+ onPageChange: setPage
364
+ })
365
+ }), /*#__PURE__*/jsx(Alert, {
366
+ isOpen: !!selectedRule,
367
+ isSubmitting: isDeleting,
368
+ submitButtonLabel: t("neetoRules.button.delete"),
369
+ title: t("neetoRules.deleteAlert.title"),
370
+ message: /*#__PURE__*/jsx(Trans, {
371
+ i18nKey: "neetoRules.deleteAlert.message",
372
+ values: {
373
+ name: selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.name
374
+ }
375
+ }),
376
+ onClose: function onClose() {
377
+ return setSelectedRule(null);
378
+ },
379
+ onSubmit: function onSubmit() {
380
+ return deleteRule({
381
+ id: selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.id,
382
+ url: url
383
+ }, {
384
+ onSuccess: handleDeleteSuccess
385
+ });
386
+ }
387
+ })]
388
+ }) : /*#__PURE__*/jsx("div", {
389
+ className: "flex h-full w-full items-center justify-center",
390
+ children: /*#__PURE__*/jsx(Empty, _objectSpread$1({
391
+ title: t("neetoRules.noData.title")
392
+ }, isEmpty(searchTerm) && {
393
+ description: helpDocUrl ? renderNoDataHelpText(helpDocUrl) : null,
394
+ primaryButtonProps: {
395
+ label: t("neetoRules.button.addNew"),
396
+ to: createRoutes(automationRulesPath)["new"]
397
+ }
398
+ }))
399
+ })]
400
+ });
401
+ };
402
+
403
+ 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; }
404
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(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; }
405
+ var NeetoRules = function NeetoRules(_ref) {
406
+ var _helpPopoverProps$hel, _cloneRule$allowed, _cloneRule$onSuccess, _deleteRule$onSuccess, _updateRule$onSuccess, _reorderRules$onSucce;
407
+ var breadcrumbs = _ref.breadcrumbs,
408
+ automationRulesPath = _ref.automationRulesPath,
409
+ url = _ref.automationRulesEndpoint,
410
+ _ref$allowReordering = _ref.allowReordering,
411
+ allowReordering = _ref$allowReordering === void 0 ? false : _ref$allowReordering,
412
+ _ref$rulesTableProps = _ref.rulesTableProps,
413
+ rulesTableProps = _ref$rulesTableProps === void 0 ? {} : _ref$rulesTableProps,
414
+ _ref$helpPopoverProps = _ref.helpPopoverProps,
415
+ helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
416
+ deleteRule = _ref.deleteRule,
417
+ cloneRule = _ref.cloneRule,
418
+ updateRule = _ref.updateRule,
419
+ reorderRules = _ref.reorderRules,
420
+ _ref$headerProps = _ref.headerProps,
421
+ headerProps = _ref$headerProps === void 0 ? {} : _ref$headerProps;
422
+ var _useState = useState(false),
423
+ _useState2 = _slicedToArray(_useState, 2),
424
+ isReorderPaneOpen = _useState2[0],
425
+ setIsReorderPaneOpen = _useState2[1];
426
+ var helpDocUrl = helpPopoverProps === null || helpPopoverProps === void 0 || (_helpPopoverProps$hel = helpPopoverProps.helpLinkProps) === null || _helpPopoverProps$hel === void 0 ? void 0 : _helpPopoverProps$hel.href;
427
+ var _useState3 = useState(DEFAULT_INIT_PAGE),
428
+ _useState4 = _slicedToArray(_useState3, 2),
429
+ page = _useState4[0],
430
+ setPage = _useState4[1];
431
+ var _useQueryParams = useQueryParams(),
432
+ _useQueryParams$searc = _useQueryParams.searchTerm,
433
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
434
+ var _useFetchAutomationRu = useFetchAutomationRules({
435
+ url: url,
436
+ page: page,
437
+ pageSize: DEFAULT_PAGE_SIZE,
438
+ searchTerm: searchTerm
439
+ }),
440
+ _useFetchAutomationRu2 = _useFetchAutomationRu.data,
441
+ _useFetchAutomationRu3 = _useFetchAutomationRu2 === void 0 ? INITIAL_RULES_DATA : _useFetchAutomationRu2,
442
+ rules = _useFetchAutomationRu3.rules,
443
+ totalCount = _useFetchAutomationRu3.totalCount,
444
+ isLoading = _useFetchAutomationRu.isLoading,
445
+ isFetching = _useFetchAutomationRu.isFetching;
446
+ var hasUnfilteredRules = isPresent(searchTerm) || totalCount > 0;
447
+ return /*#__PURE__*/jsxs(Container, {
448
+ children: [/*#__PURE__*/jsx(Header, {
449
+ automationRulesPath: automationRulesPath,
450
+ breadcrumbs: breadcrumbs,
451
+ hasUnfilteredRules: hasUnfilteredRules,
452
+ headerProps: headerProps,
453
+ helpPopoverProps: helpPopoverProps
454
+ }), /*#__PURE__*/jsx(RulesTable, _objectSpread(_objectSpread({}, _objectSpread({
455
+ allowReordering: allowReordering,
456
+ automationRulesPath: automationRulesPath,
457
+ hasUnfilteredRules: hasUnfilteredRules,
458
+ helpDocUrl: helpDocUrl,
459
+ page: page,
460
+ rules: rules,
461
+ setIsReorderPaneOpen: setIsReorderPaneOpen,
462
+ setPage: setPage,
463
+ totalCount: totalCount,
464
+ url: url
465
+ }, rulesTableProps)), {}, {
466
+ allowCloning: (_cloneRule$allowed = cloneRule === null || cloneRule === void 0 ? void 0 : cloneRule.allowed) !== null && _cloneRule$allowed !== void 0 ? _cloneRule$allowed : true,
467
+ isLoading: isLoading || isFetching,
468
+ onCloneSuccess: cloneRule === null || cloneRule === void 0 || (_cloneRule$onSuccess = cloneRule.onSuccess) === null || _cloneRule$onSuccess === void 0 ? void 0 : _cloneRule$onSuccess.callback,
469
+ onDeleteSuccess: deleteRule === null || deleteRule === void 0 || (_deleteRule$onSuccess = deleteRule.onSuccess) === null || _deleteRule$onSuccess === void 0 ? void 0 : _deleteRule$onSuccess.callback,
470
+ onUpdateSuccess: updateRule === null || updateRule === void 0 || (_updateRule$onSuccess = updateRule.onSuccess) === null || _updateRule$onSuccess === void 0 ? void 0 : _updateRule$onSuccess.callback
471
+ })), allowReordering && !isLoading && /*#__PURE__*/jsx(RulesReorder, {
472
+ totalCount: totalCount,
473
+ url: url,
474
+ isOpen: isReorderPaneOpen,
475
+ onClose: function onClose() {
476
+ return setIsReorderPaneOpen(false);
477
+ },
478
+ onReorderSuccess: reorderRules === null || reorderRules === void 0 || (_reorderRules$onSucce = reorderRules.onSuccess) === null || _reorderRules$onSucce === void 0 ? void 0 : _reorderRules$onSucce.callback
479
+ })]
480
+ });
481
+ };
482
+
483
+ export { NeetoRules as default };
484
+ //# sourceMappingURL=NeetoRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NeetoRules.js","sources":["../../app/javascript/src/v2/components/NeetoRules/Header.jsx","../../app/javascript/src/v2/components/NeetoRules/RulesTable/constants.js","../../app/javascript/src/v2/components/NeetoRules/RulesTable/DisableMessage.jsx","../../app/javascript/src/v2/components/NeetoRules/RulesTable/utils.jsx","../../app/javascript/src/v2/components/NeetoRules/RulesTable/index.jsx","../../app/javascript/src/v2/components/NeetoRules/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\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-testid=\"settings-automation-new-rule-button\"\n iconPosition=\"right\"\n label={t(\"neetoRules.button.addNew\")}\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { isNotNil } from \"ramda\";\n\nconst DisableMessage = withT(\n ({ t, disabledReason }) =>\n isNotNil(disabledReason) && (\n <div>\n <Typography asChild variant=\"body2\">\n <span className=\"text-red-600\">{t(disabledReason)}</span>\n </Typography>\n </div>\n )\n);\n\nexport default DisableMessage;\n","import { Button, Switch } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { removeBy, truncate } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { Trans } from \"react-i18next\";\n\nimport { createRoutes } from \"utils\";\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\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-testid\": \"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-testid\": \"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-testid\": \"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 id: \"name\",\n accessorKey: \"name\",\n header: t(\"neetoRules.labels.name\"),\n size: 440,\n cell: ({ row, getValue }) => {\n const rule = row.original;\n const name = getValue();\n\n return (\n <div>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n className=\"whitespace-pre-line wrap-break-word text-start\"\n variant=\"link\"\n onClick={() => {\n setMoreActionDropdownItems(\n buildActionDropdownMenuItems({ rule, ...otherProps })\n );\n onPreview(rule.id);\n }}\n >\n {truncate(name, 100)}\n </Button>\n <MoreDropdown\n menuItems={buildActionDropdownMenuItems({\n rule,\n ...otherProps,\n })}\n />\n </div>\n <DisableMessage disabledReason={rule.disabledReason} />\n </div>\n );\n },\n },\n {\n id: \"active\",\n header: t(\"neetoRules.labels.active\"),\n size: 140,\n meta: { align: \"center\" },\n cell: ({ row }) => {\n const rule = row.original;\n\n return (\n <div className=\"flex justify-center\">\n <Switch\n checked={rule.status === STATUS_KEYS.ENABLED}\n data-testid=\"automation-rules-state-switch-row\"\n disabled={!!rule.disabledReason}\n onCheckedChange={checked => {\n handleChangeStatus(checked, rule.id);\n }}\n />\n </div>\n );\n },\n },\n ...additionalColumns,\n ];\n};\n\nexport const renderNoDataHelpText = helpDocUrl => (\n <Trans\n i18nKey=\"neetoRules.noData.helpText\"\n components={{\n a: (\n <Button target=\"_blank\" to={{ pathname: helpDocUrl }} variant=\"link\" />\n ),\n }}\n />\n);\n","import { useState } from \"react\";\n\nimport {\n Alert,\n Button,\n DataTable,\n Empty,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { Bar as FilterBar } from \"neetofilters/v2\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useCloneAutomationRule,\n useDeleteAutomationRule,\n useUpdateAutomationRule,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\nimport { createRoutes } from \"utils\";\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\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 searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\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 = (checked, id) => {\n const status = checked ? STATUS_KEYS.ENABLED : 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 <>\n <Typography\n className=\"me-4\"\n data-testid=\"automation-rules-count\"\n variant=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoRules.common.automationRuleWithCount\", {\n count: totalCount,\n })}\n </Typography>\n {isNotEmpty(searchTerm) && (\n <FilterBar className=\"!mb-0\" keyword={searchKeywordProps} />\n )}\n </>\n }\n rightActionBlock={\n hasUnfilteredRules &&\n allowReordering && (\n <Button\n disabled={isNotEmpty(searchTerm)}\n label={t(\"neetoRules.common.reorder\")}\n variant=\"outline\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n )\n }\n />\n )}\n {isNotEmpty(rules) ? (\n <>\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n <DataTable\n {...{ totalCount }}\n columns={columnData}\n currentPage={page}\n data={rules}\n loading={isUpdating || isCloning || isDeleting || isLoading}\n pageSize={DEFAULT_PAGE_SIZE}\n onPageChange={setPage}\n />\n </div>\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 <Empty\n title={t(\"neetoRules.noData.title\")}\n {...(isEmpty(searchTerm) && {\n description: 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/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport Container from \"neetomolecules/v2/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","to","createRoutes","searchProps","placeholder","titleHelpPopoverProps","description","memo","STATUS_KEYS","ENABLED","DISABLED","DEFAULT_INIT_PAGE","DisableMessage","disabledReason","isNotNil","children","Typography","asChild","variant","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","accessorKey","header","size","cell","_ref4","row","getValue","original","name","_jsxs","truncate","MoreDropdown","menuItems","meta","align","_ref5","Switch","checked","status","disabled","onCheckedChange","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","searchKeywordProps","node","value","_useState","useState","_useState2","_slicedToArray","selectedRule","setSelectedRule","hidePreviewPane","_useTranslation","useTranslation","_useUpdateAutomationR","useUpdateAutomationRule","updateRule","mutate","isUpdating","isPending","_useCloneAutomationRu","useCloneAutomationRule","cloneRule","isCloning","_useDeleteAutomationR","useDeleteAutomationRule","deleteRule","isDeleting","payload","_defineProperty","onSuccess","handleCloneSuccess","handleDeleteSuccess","columnData","isEmpty","Spinner","_Fragment","SubHeader","leftActionBlock","weight","count","isNotEmpty","FilterBar","keyword","rightActionBlock","DataTable","columns","currentPage","data","loading","pageSize","DEFAULT_PAGE_SIZE","onPageChange","Alert","isOpen","isSubmitting","submitButtonLabel","message","values","onClose","onSubmit","Empty","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","_useFetchAutomationRu2","_useFetchAutomationRu3","INITIAL_RULES_DATA","isFetching","isPresent","Container","allowed","callback","RulesReorder","onReorderSuccess"],"mappings":"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"}