@bigbinary/neeto-message-templates-frontend 2.0.12 → 2.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +36 -3
  2. package/dist/.ready +1 -1
  3. package/dist/ApiTemplates.js +4 -2
  4. package/dist/ApiTemplates.js.map +1 -1
  5. package/dist/MessageTemplates.js +35 -8
  6. package/dist/MessageTemplates.js.map +1 -1
  7. package/dist/SendMessagePane.js +9 -2
  8. package/dist/SendMessagePane.js.map +1 -1
  9. package/dist/SendToApiPane.js +4 -2
  10. package/dist/SendToApiPane.js.map +1 -1
  11. package/dist/cjs/ApiTemplates.js +4 -2
  12. package/dist/cjs/ApiTemplates.js.map +1 -1
  13. package/dist/cjs/MessageTemplates.js +34 -7
  14. package/dist/cjs/MessageTemplates.js.map +1 -1
  15. package/dist/cjs/SendMessagePane.js +9 -2
  16. package/dist/cjs/SendMessagePane.js.map +1 -1
  17. package/dist/cjs/SendToApiPane.js +4 -2
  18. package/dist/cjs/SendToApiPane.js.map +1 -1
  19. package/dist/cjs/index.js +1 -1
  20. package/dist/cjs/v2/ApiTemplates.js +4 -2
  21. package/dist/cjs/v2/ApiTemplates.js.map +1 -1
  22. package/dist/cjs/v2/MessageTemplates.js +31 -7
  23. package/dist/cjs/v2/MessageTemplates.js.map +1 -1
  24. package/dist/cjs/v2/SendMessagePane.js +9 -3
  25. package/dist/cjs/v2/SendMessagePane.js.map +1 -1
  26. package/dist/cjs/v2/SendToApiPane.js +4 -2
  27. package/dist/cjs/v2/SendToApiPane.js.map +1 -1
  28. package/dist/cjs/v2/index.js +1 -1
  29. package/dist/index.js +1 -1
  30. package/dist/v2/ApiTemplates.js +4 -2
  31. package/dist/v2/ApiTemplates.js.map +1 -1
  32. package/dist/v2/MessageTemplates.js +32 -8
  33. package/dist/v2/MessageTemplates.js.map +1 -1
  34. package/dist/v2/SendMessagePane.js +9 -3
  35. package/dist/v2/SendMessagePane.js.map +1 -1
  36. package/dist/v2/SendToApiPane.js +4 -2
  37. package/dist/v2/SendToApiPane.js.map +1 -1
  38. package/dist/v2/index.js +1 -1
  39. package/package.json +3 -3
  40. package/types.d.ts +8 -0
@@ -7,7 +7,7 @@ import FiltersBar from '@bigbinary/neeto-filters-frontend/v2/Bar';
7
7
  import Container from '@bigbinary/neeto-molecules/v2/Container';
8
8
  import NeetoHeader from '@bigbinary/neeto-molecules/v2/Header';
9
9
  import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
10
- import { equals, prop, includes, pick, omit, mergeLeft, isEmpty, assoc } from 'ramda';
10
+ import { equals, prop, includes, pick, mergeAll, omit, mergeLeft, isEmpty, assoc } from 'ramda';
11
11
  import { useTranslation, Trans } from 'react-i18next';
12
12
  import { u as useTemplateStore } from '../adaptive_input-BpXdshqg.js';
13
13
  import { b as DEFAULT_EDITOR_ROW_COUNT, D as DEFAULT_PAGE_PROPERTIES, M as MESSAGE_TEMPLATES, a as MESSAGE_TYPES } from '../constants-CX95xIS-.js';
