@bigbinary/neeto-message-templates-frontend 2.0.14 → 2.0.16-beta1

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 (57) hide show
  1. package/README.md +6 -0
  2. package/dist/.ready +1 -1
  3. package/dist/MessageTemplates.js +14 -3
  4. package/dist/MessageTemplates.js.map +1 -1
  5. package/dist/{utils-Cz5W3I3l.js → SaveAsTemplate-B0HZhYfJ.js} +1 -8
  6. package/dist/SaveAsTemplate-B0HZhYfJ.js.map +1 -0
  7. package/dist/{utils-DddrNhQe.js → SaveAsTemplate-CueK8whg.js} +2 -8
  8. package/dist/SaveAsTemplate-CueK8whg.js.map +1 -0
  9. package/dist/{utils-BGEmI_om.js → SaveAsTemplate-DwPF4y1M.js} +2 -8
  10. package/dist/SaveAsTemplate-DwPF4y1M.js.map +1 -0
  11. package/dist/{utils-CLc_-Ysi.js → SaveAsTemplate-GtRE2UkX.js} +1 -8
  12. package/dist/SaveAsTemplate-GtRE2UkX.js.map +1 -0
  13. package/dist/SendMessagePane.js +11 -3
  14. package/dist/SendMessagePane.js.map +1 -1
  15. package/dist/SendToApiPane.js +3 -1
  16. package/dist/SendToApiPane.js.map +1 -1
  17. package/dist/cjs/MessageTemplates.js +16 -5
  18. package/dist/cjs/MessageTemplates.js.map +1 -1
  19. package/dist/cjs/SendMessagePane.js +12 -4
  20. package/dist/cjs/SendMessagePane.js.map +1 -1
  21. package/dist/cjs/SendToApiPane.js +4 -2
  22. package/dist/cjs/SendToApiPane.js.map +1 -1
  23. package/dist/cjs/index.js +3 -1
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/v2/MessageTemplates.js +25 -8
  26. package/dist/cjs/v2/MessageTemplates.js.map +1 -1
  27. package/dist/cjs/v2/SendMessagePane.js +12 -4
  28. package/dist/cjs/v2/SendMessagePane.js.map +1 -1
  29. package/dist/cjs/v2/SendToApiPane.js +4 -2
  30. package/dist/cjs/v2/SendToApiPane.js.map +1 -1
  31. package/dist/cjs/v2/index.js +4 -1
  32. package/dist/cjs/v2/index.js.map +1 -1
  33. package/dist/index.js +3 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/utils-B4JstKAU.js +16 -0
  36. package/dist/utils-B4JstKAU.js.map +1 -0
  37. package/dist/utils-Bqi4fltZ.js +13 -0
  38. package/dist/utils-Bqi4fltZ.js.map +1 -0
  39. package/dist/utils-Cje7oYAU.js +13 -0
  40. package/dist/utils-Cje7oYAU.js.map +1 -0
  41. package/dist/utils-DLBeeHEL.js +16 -0
  42. package/dist/utils-DLBeeHEL.js.map +1 -0
  43. package/dist/v2/MessageTemplates.js +23 -6
  44. package/dist/v2/MessageTemplates.js.map +1 -1
  45. package/dist/v2/SendMessagePane.js +11 -3
  46. package/dist/v2/SendMessagePane.js.map +1 -1
  47. package/dist/v2/SendToApiPane.js +3 -1
  48. package/dist/v2/SendToApiPane.js.map +1 -1
  49. package/dist/v2/index.js +4 -1
  50. package/dist/v2/index.js.map +1 -1
  51. package/package.json +9 -9
  52. package/types.d.ts +3 -1
  53. package/CHANGELOG.md +0 -23
  54. package/dist/utils-BGEmI_om.js.map +0 -1
  55. package/dist/utils-CLc_-Ysi.js.map +0 -1
  56. package/dist/utils-Cz5W3I3l.js.map +0 -1
  57. package/dist/utils-DddrNhQe.js.map +0 -1
package/README.md CHANGED
@@ -130,6 +130,8 @@ along with filtering and search capabilities.
130
130
  NOTE: `href` from `helpLinkProps` will be used for displaying the help doc
131
131
  link in `NoData` component. Header title will be used as the help popover
132
132
  title if no title is provided.
133
+ - `allowAddingImagesToEmailTemplate`:A boolean indicating whether images can be
134
+ added to the message body for email templates.
133
135
 
134
136
  ##### Usage
135
137
 
