@bigbinary/neeto-rules-frontend 2.5.3 → 2.5.7

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.
@@ -78,10 +78,10 @@ var MultiSelectValues = function MultiSelectValues(_ref) {
78
78
  };
79
79
 
80
80
  var getEntityDisplayValue = function getEntityDisplayValue(entitiy, entitiyOption) {
81
- var _findBy, _findBy$label;
81
+ var _findBy;
82
82
  return (_findBy = findBy({
83
83
  value: entitiy.metadata.value
84
- }, entitiyOption.dropdownOptions)) === null || _findBy === void 0 ? void 0 : (_findBy$label = _findBy.label) === null || _findBy$label === void 0 ? void 0 : _findBy$label.toLowerCase();
84
+ }, entitiyOption.dropdownOptions)) === null || _findBy === void 0 || (_findBy = _findBy.label) === null || _findBy === void 0 ? void 0 : _findBy.toLowerCase();
85
85
  };
86
86
  var getActionDisplayValue = function getActionDisplayValue(action, actionOption) {
87
87
  var displayValueData = {
@@ -415,7 +415,7 @@ var EventsDetail = function EventsDetail(_ref) {
415
415
  className: "neeto-ui-text-gray-800",
416
416
  style: "h5",
417
417
  weight: "semibold",
418
- children: currentPerformer === null || currentPerformer === void 0 ? void 0 : (_currentPerformer$lab = currentPerformer.label) === null || _currentPerformer$lab === void 0 ? void 0 : _currentPerformer$lab.toLowerCase()
418
+ children: currentPerformer === null || currentPerformer === void 0 || (_currentPerformer$lab = currentPerformer.label) === null || _currentPerformer$lab === void 0 ? void 0 : _currentPerformer$lab.toLowerCase()
419
419
  })]
