@bigbinary/neeto-rules-frontend 2.5.44 → 2.5.46

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.
@@ -10,6 +10,7 @@ var reactI18next = require('react-i18next');
10
10
  var useUtilityStore = require('../useUtilityStore-_59l0Cmi.js');
11
11
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
12
12
  var react = require('react');
13
+ var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
13
14
  var Down = require('@bigbinary/neeto-icons/Down');
14
15
  var Up = require('@bigbinary/neeto-icons/Up');
15
16
  var Button = require('@bigbinary/neetoui/Button');
@@ -223,15 +224,22 @@ var ActionsDetail = function ActionsDetail(_ref) {
223
224
  return /*#__PURE__*/jsxRuntime.jsxs(Title, {
224
225
  title: t("neetoRules.common.then"),
225
226
  children: [allActions.map(function (action, index) {
227
+ var _action$metadata, _action$metadata2;
226
228
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
227
- className: "mb-2 flex flex-wrap gap-x-1 gap-y-2",
228
- "data-cy": "then-action-events",
229
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
230
- className: "neeto-ui-text-gray-700",
231
- style: "h5",
232
- weight: "normal",
233
- children: getLabel(index)
234
- }), renderAction(action)]
229
+ className: "mb-2",
230
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
231
+ className: "mb-2 flex flex-wrap gap-x-1 gap-y-2",
232
+ "data-testid": "then-action-events",
233
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
234
+ className: "neeto-ui-text-gray-700",
235
+ style: "h5",
236
+ weight: "normal",
237
+ children: getLabel(index)
238
+ }), renderAction(action)]
239
+ }), (action === null || action === void 0 || (_action$metadata = action.metadata) === null || _action$metadata === void 0 ? void 0 : _action$metadata.messageToShow) && /*#__PURE__*/jsxRuntime.jsx(EditorContent, {
240
+ className: "neeto-ui-bg-white neeto-ui-p-3 neeto-ui-rounded",
241
+ content: (_action$metadata2 = action.metadata) === null || _action$metadata2 === void 0 ? void 0 : _action$metadata2.messageToShow
242
+ })]
235
243
  }, action.name);