@@ -170,6 +172,7 @@ const App = () => {
170
172
 
171
173
  return (
172
174
  <MessageTemplates
175
+ allowAddingImagesToEmailTemplate
173
176
  shouldIncludeTestTemplate
174
177
  breadcrumbs={breadcrumbs}
175
178
  handleSubmitTestTemplate={handleSubmit}
@@ -221,6 +224,8 @@ to compose and send messages.
221
224
  won't be displayed to users.
222
225
  - `helpPopoverProps`: Props to display `HelpPopover` next to input fields in
223
226
  `EmailAndSms`.
227
+ - `allowAddingImagesToEmail`: A boolean indicating whether images can be added
228
+ to the message body for emails.
224
229
 
225
230
  ##### Usage
226
231
 
@@ -304,6 +309,7 @@ const App = () => {
304
309
 
305
310
  return (
306
311
  <SendMessagePane
312
+ allowAddingImagesToEmail
307
313
  handleSubmit={handleSubmit}
308
314
  isOpen={isPaneOpen}
309
315
  paneSize="extraLarge"
package/dist/.ready CHANGED
@@ -1 +1 @@
1
- Built at 2026-08-18T14:08:25.881Z
1
+ Built at 2026-09-16T15:26:13.279Z
@@ -25,6 +25,7 @@ import * as yup from 'yup';
25
25
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
26
26
  import { useFormikContext } from 'formik';
27
27
  import Textarea from '@bigbinary/neetoui/formik/Textarea';
28
+ import { g as getEditorAddons } from './utils-Bqi4fltZ.js';
28
29
  import { isPhoneNumberValid } from '@bigbinary/neeto-molecules/PhoneNumber';
29
30
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
30
31
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
@@ -40,6 +41,7 @@ import 'axios';
40
41
  import 'qs';
41
42
  import 'zustand';
42
43
  import './inject-css-C2dztUxs.js';
44
+ import '@bigbinary/neeto-editor/constants';
43
45
 
44
46
  var MESSAGE_TEMPLATE_INITIAL_STATE = {
45
47
  isOpen: false,
@@ -371,7 +373,9 @@ var Form = function Form(_ref) {
371
373
  _ref$customFieldsInit = _ref.customFieldsInitialValues,
372
374
  customFieldsInitialValues = _ref$customFieldsInit === void 0 ? {} : _ref$customFieldsInit,
373
375
  _ref$customFieldsVali = _ref.customFieldsValidationSchema,
374
- customFieldsValidationSchema = _ref$customFieldsVali === void 0 ? {} : _ref$customFieldsVali;
376
+ customFieldsValidationSchema = _ref$customFieldsVali === void 0 ? {} : _ref$customFieldsVali,
377
+ _ref$allowAddingImage = _ref.allowAddingImagesToEmailTemplate,
378
+ allowAddingImagesToEmailTemplate = _ref$allowAddingImage === void 0 ? false : _ref$allowAddingImage;
375
379
  var _useTranslation = useTranslation(),
376
380
  t = _useTranslation.t;
377
381
  var editorRef = useRef(null);
@@ -404,6 +408,7 @@ var Form = function Form(_ref) {
404
408
  }
405
409
  });
406
410
  };
411
+ var editorAddons = getEditorAddons(allowAddingImagesToEmailTemplate, isEmailTemplate);
407
412
  var messageBodyLabel = isEmailTemplate ? t("neetoMessageTemplate.template.emailBody") : t("neetoMessageTemplate.template.smsBody");
408
413
  return /*#__PURE__*/jsxs(NeetoUIForm, {
409
414
  formProps: {
@@ -429,6 +434,7 @@ var Form = function Form(_ref) {
429
434
  }), /*#__PURE__*/jsx(FormikEditor, {
430
435
  hideSlashCommands: true,
431
436
  required: true,
437
+ addons: editorAddons,
432
438
  contentClassName: "max-h-40",
433
439
  defaults: isEmailTemplate ? undefined : [],
434
440
  label: messageBodyLabel,
@@ -473,7 +479,8 @@ var AddEdit = function AddEdit(_ref) {
473
479
  customFieldsInitialValues = _ref.customFieldsInitialValues,
474
480
  customFieldsValidationSchema = _ref.customFieldsValidationSchema,
475
481
  onMutationSuccess = _ref.onMutationSuccess,
476
- paneSize = _ref.paneSize;
482
+ paneSize = _ref.paneSize,
483
+ allowAddingImagesToEmailTemplate = _ref.allowAddingImagesToEmailTemplate;
477
484
  var initialFocusField = useRef();
478
485
  var setInitialFocusField = function setInitialFocusField(fieldRef) {
479
486
  return initialFocusField.current = fieldRef;
@@ -495,6 +502,7 @@ var AddEdit = function AddEdit(_ref) {
495
502
  })
496
503
  }), /*#__PURE__*/jsx(Pane.Body, {
497
504
  children: /*#__PURE__*/jsx(Form, {
505
+ allowAddingImagesToEmailTemplate: allowAddingImagesToEmailTemplate,
498
506
  createUpdateTemplate: createUpdateTemplate,
499
507
  customFields: customFields,
500
508
  customFieldsBelowBody: customFieldsBelowBody,
@@ -729,7 +737,9 @@ var MessageTemplates = function MessageTemplates(_ref) {
729
737
  _ref$helpPopoverProps = _ref.helpPopoverProps,
730
738
  helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
731
739
  _ref$paneSize = _ref.paneSize,
732
- paneSize = _ref$paneSize === void 0 ? "large" : _ref$paneSize;
740
+ paneSize = _ref$paneSize === void 0 ? "large" : _ref$paneSize,
741
+ _ref$allowAddingImage = _ref.allowAddingImagesToEmailTemplate,
742
+ allowAddingImagesToEmailTemplate = _ref$allowAddingImage === void 0 ? false : _ref$allowAddingImage;
733
743
  var _useState = useState(MESSAGE_TEMPLATE_INITIAL_STATE),
734
744
  _useState2 = _slicedToArray(_useState, 2),
735
745
  manageTemplatePane = _useState2[0],
@@ -839,6 +849,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
839
849
  type: type
840
850
  }), /*#__PURE__*/jsx(AddEdit, {
841
851
  addText: addText,
852
+ allowAddingImagesToEmailTemplate: allowAddingImagesToEmailTemplate,
842
853
  createUpdateTemplate: createUpdateTemplate,
843
854
  customFieldsBelowBody: customFieldsBelowBody,
844
855
  customFieldsInitialValues: customFieldsInitialValues,
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTemplates.js","sources":["../app/javascript/src/components/MessageTemplates/constants.js","../app/javascript/src/components/MessageTemplates/List/constants.js","../app/javascript/src/components/MessageTemplates/List/utils.js","../app/javascript/src/components/MessageTemplates/List/RowActions.jsx","../app/javascript/src/components/MessageTemplates/utils.jsx","../app/javascript/src/components/commons/FormikAdaptiveInput.jsx","../app/javascript/src/components/MessageTemplates/AddEdit/constants.js","../app/javascript/src/components/MessageTemplates/AddEdit/TestMessage.jsx","../app/javascript/src/components/MessageTemplates/AddEdit/Form.jsx","../app/javascript/src/components/MessageTemplates/AddEdit/index.jsx","../app/javascript/src/components/MessageTemplates/hooks/useFilter.js","../app/javascript/src/components/MessageTemplates/hooks/useTemplates.js","../app/javascript/src/components/MessageTemplates/List/index.jsx","../app/javascript/src/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/MoreDropdown\";\nimport { prop } from \"ramda\";\n\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"components/MessageTemplates/constants\";\nimport { useUpdateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\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 dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n dropdownButtonProps={{\n \"data-testid\": \"message-template-dropdown\",\n className: \"me-1 my-1\",\n }}\n menuItems={getMenuItems({\n handleDeleteTemplate,\n handleEditTemplate,\n handleMarkActiveInactive,\n status,\n })}\n />\n );\n};\n\nexport default RowActions;\n","import { t } from \"i18next\";\nimport { hyphenate, truncate } from \"neetocist\";\nimport { Button } from \"neetoui\";\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\nexport const buildTableColumnData = (\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n) => [\n {\n dataIndex: \"name\",\n key: \"name\",\n node: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n width: 200,\n render: (name, template) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n label={truncate(name, 100)}\n style=\"link\"\n onClick={() => handleEditTemplate(setManageTemplatePane, template)}\n />\n <RowActions\n {...{ onMutationSuccess, ownerId, setManageTemplatePane, template }}\n />\n </div>\n ),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n node: \"status\",\n title: 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 render: status => (status === \"active\" ? \"Yes\" : \"No\"),\n width: 180,\n },\n];\n","import { useFormikContext } from \"formik\";\nimport { Textarea } from \"neetoui/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/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 { useFormikContext } from \"formik\";\nimport { Button, Typography } from \"neetoui\";\nimport { Input } from \"neetoui/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=\"neeto-ui-flex 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 style=\"primary\"\n type=\"button\"\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 style=\"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 { FormikEditor } from \"neetoeditor\";\nimport { Pane } from \"neetoui\";\nimport { Form as NeetoUIForm, Input, ActionBlock } from \"neetoui/formik\";\nimport { equals, includes, mergeAll, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport FormikAdaptiveInput from \"components/commons/FormikAdaptiveInput\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"components/constants\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\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 customFieldsBelowBody,\n customFieldsInitialValues = {},\n customFieldsValidationSchema = {},\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 w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n validateOnBlur: true,\n validateOnChange: true,\n onSubmit: handleSubmit,\n }}\n >\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 <Pane.Footer className=\"absolute bottom-0 start-0\">\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 </Pane.Footer>\n </NeetoUIForm>\n );\n};\nexport default Form;\n","import { useRef } from \"react\";\n\nimport { Pane, Typography } from \"neetoui\";\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();\n\n const setInitialFocusField = fieldRef =>\n (initialFocusField.current = fieldRef);\n\n const { isOpen, isEdit, template } = manageTemplatePane;\n const label = isEdit ? editText : addText;\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={initialFocusField}\n size={paneSize}\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {label}\n </Typography>\n </Pane.Header>\n <Pane.Body>\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 setInitialFocusField,\n shouldIncludeTestTemplate,\n template,\n templateVariables,\n }}\n />\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default AddEdit;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { prop } from \"ramda\";\n\nimport { DEFAULT_PAGE_PROPERTIES } from \"components/constants\";\nimport { buildTableColumnData } from \"components/MessageTemplates/utils\";\n\nconst useFilters = () => {\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_PROPERTIES);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const filterColumns = buildTableColumnData().filter(prop(\"node\"));\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 { MESSAGE_TEMPLATES } from \"components/constants\";\nimport {\n useCreateTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\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 TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, Table, NoData, Button } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { buildTableColumnData } from \"components/MessageTemplates/utils\";\nimport { useDeleteTemplate } from \"hooks/reactQuery/useTemplatesApi\";\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} style=\"link\" target=\"_blank\" />,\n }}\n />\n ),\n }),\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 <TableWrapper hasPagination={totalCount > pageSize}>\n <Table\n {...{ totalCount }}\n fixedHeight\n currentPageNumber={pageIndex}\n defaultPageSize={pageSize}\n loading={isLoading}\n rowData={templates}\n columnData={buildTableColumnData(\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n )}\n handlePageChange={(index, size) =>\n setPageProperties({ index, size })\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData {...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 { hyphenate, isNotEmpty, noop } from \"neetocist\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Button, Typography } from \"neetoui\";\nimport { assoc, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DEFAULT_PAGE_PROPERTIES,\n MESSAGE_TEMPLATES,\n MESSAGE_TYPES,\n} from \"components/constants\";\nimport { renderSearchProps } from \"components/MessageTemplates/utils\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\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>\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 component=\"h4\">\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","dropdownProps","strategy","appendTo","document","body","dropdownButtonProps","className","menuItems","renderSearchProps","value","placeholder","what","concat","hyphenate","buildTableColumnData","dataIndex","node","title","type","width","render","name","_jsxs","children","Button","truncate","style","values","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","submitForm","handleKeyDown","event","shiftKey","preventDefault","Textarea","resize","size","onKeyDown","formatEditorContent","replaceAll","trim","EMAIL_TEMPLATE_INITIAL_VALUES","subject","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","_ref2","_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","_ref$customFieldsInit","customFieldsInitialValues","_ref$customFieldsVali","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","ref","FormikEditor","hideSlashCommands","contentClassName","defaults","undefined","rows","DEFAULT_EDITOR_ROW_COUNT","variables","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","paneSize","initialFocusField","fieldRef","current","initialFocusRef","Header","weight","Body","useFilters","DEFAULT_PAGE_PROPERTIES","pageProperties","setPageProperties","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","filterColumns","filter","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","handleDelete","onSettled","TableWrapper","hasPagination","Table","fixedHeight","currentPageNumber","defaultPageSize","rowData","columnData","handlePageChange","NoData","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$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","component","MESSAGE_TYPES","count","rightActionBlock","RightBlock","dataProps","filterProps","columns","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen"],"mappings":"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"}
1
+ {"version":3,"file":"MessageTemplates.js","sources":["../app/javascript/src/components/MessageTemplates/constants.js","../app/javascript/src/components/MessageTemplates/List/constants.js","../app/javascript/src/components/MessageTemplates/List/utils.js","../app/javascript/src/components/MessageTemplates/List/RowActions.jsx","../app/javascript/src/components/MessageTemplates/utils.jsx","../app/javascript/src/components/commons/FormikAdaptiveInput.jsx","../app/javascript/src/components/MessageTemplates/AddEdit/constants.js","../app/javascript/src/components/MessageTemplates/AddEdit/TestMessage.jsx","../app/javascript/src/components/MessageTemplates/AddEdit/Form.jsx","../app/javascript/src/components/MessageTemplates/AddEdit/index.jsx","../app/javascript/src/components/MessageTemplates/hooks/useFilter.js","../app/javascript/src/components/MessageTemplates/hooks/useTemplates.js","../app/javascript/src/components/MessageTemplates/List/index.jsx","../app/javascript/src/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/MoreDropdown\";\nimport { prop } from \"ramda\";\n\nimport { MESSAGE_TEMPLATE_INITIAL_STATE } from \"components/MessageTemplates/constants\";\nimport { useUpdateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\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 dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n dropdownButtonProps={{\n \"data-testid\": \"message-template-dropdown\",\n className: \"me-1 my-1\",\n }}\n menuItems={getMenuItems({\n handleDeleteTemplate,\n handleEditTemplate,\n handleMarkActiveInactive,\n status,\n })}\n />\n );\n};\n\nexport default RowActions;\n","import { t } from \"i18next\";\nimport { hyphenate, truncate } from \"neetocist\";\nimport { Button } from \"neetoui\";\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\nexport const buildTableColumnData = (\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n) => [\n {\n dataIndex: \"name\",\n key: \"name\",\n node: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n width: 200,\n render: (name, template) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n label={truncate(name, 100)}\n style=\"link\"\n onClick={() => handleEditTemplate(setManageTemplatePane, template)}\n />\n <RowActions\n {...{ onMutationSuccess, ownerId, setManageTemplatePane, template }}\n />\n </div>\n ),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n node: \"status\",\n title: 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 render: status => (status === \"active\" ? \"Yes\" : \"No\"),\n width: 180,\n },\n];\n","import { useFormikContext } from \"formik\";\nimport { Textarea } from \"neetoui/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/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 { useFormikContext } from \"formik\";\nimport { Button, Typography } from \"neetoui\";\nimport { Input } from \"neetoui/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=\"neeto-ui-flex 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 style=\"primary\"\n type=\"button\"\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 style=\"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 { FormikEditor } from \"neetoeditor\";\nimport { Pane } from \"neetoui\";\nimport { Form as NeetoUIForm, Input, ActionBlock } from \"neetoui/formik\";\nimport { equals, includes, mergeAll, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport FormikAdaptiveInput from \"components/commons/FormikAdaptiveInput\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"components/constants\";\nimport { getEditorAddons } from \"components/utils\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\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 customFieldsBelowBody,\n customFieldsInitialValues = {},\n customFieldsValidationSchema = {},\n allowAddingImagesToEmailTemplate = false,\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 editorAddons = getEditorAddons(\n allowAddingImagesToEmailTemplate,\n isEmailTemplate\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 w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n validateOnBlur: true,\n validateOnChange: true,\n onSubmit: handleSubmit,\n }}\n >\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 addons={editorAddons}\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 <Pane.Footer className=\"absolute bottom-0 start-0\">\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 </Pane.Footer>\n </NeetoUIForm>\n );\n};\nexport default Form;\n","import { useRef } from \"react\";\n\nimport { Pane, Typography } from \"neetoui\";\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 allowAddingImagesToEmailTemplate,\n}) => {\n const initialFocusField = useRef();\n\n const setInitialFocusField = fieldRef =>\n (initialFocusField.current = fieldRef);\n\n const { isOpen, isEdit, template } = manageTemplatePane;\n const label = isEdit ? editText : addText;\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={initialFocusField}\n size={paneSize}\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {label}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Form\n {...{\n allowAddingImagesToEmailTemplate,\n createUpdateTemplate,\n customFields,\n customFieldsBelowBody,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmitTestTemplate,\n isEdit,\n isTestMessageLoading,\n isTestingTemplateDisabled,\n onClose,\n onMutationSuccess,\n setInitialFocusField,\n shouldIncludeTestTemplate,\n template,\n templateVariables,\n }}\n />\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default AddEdit;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { prop } from \"ramda\";\n\nimport { DEFAULT_PAGE_PROPERTIES } from \"components/constants\";\nimport { buildTableColumnData } from \"components/MessageTemplates/utils\";\n\nconst useFilters = () => {\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_PROPERTIES);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const filterColumns = buildTableColumnData().filter(prop(\"node\"));\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 { MESSAGE_TEMPLATES } from \"components/constants\";\nimport {\n useCreateTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\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 TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, Table, NoData, Button } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { buildTableColumnData } from \"components/MessageTemplates/utils\";\nimport { useDeleteTemplate } from \"hooks/reactQuery/useTemplatesApi\";\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} style=\"link\" target=\"_blank\" />,\n }}\n />\n ),\n }),\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 <TableWrapper hasPagination={totalCount > pageSize}>\n <Table\n {...{ totalCount }}\n fixedHeight\n currentPageNumber={pageIndex}\n defaultPageSize={pageSize}\n loading={isLoading}\n rowData={templates}\n columnData={buildTableColumnData(\n setManageTemplatePane,\n ownerId,\n onMutationSuccess\n )}\n handlePageChange={(index, size) =>\n setPageProperties({ index, size })\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData {...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 { hyphenate, isNotEmpty, noop } from \"neetocist\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Button, Typography } from \"neetoui\";\nimport { assoc, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DEFAULT_PAGE_PROPERTIES,\n MESSAGE_TEMPLATES,\n MESSAGE_TYPES,\n} from \"components/constants\";\nimport { renderSearchProps } from \"components/MessageTemplates/utils\";\nimport useTemplateStore from \"src/stores/useTemplateStore\";\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 allowAddingImagesToEmailTemplate = false,\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>\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 component=\"h4\">\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 allowAddingImagesToEmailTemplate,\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","dropdownProps","strategy","appendTo","document","body","dropdownButtonProps","className","menuItems","renderSearchProps","value","placeholder","what","concat","hyphenate","buildTableColumnData","dataIndex","node","title","type","width","render","name","_jsxs","children","Button","truncate","style","values","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","submitForm","handleKeyDown","event","shiftKey","preventDefault","Textarea","resize","size","onKeyDown","formatEditorContent","replaceAll","trim","EMAIL_TEMPLATE_INITIAL_VALUES","subject","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","_ref2","_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","_ref$customFieldsInit","customFieldsInitialValues","_ref$customFieldsVali","customFieldsValidationSchema","_ref$allowAddingImage","allowAddingImagesToEmailTemplate","editorRef","useRef","isTestTemplateVisible","includes","pick","_ref3","TEMPLATE_INITIAL_VALUES","TEMPLATE_FORM_SCHEMA","updatedInitialValues","mergeAll","updatedValidationSchema","shape","fields","handleSubmit","filteredValues","omit","entity","mergeLeft","editorAddons","getEditorAddons","messageBodyLabel","NeetoUIForm","formProps","noValidate","formikProps","initialValues","validationSchema","validateOnBlur","validateOnChange","onSubmit","ref","FormikEditor","hideSlashCommands","addons","contentClassName","defaults","undefined","rows","DEFAULT_EDITOR_ROW_COUNT","variables","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","paneSize","initialFocusField","fieldRef","current","initialFocusRef","Header","weight","Body","useFilters","DEFAULT_PAGE_PROPERTIES","pageProperties","setPageProperties","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","filterColumns","filter","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","handleDelete","onSettled","TableWrapper","hasPagination","Table","fixedHeight","currentPageNumber","defaultPageSize","rowData","columnData","handlePageChange","NoData","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$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","component","MESSAGE_TYPES","count","rightActionBlock","RightBlock","dataProps","filterProps","columns","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen"],"mappings":"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"}
@@ -7,7 +7,6 @@ var Input = require('@bigbinary/neetoui/formik/Input');
7
7
  var Switch = require('@bigbinary/neetoui/formik/Switch');
8
8
  var reactI18next = require('react-i18next');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
- var ramda = require('ramda');
11
10
 
12
11
  var SaveAsTemplate = function SaveAsTemplate() {
13
12
  var _useFormikContext = formik.useFormikContext(),
@@ -44,11 +43,5 @@ var SaveAsTemplate = function SaveAsTemplate() {
44
43
  });
45
44
  };
46
45
 
47
- var areValuesEqual = function areValuesEqual(value1, value2) {
48
- var normalize = ramda.when(ramda.is(String), ramda.trim);
49
- return ramda.eqBy(normalize, value1, value2);
50
- };
51
-
52
46
  exports.SaveAsTemplate = SaveAsTemplate;
53
- exports.areValuesEqual = areValuesEqual;
54
- //# sourceMappingURL=utils-Cz5W3I3l.js.map
47
+ //# sourceMappingURL=SaveAsTemplate-B0HZhYfJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveAsTemplate-B0HZhYfJ.js","sources":["../app/javascript/src/components/commons/SaveAsTemplate.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SaveAsTemplate = () => {\n const {\n values: { shouldSaveAsTemplate },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"shouldSaveAsTemplate\", false);\n setFieldValue(\"templateName\", \"\");\n },\n []\n );\n\n const handleChange = ({ target: { checked } }) => {\n if (!checked) {\n setFieldValue(\"templateName\", \"\");\n }\n\n setFieldValue(\"shouldSaveAsTemplate\", checked);\n };\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n data-testid={`neeto-message-template-${hyphenate(t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\"))}-switch`}\n label={t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\")}\n name=\"shouldSaveAsTemplate\"\n onChange={handleChange}\n />\n {shouldSaveAsTemplate && (\n <Input\n autoFocus\n required\n label={t(\"neetoMessageTemplate.template.templateName\")}\n name=\"templateName\"\n />\n )}\n </div>\n );\n};\n\nexport default SaveAsTemplate;\n"],"names":["SaveAsTemplate","_useFormikContext","useFormikContext","shouldSaveAsTemplate","values","setFieldValue","_useTranslation","useTranslation","t","useEffect","handleChange","_ref","checked","target","_jsxs","className","children","_jsx","Switch","concat","hyphenate","label","name","onChange","Input","autoFocus","required"],"mappings":";;;;;;;;;;AAOA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,EAAA,IAAAC,iBAAA,GAGIC,uBAAgB,EAAE;AAFVC,IAAAA,oBAAoB,GAAAF,iBAAA,CAA9BG,MAAM,CAAID,oBAAoB;IAC9BE,aAAa,GAAAJ,iBAAA,CAAbI,aAAa;AAGf,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAETC,EAAAA,eAAS,CACP,YAAA;AAAA,IAAA,OAAM,YAAM;AACVJ,MAAAA,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAC5CA,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;IACnC,CAAC;AAAA,EAAA,CAAA,EACD,EACF,CAAC;AAED,EAAA,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAgC;AAAA,IAAA,IAAhBC,OAAO,GAAAD,IAAA,CAAjBE,MAAM,CAAID,OAAO;IACvC,IAAI,CAACA,OAAO,EAAE;AACZP,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;AACnC,IAAA;AAEAA,IAAAA,aAAa,CAAC,sBAAsB,EAAEO,OAAO,CAAC;EAChD,CAAC;AAED,EAAA,oBACEE,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yBAAyB;IAAAC,QAAA,EAAA,cACtCC,cAAA,CAACC,MAAM,EAAA;MACL,aAAA,EAAA,yBAAA,CAAAC,MAAA,CAAuCC,mBAAS,CAACZ,CAAC,CAAC,iDAAiD,CAAC,CAAC,EAAA,SAAA,CAAU;AAChHa,MAAAA,KAAK,EAAEb,CAAC,CAAC,iDAAiD,CAAE;AAC5Dc,MAAAA,IAAI,EAAC,sBAAsB;AAC3BC,MAAAA,QAAQ,EAAEb;AAAa,KACxB,CAAC,EACDP,oBAAoB,iBACnBc,cAAA,CAACO,KAAK,EAAA;MACJC,SAAS,EAAA,IAAA;MACTC,QAAQ,EAAA,IAAA;AACRL,MAAAA,KAAK,EAAEb,CAAC,CAAC,4CAA4C,CAAE;AACvDc,MAAAA,IAAI,EAAC;AAAc,KACpB,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
@@ -5,7 +5,6 @@ import Input from '@bigbinary/neetoui/formik/Input';
5
5
  import Switch from '@bigbinary/neetoui/formik/Switch';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import { jsxs, jsx } from 'react/jsx-runtime';
8
- import { when, is, trim, eqBy } from 'ramda';
9
8
 
10
9
  var SaveAsTemplate = function SaveAsTemplate() {
11
10
  var _useFormikContext = useFormikContext(),
@@ -42,10 +41,5 @@ var SaveAsTemplate = function SaveAsTemplate() {
42
41
  });
43
42
  };
44
43
 
45
- var areValuesEqual = function areValuesEqual(value1, value2) {
46
- var normalize = when(is(String), trim);
47
- return eqBy(normalize, value1, value2);
48
- };
49
-
50
- export { SaveAsTemplate as S, areValuesEqual as a };
51
- //# sourceMappingURL=utils-DddrNhQe.js.map
44
+ export { SaveAsTemplate as S };
45
+ //# sourceMappingURL=SaveAsTemplate-CueK8whg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveAsTemplate-CueK8whg.js","sources":["../app/javascript/src/components/commons/SaveAsTemplate.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SaveAsTemplate = () => {\n const {\n values: { shouldSaveAsTemplate },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"shouldSaveAsTemplate\", false);\n setFieldValue(\"templateName\", \"\");\n },\n []\n );\n\n const handleChange = ({ target: { checked } }) => {\n if (!checked) {\n setFieldValue(\"templateName\", \"\");\n }\n\n setFieldValue(\"shouldSaveAsTemplate\", checked);\n };\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n data-testid={`neeto-message-template-${hyphenate(t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\"))}-switch`}\n label={t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\")}\n name=\"shouldSaveAsTemplate\"\n onChange={handleChange}\n />\n {shouldSaveAsTemplate && (\n <Input\n autoFocus\n required\n label={t(\"neetoMessageTemplate.template.templateName\")}\n name=\"templateName\"\n />\n )}\n </div>\n );\n};\n\nexport default SaveAsTemplate;\n"],"names":["SaveAsTemplate","_useFormikContext","useFormikContext","shouldSaveAsTemplate","values","setFieldValue","_useTranslation","useTranslation","t","useEffect","handleChange","_ref","checked","target","_jsxs","className","children","_jsx","Switch","concat","hyphenate","label","name","onChange","Input","autoFocus","required"],"mappings":";;;;;;;;AAOA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,EAAA,IAAAC,iBAAA,GAGIC,gBAAgB,EAAE;AAFVC,IAAAA,oBAAoB,GAAAF,iBAAA,CAA9BG,MAAM,CAAID,oBAAoB;IAC9BE,aAAa,GAAAJ,iBAAA,CAAbI,aAAa;AAGf,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAETC,EAAAA,SAAS,CACP,YAAA;AAAA,IAAA,OAAM,YAAM;AACVJ,MAAAA,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAC5CA,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;IACnC,CAAC;AAAA,EAAA,CAAA,EACD,EACF,CAAC;AAED,EAAA,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAgC;AAAA,IAAA,IAAhBC,OAAO,GAAAD,IAAA,CAAjBE,MAAM,CAAID,OAAO;IACvC,IAAI,CAACA,OAAO,EAAE;AACZP,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;AACnC,IAAA;AAEAA,IAAAA,aAAa,CAAC,sBAAsB,EAAEO,OAAO,CAAC;EAChD,CAAC;AAED,EAAA,oBACEE,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yBAAyB;IAAAC,QAAA,EAAA,cACtCC,GAAA,CAACC,MAAM,EAAA;MACL,aAAA,EAAA,yBAAA,CAAAC,MAAA,CAAuCC,SAAS,CAACZ,CAAC,CAAC,iDAAiD,CAAC,CAAC,EAAA,SAAA,CAAU;AAChHa,MAAAA,KAAK,EAAEb,CAAC,CAAC,iDAAiD,CAAE;AAC5Dc,MAAAA,IAAI,EAAC,sBAAsB;AAC3BC,MAAAA,QAAQ,EAAEb;AAAa,KACxB,CAAC,EACDP,oBAAoB,iBACnBc,GAAA,CAACO,KAAK,EAAA;MACJC,SAAS,EAAA,IAAA;MACTC,QAAQ,EAAA,IAAA;AACRL,MAAAA,KAAK,EAAEb,CAAC,CAAC,4CAA4C,CAAE;AACvDc,MAAAA,IAAI,EAAC;AAAc,KACpB,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
@@ -4,7 +4,6 @@ import { useFormikContext } from 'formik';
4
4
  import { hyphenate } from '@bigbinary/neeto-cist';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
- import { when, is, trim, eqBy } from 'ramda';
8
7
 
9
8
  var SaveAsTemplate = function SaveAsTemplate() {
10
9
  var _useFormikContext = useFormikContext(),
@@ -40,10 +39,5 @@ var SaveAsTemplate = function SaveAsTemplate() {
40
39
  });
41
40
  };
42
41
 
43
- var areValuesEqual = function areValuesEqual(value1, value2) {
44
- var normalize = when(is(String), trim);
45
- return eqBy(normalize, value1, value2);
46
- };
47
-
48
- export { SaveAsTemplate as S, areValuesEqual as a };
49
- //# sourceMappingURL=utils-BGEmI_om.js.map
42
+ export { SaveAsTemplate as S };
43
+ //# sourceMappingURL=SaveAsTemplate-DwPF4y1M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveAsTemplate-DwPF4y1M.js","sources":["../app/javascript/src/v2/components/commons/SaveAsTemplate.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { Input, Switch } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SaveAsTemplate = () => {\n const {\n values: { shouldSaveAsTemplate },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"shouldSaveAsTemplate\", false);\n setFieldValue(\"templateName\", \"\");\n },\n []\n );\n\n const handleCheckedChange = checked => {\n if (!checked) {\n setFieldValue(\"templateName\", \"\");\n }\n\n setFieldValue(\"shouldSaveAsTemplate\", checked);\n };\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n data-testid={`neeto-message-template-${hyphenate(t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\"))}-switch`}\n label={t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\")}\n name=\"shouldSaveAsTemplate\"\n onCheckedChange={handleCheckedChange}\n />\n {shouldSaveAsTemplate && (\n <Input\n autoFocus\n required\n label={t(\"neetoMessageTemplate.template.templateName\")}\n name=\"templateName\"\n />\n )}\n </div>\n );\n};\n\nexport default SaveAsTemplate;\n"],"names":["SaveAsTemplate","_useFormikContext","useFormikContext","shouldSaveAsTemplate","values","setFieldValue","_useTranslation","useTranslation","t","useEffect","handleCheckedChange","checked","_jsxs","className","children","_jsx","Switch","concat","hyphenate","label","name","onCheckedChange","Input","autoFocus","required"],"mappings":";;;;;;;AAOA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,EAAA,IAAAC,iBAAA,GAGIC,gBAAgB,EAAE;AAFVC,IAAAA,oBAAoB,GAAAF,iBAAA,CAA9BG,MAAM,CAAID,oBAAoB;IAC9BE,aAAa,GAAAJ,iBAAA,CAAbI,aAAa;AAGf,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAETC,EAAAA,SAAS,CACP,YAAA;AAAA,IAAA,OAAM,YAAM;AACVJ,MAAAA,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAC5CA,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;IACnC,CAAC;AAAA,EAAA,CAAA,EACD,EACF,CAAC;AAED,EAAA,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,OAAO,EAAI;IACrC,IAAI,CAACA,OAAO,EAAE;AACZN,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;AACnC,IAAA;AAEAA,IAAAA,aAAa,CAAC,sBAAsB,EAAEM,OAAO,CAAC;EAChD,CAAC;AAED,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yBAAyB;IAAAC,QAAA,EAAA,cACtCC,GAAA,CAACC,MAAM,EAAA;MACL,aAAA,EAAA,yBAAA,CAAAC,MAAA,CAAuCC,SAAS,CAACV,CAAC,CAAC,iDAAiD,CAAC,CAAC,EAAA,SAAA,CAAU;AAChHW,MAAAA,KAAK,EAAEX,CAAC,CAAC,iDAAiD,CAAE;AAC5DY,MAAAA,IAAI,EAAC,sBAAsB;AAC3BC,MAAAA,eAAe,EAAEX;AAAoB,KACtC,CAAC,EACDP,oBAAoB,iBACnBY,GAAA,CAACO,KAAK,EAAA;MACJC,SAAS,EAAA,IAAA;MACTC,QAAQ,EAAA,IAAA;AACRL,MAAAA,KAAK,EAAEX,CAAC,CAAC,4CAA4C,CAAE;AACvDY,MAAAA,IAAI,EAAC;AAAc,KACpB,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
@@ -6,7 +6,6 @@ var formik = require('formik');
6
6
  var neetoCist = require('@bigbinary/neeto-cist');
7
7
  var reactI18next = require('react-i18next');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
- var ramda = require('ramda');
10
9
 
11
10
  var SaveAsTemplate = function SaveAsTemplate() {
12
11
  var _useFormikContext = formik.useFormikContext(),
@@ -42,11 +41,5 @@ var SaveAsTemplate = function SaveAsTemplate() {
42
41
  });
43
42
  };
44
43
 
45
- var areValuesEqual = function areValuesEqual(value1, value2) {
46
- var normalize = ramda.when(ramda.is(String), ramda.trim);
47
- return ramda.eqBy(normalize, value1, value2);
48
- };
49
-
50
44
  exports.SaveAsTemplate = SaveAsTemplate;
51
- exports.areValuesEqual = areValuesEqual;
52
- //# sourceMappingURL=utils-CLc_-Ysi.js.map
45
+ //# sourceMappingURL=SaveAsTemplate-GtRE2UkX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveAsTemplate-GtRE2UkX.js","sources":["../app/javascript/src/v2/components/commons/SaveAsTemplate.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { Input, Switch } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SaveAsTemplate = () => {\n const {\n values: { shouldSaveAsTemplate },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"shouldSaveAsTemplate\", false);\n setFieldValue(\"templateName\", \"\");\n },\n []\n );\n\n const handleCheckedChange = checked => {\n if (!checked) {\n setFieldValue(\"templateName\", \"\");\n }\n\n setFieldValue(\"shouldSaveAsTemplate\", checked);\n };\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n data-testid={`neeto-message-template-${hyphenate(t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\"))}-switch`}\n label={t(\"neetoMessageTemplate.sendMessage.saveAsTemplate\")}\n name=\"shouldSaveAsTemplate\"\n onCheckedChange={handleCheckedChange}\n />\n {shouldSaveAsTemplate && (\n <Input\n autoFocus\n required\n label={t(\"neetoMessageTemplate.template.templateName\")}\n name=\"templateName\"\n />\n )}\n </div>\n );\n};\n\nexport default SaveAsTemplate;\n"],"names":["SaveAsTemplate","_useFormikContext","useFormikContext","shouldSaveAsTemplate","values","setFieldValue","_useTranslation","useTranslation","t","useEffect","handleCheckedChange","checked","_jsxs","className","children","_jsx","Switch","concat","hyphenate","label","name","onCheckedChange","Input","autoFocus","required"],"mappings":";;;;;;;;;AAOA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,EAAA,IAAAC,iBAAA,GAGIC,uBAAgB,EAAE;AAFVC,IAAAA,oBAAoB,GAAAF,iBAAA,CAA9BG,MAAM,CAAID,oBAAoB;IAC9BE,aAAa,GAAAJ,iBAAA,CAAbI,aAAa;AAGf,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAETC,EAAAA,eAAS,CACP,YAAA;AAAA,IAAA,OAAM,YAAM;AACVJ,MAAAA,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAC5CA,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;IACnC,CAAC;AAAA,EAAA,CAAA,EACD,EACF,CAAC;AAED,EAAA,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,OAAO,EAAI;IACrC,IAAI,CAACA,OAAO,EAAE;AACZN,MAAAA,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;AACnC,IAAA;AAEAA,IAAAA,aAAa,CAAC,sBAAsB,EAAEM,OAAO,CAAC;EAChD,CAAC;AAED,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yBAAyB;IAAAC,QAAA,EAAA,cACtCC,cAAA,CAACC,eAAM,EAAA;MACL,aAAA,EAAA,yBAAA,CAAAC,MAAA,CAAuCC,mBAAS,CAACV,CAAC,CAAC,iDAAiD,CAAC,CAAC,EAAA,SAAA,CAAU;AAChHW,MAAAA,KAAK,EAAEX,CAAC,CAAC,iDAAiD,CAAE;AAC5DY,MAAAA,IAAI,EAAC,sBAAsB;AAC3BC,MAAAA,eAAe,EAAEX;AAAoB,KACtC,CAAC,EACDP,oBAAoB,iBACnBY,cAAA,CAACO,cAAK,EAAA;MACJC,SAAS,EAAA,IAAA;MACTC,QAAQ,EAAA,IAAA;AACRL,MAAAA,KAAK,EAAEX,CAAC,CAAC,4CAA4C,CAAE;AACvDY,MAAAA,IAAI,EAAC;AAAc,KACpB,CACF;AAAA,GACE,CAAC;AAEV;;;;"}