@@ -17,10 +17,10 @@ import { a as useUpdateTemplate, b as useFetchTemplates, u as useCreateTemplate,
17
17
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
18
18
  import { Textarea, Input, Form as Form$1, ActionBlock } from '@bigbinary/neeto-atoms/formik';
19
19
  import FormikEditor from '@bigbinary/neeto-editor/v2/FormikEditor';
20
+ import * as yup from 'yup';
20
21
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
21
22
  import { useFormikContext } from 'formik';
22
23
  import { isPhoneNumberValid } from '@bigbinary/neeto-molecules/v2/PhoneNumber';
23
- import * as yup from 'yup';
24
24
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
25
25
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
26
26
  import { useQueryParams } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
@@ -368,6 +368,9 @@ var Form = function Form(_ref) {
368
368
  templateVariables = _ref.templateVariables,
369
369
  isTestingTemplateDisabled = _ref.isTestingTemplateDisabled,
370
370
  customFields = _ref.customFields,
371
+ customFieldsBelowBody = _ref.customFieldsBelowBody,
372
+ customFieldsInitialValues = _ref.customFieldsInitialValues,
373
+ customFieldsValidationSchema = _ref.customFieldsValidationSchema,
371
374
  onMutationSuccess = _ref.onMutationSuccess;
372
375
  var _useTranslation = useTranslation(),
373
376
  t = _useTranslation.t;
@@ -379,6 +382,8 @@ var Form = function Form(_ref) {
379
382
  _ref3 = _slicedToArray(_ref2, 2),
380
383
  TEMPLATE_INITIAL_VALUES = _ref3[0],
381
384
  TEMPLATE_FORM_SCHEMA = _ref3[1];
385
+ var updatedInitialValues = mergeAll([TEMPLATE_INITIAL_VALUES, customFieldsInitialValues]);
386
+ var updatedValidationSchema = yup.object().shape(_objectSpread$2(_objectSpread$2({}, TEMPLATE_FORM_SCHEMA === null || TEMPLATE_FORM_SCHEMA === void 0 ? void 0 : TEMPLATE_FORM_SCHEMA.fields), customFieldsValidationSchema === null || customFieldsValidationSchema === void 0 ? void 0 : customFieldsValidationSchema.fields));
382
387
  var handleSubmit = function handleSubmit(values) {
383
388
  var filteredValues = isEmailTemplate ? omit(["name", "testEmailAddress"], values) : omit(["name", "testPhoneNumber"], values);
384
389
  var payload = {
@@ -406,8 +411,8 @@ var Form = function Form(_ref) {
406
411
  className: "flex min-h-0 w-full flex-1 flex-col"
407
412
  },
408
413
  formikProps: {
409
- initialValues: TEMPLATE_INITIAL_VALUES,
410
- validationSchema: TEMPLATE_FORM_SCHEMA,
414
+ initialValues: updatedInitialValues,
415
+ validationSchema: updatedValidationSchema,
411
416
  validateOnBlur: true,
412
417
  validateOnChange: true,
413
418
  onSubmit: handleSubmit
@@ -434,7 +439,7 @@ var Form = function Form(_ref) {
434
439
  ref: editorRef,
435
440
  rows: DEFAULT_EDITOR_ROW_COUNT,
436
441
  variables: templateVariables
437
- }), isTestTemplateVisible && /*#__PURE__*/jsx(TestMessage, {
442
+ }), customFieldsBelowBody, isTestTemplateVisible && /*#__PURE__*/jsx(TestMessage, {
438
443
  customFields: customFields,
439
444
  handleSubmitTestTemplate: handleSubmitTestTemplate,
440
445
  isEmailTemplate: isEmailTemplate,
@@ -468,7 +473,11 @@ var AddEdit = function AddEdit(_ref) {
468
473
  templateVariables = _ref.templateVariables,
469
474
  isTestingTemplateDisabled = _ref.isTestingTemplateDisabled,
470
475
  customFields = _ref.customFields,
471
- onMutationSuccess = _ref.onMutationSuccess;
476
+ customFieldsBelowBody = _ref.customFieldsBelowBody,
477
+ customFieldsInitialValues = _ref.customFieldsInitialValues,
478
+ customFieldsValidationSchema = _ref.customFieldsValidationSchema,
479
+ onMutationSuccess = _ref.onMutationSuccess,
480
+ paneSize = _ref.paneSize;
472
481
  var initialFocusField = useRef(null);
473
482
  var isOpen = manageTemplatePane.isOpen,
474
483
  isEdit = manageTemplatePane.isEdit,
@@ -478,7 +487,7 @@ var AddEdit = function AddEdit(_ref) {
478
487
  isOpen: isOpen,
479
488
  onClose: onClose,
480
489
  initialFocusRef: initialFocusField,
481
- size: "large",
490
+ size: paneSize,
482
491
  children: [/*#__PURE__*/jsx(Sheet.Header, {
483
492
  children: /*#__PURE__*/jsx(Sheet.Title, {
484
493
  children: label
@@ -486,6 +495,9 @@ var AddEdit = function AddEdit(_ref) {
486
495
  }), /*#__PURE__*/jsx(Form, {
487
496
  createUpdateTemplate: createUpdateTemplate,
488
497
  customFields: customFields,
498
+ customFieldsBelowBody: customFieldsBelowBody,
499
+ customFieldsInitialValues: customFieldsInitialValues,
500
+ customFieldsValidationSchema: customFieldsValidationSchema,
489
501
  handleSubmitTestTemplate: handleSubmitTestTemplate,
490
502
  isEdit: isEdit,
491
503
  isTestMessageLoading: isTestMessageLoading,
@@ -701,10 +713,18 @@ var MessageTemplates = function MessageTemplates(_ref) {
701
713
  isTestingTemplateDisabled = _ref$isTestingTemplat === void 0 ? false : _ref$isTestingTemplat,
702
714
  _ref$manageTemplatesP = _ref.manageTemplatesPaneCustomFields,
703
715
  manageTemplatesPaneCustomFields = _ref$manageTemplatesP === void 0 ? null : _ref$manageTemplatesP,
716
+ _ref$customFieldsBelo = _ref.customFieldsBelowBody,
717
+ customFieldsBelowBody = _ref$customFieldsBelo === void 0 ? null : _ref$customFieldsBelo,
718
+ _ref$customFieldsInit = _ref.customFieldsInitialValues,
719
+ customFieldsInitialValues = _ref$customFieldsInit === void 0 ? {} : _ref$customFieldsInit,
720
+ _ref$customFieldsVali = _ref.customFieldsValidationSchema,
721
+ customFieldsValidationSchema = _ref$customFieldsVali === void 0 ? {} : _ref$customFieldsVali,
704
722
  _ref$onMutationSucces = _ref.onMutationSuccess,
705
723
  onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces,
706
724
  _ref$helpPopoverProps = _ref.helpPopoverProps,
707
- helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
725
+ helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
726
+ _ref$paneSize = _ref.paneSize,
727
+ paneSize = _ref$paneSize === void 0 ? "large" : _ref$paneSize;
708
728
  var _useState = useState(MESSAGE_TEMPLATE_INITIAL_STATE),
709
729
  _useState2 = _slicedToArray(_useState, 2),
710
730
  manageTemplatePane = _useState2[0],
@@ -816,12 +836,16 @@ var MessageTemplates = function MessageTemplates(_ref) {
816
836
  }), /*#__PURE__*/jsx(AddEdit, {
817
837
  addText: addText,
818
838
  createUpdateTemplate: createUpdateTemplate,
839
+ customFieldsBelowBody: customFieldsBelowBody,
840
+ customFieldsInitialValues: customFieldsInitialValues,
841
+ customFieldsValidationSchema: customFieldsValidationSchema,
819
842
  editText: editText,
820
843
  handleSubmitTestTemplate: handleSubmitTestTemplate,
821
844
  isTestMessageLoading: isTestMessageLoading,
822
845
  isTestingTemplateDisabled: isTestingTemplateDisabled,
823
846
  manageTemplatePane: manageTemplatePane,
824
847
  onMutationSuccess: onMutationSuccess,
848
+ paneSize: paneSize,
825
849
  shouldIncludeTestTemplate: shouldIncludeTestTemplate,
826
850
  templateVariables: templateVariables,
827
851
  customFields: manageTemplatesPaneCustomFields,
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTemplates.js","sources":["../../app/javascript/src/v2/components/MessageTemplates/constants.js","../../app/javascript/src/v2/components/MessageTemplates/List/constants.js","../../app/javascript/src/v2/components/MessageTemplates/List/utils.js","../../app/javascript/src/v2/components/MessageTemplates/List/RowActions.jsx","../../app/javascript/src/v2/components/MessageTemplates/utils.jsx","../../app/javascript/src/v2/components/commons/FormikAdaptiveInput.jsx","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/constants.js","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/TestMessage.jsx","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/Form.jsx","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/index.jsx","../../app/javascript/src/v2/components/MessageTemplates/hooks/useFilter.js","../../app/javascript/src/v2/components/MessageTemplates/hooks/useTemplates.js","../../app/javascript/src/v2/components/MessageTemplates/List/index.jsx","../../app/javascript/src/v2/components/MessageTemplates/index.jsx"],"sourcesContent":["export const MESSAGE_TEMPLATE_INITIAL_STATE = {\n isOpen: false,\n isEdit: false,\n isDelete: false,\n template: {},\n};\n","export const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\", STATUS: \"status\" };\n","import { t } from \"i18next\";\nimport { equals } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nexport const getMenuItems = ({\n handleDeleteTemplate,\n handleEditTemplate,\n handleMarkActiveInactive,\n status,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoMessageTemplate.template.edit\"),\n onClick: handleEditTemplate,\n \"data-testid\": \"message-template-edit-button\",\n },\n {\n key: MENU_ITEMS.STATUS,\n label: equals(status, \"active\")\n ? t(\"neetoMessageTemplate.template.markAsInactive\")\n : t(\"neetoMessageTemplate.template.markAsActive\"),\n onClick: () => handleMarkActiveInactive(status),\n \"data-testid\": \"message-template-status-button\",\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoMessageTemplate.template.delete\"),\n onClick: handleDeleteTemplate,\n \"data-testid\": \"message-template-delete-button\",\n },\n];\n","import MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { prop } from \"ramda\";\n\nimport { useUpdateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"v2/components/MessageTemplates/constants\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst RowActions = ({\n template,\n setManageTemplatePane,\n ownerId,\n onMutationSuccess,\n}) => {\n const { mutate: update } = useUpdateTemplate(ownerId);\n\n const { status, id } = template;\n\n const templateType = useTemplateStore(prop(\"templateType\"));\n\n const handleEditTemplate = () =>\n setManageTemplatePane({\n ...MESSAGE_TEMPLATE_INITIAL_STATE,\n isOpen: true,\n isEdit: true,\n template,\n });\n\n const handleDeleteTemplate = () =>\n setManageTemplatePane({\n ...MESSAGE_TEMPLATE_INITIAL_STATE,\n isDelete: true,\n template,\n });\n\n const handleMarkActiveInactive = activeState => {\n const status = activeState === \"active\" ? \"inactive\" : \"active\";\n update(\n { payload: { status, templateType }, id },\n { onSuccess: onMutationSuccess }\n );\n };\n\n return (\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": \"message-template-dropdown\",\n }}\n menuItems={getMenuItems({\n handleDeleteTemplate,\n handleEditTemplate,\n handleMarkActiveInactive,\n status,\n })}\n />\n );\n};\n\nexport default RowActions;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { hyphenate, truncate } from \"neetocist\";\n\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"./constants\";\nimport RowActions from \"./List/RowActions\";\n\nconst handleEditTemplate = (setManageTemplatePane, template) =>\n setManageTemplatePane({\n ...MESSAGE_TEMPLATE_INITIAL_STATE,\n isOpen: true,\n isEdit: true,\n template,\n });\n\nexport const renderSearchProps = (label, value) => ({\n className: \"w-52\",\n placeholder: t(\"neetoMessageTemplate.template.search\", {\n what: label,\n }),\n \"data-testid\": `${hyphenate(value)}-search-input`,\n});\n\n// These column definitions serve double duty, exactly as they did in v1: the\n// TanStack keys (`id`/`accessorKey`/`header`/`size`/`cell`) feed atoms'\n// DataTable, while the filter keys (`key`/`node`/`label`/`type`/`values`) feed\n// neetofilters via `useFilters`. Keep both sets in sync when editing.\nexport const buildTableColumnData = (\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n) => [\n {\n accessorKey: \"name\",\n id: \"name\",\n key: \"name\",\n node: \"name\",\n header: t(\"neetoMessageTemplate.template.name\"),\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n size: 200,\n cell: ({ row: { original: template } }) => (\n <div className=\"flex min-w-0 items-center justify-between gap-x-3\">\n <div className=\"min-w-0 flex-1\">\n <Button\n className=\"max-w-full text-start [&>span]:block [&>span]:min-w-0 [&>span]:truncate\"\n label={truncate(template.name, 100)}\n tooltipProps={{ content: template.name }}\n variant=\"link\"\n onClick={() => handleEditTemplate(setManageTemplatePane, template)}\n />\n </div>\n <RowActions\n {...{ onMutationSuccess, ownerId, setManageTemplatePane, template }}\n />\n </div>\n ),\n },\n {\n accessorKey: \"status\",\n id: \"status\",\n key: \"status\",\n node: \"status\",\n header: t(\"neetoMessageTemplate.template.active\"),\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: \"Yes\", value: \"active\" },\n { label: \"No\", value: \"inactive\" },\n ],\n cell: ({ getValue }) => (getValue() === \"active\" ? \"Yes\" : \"No\"),\n size: 180,\n },\n];\n","import { Textarea } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/adaptive_input.css\";\n\nconst FormikAdaptiveInput = ({ label, name, ...otherProps }) => {\n const { submitForm } = useFormikContext();\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n event.preventDefault();\n submitForm();\n };\n\n return (\n <Textarea\n {...{ label, name }}\n className=\"neeto-message-templates-nano-adaptive-input\"\n resize=\"none\"\n size=\"small\"\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n );\n};\n\nexport default FormikAdaptiveInput;\n","import { t } from \"i18next\";\nimport { isPhoneNumberValid } from \"neetomolecules/v2/PhoneNumber\";\nimport * as yup from \"yup\";\n\n// eslint-disable-next-line @bigbinary/neeto/file-name-and-export-name-standards\nexport const formatEditorContent = value =>\n value?.replaceAll(/<\\/?(?!img)\\w*\\b[^>]*>/gi, \"\").trim();\n\nexport const EMAIL_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n subject: \"\",\n body: \"\",\n testEmailAddress: \"\",\n};\n\nexport const SMS_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n body: \"\",\n testPhoneNumber: \"\",\n};\n\nexport const EMAIL_TEMPLATE_FORM_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n subject: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.subjectPresence\")),\n body: yup\n .string()\n .test(\n \"name\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n});\n\nexport const SMS_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n body: yup\n .string()\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n});\n\nexport const SEND_TEST_EMAIL_SCHEMA = yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.emailAddressPresence\"))\n .email(\n t(\"neetoMessageTemplate.template.validation.emailAddressFormatValidation\")\n );\n\nexport const PHONE_NUMBER_VALIDATION_SCHEMA = yup\n .string()\n .test(\n \"testPhoneNumber\",\n t(\"neetoMessageTemplate.template.validation.validPhoneNumber\"),\n value => isPhoneNumberValid(value)\n );\n","import { useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PHONE_NUMBER_VALIDATION_SCHEMA,\n SEND_TEST_EMAIL_SCHEMA,\n} from \"./constants\";\n\nconst TestMessage = ({\n isEmailTemplate,\n handleSubmitTestTemplate,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n customFields,\n}) => {\n const [isTestingTemplateRestricted, setIsTestingTemplateRestricted] =\n useState(true);\n const { values, isValid } = useFormikContext();\n\n const { t } = useTranslation();\n\n const handleTestValidation = async event => {\n const {\n target: { value },\n } = event;\n try {\n isEmailTemplate\n ? await SEND_TEST_EMAIL_SCHEMA.validate(value)\n : await PHONE_NUMBER_VALIDATION_SCHEMA.validate(value);\n setIsTestingTemplateRestricted(false);\n } catch {\n setIsTestingTemplateRestricted(true);\n }\n };\n\n const isTestTemplateButtonDisabled =\n !isValid ||\n isTestingTemplateDisabled ||\n isTestingTemplateRestricted ||\n isTestMessageLoading;\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\") return;\n event.stopPropagation();\n event.preventDefault();\n !isTestTemplateButtonDisabled && handleSubmitTestTemplate(values);\n };\n\n return (\n <>\n <div className=\"start-0 flex items-start gap-x-2\">\n <Input\n data-testid=\"message-template-test-input\"\n {...(!isEmailTemplate && {\n helpText: t(\"neetoMessageTemplate.template.phoneNumberHelpText\"),\n })}\n name={isEmailTemplate ? \"testEmailAddress\" : \"testPhoneNumber\"}\n placeholder={t(\n isEmailTemplate\n ? \"neetoMessageTemplate.template.emailAddress\"\n : \"neetoMessageTemplate.template.phoneNumber\"\n )}\n onKeyDown={handleKeyDown}\n onKeyUp={handleTestValidation}\n />\n <Button\n data-testid=\"message-template-test-button\"\n disabled={isTestTemplateButtonDisabled}\n loading={isTestMessageLoading}\n type=\"button\"\n variant=\"default\"\n label={\n isEmailTemplate\n ? t(\"neetoMessageTemplate.template.sendTestEmail\")\n : t(\"neetoMessageTemplate.template.sendTestSms\")\n }\n onClick={() => handleSubmitTestTemplate(values)}\n />\n </div>\n {!isEmailTemplate && (\n <Typography variant=\"body2\">\n {t(\"neetoMessageTemplate.sendMessage.testSmsNote\")}\n </Typography>\n )}\n {customFields}\n </>\n );\n};\n\nexport default TestMessage;\n","import { useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n Form as NeetoUIForm,\n Input,\n ActionBlock,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { FormikEditor } from \"neetoeditor/v2\";\nimport { equals, includes, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useTemplateStore from \"src/stores/useTemplateStore\";\nimport FormikAdaptiveInput from \"v2/components/commons/FormikAdaptiveInput\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"v2/components/constants\";\n\nimport {\n EMAIL_TEMPLATE_FORM_SCHEMA,\n EMAIL_TEMPLATE_INITIAL_VALUES,\n SMS_TEMPLATE_FORM_VALIDATION_SCHEMA,\n SMS_TEMPLATE_INITIAL_VALUES,\n} from \"./constants\";\nimport TestMessage from \"./TestMessage\";\n\nconst Form = ({\n onClose,\n isEdit,\n template = {},\n createUpdateTemplate,\n setInitialFocusField,\n handleSubmitTestTemplate,\n isTestMessageLoading,\n shouldIncludeTestTemplate,\n templateVariables,\n isTestingTemplateDisabled,\n customFields,\n onMutationSuccess,\n}) => {\n const { t } = useTranslation();\n\n const editorRef = useRef(null);\n const templateType = useTemplateStore(prop(\"templateType\"));\n const isEmailTemplate = equals(templateType, \"email_template\");\n const isTestTemplateVisible =\n includes(templateType, [\"sms_template\", \"email_template\"]) &&\n shouldIncludeTestTemplate;\n\n const [TEMPLATE_INITIAL_VALUES, TEMPLATE_FORM_SCHEMA] = isEmailTemplate\n ? [\n {\n ...EMAIL_TEMPLATE_INITIAL_VALUES,\n ...pick([\"name\", \"body\", \"subject\", \"active\"], template),\n },\n EMAIL_TEMPLATE_FORM_SCHEMA,\n ]\n : [\n {\n ...SMS_TEMPLATE_INITIAL_VALUES,\n ...pick([\"name\", \"body\", \"active\"], template),\n },\n SMS_TEMPLATE_FORM_VALIDATION_SCHEMA,\n ];\n\n const handleSubmit = values => {\n const filteredValues = isEmailTemplate\n ? omit([\"name\", \"testEmailAddress\"], values)\n : omit([\"name\", \"testPhoneNumber\"], values);\n\n const payload = {\n templateType,\n name: values.name,\n entity: mergeLeft({ id: template.id }, filteredValues),\n };\n\n createUpdateTemplate(\n { isEdit, payload, id: template.id },\n {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n onClose();\n },\n }\n );\n };\n\n const messageBodyLabel = isEmailTemplate\n ? t(\"neetoMessageTemplate.template.emailBody\")\n : t(\"neetoMessageTemplate.template.smsBody\");\n\n return (\n <NeetoUIForm\n formProps={{\n noValidate: true,\n className: \"flex min-h-0 w-full flex-1 flex-col\",\n }}\n formikProps={{\n initialValues: TEMPLATE_INITIAL_VALUES,\n validationSchema: TEMPLATE_FORM_SCHEMA,\n validateOnBlur: true,\n validateOnChange: true,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex w-full flex-col gap-y-4 pb-6\">\n <Input\n required\n label={t(\"neetoMessageTemplate.template.templateName\")}\n name=\"name\"\n ref={setInitialFocusField}\n />\n {isEmailTemplate && (\n <FormikAdaptiveInput\n required\n label={t(\"neetoMessageTemplate.template.emailSubject\")}\n name=\"subject\"\n />\n )}\n <FormikEditor\n hideSlashCommands\n required\n contentClassName=\"max-h-40\"\n defaults={isEmailTemplate ? undefined : []}\n label={messageBodyLabel}\n name=\"body\"\n ref={editorRef}\n rows={DEFAULT_EDITOR_ROW_COUNT}\n variables={templateVariables}\n />\n {isTestTemplateVisible && (\n <TestMessage\n {...{\n customFields,\n handleSubmitTestTemplate,\n isEmailTemplate,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n }}\n />\n )}\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"message-template-reset-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"message-template-submit-button\",\n }}\n />\n </Sheet.Footer>\n </NeetoUIForm>\n );\n};\nexport default Form;\n","import { useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\n\nimport Form from \"./Form\";\n\nconst AddEdit = ({\n onClose,\n createUpdateTemplate,\n manageTemplatePane,\n isTestMessageLoading,\n handleSubmitTestTemplate,\n shouldIncludeTestTemplate,\n addText,\n editText,\n templateVariables,\n isTestingTemplateDisabled,\n customFields,\n onMutationSuccess,\n}) => {\n const initialFocusField = useRef(null);\n\n const { isOpen, isEdit, template } = manageTemplatePane;\n const label = isEdit ? editText : addText;\n\n return (\n <Sheet\n {...{ isOpen, onClose }}\n initialFocusRef={initialFocusField}\n size=\"large\"\n >\n <Sheet.Header>\n <Sheet.Title>{label}</Sheet.Title>\n </Sheet.Header>\n <Form\n {...{\n createUpdateTemplate,\n customFields,\n handleSubmitTestTemplate,\n isEdit,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n onClose,\n onMutationSuccess,\n shouldIncludeTestTemplate,\n template,\n templateVariables,\n }}\n setInitialFocusField={initialFocusField}\n />\n </Sheet>\n );\n};\n\nexport default AddEdit;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters/v2\";\nimport { pick, prop } from \"ramda\";\n\nimport { DEFAULT_PAGE_PROPERTIES } from \"v2/components/constants\";\nimport { buildTableColumnData } from \"v2/components/MessageTemplates/utils\";\n\nconst useFilters = () => {\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_PROPERTIES);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const filterColumns = buildTableColumnData()\n .filter(prop(\"node\"))\n .map(pick([\"key\", \"node\", \"label\", \"type\", \"values\"]));\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n setValue: noop,\n };\n\n const [filters, setFilters] = useState(() =>\n buildFiltersFromURL([...filterColumns, searchKeywordProps])\n );\n\n return {\n filterColumns,\n searchKeywordProps,\n searchTerm,\n filters,\n setFilters,\n pageProperties,\n setPageProperties,\n };\n};\nexport default useFilters;\n","import { isEmpty } from \"ramda\";\n\nimport {\n useCreateTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\nimport { MESSAGE_TEMPLATES } from \"v2/components/constants\";\n\nconst useTemplates = ({ type, ownerId, filters, pageProperties }) => {\n const { index: pageIndex, size: pageSize } = pageProperties;\n const templateParams = {\n page: pageIndex,\n pageSize,\n filters,\n templateType: MESSAGE_TEMPLATES[type].value,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n const {\n data: templatesData = {},\n isLoading: isLoadingTemplates,\n isFetching,\n } = useFetchTemplates(templateParams);\n\n const { mutate: create } = useCreateTemplate(ownerId);\n\n const { mutate: update } = useUpdateTemplate(ownerId);\n\n const createUpdateTemplate = ({ isEdit, payload, id = null }, options) =>\n isEdit ? update({ id, payload }, options) : create(payload, options);\n\n const isLoaderVisible = isLoadingTemplates || isFetching;\n\n return {\n templatesData,\n isLoading: isLoaderVisible,\n createUpdateTemplate,\n };\n};\n\nexport default useTemplates;\n","import { Alert, Button, DataTable, Empty } from \"@bigbinary/neeto-atoms\";\nimport { Mail, MessageSquareText } from \"lucide-react\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteTemplate } from \"hooks/reactQuery/useTemplatesApi\";\nimport { buildTableColumnData } from \"v2/components/MessageTemplates/utils\";\n\nconst List = ({\n setManageTemplatePane,\n templatesData,\n isLoading,\n manageTemplatePane,\n labelSingular,\n setPageProperties,\n pageProperties,\n label,\n addText,\n isFilterApplied,\n ownerId,\n type,\n onMutationSuccess,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n const { mutate: deleteTemplate, isPending: isDeleting } =\n useDeleteTemplate(ownerId);\n\n const { templates, totalCount } = templatesData;\n const { template, isDelete } = manageTemplatePane;\n const { index: pageIndex, size: pageSize } = pageProperties;\n const isSms = type === \"sms\";\n const typeLabelSingular = isSms ? labelSingular : labelSingular.toLowerCase();\n const emptyStateLabel = isSms ? label : label.toLowerCase();\n\n const noDataProps = {\n ...(!isFilterApplied && {\n primaryButtonProps: {\n label: addText,\n onClick: () => setManageTemplatePane(assoc(\"isOpen\", true)),\n },\n helpText: (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.linkToHelpArticle\"\n values={{ entity: label }}\n components={{\n Link: <Button href={helpDocUrl} target=\"_blank\" variant=\"link\" />,\n }}\n />\n ),\n }),\n icon: isSms ? MessageSquareText : Mail,\n title: isFilterApplied\n ? t(\"neetoMessageTemplate.template.filtersEmptyState\", {\n type: emptyStateLabel,\n })\n : t(\"neetoMessageTemplate.template.emptyState\", {\n type: emptyStateLabel,\n }),\n };\n\n const handleDelete = () => {\n deleteTemplate(template.id, {\n onSuccess: onMutationSuccess,\n onSettled: () => {\n setManageTemplatePane(assoc(\"isDelete\", false));\n },\n });\n };\n\n return (\n <>\n {!isEmpty(templates) ? (\n <DataTable\n {...{ pageSize, totalCount }}\n currentPage={pageIndex}\n data={templates}\n enableURLPagination={false}\n loading={isLoading}\n columns={buildTableColumnData(\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n )}\n onPageChange={index => setPageProperties({ index, size: pageSize })}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty {...noDataProps} />\n </div>\n )}\n <Alert\n isOpen={isDelete}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoMessageTemplate.template.delete\")}\n message={\n <Trans\n i18nKey=\"neetoMessageTemplate.template.templateDeleteConfirmation\"\n values={{ name: template.name }}\n />\n }\n title={t(\"neetoMessageTemplate.template.deleteTemplate\", {\n label: typeLabelSingular,\n })}\n onClose={() => setManageTemplatePane(assoc(\"isDelete\", false))}\n onSubmit={handleDelete}\n />\n </>\n );\n};\n\nexport default List;\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate, isNotEmpty, noop } from \"neetocist\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport Container from \"neetomolecules/v2/Container\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { assoc, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useTemplateStore from \"src/stores/useTemplateStore\";\nimport {\n DEFAULT_PAGE_PROPERTIES,\n MESSAGE_TEMPLATES,\n MESSAGE_TYPES,\n} from \"v2/components/constants\";\nimport { renderSearchProps } from \"v2/components/MessageTemplates/utils\";\n\nimport AddEdit from \"./AddEdit\";\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"./constants\";\nimport useFilters from \"./hooks/useFilter\";\nimport useTemplates from \"./hooks/useTemplates\";\nimport List from \"./List\";\n\nconst MessageTemplates = ({\n breadcrumbs = [],\n type = \"\",\n handleSubmitTestTemplate = noop,\n isTestMessageLoading = false,\n shouldIncludeTestTemplate = true,\n templateVariables = {},\n ownerId = \"\",\n isTestingTemplateDisabled = false,\n manageTemplatesPaneCustomFields = null,\n onMutationSuccess = noop,\n helpPopoverProps = {},\n}) => {\n const [manageTemplatePane, setManageTemplatePane] = useState(\n MESSAGE_TEMPLATE_INITIAL_STATE\n );\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const {\n searchKeywordProps,\n filterColumns,\n searchTerm,\n filters,\n setFilters,\n pageProperties,\n setPageProperties,\n } = useFilters();\n\n const { isLoading, templatesData, createUpdateTemplate } = useTemplates({\n type,\n ownerId,\n filters,\n pageProperties,\n });\n\n const setTemplateState = useTemplateStore(prop(\"setTemplateState\"));\n\n const { label, value, addText, labelSingular, editText } =\n MESSAGE_TEMPLATES[type];\n\n const isFilterApplied = isNotEmpty(filters) || isNotEmpty(searchTerm);\n\n const handleActionClick = () =>\n setManageTemplatePane({ ...MESSAGE_TEMPLATE_INITIAL_STATE, isOpen: true });\n\n const handleChange = filters => {\n setFilters(filters);\n setPageProperties(DEFAULT_PAGE_PROPERTIES);\n };\n\n const templatesCount = templatesData?.totalCount || 0;\n\n useEffect(() => {\n setTemplateState({ templateType: value });\n }, [value]);\n\n const shouldShowTemplatesCount =\n !isLoading && (isFilterApplied || templatesCount > 0);\n\n const helpDocUrl = helpPopoverProps?.helpLinkProps?.href || \"\";\n\n return (\n <Container className=\"pb-10\">\n <NeetoHeader\n {...{ breadcrumbs }}\n size=\"small\"\n title={label}\n actionBlock={\n <Button\n data-testid={`add-${hyphenate(value)}-button`}\n label={addText}\n onClick={handleActionClick}\n />\n }\n searchProps={\n shouldShowTemplatesCount && renderSearchProps(label, value)\n }\n titleHelpPopoverProps={\n helpPopoverProps && {\n ...helpPopoverProps,\n title: helpPopoverProps?.title || label,\n }\n }\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n shouldShowTemplatesCount && (\n <Typography variant=\"h6\">\n {t(\"neetoMessageTemplate.template.messageTemplatesWithCount\", {\n type: MESSAGE_TYPES[type],\n count: templatesCount,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <SubHeader.RightBlock\n dataProps={{\n totalCount: isFilterApplied ? null : templatesCount,\n }}\n filterProps={{\n columns: filterColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleChange,\n }}\n />\n }\n />\n <FiltersBar\n columns={filterColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleChange}\n />\n <List\n {...{\n addText,\n helpDocUrl,\n isFilterApplied,\n isLoading,\n label,\n labelSingular,\n manageTemplatePane,\n onMutationSuccess,\n ownerId,\n pageProperties,\n setManageTemplatePane,\n setPageProperties,\n templatesData,\n type,\n }}\n />\n <AddEdit\n {...{\n addText,\n createUpdateTemplate,\n editText,\n handleSubmitTestTemplate,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n manageTemplatePane,\n onMutationSuccess,\n shouldIncludeTestTemplate,\n templateVariables,\n }}\n customFields={manageTemplatesPaneCustomFields}\n onClose={() => setManageTemplatePane(assoc(\"isOpen\", false))}\n />\n </Container>\n );\n};\n\nexport default MessageTemplates;\n"],"names":["MESSAGE_TEMPLATE_INITIAL_STATE","isOpen","isEdit","isDelete","template","MENU_ITEMS","EDIT","DELETE","STATUS","getMenuItems","_ref","handleDeleteTemplate","handleEditTemplate","handleMarkActiveInactive","status","key","label","t","onClick","equals","RowActions","setManageTemplatePane","ownerId","onMutationSuccess","_useUpdateTemplate","useUpdateTemplate","update","mutate","id","templateType","useTemplateStore","prop","_objectSpread","activeState","payload","onSuccess","_jsx","MoreDropdown","dropdownButtonProps","menuItems","renderSearchProps","value","className","placeholder","what","concat","hyphenate","buildTableColumnData","accessorKey","node","header","type","size","cell","row","original","_jsxs","children","Button","truncate","name","tooltipProps","content","variant","values","_ref2","getValue","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","submitForm","handleKeyDown","event","shiftKey","preventDefault","Textarea","resize","onKeyDown","formatEditorContent","replaceAll","trim","EMAIL_TEMPLATE_INITIAL_VALUES","subject","body","testEmailAddress","SMS_TEMPLATE_INITIAL_VALUES","testPhoneNumber","EMAIL_TEMPLATE_FORM_SCHEMA","yup","object","string","required","test","SMS_TEMPLATE_FORM_VALIDATION_SCHEMA","SEND_TEST_EMAIL_SCHEMA","email","PHONE_NUMBER_VALIDATION_SCHEMA","isPhoneNumberValid","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","TestMessage","isEmailTemplate","handleSubmitTestTemplate","isTestMessageLoading","isTestingTemplateDisabled","customFields","_useState","useState","_useState2","_slicedToArray","isTestingTemplateRestricted","setIsTestingTemplateRestricted","isValid","_useTranslation","useTranslation","handleTestValidation","_asyncToGenerator","_callee","_context","target","validate","_x","apply","arguments","isTestTemplateButtonDisabled","stopPropagation","_Fragment","Input","helpText","onKeyUp","disabled","loading","Typography","Form","onClose","_ref$template","createUpdateTemplate","setInitialFocusField","shouldIncludeTestTemplate","templateVariables","editorRef","useRef","isTestTemplateVisible","includes","pick","_ref3","TEMPLATE_INITIAL_VALUES","TEMPLATE_FORM_SCHEMA","handleSubmit","filteredValues","omit","entity","mergeLeft","messageBodyLabel","NeetoUIForm","formProps","noValidate","formikProps","initialValues","validationSchema","validateOnBlur","validateOnChange","onSubmit","Sheet","Body","ref","FormikEditor","hideSlashCommands","contentClassName","defaults","undefined","rows","DEFAULT_EDITOR_ROW_COUNT","variables","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","initialFocusField","initialFocusRef","Header","Title","useFilters","DEFAULT_PAGE_PROPERTIES","pageProperties","setPageProperties","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","filterColumns","filter","map","searchKeywordProps","setValue","noop","_useState3","buildFiltersFromURL","_toConsumableArray","_useState4","filters","setFilters","useTemplates","pageIndex","index","pageSize","templateParams","page","MESSAGE_TEMPLATES","isEmpty","_useFetchTemplates","useFetchTemplates","_useFetchTemplates$da","data","templatesData","isLoadingTemplates","isLoading","isFetching","_useCreateTemplate","useCreateTemplate","options","_ref2$id","isLoaderVisible","List","labelSingular","isFilterApplied","helpDocUrl","_useDeleteTemplate","useDeleteTemplate","deleteTemplate","isDeleting","isPending","templates","totalCount","isSms","typeLabelSingular","toLowerCase","emptyStateLabel","noDataProps","primaryButtonProps","assoc","Trans","i18nKey","components","Link","href","icon","MessageSquareText","Mail","title","handleDelete","onSettled","DataTable","currentPage","enableURLPagination","columns","onPageChange","Empty","Alert","isSubmitting","submitButtonLabel","message","MessageTemplates","_helpPopoverProps$hel","_ref$breadcrumbs","breadcrumbs","_ref$type","_ref$handleSubmitTest","_ref$isTestMessageLoa","_ref$shouldIncludeTes","_ref$templateVariable","_ref$ownerId","_ref$isTestingTemplat","_ref$manageTemplatesP","manageTemplatesPaneCustomFields","_ref$onMutationSucces","_ref$helpPopoverProps","helpPopoverProps","isFilterPaneOpen","setIsFilterPaneOpen","_useFilters","_useTemplates","setTemplateState","_MESSAGE_TEMPLATES$ty","isNotEmpty","handleActionClick","handleChange","templatesCount","useEffect","shouldShowTemplatesCount","helpLinkProps","Container","NeetoHeader","actionBlock","searchProps","titleHelpPopoverProps","SubHeader","leftActionBlock","MESSAGE_TYPES","count","rightActionBlock","RightBlock","dataProps","filterProps","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen"],"mappings":"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"}
1
+ {"version":3,"file":"MessageTemplates.js","sources":["../../app/javascript/src/v2/components/MessageTemplates/constants.js","../../app/javascript/src/v2/components/MessageTemplates/List/constants.js","../../app/javascript/src/v2/components/MessageTemplates/List/utils.js","../../app/javascript/src/v2/components/MessageTemplates/List/RowActions.jsx","../../app/javascript/src/v2/components/MessageTemplates/utils.jsx","../../app/javascript/src/v2/components/commons/FormikAdaptiveInput.jsx","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/constants.js","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/TestMessage.jsx","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/Form.jsx","../../app/javascript/src/v2/components/MessageTemplates/AddEdit/index.jsx","../../app/javascript/src/v2/components/MessageTemplates/hooks/useFilter.js","../../app/javascript/src/v2/components/MessageTemplates/hooks/useTemplates.js","../../app/javascript/src/v2/components/MessageTemplates/List/index.jsx","../../app/javascript/src/v2/components/MessageTemplates/index.jsx"],"sourcesContent":["export const MESSAGE_TEMPLATE_INITIAL_STATE = {\n isOpen: false,\n isEdit: false,\n isDelete: false,\n template: {},\n};\n","export const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\", STATUS: \"status\" };\n","import { t } from \"i18next\";\nimport { equals } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nexport const getMenuItems = ({\n handleDeleteTemplate,\n handleEditTemplate,\n handleMarkActiveInactive,\n status,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoMessageTemplate.template.edit\"),\n onClick: handleEditTemplate,\n \"data-testid\": \"message-template-edit-button\",\n },\n {\n key: MENU_ITEMS.STATUS,\n label: equals(status, \"active\")\n ? t(\"neetoMessageTemplate.template.markAsInactive\")\n : t(\"neetoMessageTemplate.template.markAsActive\"),\n onClick: () => handleMarkActiveInactive(status),\n \"data-testid\": \"message-template-status-button\",\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoMessageTemplate.template.delete\"),\n onClick: handleDeleteTemplate,\n \"data-testid\": \"message-template-delete-button\",\n },\n];\n","import MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { prop } from \"ramda\";\n\nimport { useUpdateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"v2/components/MessageTemplates/constants\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst RowActions = ({\n template,\n setManageTemplatePane,\n ownerId,\n onMutationSuccess,\n}) => {\n const { mutate: update } = useUpdateTemplate(ownerId);\n\n const { status, id } = template;\n\n const templateType = useTemplateStore(prop(\"templateType\"));\n\n const handleEditTemplate = () =>\n setManageTemplatePane({\n ...MESSAGE_TEMPLATE_INITIAL_STATE,\n isOpen: true,\n isEdit: true,\n template,\n });\n\n const handleDeleteTemplate = () =>\n setManageTemplatePane({\n ...MESSAGE_TEMPLATE_INITIAL_STATE,\n isDelete: true,\n template,\n });\n\n const handleMarkActiveInactive = activeState => {\n const status = activeState === \"active\" ? \"inactive\" : \"active\";\n update(\n { payload: { status, templateType }, id },\n { onSuccess: onMutationSuccess }\n );\n };\n\n return (\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": \"message-template-dropdown\",\n }}\n menuItems={getMenuItems({\n handleDeleteTemplate,\n handleEditTemplate,\n handleMarkActiveInactive,\n status,\n })}\n />\n );\n};\n\nexport default RowActions;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { hyphenate, truncate } from \"neetocist\";\n\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"./constants\";\nimport RowActions from \"./List/RowActions\";\n\nconst handleEditTemplate = (setManageTemplatePane, template) =>\n setManageTemplatePane({\n ...MESSAGE_TEMPLATE_INITIAL_STATE,\n isOpen: true,\n isEdit: true,\n template,\n });\n\nexport const renderSearchProps = (label, value) => ({\n className: \"w-52\",\n placeholder: t(\"neetoMessageTemplate.template.search\", {\n what: label,\n }),\n \"data-testid\": `${hyphenate(value)}-search-input`,\n});\n\n// These column definitions serve double duty, exactly as they did in v1: the\n// TanStack keys (`id`/`accessorKey`/`header`/`size`/`cell`) feed atoms'\n// DataTable, while the filter keys (`key`/`node`/`label`/`type`/`values`) feed\n// neetofilters via `useFilters`. Keep both sets in sync when editing.\nexport const buildTableColumnData = (\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n) => [\n {\n accessorKey: \"name\",\n id: \"name\",\n key: \"name\",\n node: \"name\",\n header: t(\"neetoMessageTemplate.template.name\"),\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n size: 200,\n cell: ({ row: { original: template } }) => (\n <div className=\"flex min-w-0 items-center justify-between gap-x-3\">\n <div className=\"min-w-0 flex-1\">\n <Button\n className=\"max-w-full text-start [&>span]:block [&>span]:min-w-0 [&>span]:truncate\"\n label={truncate(template.name, 100)}\n tooltipProps={{ content: template.name }}\n variant=\"link\"\n onClick={() => handleEditTemplate(setManageTemplatePane, template)}\n />\n </div>\n <RowActions\n {...{ onMutationSuccess, ownerId, setManageTemplatePane, template }}\n />\n </div>\n ),\n },\n {\n accessorKey: \"status\",\n id: \"status\",\n key: \"status\",\n node: \"status\",\n header: t(\"neetoMessageTemplate.template.active\"),\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: \"Yes\", value: \"active\" },\n { label: \"No\", value: \"inactive\" },\n ],\n cell: ({ getValue }) => (getValue() === \"active\" ? \"Yes\" : \"No\"),\n size: 180,\n },\n];\n","import { Textarea } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/adaptive_input.css\";\n\nconst FormikAdaptiveInput = ({ label, name, ...otherProps }) => {\n const { submitForm } = useFormikContext();\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n event.preventDefault();\n submitForm();\n };\n\n return (\n <Textarea\n {...{ label, name }}\n className=\"neeto-message-templates-nano-adaptive-input\"\n resize=\"none\"\n size=\"small\"\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n );\n};\n\nexport default FormikAdaptiveInput;\n","import { t } from \"i18next\";\nimport { isPhoneNumberValid } from \"neetomolecules/v2/PhoneNumber\";\nimport * as yup from \"yup\";\n\n// eslint-disable-next-line @bigbinary/neeto/file-name-and-export-name-standards\nexport const formatEditorContent = value =>\n value?.replaceAll(/<\\/?(?!img)\\w*\\b[^>]*>/gi, \"\").trim();\n\nexport const EMAIL_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n subject: \"\",\n body: \"\",\n testEmailAddress: \"\",\n};\n\nexport const SMS_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n body: \"\",\n testPhoneNumber: \"\",\n};\n\nexport const EMAIL_TEMPLATE_FORM_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n subject: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.subjectPresence\")),\n body: yup\n .string()\n .test(\n \"name\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n});\n\nexport const SMS_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n body: yup\n .string()\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n});\n\nexport const SEND_TEST_EMAIL_SCHEMA = yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.emailAddressPresence\"))\n .email(\n t(\"neetoMessageTemplate.template.validation.emailAddressFormatValidation\")\n );\n\nexport const PHONE_NUMBER_VALIDATION_SCHEMA = yup\n .string()\n .test(\n \"testPhoneNumber\",\n t(\"neetoMessageTemplate.template.validation.validPhoneNumber\"),\n value => isPhoneNumberValid(value)\n );\n","import { useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PHONE_NUMBER_VALIDATION_SCHEMA,\n SEND_TEST_EMAIL_SCHEMA,\n} from \"./constants\";\n\nconst TestMessage = ({\n isEmailTemplate,\n handleSubmitTestTemplate,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n customFields,\n}) => {\n const [isTestingTemplateRestricted, setIsTestingTemplateRestricted] =\n useState(true);\n const { values, isValid } = useFormikContext();\n\n const { t } = useTranslation();\n\n const handleTestValidation = async event => {\n const {\n target: { value },\n } = event;\n try {\n isEmailTemplate\n ? await SEND_TEST_EMAIL_SCHEMA.validate(value)\n : await PHONE_NUMBER_VALIDATION_SCHEMA.validate(value);\n setIsTestingTemplateRestricted(false);\n } catch {\n setIsTestingTemplateRestricted(true);\n }\n };\n\n const isTestTemplateButtonDisabled =\n !isValid ||\n isTestingTemplateDisabled ||\n isTestingTemplateRestricted ||\n isTestMessageLoading;\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\") return;\n event.stopPropagation();\n event.preventDefault();\n !isTestTemplateButtonDisabled && handleSubmitTestTemplate(values);\n };\n\n return (\n <>\n <div className=\"start-0 flex items-start gap-x-2\">\n <Input\n data-testid=\"message-template-test-input\"\n {...(!isEmailTemplate && {\n helpText: t(\"neetoMessageTemplate.template.phoneNumberHelpText\"),\n })}\n name={isEmailTemplate ? \"testEmailAddress\" : \"testPhoneNumber\"}\n placeholder={t(\n isEmailTemplate\n ? \"neetoMessageTemplate.template.emailAddress\"\n : \"neetoMessageTemplate.template.phoneNumber\"\n )}\n onKeyDown={handleKeyDown}\n onKeyUp={handleTestValidation}\n />\n <Button\n data-testid=\"message-template-test-button\"\n disabled={isTestTemplateButtonDisabled}\n loading={isTestMessageLoading}\n type=\"button\"\n variant=\"default\"\n label={\n isEmailTemplate\n ? t(\"neetoMessageTemplate.template.sendTestEmail\")\n : t(\"neetoMessageTemplate.template.sendTestSms\")\n }\n onClick={() => handleSubmitTestTemplate(values)}\n />\n </div>\n {!isEmailTemplate && (\n <Typography variant=\"body2\">\n {t(\"neetoMessageTemplate.sendMessage.testSmsNote\")}\n </Typography>\n )}\n {customFields}\n </>\n );\n};\n\nexport default TestMessage;\n","import { useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n Form as NeetoUIForm,\n Input,\n ActionBlock,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { FormikEditor } from \"neetoeditor/v2\";\nimport { equals, includes, mergeAll, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport useTemplateStore from \"src/stores/useTemplateStore\";\nimport FormikAdaptiveInput from \"v2/components/commons/FormikAdaptiveInput\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"v2/components/constants\";\n\nimport {\n EMAIL_TEMPLATE_FORM_SCHEMA,\n EMAIL_TEMPLATE_INITIAL_VALUES,\n SMS_TEMPLATE_FORM_VALIDATION_SCHEMA,\n SMS_TEMPLATE_INITIAL_VALUES,\n} from \"./constants\";\nimport TestMessage from \"./TestMessage\";\n\nconst Form = ({\n onClose,\n isEdit,\n template = {},\n createUpdateTemplate,\n setInitialFocusField,\n handleSubmitTestTemplate,\n isTestMessageLoading,\n shouldIncludeTestTemplate,\n templateVariables,\n isTestingTemplateDisabled,\n customFields,\n customFieldsBelowBody,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n onMutationSuccess,\n}) => {\n const { t } = useTranslation();\n\n const editorRef = useRef(null);\n const templateType = useTemplateStore(prop(\"templateType\"));\n const isEmailTemplate = equals(templateType, \"email_template\");\n const isTestTemplateVisible =\n includes(templateType, [\"sms_template\", \"email_template\"]) &&\n shouldIncludeTestTemplate;\n\n const [TEMPLATE_INITIAL_VALUES, TEMPLATE_FORM_SCHEMA] = isEmailTemplate\n ? [\n {\n ...EMAIL_TEMPLATE_INITIAL_VALUES,\n ...pick([\"name\", \"body\", \"subject\", \"active\"], template),\n },\n EMAIL_TEMPLATE_FORM_SCHEMA,\n ]\n : [\n {\n ...SMS_TEMPLATE_INITIAL_VALUES,\n ...pick([\"name\", \"body\", \"active\"], template),\n },\n SMS_TEMPLATE_FORM_VALIDATION_SCHEMA,\n ];\n\n const updatedInitialValues = mergeAll([\n TEMPLATE_INITIAL_VALUES,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...TEMPLATE_FORM_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const handleSubmit = values => {\n const filteredValues = isEmailTemplate\n ? omit([\"name\", \"testEmailAddress\"], values)\n : omit([\"name\", \"testPhoneNumber\"], values);\n\n const payload = {\n templateType,\n name: values.name,\n entity: mergeLeft({ id: template.id }, filteredValues),\n };\n\n createUpdateTemplate(\n { isEdit, payload, id: template.id },\n {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n onClose();\n },\n }\n );\n };\n\n const messageBodyLabel = isEmailTemplate\n ? t(\"neetoMessageTemplate.template.emailBody\")\n : t(\"neetoMessageTemplate.template.smsBody\");\n\n return (\n <NeetoUIForm\n formProps={{\n noValidate: true,\n className: \"flex min-h-0 w-full flex-1 flex-col\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n validateOnBlur: true,\n validateOnChange: true,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex w-full flex-col gap-y-4 pb-6\">\n <Input\n required\n label={t(\"neetoMessageTemplate.template.templateName\")}\n name=\"name\"\n ref={setInitialFocusField}\n />\n {isEmailTemplate && (\n <FormikAdaptiveInput\n required\n label={t(\"neetoMessageTemplate.template.emailSubject\")}\n name=\"subject\"\n />\n )}\n <FormikEditor\n hideSlashCommands\n required\n contentClassName=\"max-h-40\"\n defaults={isEmailTemplate ? undefined : []}\n label={messageBodyLabel}\n name=\"body\"\n ref={editorRef}\n rows={DEFAULT_EDITOR_ROW_COUNT}\n variables={templateVariables}\n />\n {customFieldsBelowBody}\n {isTestTemplateVisible && (\n <TestMessage\n {...{\n customFields,\n handleSubmitTestTemplate,\n isEmailTemplate,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n }}\n />\n )}\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"message-template-reset-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"message-template-submit-button\",\n }}\n />\n </Sheet.Footer>\n </NeetoUIForm>\n );\n};\nexport default Form;\n","import { useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\n\nimport Form from \"./Form\";\n\nconst AddEdit = ({\n onClose,\n createUpdateTemplate,\n manageTemplatePane,\n isTestMessageLoading,\n handleSubmitTestTemplate,\n shouldIncludeTestTemplate,\n addText,\n editText,\n templateVariables,\n isTestingTemplateDisabled,\n customFields,\n customFieldsBelowBody,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n onMutationSuccess,\n paneSize,\n}) => {\n const initialFocusField = useRef(null);\n\n const { isOpen, isEdit, template } = manageTemplatePane;\n const label = isEdit ? editText : addText;\n\n return (\n <Sheet\n {...{ isOpen, onClose }}\n initialFocusRef={initialFocusField}\n size={paneSize}\n >\n <Sheet.Header>\n <Sheet.Title>{label}</Sheet.Title>\n </Sheet.Header>\n <Form\n {...{\n createUpdateTemplate,\n customFields,\n customFieldsBelowBody,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmitTestTemplate,\n isEdit,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n onClose,\n onMutationSuccess,\n shouldIncludeTestTemplate,\n template,\n templateVariables,\n }}\n setInitialFocusField={initialFocusField}\n />\n </Sheet>\n );\n};\n\nexport default AddEdit;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters/v2\";\nimport { pick, prop } from \"ramda\";\n\nimport { DEFAULT_PAGE_PROPERTIES } from \"v2/components/constants\";\nimport { buildTableColumnData } from \"v2/components/MessageTemplates/utils\";\n\nconst useFilters = () => {\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_PROPERTIES);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const filterColumns = buildTableColumnData()\n .filter(prop(\"node\"))\n .map(pick([\"key\", \"node\", \"label\", \"type\", \"values\"]));\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n setValue: noop,\n };\n\n const [filters, setFilters] = useState(() =>\n buildFiltersFromURL([...filterColumns, searchKeywordProps])\n );\n\n return {\n filterColumns,\n searchKeywordProps,\n searchTerm,\n filters,\n setFilters,\n pageProperties,\n setPageProperties,\n };\n};\nexport default useFilters;\n","import { isEmpty } from \"ramda\";\n\nimport {\n useCreateTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\nimport { MESSAGE_TEMPLATES } from \"v2/components/constants\";\n\nconst useTemplates = ({ type, ownerId, filters, pageProperties }) => {\n const { index: pageIndex, size: pageSize } = pageProperties;\n const templateParams = {\n page: pageIndex,\n pageSize,\n filters,\n templateType: MESSAGE_TEMPLATES[type].value,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n const {\n data: templatesData = {},\n isLoading: isLoadingTemplates,\n isFetching,\n } = useFetchTemplates(templateParams);\n\n const { mutate: create } = useCreateTemplate(ownerId);\n\n const { mutate: update } = useUpdateTemplate(ownerId);\n\n const createUpdateTemplate = ({ isEdit, payload, id = null }, options) =>\n isEdit ? update({ id, payload }, options) : create(payload, options);\n\n const isLoaderVisible = isLoadingTemplates || isFetching;\n\n return {\n templatesData,\n isLoading: isLoaderVisible,\n createUpdateTemplate,\n };\n};\n\nexport default useTemplates;\n","import { Alert, Button, DataTable, Empty } from \"@bigbinary/neeto-atoms\";\nimport { Mail, MessageSquareText } from \"lucide-react\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteTemplate } from \"hooks/reactQuery/useTemplatesApi\";\nimport { buildTableColumnData } from \"v2/components/MessageTemplates/utils\";\n\nconst List = ({\n setManageTemplatePane,\n templatesData,\n isLoading,\n manageTemplatePane,\n labelSingular,\n setPageProperties,\n pageProperties,\n label,\n addText,\n isFilterApplied,\n ownerId,\n type,\n onMutationSuccess,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n const { mutate: deleteTemplate, isPending: isDeleting } =\n useDeleteTemplate(ownerId);\n\n const { templates, totalCount } = templatesData;\n const { template, isDelete } = manageTemplatePane;\n const { index: pageIndex, size: pageSize } = pageProperties;\n const isSms = type === \"sms\";\n const typeLabelSingular = isSms ? labelSingular : labelSingular.toLowerCase();\n const emptyStateLabel = isSms ? label : label.toLowerCase();\n\n const noDataProps = {\n ...(!isFilterApplied && {\n primaryButtonProps: {\n label: addText,\n onClick: () => setManageTemplatePane(assoc(\"isOpen\", true)),\n },\n helpText: (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.linkToHelpArticle\"\n values={{ entity: label }}\n components={{\n Link: <Button href={helpDocUrl} target=\"_blank\" variant=\"link\" />,\n }}\n />\n ),\n }),\n icon: isSms ? MessageSquareText : Mail,\n title: isFilterApplied\n ? t(\"neetoMessageTemplate.template.filtersEmptyState\", {\n type: emptyStateLabel,\n })\n : t(\"neetoMessageTemplate.template.emptyState\", {\n type: emptyStateLabel,\n }),\n };\n\n const handleDelete = () => {\n deleteTemplate(template.id, {\n onSuccess: onMutationSuccess,\n onSettled: () => {\n setManageTemplatePane(assoc(\"isDelete\", false));\n },\n });\n };\n\n return (\n <>\n {!isEmpty(templates) ? (\n <DataTable\n {...{ pageSize, totalCount }}\n currentPage={pageIndex}\n data={templates}\n enableURLPagination={false}\n loading={isLoading}\n columns={buildTableColumnData(\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n )}\n onPageChange={index => setPageProperties({ index, size: pageSize })}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty {...noDataProps} />\n </div>\n )}\n <Alert\n isOpen={isDelete}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoMessageTemplate.template.delete\")}\n message={\n <Trans\n i18nKey=\"neetoMessageTemplate.template.templateDeleteConfirmation\"\n values={{ name: template.name }}\n />\n }\n title={t(\"neetoMessageTemplate.template.deleteTemplate\", {\n label: typeLabelSingular,\n })}\n onClose={() => setManageTemplatePane(assoc(\"isDelete\", false))}\n onSubmit={handleDelete}\n />\n </>\n );\n};\n\nexport default List;\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate, isNotEmpty, noop } from \"neetocist\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport Container from \"neetomolecules/v2/Container\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { assoc, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useTemplateStore from \"src/stores/useTemplateStore\";\nimport {\n DEFAULT_PAGE_PROPERTIES,\n MESSAGE_TEMPLATES,\n MESSAGE_TYPES,\n} from \"v2/components/constants\";\nimport { renderSearchProps } from \"v2/components/MessageTemplates/utils\";\n\nimport AddEdit from \"./AddEdit\";\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"./constants\";\nimport useFilters from \"./hooks/useFilter\";\nimport useTemplates from \"./hooks/useTemplates\";\nimport List from \"./List\";\n\nconst MessageTemplates = ({\n breadcrumbs = [],\n type = \"\",\n handleSubmitTestTemplate = noop,\n isTestMessageLoading = false,\n shouldIncludeTestTemplate = true,\n templateVariables = {},\n ownerId = \"\",\n isTestingTemplateDisabled = false,\n manageTemplatesPaneCustomFields = null,\n customFieldsBelowBody = null,\n customFieldsInitialValues = {},\n customFieldsValidationSchema = {},\n onMutationSuccess = noop,\n helpPopoverProps = {},\n paneSize = \"large\",\n}) => {\n const [manageTemplatePane, setManageTemplatePane] = useState(\n MESSAGE_TEMPLATE_INITIAL_STATE\n );\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const {\n searchKeywordProps,\n filterColumns,\n searchTerm,\n filters,\n setFilters,\n pageProperties,\n setPageProperties,\n } = useFilters();\n\n const { isLoading, templatesData, createUpdateTemplate } = useTemplates({\n type,\n ownerId,\n filters,\n pageProperties,\n });\n\n const setTemplateState = useTemplateStore(prop(\"setTemplateState\"));\n\n const { label, value, addText, labelSingular, editText } =\n MESSAGE_TEMPLATES[type];\n\n const isFilterApplied = isNotEmpty(filters) || isNotEmpty(searchTerm);\n\n const handleActionClick = () =>\n setManageTemplatePane({ ...MESSAGE_TEMPLATE_INITIAL_STATE, isOpen: true });\n\n const handleChange = filters => {\n setFilters(filters);\n setPageProperties(DEFAULT_PAGE_PROPERTIES);\n };\n\n const templatesCount = templatesData?.totalCount || 0;\n\n useEffect(() => {\n setTemplateState({ templateType: value });\n }, [value]);\n\n const shouldShowTemplatesCount =\n !isLoading && (isFilterApplied || templatesCount > 0);\n\n const helpDocUrl = helpPopoverProps?.helpLinkProps?.href || \"\";\n\n return (\n <Container className=\"pb-10\">\n <NeetoHeader\n {...{ breadcrumbs }}\n size=\"small\"\n title={label}\n actionBlock={\n <Button\n data-testid={`add-${hyphenate(value)}-button`}\n label={addText}\n onClick={handleActionClick}\n />\n }\n searchProps={\n shouldShowTemplatesCount && renderSearchProps(label, value)\n }\n titleHelpPopoverProps={\n helpPopoverProps && {\n ...helpPopoverProps,\n title: helpPopoverProps?.title || label,\n }\n }\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n shouldShowTemplatesCount && (\n <Typography variant=\"h6\">\n {t(\"neetoMessageTemplate.template.messageTemplatesWithCount\", {\n type: MESSAGE_TYPES[type],\n count: templatesCount,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <SubHeader.RightBlock\n dataProps={{\n totalCount: isFilterApplied ? null : templatesCount,\n }}\n filterProps={{\n columns: filterColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleChange,\n }}\n />\n }\n />\n <FiltersBar\n columns={filterColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleChange}\n />\n <List\n {...{\n addText,\n helpDocUrl,\n isFilterApplied,\n isLoading,\n label,\n labelSingular,\n manageTemplatePane,\n onMutationSuccess,\n ownerId,\n pageProperties,\n setManageTemplatePane,\n setPageProperties,\n templatesData,\n type,\n }}\n />\n <AddEdit\n {...{\n addText,\n createUpdateTemplate,\n customFieldsBelowBody,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n editText,\n handleSubmitTestTemplate,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n manageTemplatePane,\n onMutationSuccess,\n paneSize,\n shouldIncludeTestTemplate,\n templateVariables,\n }}\n customFields={manageTemplatesPaneCustomFields}\n onClose={() => setManageTemplatePane(assoc(\"isOpen\", false))}\n />\n </Container>\n );\n};\n\nexport default MessageTemplates;\n"],"names":["MESSAGE_TEMPLATE_INITIAL_STATE","isOpen","isEdit","isDelete","template","MENU_ITEMS","EDIT","DELETE","STATUS","getMenuItems","_ref","handleDeleteTemplate","handleEditTemplate","handleMarkActiveInactive","status","key","label","t","onClick","equals","RowActions","setManageTemplatePane","ownerId","onMutationSuccess","_useUpdateTemplate","useUpdateTemplate","update","mutate","id","templateType","useTemplateStore","prop","_objectSpread","activeState","payload","onSuccess","_jsx","MoreDropdown","dropdownButtonProps","menuItems","renderSearchProps","value","className","placeholder","what","concat","hyphenate","buildTableColumnData","accessorKey","node","header","type","size","cell","row","original","_jsxs","children","Button","truncate","name","tooltipProps","content","variant","values","_ref2","getValue","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","submitForm","handleKeyDown","event","shiftKey","preventDefault","Textarea","resize","onKeyDown","formatEditorContent","replaceAll","trim","EMAIL_TEMPLATE_INITIAL_VALUES","subject","body","testEmailAddress","SMS_TEMPLATE_INITIAL_VALUES","testPhoneNumber","EMAIL_TEMPLATE_FORM_SCHEMA","yup","object","string","required","test","SMS_TEMPLATE_FORM_VALIDATION_SCHEMA","SEND_TEST_EMAIL_SCHEMA","email","PHONE_NUMBER_VALIDATION_SCHEMA","isPhoneNumberValid","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","TestMessage","isEmailTemplate","handleSubmitTestTemplate","isTestMessageLoading","isTestingTemplateDisabled","customFields","_useState","useState","_useState2","_slicedToArray","isTestingTemplateRestricted","setIsTestingTemplateRestricted","isValid","_useTranslation","useTranslation","handleTestValidation","_asyncToGenerator","_callee","_context","target","validate","_x","apply","arguments","isTestTemplateButtonDisabled","stopPropagation","_Fragment","Input","helpText","onKeyUp","disabled","loading","Typography","Form","onClose","_ref$template","createUpdateTemplate","setInitialFocusField","shouldIncludeTestTemplate","templateVariables","customFieldsBelowBody","customFieldsInitialValues","customFieldsValidationSchema","editorRef","useRef","isTestTemplateVisible","includes","pick","_ref3","TEMPLATE_INITIAL_VALUES","TEMPLATE_FORM_SCHEMA","updatedInitialValues","mergeAll","updatedValidationSchema","shape","fields","handleSubmit","filteredValues","omit","entity","mergeLeft","messageBodyLabel","NeetoUIForm","formProps","noValidate","formikProps","initialValues","validationSchema","validateOnBlur","validateOnChange","onSubmit","Sheet","Body","ref","FormikEditor","hideSlashCommands","contentClassName","defaults","undefined","rows","DEFAULT_EDITOR_ROW_COUNT","variables","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","paneSize","initialFocusField","initialFocusRef","Header","Title","useFilters","DEFAULT_PAGE_PROPERTIES","pageProperties","setPageProperties","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","filterColumns","filter","map","searchKeywordProps","setValue","noop","_useState3","buildFiltersFromURL","_toConsumableArray","_useState4","filters","setFilters","useTemplates","pageIndex","index","pageSize","templateParams","page","MESSAGE_TEMPLATES","isEmpty","_useFetchTemplates","useFetchTemplates","_useFetchTemplates$da","data","templatesData","isLoadingTemplates","isLoading","isFetching","_useCreateTemplate","useCreateTemplate","options","_ref2$id","isLoaderVisible","List","labelSingular","isFilterApplied","helpDocUrl","_useDeleteTemplate","useDeleteTemplate","deleteTemplate","isDeleting","isPending","templates","totalCount","isSms","typeLabelSingular","toLowerCase","emptyStateLabel","noDataProps","primaryButtonProps","assoc","Trans","i18nKey","components","Link","href","icon","MessageSquareText","Mail","title","handleDelete","onSettled","DataTable","currentPage","enableURLPagination","columns","onPageChange","Empty","Alert","isSubmitting","submitButtonLabel","message","MessageTemplates","_helpPopoverProps$hel","_ref$breadcrumbs","breadcrumbs","_ref$type","_ref$handleSubmitTest","_ref$isTestMessageLoa","_ref$shouldIncludeTes","_ref$templateVariable","_ref$ownerId","_ref$isTestingTemplat","_ref$manageTemplatesP","manageTemplatesPaneCustomFields","_ref$customFieldsBelo","_ref$customFieldsInit","_ref$customFieldsVali","_ref$onMutationSucces","_ref$helpPopoverProps","helpPopoverProps","_ref$paneSize","isFilterPaneOpen","setIsFilterPaneOpen","_useFilters","_useTemplates","setTemplateState","_MESSAGE_TEMPLATES$ty","isNotEmpty","handleActionClick","handleChange","templatesCount","useEffect","shouldShowTemplatesCount","helpLinkProps","Container","NeetoHeader","actionBlock","searchProps","titleHelpPopoverProps","SubHeader","leftActionBlock","MESSAGE_TYPES","count","rightActionBlock","RightBlock","dataProps","filterProps","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen"],"mappings":"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"}
@@ -108,6 +108,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
108
108
  type = _ref.type,
109
109
  handleSubmit = _ref.handleSubmit,
110
110
  isSaveAsTemplateEnabled = _ref.isSaveAsTemplateEnabled,
111
+ customFieldsBelowBody = _ref.customFieldsBelowBody,
111
112
  _ref$helpPopoverProps = _ref.helpPopoverProps,
112
113
  helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
113
114
  var editorRef = useRef(null);
@@ -190,7 +191,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
190
191
  ref: editorRef,
191
192
  rows: DEFAULT_EDITOR_ROW_COUNT,
192
193
  variables: templateVariables
193
- }), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {})]
194
+ }), customFieldsBelowBody, canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {})]
194
195
  })
195
196
  }), /*#__PURE__*/jsx(Sheet.Footer, {
196
197
  children: /*#__PURE__*/jsx(ActionBlock, {
@@ -340,13 +341,15 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
340
341
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
341
342
  var SendMessagePane = function SendMessagePane(props) {
342
343
  var isOpen = props.isOpen,
343
- onClose = props.onClose;
344
+ onClose = props.onClose,
345
+ _props$paneSize = props.paneSize,
346
+ paneSize = _props$paneSize === void 0 ? "large" : _props$paneSize;
344
347
  var setFocusField = useRef(null);
345
348
  return /*#__PURE__*/jsx(Sheet, {
346
349
  isOpen: isOpen,
347
350
  onClose: onClose,
348
351
  initialFocusRef: setFocusField,
349
- size: "large",
352
+ size: paneSize,
350
353
  children: /*#__PURE__*/jsx(SendMessageForm, _objectSpread({}, _objectSpread(_objectSpread({}, props), {}, {
351
354
  setFocusField: setFocusField
352
355
  })))
@@ -361,6 +364,8 @@ var SendMessageForm = function SendMessageForm(_ref) {
361
364
  onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
362
365
  _ref$customFields = _ref.customFields,
363
366
  customFields = _ref$customFields === void 0 ? null : _ref$customFields,
367
+ _ref$customFieldsBelo = _ref.customFieldsBelowBody,
368
+ customFieldsBelowBody = _ref$customFieldsBelo === void 0 ? null : _ref$customFieldsBelo,
364
369
  _ref$customFieldsInit = _ref.customFieldsInitialValues,
365
370
  customFieldsInitialValues = _ref$customFieldsInit === void 0 ? {} : _ref$customFieldsInit,
366
371
  _ref$customFieldsVali = _ref.customFieldsValidationSchema,
@@ -419,6 +424,7 @@ var SendMessageForm = function SendMessageForm(_ref) {
419
424
  }) : /*#__PURE__*/jsx(EmailAndSms, {
420
425
  canManageTemplates: canManageTemplates,
421
426
  customFields: customFields,
427
+ customFieldsBelowBody: customFieldsBelowBody,
422
428
  customFieldsInitialValues: customFieldsInitialValues,
423
429
  customFieldsValidationSchema: customFieldsValidationSchema,
424
430
  handleSubmit: handleSubmit,