420
420
  }), /*#__PURE__*/jsx(ConditionsDetail, {
421
421
  conditions: conditions,
@@ -1 +1 @@
1
- {"version":3,"file":"RulePreview.js","sources":["../app/javascript/src/components/RulePreview/Card.jsx","../app/javascript/src/components/RulePreview/constants.js","../app/javascript/src/components/RulePreview/MultiSelectValues.jsx","../app/javascript/src/components/RulePreview/utils.js","../app/javascript/src/components/RulePreview/ActionsDetail.jsx","../app/javascript/src/components/RulePreview/ConditionsDetail.jsx","../app/javascript/src/components/RulePreview/EventsDetail.jsx","../app/javascript/src/components/RulePreview/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Title = ({ title, children }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {title}\n </Typography>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-sm my-3 p-4\">\n {children}\n </div>\n </>\n);\n\nTitle.propTypes = {\n title: PropTypes.string,\n children: PropTypes.node,\n};\nexport default Title;\n","export const PREVIEW_CONDITION_LIMIT = 3;\n\nexport const ACTION_TYPE = {\n TEXT: \"text\",\n NUMBER: \"number\",\n DECIMAL: \"decimal\",\n REGEX: \"regex\",\n DATE: \"date\",\n EMAIL: \"email\",\n EMAIL_TO: \"emailTo\",\n EMAIL_TO_IDS: \"emailToIds\",\n SMS_TO_NUMBERS: \"smsToNumbers\",\n MULTI_SELECT: \"multiSelect\",\n SEND_TO_API: \"sendToApi\",\n DROPDOWN: \"dropdown\",\n MULTISELECT: \"multiSelect\",\n};\n\nexport const TEXT_FIELDS = [\n ACTION_TYPE.TEXT,\n ACTION_TYPE.NUMBER,\n ACTION_TYPE.DECIMAL,\n ACTION_TYPE.REGEX,\n ACTION_TYPE.DATE,\n];\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst MultiSelectValues = ({ separator, values }) => (\n <>\n {values?.map((value, idx) => (\n <Fragment key={idx}>\n {!!idx && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {value.toLowerCase()}\n </Typography>\n </Fragment>\n ))}\n </>\n);\n\nexport default MultiSelectValues;\n","import { findBy } from \"neetocist\";\n\nimport { ACTION_TYPE, TEXT_FIELDS } from \"./constants\";\n\nexport const getEntityDisplayValue = (entitiy, entitiyOption) =>\n findBy(\n { value: entitiy.metadata.value },\n entitiyOption.dropdownOptions\n )?.label?.toLowerCase();\n\nexport const getActionDisplayValue = (action, actionOption) => {\n const displayValueData = { displayValue: null, isBulk: false };\n\n if (TEXT_FIELDS.includes(actionOption.type)) {\n displayValueData.displayValue = action.metadata.value?.toLowerCase();\n\n return displayValueData;\n }\n switch (actionOption.type) {\n case ACTION_TYPE.DROPDOWN: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n case ACTION_TYPE.EMAIL_TO_IDS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.emails;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO: {\n displayValueData.displayValue = action.displayValue;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SMS_TO_NUMBERS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.phoneNumbers;\n\n return displayValueData;\n }\n case ACTION_TYPE.SEND_TO_API: {\n displayValueData.displayValue = action.metadata.endpoint;\n\n return displayValueData;\n }\n default:\n return null;\n }\n};\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getSeparator } from \"utils\";\n\nimport Card from \"./Card\";\nimport { ACTION_TYPE } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getActionDisplayValue } from \"./utils\";\n\nconst ActionsDetail = ({ actions }) => {\n const [viewMore, setViewMore] = useState(false);\n const { t } = useTranslation();\n\n const actionsList = actions.value;\n const allActions =\n viewMore && actionsList.length > 4 ? actionsList : actionsList.slice(0, 4);\n\n const getLabel = index =>\n index\n ? t(\"neetoRules.common.and\", {\n what: t(\"neetoRules.common.then\"),\n })\n : t(\"neetoRules.common.then\");\n\n const renderActionValues = (action, actionOption) => {\n const { displayValue, isBulk } =\n getActionDisplayValue(action, actionOption) ?? {};\n\n if (actionOption.type === ACTION_TYPE.MULTISELECT) {\n const values = pluck(\n \"label\",\n actionOption.dropdownOptions.filter(({ value }) =>\n action.metadata.value.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.and\", { what: \"\" })}\n />\n );\n }\n\n if (!displayValue) return null;\n\n if (!isBulk) {\n const defaultSeparator =\n actionOption.type === ACTION_TYPE.SEND_TO_API\n ? t(\"neetoRules.common.at\")\n : t(\"neetoRules.common.to\");\n\n const separator = getSeparator({\n defaultSeparator,\n selectedField: actionOption,\n });\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {displayValue?.toLowerCase()}\n </Typography>\n </>\n );\n }\n\n return displayValue.map((value, index) => (\n <div className=\"mr-1 flex\" key={index}>\n <Typography key={index} style=\"h5\" weight=\"semibold\">\n {value}\n </Typography>\n {index !== displayValue.length - 1 && \", \"}\n </div>\n ));\n };\n\n const renderAction = action => {\n const actionOption = findBy({ value: action.name }, actions.actionOptions);\n if (!actionOption) return null;\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {actionOption?.label.toLowerCase()}\n </Typography>\n {renderActionValues(action, actionOption)}\n </>\n );\n };\n\n return (\n <Card title={t(\"neetoRules.common.then\")}>\n {allActions.map((action, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-1 gap-y-2\"\n data-cy=\"then-action-events\"\n key={action.name}\n >\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {getLabel(index)}\n </Typography>\n {renderAction(action)}\n </div>\n ))}\n {actionsList.length > 4 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </Card>\n );\n};\n\nexport default ActionsDetail;\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERB_LABELS } from \"components/NeetoRulesForm/Element/Conditions/constants\";\n\nimport { PREVIEW_CONDITION_LIMIT } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getEntityDisplayValue } from \"./utils\";\n\nconst ConditionsDetail = ({\n conditions,\n conditionOptions,\n conditionVerbs = {},\n hasEvent = true,\n}) => {\n const [viewMore, setViewMore] = useState(false);\n\n const { t } = useTranslation();\n\n const conditionsList = conditions.value;\n const allConditions =\n viewMore && conditionsList.length > PREVIEW_CONDITION_LIMIT\n ? conditionsList\n : conditionsList.slice(0, PREVIEW_CONDITION_LIMIT);\n\n const allConditionVerbs = { ...VERB_LABELS, ...conditionVerbs };\n\n const getLogicOperator = joinType =>\n joinType === \"or_operator\" ? \"or\" : \"and\";\n\n const renderConditionValues = (condition, conditionOption) => {\n if (\n [\"date\", \"decimal\", \"email\", \"number\", \"text\"].includes(\n conditionOption.type\n )\n ) {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {condition.metadata.value?.toLowerCase()}\n </Typography>\n );\n }\n\n if (conditionOption.type === \"textarea\") {\n return (\n <Tooltip content={condition.metadata.value?.toLowerCase()}>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoRules.labels.text\")}\n </Typography>\n </Tooltip>\n );\n }\n\n if (conditionOption.type === \"multi-select\") {\n const values = pluck(\n \"label\",\n conditionOption.dropdownOptions.filter(({ value }) =>\n condition.metadata.values.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.or\")}\n />\n );\n }\n\n if ([\"multi-select-create\"].includes(conditionOption.type)) {\n return (\n <MultiSelectValues\n separator={t(\"neetoRules.common.or\")}\n values={condition.metadata.values}\n />\n );\n }\n\n if (conditionOption.type === \"dropdown\") {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getEntityDisplayValue(condition, conditionOption)}\n </Typography>\n );\n }\n\n return null;\n };\n\n const renderCondition = condition => {\n const conditionOption = findBy(\n { value: condition.field },\n conditionOptions\n );\n if (!conditionOption) return null;\n\n const conditionVerb = allConditionVerbs[condition.verb]?.toLowerCase();\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionOption?.label.toLowerCase()}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionVerb}\n </Typography>\n {renderConditionValues(condition, conditionOption)}\n </>\n );\n };\n\n return (\n <>\n <div className=\"mt-2\">\n {allConditions.map((condition, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-2 gap-y-2\"\n key={condition.id}\n >\n {!index && hasEvent && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.and\", { what: \"\" })}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getLogicOperator(condition.joinType)}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n {renderCondition(condition)}\n </div>\n ))}\n </div>\n {conditionsList.length > 3 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default ConditionsDetail;\n","import { findBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\n\nconst EventsDetail = ({ events, performer, conditions }) => {\n const { t } = useTranslation();\n\n const eventNames = pluck(\"name\", events.value);\n const allEvents = events.eventOptions.filter(event =>\n eventNames?.includes(event.value)\n );\n\n const currentPerformer = findBy(\n { value: performer.value },\n performer.options\n );\n\n return (\n <Card title={t(\"neetoRules.common.when\")}>\n <div\n className=\"flex flex-wrap gap-x-2 gap-y-2\"\n data-cy=\"when-condition-events\"\n >\n {allEvents.map((event, index) => (\n <div className=\"flex gap-x-2\" key={index}>\n {!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.or\")}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {event.label.toLowerCase()}\n </Typography>\n </div>\n ))}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.by\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {currentPerformer?.label?.toLowerCase()}\n </Typography>\n </div>\n <ConditionsDetail\n {...{ conditions }}\n conditionOptions={conditions.conditionOptions}\n conditionVerbs={conditions.verbs}\n />\n </Card>\n );\n};\n\nexport default EventsDetail;\n","import { isNotEmpty } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ActionsDetail from \"./ActionsDetail\";\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\nimport EventsDetail from \"./EventsDetail\";\n\nconst RulePreview = ({ isLoading, ruleDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const { moreActionDropdownItems, showPreviewPane } = useUtilityStore.pick();\n\n return (\n <Pane {...{ onClose }} isOpen={isOpen && showPreviewPane}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"line-clamp-2\" style=\"h4\" weight=\"semibold\">\n {ruleDetails.name.value}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={moreActionDropdownItems}\n />\n </div>\n </Pane.Header>\n <Pane.Body>\n <div className=\"mt-2 w-full\">\n <div className=\"mb-6\">\n {ruleDetails.description && (\n <Typography className=\"my-auto mb-4\" style=\"body2\">\n {ruleDetails.description.value}\n </Typography>\n )}\n {ruleDetails.entity && (\n <div className=\"flex space-x-8\">\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {ruleDetails.entity.label}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-2\"\n style=\"h5\"\n weight=\"normal\"\n >\n {ruleDetails.entity.value}\n </Typography>\n </div>\n )}\n </div>\n {ruleDetails.events && isNotEmpty(ruleDetails.events) ? (\n <EventsDetail\n conditions={ruleDetails.conditions}\n events={ruleDetails.events}\n performer={ruleDetails.performer}\n />\n ) : (\n <Card title={t(\"neetoRules.common.when\")}>\n <ConditionsDetail\n conditionOptions={ruleDetails.conditions.conditionOptions}\n conditionVerbs={ruleDetails.conditions.verbs}\n conditions={ruleDetails.conditions}\n hasEvent={false}\n />\n </Card>\n )}\n <ActionsDetail actions={ruleDetails.actions} />\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n );\n};\n\nexport default RulePreview;\n"],"names":["Title","_ref","title","children","_jsxs","_Fragment","_jsx","Typography","className","style","weight","PREVIEW_CONDITION_LIMIT","ACTION_TYPE","TEXT","NUMBER","DECIMAL","REGEX","DATE","EMAIL","EMAIL_TO","EMAIL_TO_IDS","SMS_TO_NUMBERS","MULTI_SELECT","SEND_TO_API","DROPDOWN","MULTISELECT","TEXT_FIELDS","MultiSelectValues","separator","values","map","value","idx","Fragment","toLowerCase","getEntityDisplayValue","entitiy","entitiyOption","_findBy","_findBy$label","findBy","metadata","dropdownOptions","label","getActionDisplayValue","action","actionOption","displayValueData","displayValue","isBulk","includes","type","_action$metadata$valu","emails","phoneNumbers","endpoint","ActionsDetail","actions","_useState","useState","_useState2","_slicedToArray","viewMore","setViewMore","_useTranslation","useTranslation","t","actionsList","allActions","length","slice","getLabel","index","what","renderActionValues","_getActionDisplayValu","_ref2","pluck","filter","_ref3","defaultSeparator","getSeparator","selectedField","renderAction","name","actionOptions","Card","Button","icon","Down","Up","size","onClick","prevState","ConditionsDetail","conditions","conditionOptions","_ref$conditionVerbs","conditionVerbs","_ref$hasEvent","hasEvent","conditionsList","allConditions","allConditionVerbs","_objectSpread","VERB_LABELS","getLogicOperator","joinType","renderConditionValues","condition","conditionOption","_condition$metadata$v","_condition$metadata$v2","Tooltip","content","renderCondition","_allConditionVerbs$co","field","conditionVerb","verb","id","EventsDetail","_currentPerformer$lab","events","performer","eventNames","allEvents","eventOptions","event","currentPerformer","options","verbs","RulePreview","isLoading","ruleDetails","isOpen","onClose","_useUtilityStore","useUtilityStore","store","moreActionDropdownItems","showPreviewPane","shallow","Pane","Spinner","Header","MoreDropdown","dropdownProps","strategy","menuItems","Body","description","entity","isNotEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"RulePreview.js","sources":["../app/javascript/src/components/RulePreview/Card.jsx","../app/javascript/src/components/RulePreview/constants.js","../app/javascript/src/components/RulePreview/MultiSelectValues.jsx","../app/javascript/src/components/RulePreview/utils.js","../app/javascript/src/components/RulePreview/ActionsDetail.jsx","../app/javascript/src/components/RulePreview/ConditionsDetail.jsx","../app/javascript/src/components/RulePreview/EventsDetail.jsx","../app/javascript/src/components/RulePreview/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Title = ({ title, children }) => (\n <>\n <Typography className=\"neeto-ui-text-gray-800\" style=\"h5\" weight=\"semibold\">\n {title}\n </Typography>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-sm my-3 p-4\">\n {children}\n </div>\n </>\n);\n\nTitle.propTypes = {\n title: PropTypes.string,\n children: PropTypes.node,\n};\nexport default Title;\n","export const PREVIEW_CONDITION_LIMIT = 3;\n\nexport const ACTION_TYPE = {\n TEXT: \"text\",\n NUMBER: \"number\",\n DECIMAL: \"decimal\",\n REGEX: \"regex\",\n DATE: \"date\",\n EMAIL: \"email\",\n EMAIL_TO: \"emailTo\",\n EMAIL_TO_IDS: \"emailToIds\",\n SMS_TO_NUMBERS: \"smsToNumbers\",\n MULTI_SELECT: \"multiSelect\",\n SEND_TO_API: \"sendToApi\",\n DROPDOWN: \"dropdown\",\n MULTISELECT: \"multiSelect\",\n};\n\nexport const TEXT_FIELDS = [\n ACTION_TYPE.TEXT,\n ACTION_TYPE.NUMBER,\n ACTION_TYPE.DECIMAL,\n ACTION_TYPE.REGEX,\n ACTION_TYPE.DATE,\n];\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst MultiSelectValues = ({ separator, values }) => (\n <>\n {values?.map((value, idx) => (\n <Fragment key={idx}>\n {!!idx && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {value.toLowerCase()}\n </Typography>\n </Fragment>\n ))}\n </>\n);\n\nexport default MultiSelectValues;\n","import { findBy } from \"neetocist\";\n\nimport { ACTION_TYPE, TEXT_FIELDS } from \"./constants\";\n\nexport const getEntityDisplayValue = (entitiy, entitiyOption) =>\n findBy(\n { value: entitiy.metadata.value },\n entitiyOption.dropdownOptions\n )?.label?.toLowerCase();\n\nexport const getActionDisplayValue = (action, actionOption) => {\n const displayValueData = { displayValue: null, isBulk: false };\n\n if (TEXT_FIELDS.includes(actionOption.type)) {\n displayValueData.displayValue = action.metadata.value?.toLowerCase();\n\n return displayValueData;\n }\n switch (actionOption.type) {\n case ACTION_TYPE.DROPDOWN: {\n displayValueData.displayValue = getEntityDisplayValue(\n action,\n actionOption\n );\n\n return displayValueData;\n }\n case ACTION_TYPE.EMAIL_TO_IDS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.emails;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.EMAIL_TO: {\n displayValueData.displayValue = action.displayValue;\n\n return displayValueData;\n }\n\n case ACTION_TYPE.SMS_TO_NUMBERS: {\n displayValueData.isBulk = true;\n displayValueData.displayValue = action.metadata.phoneNumbers;\n\n return displayValueData;\n }\n case ACTION_TYPE.SEND_TO_API: {\n displayValueData.displayValue = action.metadata.endpoint;\n\n return displayValueData;\n }\n default:\n return null;\n }\n};\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getSeparator } from \"utils\";\n\nimport Card from \"./Card\";\nimport { ACTION_TYPE } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getActionDisplayValue } from \"./utils\";\n\nconst ActionsDetail = ({ actions }) => {\n const [viewMore, setViewMore] = useState(false);\n const { t } = useTranslation();\n\n const actionsList = actions.value;\n const allActions =\n viewMore && actionsList.length > 4 ? actionsList : actionsList.slice(0, 4);\n\n const getLabel = index =>\n index\n ? t(\"neetoRules.common.and\", {\n what: t(\"neetoRules.common.then\"),\n })\n : t(\"neetoRules.common.then\");\n\n const renderActionValues = (action, actionOption) => {\n const { displayValue, isBulk } =\n getActionDisplayValue(action, actionOption) ?? {};\n\n if (actionOption.type === ACTION_TYPE.MULTISELECT) {\n const values = pluck(\n \"label\",\n actionOption.dropdownOptions.filter(({ value }) =>\n action.metadata.value.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.and\", { what: \"\" })}\n />\n );\n }\n\n if (!displayValue) return null;\n\n if (!isBulk) {\n const defaultSeparator =\n actionOption.type === ACTION_TYPE.SEND_TO_API\n ? t(\"neetoRules.common.at\")\n : t(\"neetoRules.common.to\");\n\n const separator = getSeparator({\n defaultSeparator,\n selectedField: actionOption,\n });\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {separator}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {displayValue?.toLowerCase()}\n </Typography>\n </>\n );\n }\n\n return displayValue.map((value, index) => (\n <div className=\"mr-1 flex\" key={index}>\n <Typography key={index} style=\"h5\" weight=\"semibold\">\n {value}\n </Typography>\n {index !== displayValue.length - 1 && \", \"}\n </div>\n ));\n };\n\n const renderAction = action => {\n const actionOption = findBy({ value: action.name }, actions.actionOptions);\n if (!actionOption) return null;\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {actionOption?.label.toLowerCase()}\n </Typography>\n {renderActionValues(action, actionOption)}\n </>\n );\n };\n\n return (\n <Card title={t(\"neetoRules.common.then\")}>\n {allActions.map((action, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-1 gap-y-2\"\n data-cy=\"then-action-events\"\n key={action.name}\n >\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {getLabel(index)}\n </Typography>\n {renderAction(action)}\n </div>\n ))}\n {actionsList.length > 4 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </Card>\n );\n};\n\nexport default ActionsDetail;\n","import { useState } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERB_LABELS } from \"components/NeetoRulesForm/Element/Conditions/constants\";\n\nimport { PREVIEW_CONDITION_LIMIT } from \"./constants\";\nimport MultiSelectValues from \"./MultiSelectValues\";\nimport { getEntityDisplayValue } from \"./utils\";\n\nconst ConditionsDetail = ({\n conditions,\n conditionOptions,\n conditionVerbs = {},\n hasEvent = true,\n}) => {\n const [viewMore, setViewMore] = useState(false);\n\n const { t } = useTranslation();\n\n const conditionsList = conditions.value;\n const allConditions =\n viewMore && conditionsList.length > PREVIEW_CONDITION_LIMIT\n ? conditionsList\n : conditionsList.slice(0, PREVIEW_CONDITION_LIMIT);\n\n const allConditionVerbs = { ...VERB_LABELS, ...conditionVerbs };\n\n const getLogicOperator = joinType =>\n joinType === \"or_operator\" ? \"or\" : \"and\";\n\n const renderConditionValues = (condition, conditionOption) => {\n if (\n [\"date\", \"decimal\", \"email\", \"number\", \"text\"].includes(\n conditionOption.type\n )\n ) {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {condition.metadata.value?.toLowerCase()}\n </Typography>\n );\n }\n\n if (conditionOption.type === \"textarea\") {\n return (\n <Tooltip content={condition.metadata.value?.toLowerCase()}>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoRules.labels.text\")}\n </Typography>\n </Tooltip>\n );\n }\n\n if (conditionOption.type === \"multi-select\") {\n const values = pluck(\n \"label\",\n conditionOption.dropdownOptions.filter(({ value }) =>\n condition.metadata.values.includes(value)\n )\n );\n\n return (\n <MultiSelectValues\n {...{ values }}\n separator={t(\"neetoRules.common.or\")}\n />\n );\n }\n\n if ([\"multi-select-create\"].includes(conditionOption.type)) {\n return (\n <MultiSelectValues\n separator={t(\"neetoRules.common.or\")}\n values={condition.metadata.values}\n />\n );\n }\n\n if (conditionOption.type === \"dropdown\") {\n return (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getEntityDisplayValue(condition, conditionOption)}\n </Typography>\n );\n }\n\n return null;\n };\n\n const renderCondition = condition => {\n const conditionOption = findBy(\n { value: condition.field },\n conditionOptions\n );\n if (!conditionOption) return null;\n\n const conditionVerb = allConditionVerbs[condition.verb]?.toLowerCase();\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionOption?.label.toLowerCase()}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {conditionVerb}\n </Typography>\n {renderConditionValues(condition, conditionOption)}\n </>\n );\n };\n\n return (\n <>\n <div className=\"mt-2\">\n {allConditions.map((condition, index) => (\n <div\n className=\"mb-2 flex flex-wrap gap-x-2 gap-y-2\"\n key={condition.id}\n >\n {!index && hasEvent && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.and\", { what: \"\" })}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {getLogicOperator(condition.joinType)}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n {renderCondition(condition)}\n </div>\n ))}\n </div>\n {conditionsList.length > 3 && (\n <div className=\"mt-3 w-full\">\n <Button\n icon={!viewMore ? Down : Up}\n size=\"small\"\n style=\"link\"\n label={\n !viewMore\n ? t(\"neetoRules.common.viewMore\")\n : t(\"neetoRules.common.viewLess\")\n }\n onClick={() => setViewMore(prevState => !prevState)}\n />\n </div>\n )}\n </>\n );\n};\n\nexport default ConditionsDetail;\n","import { findBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\n\nconst EventsDetail = ({ events, performer, conditions }) => {\n const { t } = useTranslation();\n\n const eventNames = pluck(\"name\", events.value);\n const allEvents = events.eventOptions.filter(event =>\n eventNames?.includes(event.value)\n );\n\n const currentPerformer = findBy(\n { value: performer.value },\n performer.options\n );\n\n return (\n <Card title={t(\"neetoRules.common.when\")}>\n <div\n className=\"flex flex-wrap gap-x-2 gap-y-2\"\n data-cy=\"when-condition-events\"\n >\n {allEvents.map((event, index) => (\n <div className=\"flex gap-x-2\" key={index}>\n {!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.when\")}\n </Typography>\n )}\n {!!index && (\n <Typography\n className=\"neeto-ui-text-gray-700 my-auto\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.or\")}\n </Typography>\n )}\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {event.label.toLowerCase()}\n </Typography>\n </div>\n ))}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n weight=\"normal\"\n >\n {t(\"neetoRules.common.by\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {currentPerformer?.label?.toLowerCase()}\n </Typography>\n </div>\n <ConditionsDetail\n {...{ conditions }}\n conditionOptions={conditions.conditionOptions}\n conditionVerbs={conditions.verbs}\n />\n </Card>\n );\n};\n\nexport default EventsDetail;\n","import { isNotEmpty } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"components/stores/useUtilityStore\";\n\nimport ActionsDetail from \"./ActionsDetail\";\nimport Card from \"./Card\";\nimport ConditionsDetail from \"./ConditionsDetail\";\nimport EventsDetail from \"./EventsDetail\";\n\nconst RulePreview = ({ isLoading, ruleDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const { moreActionDropdownItems, showPreviewPane } = useUtilityStore.pick();\n\n return (\n <Pane {...{ onClose }} isOpen={isOpen && showPreviewPane}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header>\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"line-clamp-2\" style=\"h4\" weight=\"semibold\">\n {ruleDetails.name.value}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={moreActionDropdownItems}\n />\n </div>\n </Pane.Header>\n <Pane.Body>\n <div className=\"mt-2 w-full\">\n <div className=\"mb-6\">\n {ruleDetails.description && (\n <Typography className=\"my-auto mb-4\" style=\"body2\">\n {ruleDetails.description.value}\n </Typography>\n )}\n {ruleDetails.entity && (\n <div className=\"flex space-x-8\">\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {ruleDetails.entity.label}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 col-span-2\"\n style=\"h5\"\n weight=\"normal\"\n >\n {ruleDetails.entity.value}\n </Typography>\n </div>\n )}\n </div>\n {ruleDetails.events && isNotEmpty(ruleDetails.events) ? (\n <EventsDetail\n conditions={ruleDetails.conditions}\n events={ruleDetails.events}\n performer={ruleDetails.performer}\n />\n ) : (\n <Card title={t(\"neetoRules.common.when\")}>\n <ConditionsDetail\n conditionOptions={ruleDetails.conditions.conditionOptions}\n conditionVerbs={ruleDetails.conditions.verbs}\n conditions={ruleDetails.conditions}\n hasEvent={false}\n />\n </Card>\n )}\n <ActionsDetail actions={ruleDetails.actions} />\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n );\n};\n\nexport default RulePreview;\n"],"names":["Title","_ref","title","children","_jsxs","_Fragment","_jsx","Typography","className","style","weight","PREVIEW_CONDITION_LIMIT","ACTION_TYPE","TEXT","NUMBER","DECIMAL","REGEX","DATE","EMAIL","EMAIL_TO","EMAIL_TO_IDS","SMS_TO_NUMBERS","MULTI_SELECT","SEND_TO_API","DROPDOWN","MULTISELECT","TEXT_FIELDS","MultiSelectValues","separator","values","map","value","idx","Fragment","toLowerCase","getEntityDisplayValue","entitiy","entitiyOption","_findBy","findBy","metadata","dropdownOptions","label","getActionDisplayValue","action","actionOption","displayValueData","displayValue","isBulk","includes","type","_action$metadata$valu","emails","phoneNumbers","endpoint","ActionsDetail","actions","_useState","useState","_useState2","_slicedToArray","viewMore","setViewMore","_useTranslation","useTranslation","t","actionsList","allActions","length","slice","getLabel","index","what","renderActionValues","_getActionDisplayValu","_ref2","pluck","filter","_ref3","defaultSeparator","getSeparator","selectedField","renderAction","name","actionOptions","Card","Button","icon","Down","Up","size","onClick","prevState","ConditionsDetail","conditions","conditionOptions","_ref$conditionVerbs","conditionVerbs","_ref$hasEvent","hasEvent","conditionsList","allConditions","allConditionVerbs","_objectSpread","VERB_LABELS","getLogicOperator","joinType","renderConditionValues","condition","conditionOption","_condition$metadata$v","_condition$metadata$v2","Tooltip","content","renderCondition","_allConditionVerbs$co","field","conditionVerb","verb","id","EventsDetail","_currentPerformer$lab","events","performer","eventNames","allEvents","eventOptions","event","currentPerformer","options","verbs","RulePreview","isLoading","ruleDetails","isOpen","onClose","_useUtilityStore","useUtilityStore","store","moreActionDropdownItems","showPreviewPane","shallow","Pane","Spinner","Header","MoreDropdown","dropdownProps","strategy","menuItems","Body","description","entity","isNotEmpty"],"mappings":"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"}
@@ -17,7 +17,7 @@ var reactI18next = require('react-i18next');
17
17
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
18
18
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
19
19
  var i18next = require('i18next');
20
- var dompurify = require('dompurify');
20
+ var Editor = require('@bigbinary/neeto-editor/Editor');
21
21
  var Input = require('@bigbinary/neetoui/Input');
22
22
  var Label = require('@bigbinary/neetoui/Label');
23
23
  var jsxRuntime = require('react/jsx-runtime');
@@ -25,6 +25,7 @@ var jsxRuntime = require('react/jsx-runtime');
25
25
  var Action = function Action(_ref) {
26
26
  var id = _ref.id,
27
27
  label = _ref.label,
28
+ setFieldValue = _ref.setFieldValue,
28
29
  value = _ref.value,
29
30
  _ref$richText = _ref.richText,
30
31
  richText = _ref$richText === void 0 ? false : _ref$richText;
@@ -33,10 +34,10 @@ var Action = function Action(_ref) {
33
34
  className: "mb-4 space-y-2",
34
35
  children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
35
36
  children: label
36
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
37
- className: "border-radius trix-content neeto-ui-bg-gray-100 cursor-not-allowed whitespace-pre-wrap border p-3",
38
- dangerouslySetInnerHTML: {
39
- __html: dompurify.sanitize(value.replace(/\n/g, ""))
37
+ }), /*#__PURE__*/jsxRuntime.jsx(Editor, {
38
+ initialValue: value,
39
+ onChange: function onChange(newValue) {
40
+ return setFieldValue(id, newValue);
40
41
  }
41
42
  })]
42
43
  }, id);
@@ -96,12 +97,14 @@ var renderDefaultAction = function renderDefaultAction(_ref2) {
96
97
  var id = _ref2.id,
97
98
  name = _ref2.name,
98
99
  displayValue = _ref2.displayValue,
100
+ setFieldValue = _ref2.setFieldValue,
99
101
  trixBody = _ref2.trixBody;
100
102
  var label = i18next.t(CANNED_RESPONSE_ACTION_LABELS[name]);
101
103
  if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(name)) {
102
104
  return /*#__PURE__*/jsxRuntime.jsx(Action, {
103
105
  id: id,
104
106
  label: label,
107
+ setFieldValue: setFieldValue,
105
108
  richText: true,
106
109
  value: trixBody
107
110
  });
@@ -116,7 +119,8 @@ var renderCustomAction = function renderCustomAction(_ref3) {
116
119
  var id = _ref3.id,
117
120
  actionableId = _ref3.actionableId,
118
121
  displayValue = _ref3.displayValue,
119
- actionOptions = _ref3.actionOptions;
122
+ actionOptions = _ref3.actionOptions,
123
+ setFieldValue = _ref3.setFieldValue;
120
124
  var actionName = "ticket_field_".concat(actionableId);
121
125
  var actionOption = neetoCist.findBy({
122
126
  value: actionName
@@ -131,6 +135,7 @@ var renderCustomAction = function renderCustomAction(_ref3) {
131
135
  return /*#__PURE__*/jsxRuntime.jsx(Action, {
132
136
  id: id,
133
137
  label: label,
138
+ setFieldValue: setFieldValue,
134
139
  richText: isRichText,
135
140
  value: actionValue
136
141
  });
@@ -173,6 +178,7 @@ var renderAction = function renderAction(_ref6) {
173
178
  displayValue = _ref6.displayValue,
174
179
  _ref6$actionOptions = _ref6.actionOptions,
175
180
  actionOptions = _ref6$actionOptions === void 0 ? [] : _ref6$actionOptions,
181
+ setFieldValue = _ref6.setFieldValue,
176
182
  _ref6$trixBody = _ref6.trixBody,
177
183
  trixBody = _ref6$trixBody === void 0 ? "" : _ref6$trixBody;
178
184
  var isCustomAction = name === ACTION_OPTIONS.assignTicketFieldValue;
@@ -180,11 +186,13 @@ var renderAction = function renderAction(_ref6) {
180
186
  id: id,
181
187
  actionableId: actionableId,
182
188
  displayValue: displayValue,
183
- actionOptions: actionOptions
189
+ actionOptions: actionOptions,
190
+ setFieldValue: setFieldValue
184
191
  }) : renderDefaultAction({
185
192
  id: id,
186
193
  name: name,
187
194
  displayValue: displayValue,
195
+ setFieldValue: setFieldValue,
188
196
  trixBody: trixBody
189
197
  });
190
198
  };
@@ -232,6 +240,7 @@ var Body = function Body(_ref) {
232
240
  cannedResponse = _ref.cannedResponse,
233
241
  dropdownList = _ref.dropdownList,
234
242
  isLoading = _ref.isLoading,
243
+ setFieldValue = _ref.setFieldValue,
235
244
  variables = _ref.variables;
236
245
  var _useTranslation = reactI18next.useTranslation(),
237
246
  t = _useTranslation.t;
@@ -250,7 +259,8 @@ var Body = function Body(_ref) {
250
259
  className: "overflow-y-auto p-4",
251
260
  children: ramda.not(cannedResponse) ? t("neetoRules.common.preview") : (_cannedResponse$actio = cannedResponse.actions) === null || _cannedResponse$actio === void 0 ? void 0 : _cannedResponse$actio.map(function (action) {
252
261
  return renderAction(_objectSpread(_objectSpread({}, action), {}, {
253
- actionOptions: actionOptions
262
+ actionOptions: actionOptions,
263
+ setFieldValue: setFieldValue
254
264
  }));
255
265
  })
256
266
  });
@@ -310,11 +320,12 @@ var CannedResponsesPane = function CannedResponsesPane(_ref) {
310
320
  return _ref4.apply(this, arguments);
311
321
  };
312
322
  }();
313
- var handleSubmit = function handleSubmit() {
314
- return onApply({
323
+ var handleSubmit = function handleSubmit(values) {
324
+ onApply({
315
325
  cannedResponse: cannedResponse,
316
326
  setCannedResponse: setCannedResponse,
317
- onSettled: onCancel
327
+ onSettled: onCancel,
328
+ updatedValues: ramda.omit(["cannedResponse"], values)
318
329
  });
319
330
  };
320
331
  var handleCancel = function handleCancel() {
@@ -367,6 +378,7 @@ var CannedResponsesPane = function CannedResponsesPane(_ref) {
367
378
  actionNameOptions: actionNameOptions,
368
379
  cannedResponse: cannedResponse,
369
380
  dropdownList: dropdownList,
381
+ setFieldValue: setFieldValue,
370
382
  variables: variables,
371
383
  isLoading: isLoadingPreview
372
384
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"CannedResponsesPane.js","sources":["../../app/javascript/src/components/CannedResponsesPane/Action.jsx","../../app/javascript/src/components/CannedResponsesPane/constants.js","../../app/javascript/src/components/CannedResponsesPane/utils.jsx","../../app/javascript/src/components/CannedResponsesPane/Body.jsx","../../app/javascript/src/components/CannedResponsesPane/index.jsx"],"sourcesContent":["import { sanitize } from \"dompurify\";\nimport { Input, Label } from \"neetoui\";\n\nconst Action = ({ id, label, value, richText = false }) => {\n if (richText) {\n return (\n <div className=\"mb-4 space-y-2\" key={id}>\n <Label>{label}</Label>\n <div\n className=\"border-radius trix-content neeto-ui-bg-gray-100 cursor-not-allowed whitespace-pre-wrap border p-3\"\n dangerouslySetInnerHTML={{\n __html: sanitize(value.replace(/\\n/g, \"\")),\n }}\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\";\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 { 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 = ({ id, name, displayValue, trixBody }) => {\n const label = t(CANNED_RESPONSE_ACTION_LABELS[name]);\n\n if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(name)) {\n return <Action {...{ id, label }} richText value={trixBody} />;\n }\n\n return <Action {...{ id, label }} value={displayValue} />;\n};\n\nconst renderCustomAction = ({\n id,\n actionableId,\n displayValue,\n actionOptions,\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 === \"textarea\";\n\n return (\n <Action {...{ id, label }} richText={isRichText} value={actionValue} />\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 trixBody = \"\",\n}) => {\n const isCustomAction = name === ACTION_OPTIONS.assignTicketFieldValue;\n\n return isCustomAction\n ? renderCustomAction({\n id,\n actionableId,\n displayValue,\n actionOptions,\n })\n : renderDefaultAction({ id, name, displayValue, 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 \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildActionOptions, renderAction } from \"./utils\";\n\nconst Body = ({\n actionNameOptions,\n cannedResponse,\n dropdownList,\n isLoading,\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 return (\n <div className=\"overflow-y-auto p-4\">\n {not(cannedResponse)\n ? t(\"neetoRules.common.preview\")\n : cannedResponse.actions?.map(action =>\n renderAction({ ...action, actionOptions })\n )}\n </div>\n );\n};\nexport default Body;\n","import { useRef, useState } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { isPresent, toLabelAndValue } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Select } from \"neetoui/formik\";\nimport { 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 = () =>\n onApply({ cannedResponse, setCannedResponse, onSettled: onCancel });\n\n const handleCancel = () => {\n onCancel();\n setCannedResponse(null);\n };\n\n return (\n <Pane\n {...{ initialFocusRef }}\n isOpen={isCannedResponsePaneOpen}\n onClose={handleCancel}\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.cannedResponses.title\", PLURAL)}\n </Typography>\n </Pane.Header>\n <Formik\n initialValues={{ cannedResponse: toLabelAndValue(null) }}\n onSubmit={handleSubmit}\n >\n {({ setFieldValue, isSubmitting }) => (\n <Form>\n <Pane.Body>\n <div className=\"flex w-full flex-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 <Typography style=\"body2\">\n {t(\"neetoRules.common.preview\")}\n </Typography>\n <Body\n {...{\n actionNameOptions,\n cannedResponse,\n dropdownList,\n variables,\n }}\n isLoading={isLoadingPreview}\n />\n </div>\n )}\n </div>\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isSubmitting || isLoadingPreview}\n submitButtonProps={{ label: t(\"neetoRules.common.apply\") }}\n />\n </Pane.Footer>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default CannedResponsesPane;\n"],"names":["Action","_ref","id","label","value","_ref$richText","richText","_jsxs","className","children","_jsx","Label","dangerouslySetInnerHTML","__html","sanitize","replace","_createElement","Input","disabled","key","CANNED_RESPONSE_INPUT_ACTION_NAMES","CANNED_RESPONSE_RICH_TEXT_ACTION_NAME","CANNED_RESPONSE_ACTION_LABELS","concat","reduce","labelObject","actionName","_objectSpread","_defineProperty","ACTION_OPTIONS","addNote","addCommentOrReply","addTags","removeTags","changePriority","changeStatus","assignAgent","assignGroup","assignTicketFieldValue","ACTION_TYPES_MAP","single_option","multi_option","checkbox","integer","DEFAULT_CHECKBOX_OPTIONS","t","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$actio","cannedResponse","dropdownList","isLoading","_useTranslation","useTranslation","Spinner","not","actions","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","handleCancel","Pane","isOpen","onClose","Header","Typography","style","weight","PLURAL","Formik","initialValues","toLabelAndValue","onSubmit","setFieldValue","isSubmitting","Form","Select","isSearchable","ref","onChange","isPresent","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
1
+ {"version":3,"file":"CannedResponsesPane.js","sources":["../../app/javascript/src/components/CannedResponsesPane/Action.jsx","../../app/javascript/src/components/CannedResponsesPane/constants.js","../../app/javascript/src/components/CannedResponsesPane/utils.jsx","../../app/javascript/src/components/CannedResponsesPane/Body.jsx","../../app/javascript/src/components/CannedResponsesPane/index.jsx"],"sourcesContent":["import { Editor } from \"neetoeditor\";\nimport { Input, Label } from \"neetoui\";\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\";\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 { 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 === \"textarea\";\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 \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\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 return (\n <div className=\"overflow-y-auto p-4\">\n {not(cannedResponse)\n ? t(\"neetoRules.common.preview\")\n : cannedResponse.actions?.map(action =>\n renderAction({ ...action, actionOptions, setFieldValue })\n )}\n </div>\n );\n};\nexport default Body;\n","import { useRef, useState } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { isPresent, toLabelAndValue } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Select } from \"neetoui/formik\";\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 <Pane\n {...{ initialFocusRef }}\n isOpen={isCannedResponsePaneOpen}\n onClose={handleCancel}\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.cannedResponses.title\", PLURAL)}\n </Typography>\n </Pane.Header>\n <Formik\n initialValues={{ cannedResponse: toLabelAndValue(null) }}\n onSubmit={handleSubmit}\n >\n {({ setFieldValue, isSubmitting }) => (\n <Form>\n <Pane.Body>\n <div className=\"flex w-full flex-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 <Typography style=\"body2\">\n {t(\"neetoRules.common.preview\")}\n </Typography>\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 </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isSubmitting || isLoadingPreview}\n submitButtonProps={{ label: t(\"neetoRules.common.apply\") }}\n />\n </Pane.Footer>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default CannedResponsesPane;\n"],"names":["Action","_ref","id","label","setFieldValue","value","_ref$richText","richText","_jsxs","className","children","_jsx","Label","Editor","initialValue","onChange","newValue","_createElement","Input","disabled","key","replace","CANNED_RESPONSE_INPUT_ACTION_NAMES","CANNED_RESPONSE_RICH_TEXT_ACTION_NAME","CANNED_RESPONSE_ACTION_LABELS","concat","reduce","labelObject","actionName","_objectSpread","_defineProperty","ACTION_OPTIONS","addNote","addCommentOrReply","addTags","removeTags","changePriority","changeStatus","assignAgent","assignGroup","assignTicketFieldValue","ACTION_TYPES_MAP","single_option","multi_option","checkbox","integer","DEFAULT_CHECKBOX_OPTIONS","t","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$actio","cannedResponse","dropdownList","isLoading","_useTranslation","useTranslation","Spinner","not","actions","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","Pane","isOpen","onClose","Header","Typography","style","weight","PLURAL","Formik","initialValues","toLabelAndValue","onSubmit","isSubmitting","Form","Select","isSearchable","ref","isPresent","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
@@ -242,7 +242,7 @@ var RulesReorder = function RulesReorder(_ref) {
242
242
  }
243
243
  }, {
244
244
  onSuccess: function onSuccess() {
245
- onReorderSuccess === null || onReorderSuccess === void 0 ? void 0 : onReorderSuccess();
245
+ onReorderSuccess === null || onReorderSuccess === void 0 || onReorderSuccess();
246
246
  onClose();
247
247
  }
248
248
  });
@@ -480,7 +480,7 @@ var getColumnData = function getColumnData(_ref3) {
480
480
  }, {
481
481
  title: i18next.t("neetoRules.labels.active"),
482
482
  key: "active",
483
- width: 100,
483
+ width: 140,
484
484
  align: "center",
485
485
  render: function render(_, rule) {
486
486
  return /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -537,7 +537,9 @@ var RulesTable = function RulesTable(_ref) {
537
537
  _ref$allowCloning = _ref.allowCloning,
538
538
  allowCloning = _ref$allowCloning === void 0 ? true : _ref$allowCloning,
539
539
  _ref$hasUnfilteredRul = _ref.hasUnfilteredRules,
540
- hasUnfilteredRules = _ref$hasUnfilteredRul === void 0 ? true : _ref$hasUnfilteredRul;
540
+ hasUnfilteredRules = _ref$hasUnfilteredRul === void 0 ? true : _ref$hasUnfilteredRul,
541
+ _ref$payloadKey = _ref.payloadKey,
542
+ payloadKey = _ref$payloadKey === void 0 ? "rule" : _ref$payloadKey;
541
543
  var _useQueryParams = reactUtils.useQueryParams(),
542
544
  _useQueryParams$searc = _useQueryParams.searchTerm,
543
545
  searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
@@ -564,11 +566,9 @@ var RulesTable = function RulesTable(_ref) {
564
566
  isDeleting = _useDeleteAutomationR.isPending;
565
567
  var handleChangeStatus = function handleChangeStatus(event, id) {
566
568
  var status = event.target.checked ? STATUS_KEYS.ENABLED : STATUS_KEYS.DISABLED;
567
- var payload = {
568
- rule: {
569
- status: status
570
- }
571
- };
569
+ var payload = _defineProperty({}, payloadKey, {
570
+ status: status
571
+ });
572
572
  updateRule({
573
573
  id: id,
574
574
  url: url,
@@ -580,11 +580,11 @@ var RulesTable = function RulesTable(_ref) {
580
580
  });
581
581
  };
582
582
  var handleCloneSuccess = function handleCloneSuccess() {
583
- onCloneSuccess === null || onCloneSuccess === void 0 ? void 0 : onCloneSuccess();
583
+ onCloneSuccess === null || onCloneSuccess === void 0 || onCloneSuccess();
584
584
  hidePreviewPane();
585
585
  };
586
586
  var handleDeleteSuccess = function handleDeleteSuccess() {
587
- onDeleteSuccess === null || onDeleteSuccess === void 0 ? void 0 : onDeleteSuccess();
587
+ onDeleteSuccess === null || onDeleteSuccess === void 0 || onDeleteSuccess();
588
588
  hidePreviewPane();
589
589
  setSelectedRule(null);
590
590
  };
@@ -715,7 +715,7 @@ var NeetoRules = function NeetoRules(_ref) {
715
715
  _useState2 = _slicedToArray(_useState, 2),
716
716
  isReorderPaneOpen = _useState2[0],
717
717
  setIsReorderPaneOpen = _useState2[1];
718
- var helpDocUrl = helpPopoverProps === null || helpPopoverProps === void 0 ? void 0 : (_helpPopoverProps$hel = helpPopoverProps.helpLinkProps) === null || _helpPopoverProps$hel === void 0 ? void 0 : _helpPopoverProps$hel.href;
718
+ var helpDocUrl = helpPopoverProps === null || helpPopoverProps === void 0 || (_helpPopoverProps$hel = helpPopoverProps.helpLinkProps) === null || _helpPopoverProps$hel === void 0 ? void 0 : _helpPopoverProps$hel.href;
719
719
  var _useState3 = react.useState(DEFAULT_INIT_PAGE),
720
720
  _useState4 = _slicedToArray(_useState3, 2),
721
721
  page = _useState4[0],
@@ -757,9 +757,9 @@ var NeetoRules = function NeetoRules(_ref) {
757
757
  }, rulesTableProps)), {}, {
758
758
  allowCloning: (_cloneRule$allowed = cloneRule === null || cloneRule === void 0 ? void 0 : cloneRule.allowed) !== null && _cloneRule$allowed !== void 0 ? _cloneRule$allowed : true,
759
759
  isLoading: isLoading || isFetching,
760
- onCloneSuccess: cloneRule === null || cloneRule === void 0 ? void 0 : (_cloneRule$onSuccess = cloneRule.onSuccess) === null || _cloneRule$onSuccess === void 0 ? void 0 : _cloneRule$onSuccess.callback,
761
- onDeleteSuccess: deleteRule === null || deleteRule === void 0 ? void 0 : (_deleteRule$onSuccess = deleteRule.onSuccess) === null || _deleteRule$onSuccess === void 0 ? void 0 : _deleteRule$onSuccess.callback,
762
- onUpdateSuccess: updateRule === null || updateRule === void 0 ? void 0 : (_updateRule$onSuccess = updateRule.onSuccess) === null || _updateRule$onSuccess === void 0 ? void 0 : _updateRule$onSuccess.callback
760
+ onCloneSuccess: cloneRule === null || cloneRule === void 0 || (_cloneRule$onSuccess = cloneRule.onSuccess) === null || _cloneRule$onSuccess === void 0 ? void 0 : _cloneRule$onSuccess.callback,
761
+ onDeleteSuccess: deleteRule === null || deleteRule === void 0 || (_deleteRule$onSuccess = deleteRule.onSuccess) === null || _deleteRule$onSuccess === void 0 ? void 0 : _deleteRule$onSuccess.callback,
762
+ onUpdateSuccess: updateRule === null || updateRule === void 0 || (_updateRule$onSuccess = updateRule.onSuccess) === null || _updateRule$onSuccess === void 0 ? void 0 : _updateRule$onSuccess.callback
763
763
  })), allowReordering && !isLoading && /*#__PURE__*/jsxRuntime.jsx(RulesReorder, {
764
764
  totalCount: totalCount,
765
765
  url: url,
@@ -767,7 +767,7 @@ var NeetoRules = function NeetoRules(_ref) {
767
767
  onClose: function onClose() {
768
768
  return setIsReorderPaneOpen(false);
769
769
  },
770
- onReorderSuccess: reorderRules === null || reorderRules === void 0 ? void 0 : (_reorderRules$onSucce = reorderRules.onSuccess) === null || _reorderRules$onSucce === void 0 ? void 0 : _reorderRules$onSucce.callback
770
+ onReorderSuccess: reorderRules === null || reorderRules === void 0 || (_reorderRules$onSucce = reorderRules.onSuccess) === null || _reorderRules$onSucce === void 0 ? void 0 : _reorderRules$onSucce.callback
771
771
  })]
772
772
  });
773
773
  };