236
244
  }), actionsList.length > 4 && /*#__PURE__*/jsxRuntime.jsx("div", {
237
245
  className: "mt-3 w-full",
@@ -410,7 +418,7 @@ var EventsDetail = function EventsDetail(_ref) {
410
418
  title: t("neetoRules.common.when"),
411
419
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
412
420
  className: "flex flex-wrap gap-x-2 gap-y-2",
413
- "data-cy": "when-condition-events",
421
+ "data-testid": "when-condition-events",
414
422
  children: [allEvents.map(function (event, index) {
415
423
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
416
424
  className: "flex gap-x-2",
@@ -1 +1 @@
1
- {"version":3,"file":"RulePreview.js","sources":["../../app/javascript/src/components/RulePreview/Card.jsx","../../app/javascript/src/components/RulePreview/constants.js","../../app/javascript/src/components/RulePreview/MultiSelectValues.jsx","../../app/javascript/src/components/RulePreview/utils.js","../../app/javascript/src/components/RulePreview/ActionsDetail.jsx","../../app/javascript/src/components/RulePreview/ConditionsDetail.jsx","../../app/javascript/src/components/RulePreview/EventsDetail.jsx","../../app/javascript/src/components/RulePreview/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\n\nconst Title = ({ title, children }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {title}\n </Typography>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-sm my-3 p-4\">\n {children}\n </div>\n </>\n);\n\nexport default Title;\n","export const PREVIEW_CONDITION_LIMIT = 3;\n\nexport const ACTION_TYPE = {\n TEXT: \"text\",\n NUMBER: \"number\",\n DECIMAL: \"decimal\",\n REGEX: \"regex\",\n DATE: \"date\",\n EMAIL: \"email\",\n EMAIL_TO: \"emailTo\",\n EMAIL_TO_IDS: \"emailToIds\",\n SMS_TO_NUMBERS: \"smsToNumbers\",\n DROPDOWN: \"dropdown\",\n SELECT: \"select\",\n MULTISELECT: \"multiSelect\",\n MULTISELECT_CHECKBOX: \"multiSelectCheckbox\",\n RADIO: \"radio\",\n SEND_TO_API: \"sendToApi\",\n};\n\nexport const TEXT_FIELDS = [\n ACTION_TYPE.TEXT,\n ACTION_TYPE.NUMBER,\n ACTION_TYPE.DECIMAL,\n ACTION_TYPE.REGEX,\n ACTION_TYPE.DATE,\n];\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst MultiSelectValues = ({ separator, values }) => (\n <>\n {values?.map((value, idx) => (\n <Fragment key={idx}>\n {!!idx && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {value.toLowerCase()}\n </Typography>\n </Fragment>\n ))}\n </>\n);\n\nexport default MultiSelectValues;\n","import { findBy } from \"neetocist\";\n\nimport { ACTION_TYPE, TEXT_FIELDS } from \"./constants\";\n\nexport const getEntityDisplayValue = (entitiy, entitiyOption) =>\n findBy(\n { value: entitiy.metadata.value },\n entitiyOption.dropdownOptions\n )?.label?.toLowerCase();\n\nexport const getActionDisplayValue = (action, actionOption) => {\n const displayValueData = { displayValue: null, isBulk: false };\n\n if (TEXT_FIELDS.includes(actionOption.type)) {\n displayValueData.displayValue = action.metadata.value?.toLowerCase();\n\n return displayValueData;\n }\n switch (actionOption.type) {\n case ACTION_TYPE.DROPDOWN: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SELECT: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n\n case ACTION_TYPE.RADIO: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO_IDS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.emails;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO: {\n displayValueData.displayValue = action.displayValue;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SMS_TO_NUMBERS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.phoneNumbers;\n\n return displayValueData;\n }\n case ACTION_TYPE.SEND_TO_API: {\n displayValueData.displayValue = action.metadata.endpoint;\n\n return displayValueData;\n }\n default:\n return null;\n }\n};\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getSeparator } from \"utils\";\n\nimport Card from \"./Card\";\nimport { ACTION_TYPE } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getActionDisplayValue } from \"./utils\";\n\nconst ActionsDetail = ({ actions }) => {\n const [viewMore, setViewMore] = useState(false);\n const { t } = useTranslation();\n\n const actionsList = actions.value || [];\n const allActions =\n viewMore && actionsList.length > 4 ? actionsList : actionsList.slice(0, 4);\n\n const getLabel = index =>\n index\n ? t(\"neetoRules.common.and\", {\n what: t(\"neetoRules.common.then\"),\n })\n : t(\"neetoRules.common.then\");\n\n const renderActionValues = (action, actionOption) => {\n const { displayValue, isBulk } =\n getActionDisplayValue(action, actionOption) ?? {};\n\n if (\n actionOption.type === ACTION_TYPE.MULTISELECT ||\n actionOption.type === ACTION_TYPE.MULTISELECT_CHECKBOX\n ) {\n const values = pluck(\n \"label\",\n actionOption.dropdownOptions.filter(({ value }) =>\n action.metadata.value.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.and\", { what: \"\" })}\n />\n );\n }\n\n if (!displayValue) return null;\n\n if (!isBulk) {\n const defaultSeparator =\n actionOption.type === ACTION_TYPE.SEND_TO_API\n ? t(\"neetoRules.common.at\")\n : t(\"neetoRules.common.to\");\n\n const separator = getSeparator({\n defaultSeparator,\n selectedField: actionOption,\n });\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {displayValue?.toLowerCase()}\n </Typography>\n </>\n );\n }\n\n return displayValue.map((value, index) => (\n <div className=\"me-1 flex\" key={index}>\n <Typography key={index} style=\"h5\" weight=\"semibold\">\n {value}\n </Typography>\n {index !== displayValue.length - 1 && \", \"}\n </div>\n ));\n };\n\n const renderAction = action => {\n const actionOption = findBy({ value: action.name }, actions.actionOptions);\n if (!actionOption) return null;\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {actionOption?.label.toLowerCase()}\n </Typography>\n {renderActionValues(action, actionOption)}\n </>\n );\n };\n\n return (\n <Card title={t(\"neetoRules.common.then\")}>\n {allActions.map((action, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-1 gap-y-2\"\n data-cy=\"then-action-events\"\n key={action.name}\n >\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {getLabel(index)}\n </Typography>\n {renderAction(action)}\n </div>\n ))}\n {actionsList.length > 4 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </Card>\n );\n};\n\nexport default ActionsDetail;\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERB_LABELS } from \"components/NeetoRulesForm/Element/Conditions/constants\";\nimport { getDateTimeFormattedValue } from \"utils\";\n\nimport { PREVIEW_CONDITION_LIMIT } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getEntityDisplayValue } from \"./utils\";\n\nconst SemiboldText = ({ children }) => (\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {children}\n </Typography>\n);\n\nconst NormalText = ({ children }) => (\n <Typography className=\"neeto-ui-text-gray-700\" style=\"h5\" weight=\"normal\">\n {children}\n </Typography>\n);\n\nconst ConditionsDetail = ({\n conditions,\n conditionOptions,\n conditionVerbs = {},\n hasEvent = true,\n}) => {\n const [viewMore, setViewMore] = useState(false);\n\n const { t } = useTranslation();\n\n const conditionsList = conditions.value;\n const allConditions =\n viewMore && conditionsList.length > PREVIEW_CONDITION_LIMIT\n ? conditionsList\n : conditionsList.slice(0, PREVIEW_CONDITION_LIMIT);\n\n const allConditionVerbs = { ...VERB_LABELS, ...conditionVerbs };\n\n const getLogicalOperator = joinType =>\n joinType === \"or_operator\" ? \"or\" : \"and\";\n\n const renderConditionValues = (condition, conditionOption) => {\n if ([\"decimal\", \"email\", \"number\", \"text\"].includes(conditionOption.type)) {\n return (\n <SemiboldText>{condition.metadata.value?.toLowerCase()}</SemiboldText>\n );\n }\n\n if (conditionOption.type === \"date\" || conditionOption.type === \"time\") {\n const { value: date, type, format, timezone } = condition.metadata;\n\n return (\n <SemiboldText>\n {getDateTimeFormattedValue({ date, format, type, timezone })}\n </SemiboldText>\n );\n }\n\n if (conditionOption.type === \"textarea\") {\n return (\n <Tooltip content={condition.metadata.value?.toLowerCase()}>\n <SemiboldText>{t(\"neetoRules.labels.text\")}</SemiboldText>\n </Tooltip>\n );\n }\n\n if (\n conditionOption.type === \"multi-select\" ||\n conditionOption.type === \"multi-select-checkbox\"\n ) {\n const values = pluck(\n \"label\",\n conditionOption.dropdownOptions.filter(({ value }) =>\n condition.metadata.values.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.or\")}\n />\n );\n }\n\n if ([\"multi-select-create\"].includes(conditionOption.type)) {\n return (\n <MultiSelectValues\n separator={t(\"neetoRules.common.or\")}\n values={condition.metadata.values}\n />\n );\n }\n\n if (\n conditionOption.type === \"select\" ||\n conditionOption.type === \"radio\" ||\n conditionOption.type === \"dropdown\"\n ) {\n return (\n <SemiboldText>\n {getEntityDisplayValue(condition, conditionOption)}\n </SemiboldText>\n );\n }\n\n return null;\n };\n\n const renderCondition = condition => {\n const conditionOption = findBy(\n { value: condition.field },\n conditionOptions\n );\n if (!conditionOption) return null;\n\n const conditionVerb = allConditionVerbs[condition.verb]?.toLowerCase();\n\n return (\n <>\n <SemiboldText>{conditionOption?.label.toLowerCase()}</SemiboldText>\n <SemiboldText>{conditionVerb}</SemiboldText>\n {renderConditionValues(condition, conditionOption)}\n </>\n );\n };\n\n return (\n <>\n <div className=\"mt-2\">\n {allConditions.map((condition, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-2 gap-y-2\"\n key={condition.id}\n >\n {!index && hasEvent && (\n <NormalText>\n {t(\"neetoRules.common.and\", { what: \"\" })}\n </NormalText>\n )}\n {!!index && (\n <SemiboldText>\n {getLogicalOperator(condition.joinType)}\n </SemiboldText>\n )}\n <NormalText>{t(\"neetoRules.common.when\")}</NormalText>\n {renderCondition(condition)}\n </div>\n ))}\n </div>\n {conditionsList.length > 3 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default ConditionsDetail;\n","import { findBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\n\nconst EventsDetail = ({ events, performer, conditions }) => {\n const { t } = useTranslation();\n\n const eventNames = pluck(\"name\", events.value || []);\n const allEvents = events.eventOptions.filter(event =>\n eventNames?.includes(event.value)\n );\n\n const currentPerformer = findBy(\n { value: performer.value },\n performer.options\n );\n\n return (\n <Card title={t(\"neetoRules.common.when\")}>\n <div\n className=\"flex flex-wrap gap-x-2 gap-y-2\"\n data-cy=\"when-condition-events\"\n >\n {allEvents.map((event, index) => (\n <div className=\"flex gap-x-2\" key={index}>\n {!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.or\")}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {event.label.toLowerCase()}\n </Typography>\n </div>\n ))}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.by\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {currentPerformer?.label?.toLowerCase()}\n </Typography>\n </div>\n <ConditionsDetail\n {...{ conditions }}\n conditionOptions={conditions.conditionOptions}\n conditionVerbs={conditions.verbs}\n />\n </Card>\n );\n};\n\nexport default EventsDetail;\n","import { isNotEmpty } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ActionsDetail from \"./ActionsDetail\";\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\nimport EventsDetail from \"./EventsDetail\";\n\nconst RulePreview = ({ isLoading, ruleDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const { moreActionDropdownItems, showPreviewPane } = useUtilityStore.pick();\n\n return (\n <Pane {...{ onClose }} isOpen={isOpen && showPreviewPane}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"line-clamp-2\" style=\"h4\" weight=\"semibold\">\n {ruleDetails.name.value}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={moreActionDropdownItems}\n />\n </div>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full\">\n {ruleDetails.entity && (\n <div className=\"mb-6\">\n <div className=\"flex space-x-8\">\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {ruleDetails.entity.label}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-2\"\n style=\"h5\"\n weight=\"normal\"\n >\n {ruleDetails.entity.value}\n </Typography>\n </div>\n </div>\n )}\n {ruleDetails.events && isNotEmpty(ruleDetails.events) ? (\n <EventsDetail\n conditions={ruleDetails.conditions}\n events={ruleDetails.events}\n performer={ruleDetails.performer}\n />\n ) : (\n <Card title={t(\"neetoRules.common.when\")}>\n <ConditionsDetail\n conditionOptions={ruleDetails.conditions.conditionOptions}\n conditionVerbs={ruleDetails.conditions.verbs}\n conditions={ruleDetails.conditions}\n hasEvent={false}\n />\n </Card>\n )}\n <ActionsDetail actions={ruleDetails.actions} />\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n );\n};\n\nexport default RulePreview;\n"],"names":["Title","_ref","title","children","_jsxs","_Fragment","_jsx","Typography","className","style","weight","PREVIEW_CONDITION_LIMIT","ACTION_TYPE","TEXT","NUMBER","DECIMAL","REGEX","DATE","EMAIL","EMAIL_TO","EMAIL_TO_IDS","SMS_TO_NUMBERS","DROPDOWN","SELECT","MULTISELECT","MULTISELECT_CHECKBOX","RADIO","SEND_TO_API","TEXT_FIELDS","MultiSelectValues","separator","values","map","value","idx","Fragment","toLowerCase","getEntityDisplayValue","entitiy","entitiyOption","_findBy","findBy","metadata","dropdownOptions","label","getActionDisplayValue","action","actionOption","displayValueData","displayValue","isBulk","includes","type","_action$metadata$valu","emails","phoneNumbers","endpoint","ActionsDetail","actions","_useState","useState","_useState2","_slicedToArray","viewMore","setViewMore","_useTranslation","useTranslation","t","actionsList","allActions","length","slice","getLabel","index","what","renderActionValues","_getActionDisplayValu","_ref2","pluck","filter","_ref3","defaultSeparator","getSeparator","selectedField","renderAction","name","actionOptions","Card","Button","icon","Down","Up","size","onClick","prevState","SemiboldText","NormalText","ConditionsDetail","conditions","conditionOptions","_ref3$conditionVerbs","conditionVerbs","_ref3$hasEvent","hasEvent","conditionsList","allConditions","allConditionVerbs","_objectSpread","VERB_LABELS","getLogicalOperator","joinType","renderConditionValues","condition","conditionOption","_condition$metadata$v","_condition$metadata","date","format","timezone","getDateTimeFormattedValue","_condition$metadata$v2","Tooltip","content","_ref4","renderCondition","_allConditionVerbs$co","field","conditionVerb","verb","id","EventsDetail","_currentPerformer$lab","events","performer","eventNames","allEvents","eventOptions","event","currentPerformer","options","verbs","RulePreview","isLoading","ruleDetails","isOpen","onClose","_useUtilityStore","useUtilityStore","store","moreActionDropdownItems","showPreviewPane","shallow","Pane","Spinner","Header","MoreDropdown","dropdownProps","strategy","menuItems","Body","entity","isNotEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"RulePreview.js","sources":["../../app/javascript/src/components/RulePreview/Card.jsx","../../app/javascript/src/components/RulePreview/constants.js","../../app/javascript/src/components/RulePreview/MultiSelectValues.jsx","../../app/javascript/src/components/RulePreview/utils.js","../../app/javascript/src/components/RulePreview/ActionsDetail.jsx","../../app/javascript/src/components/RulePreview/ConditionsDetail.jsx","../../app/javascript/src/components/RulePreview/EventsDetail.jsx","../../app/javascript/src/components/RulePreview/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\n\nconst Title = ({ title, children }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {title}\n </Typography>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-sm my-3 p-4\">\n {children}\n </div>\n </>\n);\n\nexport default Title;\n","export const PREVIEW_CONDITION_LIMIT = 3;\n\nexport const ACTION_TYPE = {\n TEXT: \"text\",\n NUMBER: \"number\",\n DECIMAL: \"decimal\",\n REGEX: \"regex\",\n DATE: \"date\",\n EMAIL: \"email\",\n EMAIL_TO: \"emailTo\",\n EMAIL_TO_IDS: \"emailToIds\",\n SMS_TO_NUMBERS: \"smsToNumbers\",\n DROPDOWN: \"dropdown\",\n SELECT: \"select\",\n MULTISELECT: \"multiSelect\",\n MULTISELECT_CHECKBOX: \"multiSelectCheckbox\",\n RADIO: \"radio\",\n SEND_TO_API: \"sendToApi\",\n};\n\nexport const TEXT_FIELDS = [\n ACTION_TYPE.TEXT,\n ACTION_TYPE.NUMBER,\n ACTION_TYPE.DECIMAL,\n ACTION_TYPE.REGEX,\n ACTION_TYPE.DATE,\n];\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst MultiSelectValues = ({ separator, values }) => (\n <>\n {values?.map((value, idx) => (\n <Fragment key={idx}>\n {!!idx && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {value.toLowerCase()}\n </Typography>\n </Fragment>\n ))}\n </>\n);\n\nexport default MultiSelectValues;\n","import { findBy } from \"neetocist\";\n\nimport { ACTION_TYPE, TEXT_FIELDS } from \"./constants\";\n\nexport const getEntityDisplayValue = (entitiy, entitiyOption) =>\n findBy(\n { value: entitiy.metadata.value },\n entitiyOption.dropdownOptions\n )?.label?.toLowerCase();\n\nexport const getActionDisplayValue = (action, actionOption) => {\n const displayValueData = { displayValue: null, isBulk: false };\n\n if (TEXT_FIELDS.includes(actionOption.type)) {\n displayValueData.displayValue = action.metadata.value?.toLowerCase();\n\n return displayValueData;\n }\n switch (actionOption.type) {\n case ACTION_TYPE.DROPDOWN: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SELECT: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n\n case ACTION_TYPE.RADIO: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO_IDS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.emails;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO: {\n displayValueData.displayValue = action.displayValue;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SMS_TO_NUMBERS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.phoneNumbers;\n\n return displayValueData;\n }\n case ACTION_TYPE.SEND_TO_API: {\n displayValueData.displayValue = action.metadata.endpoint;\n\n return displayValueData;\n }\n default:\n return null;\n }\n};\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Down, Up } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getSeparator } from \"utils\";\n\nimport Card from \"./Card\";\nimport { ACTION_TYPE } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getActionDisplayValue } from \"./utils\";\n\nconst ActionsDetail = ({ actions }) => {\n const [viewMore, setViewMore] = useState(false);\n const { t } = useTranslation();\n\n const actionsList = actions.value || [];\n const allActions =\n viewMore && actionsList.length > 4 ? actionsList : actionsList.slice(0, 4);\n\n const getLabel = index =>\n index\n ? t(\"neetoRules.common.and\", {\n what: t(\"neetoRules.common.then\"),\n })\n : t(\"neetoRules.common.then\");\n\n const renderActionValues = (action, actionOption) => {\n const { displayValue, isBulk } =\n getActionDisplayValue(action, actionOption) ?? {};\n\n if (\n actionOption.type === ACTION_TYPE.MULTISELECT ||\n actionOption.type === ACTION_TYPE.MULTISELECT_CHECKBOX\n ) {\n const values = pluck(\n \"label\",\n actionOption.dropdownOptions.filter(({ value }) =>\n action.metadata.value.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.and\", { what: \"\" })}\n />\n );\n }\n\n if (!displayValue) return null;\n\n if (!isBulk) {\n const defaultSeparator =\n actionOption.type === ACTION_TYPE.SEND_TO_API\n ? t(\"neetoRules.common.at\")\n : t(\"neetoRules.common.to\");\n\n const separator = getSeparator({\n defaultSeparator,\n selectedField: actionOption,\n });\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {displayValue?.toLowerCase()}\n </Typography>\n </>\n );\n }\n\n return displayValue.map((value, index) => (\n <div className=\"me-1 flex\" key={index}>\n <Typography key={index} style=\"h5\" weight=\"semibold\">\n {value}\n </Typography>\n {index !== displayValue.length - 1 && \", \"}\n </div>\n ));\n };\n\n const renderAction = action => {\n const actionOption = findBy({ value: action.name }, actions.actionOptions);\n if (!actionOption) return null;\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {actionOption?.label.toLowerCase()}\n </Typography>\n {renderActionValues(action, actionOption)}\n </>\n );\n };\n\n return (\n <Card title={t(\"neetoRules.common.then\")}>\n {allActions.map((action, index) => (\n <div className=\"mb-2\" key={action.name}>\n <div\n className=\"mb-2 flex flex-wrap gap-x-1 gap-y-2\"\n data-testid=\"then-action-events\"\n >\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {getLabel(index)}\n </Typography>\n {renderAction(action)}\n </div>\n {action?.metadata?.messageToShow && (\n <EditorContent\n className=\"neeto-ui-bg-white neeto-ui-p-3 neeto-ui-rounded\"\n content={action.metadata?.messageToShow}\n />\n )}\n </div>\n ))}\n {actionsList.length > 4 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </Card>\n );\n};\n\nexport default ActionsDetail;\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERB_LABELS } from \"components/NeetoRulesForm/Element/Conditions/constants\";\nimport { getDateTimeFormattedValue } from \"utils\";\n\nimport { PREVIEW_CONDITION_LIMIT } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getEntityDisplayValue } from \"./utils\";\n\nconst SemiboldText = ({ children }) => (\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {children}\n </Typography>\n);\n\nconst NormalText = ({ children }) => (\n <Typography className=\"neeto-ui-text-gray-700\" style=\"h5\" weight=\"normal\">\n {children}\n </Typography>\n);\n\nconst ConditionsDetail = ({\n conditions,\n conditionOptions,\n conditionVerbs = {},\n hasEvent = true,\n}) => {\n const [viewMore, setViewMore] = useState(false);\n\n const { t } = useTranslation();\n\n const conditionsList = conditions.value;\n const allConditions =\n viewMore && conditionsList.length > PREVIEW_CONDITION_LIMIT\n ? conditionsList\n : conditionsList.slice(0, PREVIEW_CONDITION_LIMIT);\n\n const allConditionVerbs = { ...VERB_LABELS, ...conditionVerbs };\n\n const getLogicalOperator = joinType =>\n joinType === \"or_operator\" ? \"or\" : \"and\";\n\n const renderConditionValues = (condition, conditionOption) => {\n if ([\"decimal\", \"email\", \"number\", \"text\"].includes(conditionOption.type)) {\n return (\n <SemiboldText>{condition.metadata.value?.toLowerCase()}</SemiboldText>\n );\n }\n\n if (conditionOption.type === \"date\" || conditionOption.type === \"time\") {\n const { value: date, type, format, timezone } = condition.metadata;\n\n return (\n <SemiboldText>\n {getDateTimeFormattedValue({ date, format, type, timezone })}\n </SemiboldText>\n );\n }\n\n if (conditionOption.type === \"textarea\") {\n return (\n <Tooltip content={condition.metadata.value?.toLowerCase()}>\n <SemiboldText>{t(\"neetoRules.labels.text\")}</SemiboldText>\n </Tooltip>\n );\n }\n\n if (\n conditionOption.type === \"multi-select\" ||\n conditionOption.type === \"multi-select-checkbox\"\n ) {\n const values = pluck(\n \"label\",\n conditionOption.dropdownOptions.filter(({ value }) =>\n condition.metadata.values.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.or\")}\n />\n );\n }\n\n if ([\"multi-select-create\"].includes(conditionOption.type)) {\n return (\n <MultiSelectValues\n separator={t(\"neetoRules.common.or\")}\n values={condition.metadata.values}\n />\n );\n }\n\n if (\n conditionOption.type === \"select\" ||\n conditionOption.type === \"radio\" ||\n conditionOption.type === \"dropdown\"\n ) {\n return (\n <SemiboldText>\n {getEntityDisplayValue(condition, conditionOption)}\n </SemiboldText>\n );\n }\n\n return null;\n };\n\n const renderCondition = condition => {\n const conditionOption = findBy(\n { value: condition.field },\n conditionOptions\n );\n if (!conditionOption) return null;\n\n const conditionVerb = allConditionVerbs[condition.verb]?.toLowerCase();\n\n return (\n <>\n <SemiboldText>{conditionOption?.label.toLowerCase()}</SemiboldText>\n <SemiboldText>{conditionVerb}</SemiboldText>\n {renderConditionValues(condition, conditionOption)}\n </>\n );\n };\n\n return (\n <>\n <div className=\"mt-2\">\n {allConditions.map((condition, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-2 gap-y-2\"\n key={condition.id}\n >\n {!index && hasEvent && (\n <NormalText>\n {t(\"neetoRules.common.and\", { what: \"\" })}\n </NormalText>\n )}\n {!!index && (\n <SemiboldText>\n {getLogicalOperator(condition.joinType)}\n </SemiboldText>\n )}\n <NormalText>{t(\"neetoRules.common.when\")}</NormalText>\n {renderCondition(condition)}\n </div>\n ))}\n </div>\n {conditionsList.length > 3 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default ConditionsDetail;\n","import { findBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\n\nconst EventsDetail = ({ events, performer, conditions }) => {\n const { t } = useTranslation();\n\n const eventNames = pluck(\"name\", events.value || []);\n const allEvents = events.eventOptions.filter(event =>\n eventNames?.includes(event.value)\n );\n\n const currentPerformer = findBy(\n { value: performer.value },\n performer.options\n );\n\n return (\n <Card title={t(\"neetoRules.common.when\")}>\n <div\n className=\"flex flex-wrap gap-x-2 gap-y-2\"\n data-testid=\"when-condition-events\"\n >\n {allEvents.map((event, index) => (\n <div className=\"flex gap-x-2\" key={index}>\n {!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.or\")}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {event.label.toLowerCase()}\n </Typography>\n </div>\n ))}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.by\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {currentPerformer?.label?.toLowerCase()}\n </Typography>\n </div>\n <ConditionsDetail\n {...{ conditions }}\n conditionOptions={conditions.conditionOptions}\n conditionVerbs={conditions.verbs}\n />\n </Card>\n );\n};\n\nexport default EventsDetail;\n","import { isNotEmpty } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ActionsDetail from \"./ActionsDetail\";\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\nimport EventsDetail from \"./EventsDetail\";\n\nconst RulePreview = ({ isLoading, ruleDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const { moreActionDropdownItems, showPreviewPane } = useUtilityStore.pick();\n\n return (\n <Pane {...{ onClose }} isOpen={isOpen && showPreviewPane}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"line-clamp-2\" style=\"h4\" weight=\"semibold\">\n {ruleDetails.name.value}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={moreActionDropdownItems}\n />\n </div>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full\">\n {ruleDetails.entity && (\n <div className=\"mb-6\">\n <div className=\"flex space-x-8\">\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {ruleDetails.entity.label}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-2\"\n style=\"h5\"\n weight=\"normal\"\n >\n {ruleDetails.entity.value}\n </Typography>\n </div>\n </div>\n )}\n {ruleDetails.events && isNotEmpty(ruleDetails.events) ? (\n <EventsDetail\n conditions={ruleDetails.conditions}\n events={ruleDetails.events}\n performer={ruleDetails.performer}\n />\n ) : (\n <Card title={t(\"neetoRules.common.when\")}>\n <ConditionsDetail\n conditionOptions={ruleDetails.conditions.conditionOptions}\n conditionVerbs={ruleDetails.conditions.verbs}\n conditions={ruleDetails.conditions}\n hasEvent={false}\n />\n </Card>\n )}\n <ActionsDetail actions={ruleDetails.actions} />\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n );\n};\n\nexport default RulePreview;\n"],"names":["Title","_ref","title","children","_jsxs","_Fragment","_jsx","Typography","className","style","weight","PREVIEW_CONDITION_LIMIT","ACTION_TYPE","TEXT","NUMBER","DECIMAL","REGEX","DATE","EMAIL","EMAIL_TO","EMAIL_TO_IDS","SMS_TO_NUMBERS","DROPDOWN","SELECT","MULTISELECT","MULTISELECT_CHECKBOX","RADIO","SEND_TO_API","TEXT_FIELDS","MultiSelectValues","separator","values","map","value","idx","Fragment","toLowerCase","getEntityDisplayValue","entitiy","entitiyOption","_findBy","findBy","metadata","dropdownOptions","label","getActionDisplayValue","action","actionOption","displayValueData","displayValue","isBulk","includes","type","_action$metadata$valu","emails","phoneNumbers","endpoint","ActionsDetail","actions","_useState","useState","_useState2","_slicedToArray","viewMore","setViewMore","_useTranslation","useTranslation","t","actionsList","allActions","length","slice","getLabel","index","what","renderActionValues","_getActionDisplayValu","_ref2","pluck","filter","_ref3","defaultSeparator","getSeparator","selectedField","renderAction","name","actionOptions","Card","_action$metadata","_action$metadata2","messageToShow","EditorContent","content","Button","icon","Down","Up","size","onClick","prevState","SemiboldText","NormalText","ConditionsDetail","conditions","conditionOptions","_ref3$conditionVerbs","conditionVerbs","_ref3$hasEvent","hasEvent","conditionsList","allConditions","allConditionVerbs","_objectSpread","VERB_LABELS","getLogicalOperator","joinType","renderConditionValues","condition","conditionOption","_condition$metadata$v","_condition$metadata","date","format","timezone","getDateTimeFormattedValue","_condition$metadata$v2","Tooltip","_ref4","renderCondition","_allConditionVerbs$co","field","conditionVerb","verb","id","EventsDetail","_currentPerformer$lab","events","performer","eventNames","allEvents","eventOptions","event","currentPerformer","options","verbs","RulePreview","isLoading","ruleDetails","isOpen","onClose","_useUtilityStore","useUtilityStore","store","moreActionDropdownItems","showPreviewPane","shallow","Pane","Spinner","Header","MoreDropdown","dropdownProps","strategy","menuItems","Body","entity","isNotEmpty"],"mappings":"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"}
@@ -12,7 +12,7 @@ require('@bigbinary/neetoui/Spinner');
12
12
  require('ramda');
13
13
  require('react-i18next');
14
14
  require('../useAutomationRulesApi-BTjEL2XD.js');
15
- var RulesReorder = require('../index-CQs1hVC3.js');
15
+ var RulesReorder = require('../index-D1EFD4U6.js');
16
16
  require('react/jsx-runtime');
17
17
  require('@tanstack/react-query');
18
18
  require('@bigbinary/neeto-commons-frontend/react-utils');
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  var constants = require('../index-DFwPrb81.js');
4
4
  var CannedResponsesPane = require('./CannedResponsesPane.js');
5
5
  var NeetoRules = require('./NeetoRules.js');
6
- var RulesReorder = require('../index-CQs1hVC3.js');
6
+ var RulesReorder = require('../index-D1EFD4U6.js');
7
7
  var useActiveField = require('../useActiveField-D2fv_EeJ.js');
8
8
  var NeetoRulesForm = require('./NeetoRulesForm.js');
9
9
  var RulePreview = require('./RulePreview.js');
@@ -93,6 +93,7 @@ require('@bigbinary/neeto-icons/Down');
93
93
  require('@bigbinary/neetoui/Dropdown');
94
94
  require('@bigbinary/neetoui/Tooltip');
95
95
  require('@babel/runtime/helpers/typeof');
96
+ require('@bigbinary/neeto-editor/EditorContent');
96
97
  require('@bigbinary/neeto-icons/Up');
97
98
 
98
99
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -58,7 +58,7 @@ var DraggableItem = function DraggableItem(props) {
58
58
  style: getDragItemStyle(snapshot.isDragging, provided.draggableProps.style),
59
59
  children: [/*#__PURE__*/jsx(Reorder, {}), /*#__PURE__*/jsx("div", {
60
60
  className: "neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3",
61
- "data-cy": "automation-rule-reorder-container",
61
+ "data-testid": "automation-rule-reorder-container",
62
62
  children: rule.name
63
63
  })]
64
64
  }), "list_".concat(rule.id));
@@ -203,4 +203,4 @@ var RulesReorder = function RulesReorder(_ref) {
203
203
  };
204
204
 
205
205
  export { INITIAL_RULES_DATA as I, RulesReorder as R };
206
- //# sourceMappingURL=index-C0i4jsZ5.js.map
206
+ //# sourceMappingURL=index-B2URQ5Q-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B2URQ5Q-.js","sources":["../app/javascript/src/components/NeetoRules/constants.js","../app/javascript/src/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { Reorder } from \"neetoicons\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <Reorder />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\"\n data-testid=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { Reorder as NeetoUIReorderIcon } from \"neetoicons\";\nimport { Pane, Typography, Button, Spinner } from \"neetoui\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Pane {...{ isOpen, onClose }}>\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Pane>\n );\n }\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.common.reorder\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography className=\"mb-3\" style=\"body2\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <NeetoUIReorderIcon />\n <div className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center gap-x-2\">\n <Button\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleReorderSave}\n />\n <Button\n label={t(\"neetoRules.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","Reorder","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Pane","Spinner","Header","Typography","weight","Body","DragDropContext","Droppable","droppableId","renderClone","rubric","NeetoUIReorderIcon","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}
@@ -60,7 +60,7 @@ var DraggableItem = function DraggableItem(props) {
60
60
  style: getDragItemStyle(snapshot.isDragging, provided.draggableProps.style),
61
61
  children: [/*#__PURE__*/jsxRuntime.jsx(Reorder, {}), /*#__PURE__*/jsxRuntime.jsx("div", {
62
62
  className: "neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3",
63
- "data-cy": "automation-rule-reorder-container",
63
+ "data-testid": "automation-rule-reorder-container",
64
64
  children: rule.name
65
65
  })]
66
66
  }), "list_".concat(rule.id));
@@ -206,4 +206,4 @@ var RulesReorder = function RulesReorder(_ref) {
206
206
 
207
207
  exports.INITIAL_RULES_DATA = INITIAL_RULES_DATA;
208
208
  exports.RulesReorder = RulesReorder;
209
- //# sourceMappingURL=index-CQs1hVC3.js.map
209
+ //# sourceMappingURL=index-D1EFD4U6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D1EFD4U6.js","sources":["../app/javascript/src/components/NeetoRules/constants.js","../app/javascript/src/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { Reorder } from \"neetoicons\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <Reorder />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\"\n data-testid=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { Reorder as NeetoUIReorderIcon } from \"neetoicons\";\nimport { Pane, Typography, Button, Spinner } from \"neetoui\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Pane {...{ isOpen, onClose }}>\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Pane>\n );\n }\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.common.reorder\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography className=\"mb-3\" style=\"body2\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <NeetoUIReorderIcon />\n <div className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center gap-x-2\">\n <Button\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleReorderSave}\n />\n <Button\n label={t(\"neetoRules.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","Reorder","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Pane","Spinner","Header","Typography","weight","Body","DragDropContext","Droppable","droppableId","renderClone","rubric","NeetoUIReorderIcon","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { A as AUTOMATION_RULES_QUERY_KEY } from './index-9h4B7JZZ.js';
2
2
  export { default as CannedResponsesPane } from './CannedResponsesPane.js';
3
3
  export { default as NeetoRules } from './NeetoRules.js';
4
- export { R as RulesReorder } from './index-C0i4jsZ5.js';
4
+ export { R as RulesReorder } from './index-B2URQ5Q-.js';
5
5
  export { u as useCustomDataStore } from './useActiveField-DunVO8SS.js';
6
6
  export { default as NeetoRulesForm } from './NeetoRulesForm.js';
7
7
  export { default as RulePreview } from './RulePreview.js';
@@ -91,5 +91,6 @@ import '@bigbinary/neeto-icons/Down';
91
91
  import '@bigbinary/neetoui/Dropdown';
92
92
  import '@bigbinary/neetoui/Tooltip';
93
93
  import '@babel/runtime/helpers/typeof';
94
+ import '@bigbinary/neeto-editor/EditorContent';
94
95
  import '@bigbinary/neeto-icons/Up';
95
96
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-rules-frontend",
3
- "version": "2.5.44",
3
+ "version": "2.5.46",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-rules-nano",
@@ -61,13 +61,13 @@
61
61
  "@bigbinary/babel-preset-neeto": "^1.0.3",
62
62
  "@bigbinary/eslint-plugin-neeto": "1.8.0",
63
63
  "@bigbinary/neeto-cist": "1.0.17",
64
- "@bigbinary/neeto-commons-frontend": "4.13.87",
65
- "@bigbinary/neeto-editor": "1.47.73",
66
- "@bigbinary/neeto-filters-frontend": "4.3.27",
64
+ "@bigbinary/neeto-commons-frontend": "4.13.92",
65
+ "@bigbinary/neeto-editor": "1.47.80",
66
+ "@bigbinary/neeto-filters-frontend": "4.3.30",
67
67
  "@bigbinary/neeto-hotkeys": "1.0.9",
68
- "@bigbinary/neeto-icons": "1.20.67",
69
- "@bigbinary/neeto-molecules": "4.0.109",
70
- "@bigbinary/neetoui": "8.3.46",
68
+ "@bigbinary/neeto-icons": "1.20.74",
69
+ "@bigbinary/neeto-molecules": "4.0.131",
70
+ "@bigbinary/neetoui": "8.3.55",
71
71
  "@emotion/is-prop-valid": "1.2.0",
72
72
  "@faker-js/faker": "8.2.0",
73
73
  "@hello-pangea/dnd": "16.3.0",
@@ -179,13 +179,13 @@
179
179
  "peerDependencies": {
180
180
  "@babel/runtime": "7.26.10",
181
181
  "@bigbinary/neeto-cist": "1.0.17",
182
- "@bigbinary/neeto-commons-frontend": "4.13.87",
183
- "@bigbinary/neeto-editor": "1.47.73",
184
- "@bigbinary/neeto-filters-frontend": "4.3.27",
182
+ "@bigbinary/neeto-commons-frontend": "4.13.92",
183
+ "@bigbinary/neeto-editor": "1.47.80",
184
+ "@bigbinary/neeto-filters-frontend": "4.3.30",
185
185
  "@bigbinary/neeto-hotkeys": "1.0.9",
186
- "@bigbinary/neeto-icons": "1.20.67",
187
- "@bigbinary/neeto-molecules": "4.0.109",
188
- "@bigbinary/neetoui": "8.3.46",
186
+ "@bigbinary/neeto-icons": "1.20.74",
187
+ "@bigbinary/neeto-molecules": "4.0.131",
188
+ "@bigbinary/neetoui": "8.3.55",
189
189
  "@hello-pangea/dnd": "16.3.0",
190
190
  "@honeybadger-io/js": "6.10.1",
191
191
  "@honeybadger-io/react": "6.1.25",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-C0i4jsZ5.js","sources":["../app/javascript/src/components/NeetoRules/constants.js","../app/javascript/src/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { Reorder } from \"neetoicons\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <Reorder />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\"\n data-cy=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { Reorder as NeetoUIReorderIcon } from \"neetoicons\";\nimport { Pane, Typography, Button, Spinner } from \"neetoui\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Pane {...{ isOpen, onClose }}>\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Pane>\n );\n }\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.common.reorder\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography className=\"mb-3\" style=\"body2\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <NeetoUIReorderIcon />\n <div className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center gap-x-2\">\n <Button\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleReorderSave}\n />\n <Button\n label={t(\"neetoRules.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","Reorder","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Pane","Spinner","Header","Typography","weight","Body","DragDropContext","Droppable","droppableId","renderClone","rubric","NeetoUIReorderIcon","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":";;;;;;;;;;;;;;;AAIO,IAAMA,kBAAkB,GAAG;AAAEC,EAAAA,KAAK,EAAE,EAAE;AAAEC,EAAAA,UAAU,EAAE;AAAE;;;;ACJtD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAKlB;AAAA,EAAA,IAJJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,iBAAiB,GAAAF,IAAA,CAAjBE,iBAAiB;IACjBC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,UAAU,GAAAJ,IAAA,CAAVI,UAAU;AAEV,EAAA,IAAMC,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACJ,IAAI,CAAC;EAC/B,IAAAK,cAAA,GAAkBH,MAAM,CAACI,MAAM,CAACL,UAAU,EAAE,CAAC,CAAC;IAAAM,eAAA,GAAAC,cAAA,CAAAH,cAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,OAAO,GAAAF,eAAA,CAAA,CAAA,CAAA;EACdL,MAAM,CAACI,MAAM,CAACR,QAAQ,EAAE,CAAC,EAAEW,OAAO,CAAC;AAEnC,EAAA,OAAOP,MAAM,CAACQ,GAAG,CAAC,UAACC,IAAI,EAAEC,KAAK,EAAA;AAAA,IAAA,OAAAC,eAAA,CAAAA,eAAA,CAAA,EAAA,EACzBF,IAAI,CAAA,EAAA,EAAA,EAAA;MACPG,YAAY,EAAEf,iBAAiB,GAAGa;AAAK,KAAA,CAAA;AAAA,GACvC,CAAC;AACL,CAAC;AAEM,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,UAAU,EAAEC,cAAc,EAAA;AAAA,EAAA,OAAAJ,eAAA,CAAAA,eAAA,KAEtDI,cAAc,CAAA,EAEbD,UAAU,IAAI;AAAEE,IAAAA,MAAM,EAAE;GAAO,CAAA;AAAA,CACnC;;;;ACfF,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;AAC7B,EAAA,IAAQC,IAAI,GAAgBD,KAAK,CAAzBC,IAAI;IAAEC,SAAS,GAAKF,KAAK,CAAnBE,SAAS;EAEvB,oBACEC,GAAA,CAACC,SAAS,EAAA;AAACC,IAAAA,WAAW,UAAAC,MAAA,CAAUL,IAAI,CAACM,EAAE,CAAG;AAACf,IAAAA,KAAK,EAAEU,SAAU;AAAAM,IAAAA,QAAA,EACzD,SAAAA,QAACC,CAAAA,QAAQ,EAAEC,QAAQ,EAAA;AAAA,MAAA,oBAClBC,IAAA,CAAAlB,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AACEmB,QAAAA,SAAS,EAAC,qEAAqE;QAE/EC,GAAG,EAAEJ,QAAQ,CAACK;AAAS,OAAA,EACnBL,QAAQ,CAACM,cAAc,CACvBN,EAAAA,QAAQ,CAACO,eAAe,CAAA,EAAA,EAAA,EAAA;AAC5BC,QAAAA,KAAK,EAAEtB,gBAAgB,CACrBe,QAAQ,CAACd,UAAU,EACnBa,QAAQ,CAACM,cAAc,CAACE,KAC1B,CAAE;AAAAT,QAAAA,QAAA,gBAEFL,GAAA,CAACe,OAAO,EAAE,EAAA,CAAC,eACXf,GAAA,CAAA,KAAA,EAAA;AACES,UAAAA,SAAS,EAAC,yIAAyI;AACnJ,UAAA,SAAA,EAAQ,mCAAmC;UAAAJ,QAAA,EAE1CP,IAAI,CAACkB;AAAI,SACP,CAAC;AAAA,OAAA,CAAA,EAAA,OAAA,CAAAb,MAAA,CAfOL,IAAI,CAACM,EAAE,CAgBjB,CAAC;AAAA;AACP,GACQ,CAAC;AAEhB,CAAC;AAED,sBAAea,UAAU,CAACrB,aAAa,CAAC;;;;AClBxC,IAAMsB,YAAY,GAAG,SAAfA,YAAYA,CAAA5C,IAAA,EAMZ;EAAA,IAAA6C,qBAAA,EAAAC,OAAA;AAAA,EAAA,IALJC,MAAM,GAAA/C,IAAA,CAAN+C,MAAM;IACNjD,UAAU,GAAAE,IAAA,CAAVF,UAAU;IACVkD,GAAG,GAAAhD,IAAA,CAAHgD,GAAG;IACHC,OAAO,GAAAjD,IAAA,CAAPiD,OAAO;IACPC,gBAAgB,GAAAlD,IAAA,CAAhBkD,gBAAgB;AAEhB,EAAA,IAAAC,SAAA,GAA4CC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAA1C,cAAA,CAAAwC,SAAA,EAAA,CAAA,CAAA;AAAjDG,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAAG,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,IAAAC,qBAAA,GACEC,uBAAuB,CAAC;AAAEC,MAAAA,QAAQ,EAAE/D,UAAU;AAAEkD,MAAAA,GAAG,EAAHA;AAAI,KAAC,EAAE;AAAEc,MAAAA,OAAO,EAAEf;AAAO,KAAC,CAAC;IAAAgB,sBAAA,GAAAJ,qBAAA,CADrEK,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,sBAAA,KAAcnE,KAAAA,CAAAA,GAAAA,kBAAkB,GAAAmE,sBAAA;IAA5BlE,KAAK,GAAAoE,sBAAA,CAALpE,KAAK;IAAyBqE,SAAS,GAAAP,qBAAA,CAATO,SAAS;AAGvD,EAAA,IAAAC,qBAAA,GAAuCC,yBAAyB,CAACpB,GAAG,CAAC;IAArDqB,OAAO,GAAAF,qBAAA,CAAfG,MAAM;IAAWC,SAAS,GAAAJ,qBAAA,CAATI,SAAS;EAElC,IAAMrE,iBAAiB,IAAA2C,qBAAA,GAAA,CAAAC,OAAA,GAAGjD,KAAK,CAAC,CAAC,CAAC,cAAAiD,OAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,OAAA,CAAU7B,YAAY,cAAA4B,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,CAAC;AAErD,EAAA,IAAM2B,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,IAAA,OACrBH,OAAO,CACL;AAAErB,MAAAA,GAAG,EAAHA,GAAG;AAAEyB,MAAAA,OAAO,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAE7E,UAAAA,KAAK,EAAEyD;AAAe;AAAE;AAAE,KAAC,EACxD;AACEqB,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AACfzB,QAAAA,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,KAAAA,CAAAA,IAAAA,gBAAgB,EAAI;AACpBD,QAAAA,OAAO,EAAE;AACX;AACF,KACF,CAAC;AAAA,GAAA;AAEH,EAAA,IAAM2B,SAAS,GAAG,SAAZA,SAASA,CAAAC,KAAA,EAAgC;AAAA,IAAA,IAA1BC,WAAW,GAAAD,KAAA,CAAXC,WAAW;MAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;IACtC,IAAI,CAACD,WAAW,IAAIC,MAAM,CAAChE,KAAK,KAAK+D,WAAW,CAAC/D,KAAK,EAAE;IAExD,IAAMiE,KAAK,GAAGjF,WAAW,CAAC;MACxBE,QAAQ,EAAE6E,WAAW,CAAC/D,KAAK;AAC3Bb,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,IAAI,EAAE8E,KAAK,CAAC3B,cAAc,CAAC;MAC3BlD,UAAU,EAAE2E,MAAM,CAAChE;AACrB,KAAC,CAAC;IACFwC,iBAAiB,CAACyB,KAAK,CAAC;GACzB;AAEDE,EAAAA,SAAS,CAAC,YAAM;IACd3B,iBAAiB,CAAC1D,KAAK,CAAC;AAC1B,GAAC,EAAE,CAACA,KAAK,CAAC,CAAC;AAEX,EAAA,IAAIqE,SAAS,EAAE;IACb,oBACExC,GAAA,CAACyD,IAAI,EAAA;AAAOpC,MAAAA,MAAM,EAANA,MAAM;AAAEE,MAAAA,OAAO,EAAPA,OAAO;AAAAlB,MAAAA,QAAA,eACzBL,GAAA,CAAA,KAAA,EAAA;AAAKS,QAAAA,SAAS,EAAC,gDAAgD;AAAAJ,QAAAA,QAAA,eAC7DL,GAAA,CAAC0D,OAAO,EAAE,EAAA;OACP;AAAC,KACF,CAAC;AAEX;EAEA,oBACElD,IAAA,CAACiD,IAAI,EAAA;AAAOpC,IAAAA,MAAM,EAANA,MAAM;AAAEE,IAAAA,OAAO,EAAPA,OAAO;AAAAlB,IAAAA,QAAA,EACzBL,cAAAA,GAAA,CAACyD,IAAI,CAACE,MAAM,EAAA;MAAAtD,QAAA,eACVL,GAAA,CAAC4D,UAAU,EAAA;AAAC9C,QAAAA,KAAK,EAAC,IAAI;AAAC+C,QAAAA,MAAM,EAAC,UAAU;QAAAxD,QAAA,EACrC2B,CAAC,CAAC,2BAA2B;OACpB;AAAC,KACF,CAAC,eACdxB,IAAA,CAACiD,IAAI,CAACK,IAAI,EAAA;MAAAzD,QAAA,EAAA,cACRL,GAAA,CAAC4D,UAAU,EAAA;AAACnD,QAAAA,SAAS,EAAC,MAAM;AAACK,QAAAA,KAAK,EAAC,OAAO;QAAAT,QAAA,EACvC2B,CAAC,CAAC,gCAAgC;OACzB,CAAC,eACbhC,GAAA,CAAA,KAAA,EAAA;AAAKS,QAAAA,SAAS,EAAC,4BAA4B;QAAAJ,QAAA,eACzCL,GAAA,CAAC+D,eAAe,EAAA;AAAOb,UAAAA,SAAS,EAATA,SAAS;UAAA7C,QAAA,eAC9BL,GAAA,CAACgE,SAAS,EAAA;AACRC,YAAAA,WAAW,EAAC,WAAW;YACvBC,WAAW,EAAE,SAAbA,WAAWA,CAAG5D,QAAQ,EAAEC,QAAQ,EAAE4D,MAAM,EAAA;AAAA,cAAA,oBACtC3D,IAAA,CAAAlB,KAAAA,EAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACEmB,gBAAAA,SAAS,EAAC,qEAAqE;gBAE/EC,GAAG,EAAEJ,QAAQ,CAACK;AAAS,eAAA,EACnBL,QAAQ,CAACM,cAAc,CACvBN,EAAAA,QAAQ,CAACO,eAAe,CAAA,EAAA,EAAA,EAAA;AAC5BC,gBAAAA,KAAK,EAAEtB,gBAAgB,CACrBe,QAAQ,CAACd,UAAU,EACnBa,QAAQ,CAACM,cAAc,CAACE,KAC1B,CAAE;AAAAT,gBAAAA,QAAA,gBAEFL,GAAA,CAACoE,OAAkB,EAAE,EAAA,CAAC,eACtBpE,GAAA,CAAA,KAAA,EAAA;AAAKS,kBAAAA,SAAS,EAAC,yIAAyI;AAAAJ,kBAAAA,QAAA,eACtJL,GAAA,CAAA,KAAA,EAAA;oBAAAK,QAAA,EAAMuB,cAAc,CAACuC,MAAM,CAACd,MAAM,CAAChE,KAAK,CAAC,CAAC2B;mBAAU;AAAC,iBAClD,CAAC;AAAA,eAAA,CAAA,EAAA,OAAA,CAAAb,MAAA,CAZOyB,cAAc,CAACuC,MAAM,CAACd,MAAM,CAAChE,KAAK,CAAC,CAACe,EAAE,CAahD,CAAC;aACN;YAAAC,QAAA,EAED,SAAAA,QAAAA,CAAAC,QAAQ,EAAA;cAAA,oBACPE,IAAA,QAAAlB,aAAA,CAAAA,aAAA,CAASgB,EAAAA,EAAAA,QAAQ,CAAC+D,cAAc,CAAA,EAAA,EAAA,EAAA;gBAAE3D,GAAG,EAAEJ,QAAQ,CAACK,QAAS;gBAAAN,QAAA,EAAA,CACtDuB,cAAc,CAACzC,GAAG,CAAC,UAACW,IAAI,EAAET,KAAK,EAAA;kBAAA,oBAC9BiF,aAAA,CAAC1E,eAAa,EAAA;AACNE,oBAAAA,IAAI,EAAJA,IAAI;oBACVyE,GAAG,EAAEzE,IAAI,CAACM,EAAG;AACbL,oBAAAA,SAAS,EAAEV;AAAM,mBAClB,CAAC;AAAA,iBACH,CAAC,EACDiB,QAAQ,CAACkE,WAAW;AAAA,eAAA,CAClB,CAAC;AAAA;WAEC;SACI;AAAC,OACf,CAAC;AAAA,KACG,CAAC,eACZhE,IAAA,CAACiD,IAAI,CAACgB,MAAM,EAAA;AAAChE,MAAAA,SAAS,EAAC,2BAA2B;MAAAJ,QAAA,EAAA,cAChDL,GAAA,CAAC0E,MAAM,EAAA;QACLC,QAAQ,EAAE9B,SAAS,IAAI+B,MAAM,CAACzG,KAAK,EAAEyD,cAAc,CAAE;AACrDiD,QAAAA,KAAK,EAAE7C,CAAC,CAAC,8BAA8B,CAAE;AACzC8C,QAAAA,OAAO,EAAEjC,SAAU;AACnB/B,QAAAA,KAAK,EAAC,SAAS;AACfiE,QAAAA,OAAO,EAAEjC;AAAkB,OAC5B,CAAC,eACF9C,GAAA,CAAC0E,MAAM,EAAA;AACLG,QAAAA,KAAK,EAAE7C,CAAC,CAAC,2BAA2B,CAAE;AACtClB,QAAAA,KAAK,EAAC,MAAM;AACZiE,QAAAA,OAAO,EAAExD;AAAQ,OAClB,CAAC;AAAA,KACS,CAAC;AAAA,GACV,CAAC;AAEX;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CQs1hVC3.js","sources":["../app/javascript/src/components/NeetoRules/constants.js","../app/javascript/src/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { Reorder } from \"neetoicons\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <Reorder />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\"\n data-cy=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { Reorder as NeetoUIReorderIcon } from \"neetoicons\";\nimport { Pane, Typography, Button, Spinner } from \"neetoui\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Pane {...{ isOpen, onClose }}>\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Pane>\n );\n }\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.common.reorder\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography className=\"mb-3\" style=\"body2\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <NeetoUIReorderIcon />\n <div className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center gap-x-2\">\n <Button\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleReorderSave}\n />\n <Button\n label={t(\"neetoRules.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","Reorder","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Pane","Spinner","Header","Typography","weight","Body","DragDropContext","Droppable","droppableId","renderClone","rubric","NeetoUIReorderIcon","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}