@bigbinary/neeto-message-templates-frontend 2.0.7 → 2.0.9
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.
- package/README.md +15 -16
- package/dist/.ready +1 -0
- package/dist/ApiTemplates.js +14 -13
- package/dist/ApiTemplates.js.map +1 -1
- package/dist/JsonEditor-BHy4s0Bo.js +402 -0
- package/dist/JsonEditor-BHy4s0Bo.js.map +1 -0
- package/dist/JsonEditor-BMMyHPxh.js +434 -0
- package/dist/JsonEditor-BMMyHPxh.js.map +1 -0
- package/dist/{JsonEditor-CGNPIMpX.js → JsonEditor-DEKfDX8p.js} +2 -5
- package/dist/{JsonEditor-CGNPIMpX.js.map → JsonEditor-DEKfDX8p.js.map} +1 -1
- package/dist/{JsonEditor-CLHGjppr.js → JsonEditor-DihhWMI5.js} +2 -5
- package/dist/{JsonEditor-CLHGjppr.js.map → JsonEditor-DihhWMI5.js.map} +1 -1
- package/dist/MessageTemplates.js +33 -43
- package/dist/MessageTemplates.js.map +1 -1
- package/dist/SendMessagePane.js +5 -5
- package/dist/SendMessagePane.js.map +1 -1
- package/dist/SendToApiPane.js +5 -4
- package/dist/SendToApiPane.js.map +1 -1
- package/dist/adaptive_input-BpXdshqg.js +17 -0
- package/dist/adaptive_input-BpXdshqg.js.map +1 -0
- package/dist/adaptive_input-Cd_EArae.js +19 -0
- package/dist/adaptive_input-Cd_EArae.js.map +1 -0
- package/dist/cjs/ApiTemplates.js +13 -12
- package/dist/cjs/ApiTemplates.js.map +1 -1
- package/dist/cjs/MessageTemplates.js +35 -45
- package/dist/cjs/MessageTemplates.js.map +1 -1
- package/dist/cjs/SendMessagePane.js +4 -4
- package/dist/cjs/SendMessagePane.js.map +1 -1
- package/dist/cjs/SendToApiPane.js +5 -4
- package/dist/cjs/SendToApiPane.js.map +1 -1
- package/dist/cjs/index.js +5 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/ApiTemplates.js +461 -0
- package/dist/cjs/v2/ApiTemplates.js.map +1 -0
- package/dist/cjs/v2/MessageTemplates.js +849 -0
- package/dist/cjs/v2/MessageTemplates.js.map +1 -0
- package/dist/cjs/v2/SendMessagePane.js +451 -0
- package/dist/cjs/v2/SendMessagePane.js.map +1 -0
- package/dist/cjs/v2/SendToApiPane.js +244 -0
- package/dist/cjs/v2/SendToApiPane.js.map +1 -0
- package/dist/cjs/v2/index.js +57 -0
- package/dist/cjs/v2/index.js.map +1 -0
- package/dist/{constants-D4v0xTUu.js → constants-B2GWdy9V.js} +2 -2
- package/dist/{constants-D4v0xTUu.js.map → constants-B2GWdy9V.js.map} +1 -1
- package/dist/constants-CX95xIS-.js +44 -0
- package/dist/constants-CX95xIS-.js.map +1 -0
- package/dist/constants-Cvnks2UE.js +49 -0
- package/dist/constants-Cvnks2UE.js.map +1 -0
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/inject-css-B6qYtOJe.js +6 -0
- package/dist/inject-css-B6qYtOJe.js.map +1 -0
- package/dist/inject-css-C2dztUxs.js +4 -0
- package/dist/inject-css-C2dztUxs.js.map +1 -0
- package/dist/json_editor-Co5e3Chh.js +5 -0
- package/dist/json_editor-Co5e3Chh.js.map +1 -0
- package/dist/json_editor-CvRhtSA3.js +7 -0
- package/dist/json_editor-CvRhtSA3.js.map +1 -0
- package/dist/{useTemplatesApi-BBQsbYMK.js → useTemplatesApi-CMkDeBa9.js} +2 -2
- package/dist/{useTemplatesApi-BBQsbYMK.js.map → useTemplatesApi-CMkDeBa9.js.map} +1 -1
- package/dist/{useTemplatesApi-DHrOrdXb.js → useTemplatesApi-byHuEDTl.js} +2 -2
- package/dist/{useTemplatesApi-DHrOrdXb.js.map → useTemplatesApi-byHuEDTl.js.map} +1 -1
- package/dist/utils-BGEmI_om.js +49 -0
- package/dist/utils-BGEmI_om.js.map +1 -0
- package/dist/utils-CLc_-Ysi.js +52 -0
- package/dist/utils-CLc_-Ysi.js.map +1 -0
- package/dist/utils-Cz5W3I3l.js.map +1 -1
- package/dist/utils-DddrNhQe.js.map +1 -1
- package/dist/v2/ApiTemplates.js +459 -0
- package/dist/v2/ApiTemplates.js.map +1 -0
- package/dist/v2/MessageTemplates.js +828 -0
- package/dist/v2/MessageTemplates.js.map +1 -0
- package/dist/v2/SendMessagePane.js +430 -0
- package/dist/v2/SendMessagePane.js.map +1 -0
- package/dist/v2/SendToApiPane.js +223 -0
- package/dist/v2/SendToApiPane.js.map +1 -0
- package/dist/v2/index.js +48 -0
- package/dist/v2/index.js.map +1 -0
- package/package.json +44 -35
- package/dist/inject-css-DmrvuTKK.js +0 -4
- package/dist/inject-css-DmrvuTKK.js.map +0 -1
- package/dist/inject-css-vQvjPR2x.js +0 -6
- package/dist/inject-css-vQvjPR2x.js.map +0 -1
|
@@ -0,0 +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 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 { 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 items-center justify-between gap-x-3\">\n <Button\n label={truncate(template.name, 100)}\n variant=\"link\"\n onClick={() => handleEditTemplate(setManageTemplatePane, template)}\n />\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 w-full flex-col gap-y-4 pb-6\",\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 <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 <Sheet.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 </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 {...{ isOpen, onClose }} initialFocusRef={initialFocusField}>\n <Sheet.Header>\n <Sheet.Title>{label}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\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.Body>\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 { 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().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 {\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 TableWrapper from \"neetomolecules/v2/TableWrapper\";\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 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 <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 </TableWrapper>\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>\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 as=\"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 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","className","menuItems","renderSearchProps","value","placeholder","what","concat","hyphenate","buildTableColumnData","accessorKey","node","header","type","size","cell","row","original","_jsxs","children","Button","truncate","name","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","ref","FormikEditor","hideSlashCommands","contentClassName","defaults","undefined","rows","DEFAULT_EDITOR_ROW_COUNT","variables","Sheet","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","initialFocusField","initialFocusRef","Header","Title","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","title","handleDelete","onSettled","TableWrapper","hasPagination","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","as","MESSAGE_TYPES","count","rightActionBlock","RightBlock","dataProps","filterProps","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen"],"mappings":"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"}
|
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
import { Typography, Button, Select, Sheet, Textarea, Spinner } from '@bigbinary/neeto-atoms';
|
|
4
|
+
import { isPresent, renameKeys, findBy, isNotEmpty, capitalize, nullSafe, noop } from '@bigbinary/neeto-cist';
|
|
5
|
+
import { omit, mergeAll, pluck, isEmpty } from 'ramda';
|
|
6
|
+
import { useTranslation, Trans } from 'react-i18next';
|
|
7
|
+
import { b as useFetchTemplates } from '../useTemplatesApi-CMkDeBa9.js';
|
|
8
|
+
import { M as MESSAGE_TEMPLATES, a as MESSAGE_TYPES, b as DEFAULT_EDITOR_ROW_COUNT } from '../constants-CX95xIS-.js';
|
|
9
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
11
|
+
import { Form, Input, ActionBlock } from '@bigbinary/neeto-atoms/formik';
|
|
12
|
+
import FormikEditor from '@bigbinary/neeto-editor/v2/FormikEditor';
|
|
13
|
+
import * as yup from 'yup';
|
|
14
|
+
import { S as SaveAsTemplate, a as areValuesEqual } from '../utils-BGEmI_om.js';
|
|
15
|
+
import { t } from 'i18next';
|
|
16
|
+
import '@tanstack/react-query';
|
|
17
|
+
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
18
|
+
import 'axios';
|
|
19
|
+
import 'qs';
|
|
20
|
+
import '@bigbinary/neeto-commons-frontend/v2/constants';
|
|
21
|
+
import 'formik';
|
|
22
|
+
|
|
23
|
+
var NoDataPage = function NoDataPage(_ref) {
|
|
24
|
+
var type = _ref.type,
|
|
25
|
+
_ref$helpDocUrl = _ref.helpDocUrl,
|
|
26
|
+
helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl;
|
|
27
|
+
var _useTranslation = useTranslation(),
|
|
28
|
+
t = _useTranslation.t;
|
|
29
|
+
var label = MESSAGE_TEMPLATES[type].label;
|
|
30
|
+
if (type === MESSAGE_TYPES.whatsapp) {
|
|
31
|
+
return /*#__PURE__*/jsx("div", {
|
|
32
|
+
className: "flex h-full w-full items-center justify-center px-6 text-center",
|
|
33
|
+
children: /*#__PURE__*/jsxs(Typography, {
|
|
34
|
+
children: [t("neetoMessageTemplate.template.emptyState", {
|
|
35
|
+
type: t("neetoMessageTemplate.template.whatsappTemplates")
|
|
36
|
+
}), " ", helpDocUrl && /*#__PURE__*/jsx(Trans, {
|
|
37
|
+
i18nKey: "neetoMessageTemplate.template.whatsapp.helpDocText",
|
|
38
|
+
components: {
|
|
39
|
+
Link: /*#__PURE__*/jsx(Button, {
|
|
40
|
+
href: helpDocUrl,
|
|
41
|
+
size: "lg",
|
|
42
|
+
variant: "link"
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
})]
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return /*#__PURE__*/jsx("div", {
|
|
50
|
+
className: "flex h-full w-full flex-col items-center justify-center",
|
|
51
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
52
|
+
children: t("neetoMessageTemplate.template.emptyState", {
|
|
53
|
+
type: label
|
|
54
|
+
})
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var formatEditorContent = function formatEditorContent(value) {
|
|
60
|
+
return value === null || value === void 0 ? void 0 : value.replaceAll(/<\/?(?!img)\w*\b[^>]*>/gi, "").trim();
|
|
61
|
+
};
|
|
62
|
+
var SEND_MESSAGE_INITIAL_VALUES = {
|
|
63
|
+
subject: "",
|
|
64
|
+
body: "",
|
|
65
|
+
shouldSaveAsTemplate: false,
|
|
66
|
+
templateName: ""
|
|
67
|
+
};
|
|
68
|
+
var EMAIL_MESSAGE_FORM_SCHEMA = yup.object().shape({
|
|
69
|
+
subject: yup.string().trim().required(t("neetoMessageTemplate.template.validation.subjectPresence")),
|
|
70
|
+
body: yup.string().test("body", t("neetoMessageTemplate.template.validation.bodyPresence"), function (value) {
|
|
71
|
+
return !!formatEditorContent(value);
|
|
72
|
+
}).required(t("neetoMessageTemplate.template.validation.bodyPresence")),
|
|
73
|
+
templateName: yup.string().when("shouldSaveAsTemplate", {
|
|
74
|
+
is: true,
|
|
75
|
+
then: yup.string().required(t("neetoMessageTemplate.template.validation.requiredEntity", {
|
|
76
|
+
entity: t("neetoMessageTemplate.template.templateName")
|
|
77
|
+
}))
|
|
78
|
+
})
|
|
79
|
+
});
|
|
80
|
+
var SMS_MESSAGE_FORM_VALIDATION_SCHEMA = yup.object().shape({
|
|
81
|
+
body: yup.string().required(t("neetoMessageTemplate.template.validation.bodyPresence")).test("body", t("neetoMessageTemplate.template.validation.bodyPresence"), function (value) {
|
|
82
|
+
return !!formatEditorContent(value);
|
|
83
|
+
}),
|
|
84
|
+
templateName: yup.string().when("shouldSaveAsTemplate", {
|
|
85
|
+
is: true,
|
|
86
|
+
then: yup.string().required(t("neetoMessageTemplate.template.validation.requiredEntity", {
|
|
87
|
+
entity: t("neetoMessageTemplate.template.templateName")
|
|
88
|
+
}))
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
var WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup.object().shape({
|
|
92
|
+
variableContents: yup.object().shape({
|
|
93
|
+
body: yup.array().of(yup.string().required(t("neetoMessageTemplate.template.validation.variablePresence")))
|
|
94
|
+
})
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
98
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
99
|
+
var EmailAndSms = function EmailAndSms(_ref) {
|
|
100
|
+
var canManageTemplates = _ref.canManageTemplates,
|
|
101
|
+
onClose = _ref.onClose,
|
|
102
|
+
templates = _ref.templates,
|
|
103
|
+
setFocusField = _ref.setFocusField,
|
|
104
|
+
templateVariables = _ref.templateVariables,
|
|
105
|
+
customFields = _ref.customFields,
|
|
106
|
+
customFieldsInitialValues = _ref.customFieldsInitialValues,
|
|
107
|
+
customFieldsValidationSchema = _ref.customFieldsValidationSchema,
|
|
108
|
+
type = _ref.type,
|
|
109
|
+
handleSubmit = _ref.handleSubmit,
|
|
110
|
+
isSaveAsTemplateEnabled = _ref.isSaveAsTemplateEnabled,
|
|
111
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
112
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
113
|
+
var editorRef = useRef(null);
|
|
114
|
+
var _useTranslation = useTranslation(),
|
|
115
|
+
t = _useTranslation.t;
|
|
116
|
+
var isEmailTemplate = type === "email";
|
|
117
|
+
var _ref2 = isEmailTemplate ? [SEND_MESSAGE_INITIAL_VALUES, EMAIL_MESSAGE_FORM_SCHEMA] : [omit(["subject"], SEND_MESSAGE_INITIAL_VALUES), SMS_MESSAGE_FORM_VALIDATION_SCHEMA],
|
|
118
|
+
_ref3 = _slicedToArray(_ref2, 2),
|
|
119
|
+
INITIAL_VALUES = _ref3[0],
|
|
120
|
+
SEND_MESSAGE_FORM_SCHEMA = _ref3[1];
|
|
121
|
+
var updatedInitialValues = mergeAll([INITIAL_VALUES, customFieldsInitialValues]);
|
|
122
|
+
var updatedValidationSchema = yup.object().shape(_objectSpread$2(_objectSpread$2({}, SEND_MESSAGE_FORM_SCHEMA === null || SEND_MESSAGE_FORM_SCHEMA === void 0 ? void 0 : SEND_MESSAGE_FORM_SCHEMA.fields), customFieldsValidationSchema === null || customFieldsValidationSchema === void 0 ? void 0 : customFieldsValidationSchema.fields));
|
|
123
|
+
var shouldShowSaveAsTemplate = function shouldShowSaveAsTemplate() {
|
|
124
|
+
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
125
|
+
id = _ref4.id,
|
|
126
|
+
subject = _ref4.subject,
|
|
127
|
+
body = _ref4.body;
|
|
128
|
+
if (!isSaveAsTemplateEnabled) return false;
|
|
129
|
+
var template = findBy({
|
|
130
|
+
id: id
|
|
131
|
+
}, templates);
|
|
132
|
+
var hasContent = isPresent(subject) || isPresent(body);
|
|
133
|
+
var isContentDifferentFromTemplate = !(areValuesEqual(template === null || template === void 0 ? void 0 : template.subject, subject) && (template === null || template === void 0 ? void 0 : template.body) === body);
|
|
134
|
+
return hasContent && isContentDifferentFromTemplate;
|
|
135
|
+
};
|
|
136
|
+
var isTemplateSelectionEnabled = isPresent(templates);
|
|
137
|
+
return /*#__PURE__*/jsx(Form, {
|
|
138
|
+
formProps: {
|
|
139
|
+
noValidate: true,
|
|
140
|
+
className: "flex w-full flex-col gap-y-4 pb-6"
|
|
141
|
+
},
|
|
142
|
+
formikProps: {
|
|
143
|
+
initialValues: updatedInitialValues,
|
|
144
|
+
validationSchema: updatedValidationSchema,
|
|
145
|
+
onSubmit: handleSubmit
|
|
146
|
+
},
|
|
147
|
+
children: function children(_ref5) {
|
|
148
|
+
var _helpPopoverProps$typ, _helpPopoverProps$ema;
|
|
149
|
+
var setValues = _ref5.setValues,
|
|
150
|
+
values = _ref5.values;
|
|
151
|
+
var handleTemplateChange = function handleTemplateChange(templateId) {
|
|
152
|
+
var _editorRef$current;
|
|
153
|
+
if (!templateId) return;
|
|
154
|
+
var template = findBy({
|
|
155
|
+
id: templateId
|
|
156
|
+
}, templates);
|
|
157
|
+
setValues(_objectSpread$2(_objectSpread$2({}, values), template));
|
|
158
|
+
(_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.editor) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.commands) === null || _editorRef$current === void 0 || _editorRef$current.setContent(template.body);
|
|
159
|
+
};
|
|
160
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
161
|
+
children: [isTemplateSelectionEnabled && /*#__PURE__*/jsx(Select, {
|
|
162
|
+
isClearable: true,
|
|
163
|
+
isSearchable: true,
|
|
164
|
+
label: t("neetoMessageTemplate.template.title"),
|
|
165
|
+
labelProps: helpPopoverProps === null || helpPopoverProps === void 0 || (_helpPopoverProps$typ = helpPopoverProps[type]) === null || _helpPopoverProps$typ === void 0 ? void 0 : _helpPopoverProps$typ.template,
|
|
166
|
+
options: renameKeys({
|
|
167
|
+
name: "label",
|
|
168
|
+
id: "value"
|
|
169
|
+
}, templates),
|
|
170
|
+
ref: setFocusField,
|
|
171
|
+
placeholder: t("neetoMessageTemplate.sendMessage.selectTemplate"),
|
|
172
|
+
onChange: handleTemplateChange
|
|
173
|
+
}), customFields, isEmailTemplate && /*#__PURE__*/jsx(Input, {
|
|
174
|
+
required: true,
|
|
175
|
+
label: t("neetoMessageTemplate.template.subject"),
|
|
176
|
+
labelProps: helpPopoverProps === null || helpPopoverProps === void 0 || (_helpPopoverProps$ema = helpPopoverProps.email) === null || _helpPopoverProps$ema === void 0 ? void 0 : _helpPopoverProps$ema.subject,
|
|
177
|
+
name: "subject",
|
|
178
|
+
ref: isTemplateSelectionEnabled ? null : setFocusField
|
|
179
|
+
}), /*#__PURE__*/jsx(FormikEditor, {
|
|
180
|
+
hideSlashCommands: true,
|
|
181
|
+
required: true,
|
|
182
|
+
autoFocus: !(isTemplateSelectionEnabled || isEmailTemplate),
|
|
183
|
+
contentClassName: "max-h-40",
|
|
184
|
+
defaults: isEmailTemplate ? undefined : [],
|
|
185
|
+
label: t("neetoMessageTemplate.template.body"),
|
|
186
|
+
name: "body",
|
|
187
|
+
ref: editorRef,
|
|
188
|
+
rows: DEFAULT_EDITOR_ROW_COUNT,
|
|
189
|
+
variables: templateVariables
|
|
190
|
+
}), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {}), /*#__PURE__*/jsx(Sheet.Footer, {
|
|
191
|
+
className: "absolute bottom-0 start-0",
|
|
192
|
+
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
193
|
+
cancelButtonProps: {
|
|
194
|
+
"data-testid": "message-template-cancel-button",
|
|
195
|
+
onClick: onClose
|
|
196
|
+
},
|
|
197
|
+
submitButtonProps: {
|
|
198
|
+
"data-testid": "message-template-send-button",
|
|
199
|
+
label: t("neetoMessageTemplate.template.send")
|
|
200
|
+
}
|
|
201
|
+
})
|
|
202
|
+
})]
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
209
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
210
|
+
var Whatsapp = function Whatsapp(_ref) {
|
|
211
|
+
var _templates$, _templates$2, _templates$3, _templates$4;
|
|
212
|
+
var templates = _ref.templates,
|
|
213
|
+
onClose = _ref.onClose,
|
|
214
|
+
handleSubmit = _ref.handleSubmit,
|
|
215
|
+
customFields = _ref.customFields,
|
|
216
|
+
customFieldsInitialValues = _ref.customFieldsInitialValues,
|
|
217
|
+
customFieldsValidationSchema = _ref.customFieldsValidationSchema;
|
|
218
|
+
var _useTranslation = useTranslation(),
|
|
219
|
+
t = _useTranslation.t;
|
|
220
|
+
var getInitialVariableComponents = function getInitialVariableComponents(variables) {
|
|
221
|
+
var initialComponents = {};
|
|
222
|
+
variables === null || variables === void 0 || variables.forEach(function (_ref2) {
|
|
223
|
+
var type = _ref2.type,
|
|
224
|
+
count = _ref2.count;
|
|
225
|
+
initialComponents[type] = Array(count).fill("");
|
|
226
|
+
});
|
|
227
|
+
return initialComponents;
|
|
228
|
+
};
|
|
229
|
+
var getTemplateMessage = function getTemplateMessage(components) {
|
|
230
|
+
var _nullSafe;
|
|
231
|
+
return (_nullSafe = nullSafe(pluck)("text", components)) === null || _nullSafe === void 0 ? void 0 : _nullSafe.join("\n");
|
|
232
|
+
};
|
|
233
|
+
var initialFormValues = {
|
|
234
|
+
selectedTemplate: {
|
|
235
|
+
label: (_templates$ = templates[0]) === null || _templates$ === void 0 ? void 0 : _templates$.name,
|
|
236
|
+
value: (_templates$2 = templates[0]) === null || _templates$2 === void 0 ? void 0 : _templates$2.id
|
|
237
|
+
},
|
|
238
|
+
templateMessage: getTemplateMessage((_templates$3 = templates[0]) === null || _templates$3 === void 0 ? void 0 : _templates$3.components),
|
|
239
|
+
variableContents: getInitialVariableComponents((_templates$4 = templates[0]) === null || _templates$4 === void 0 ? void 0 : _templates$4.variableCount)
|
|
240
|
+
};
|
|
241
|
+
var updatedInitialValues = mergeAll([initialFormValues, customFieldsInitialValues]);
|
|
242
|
+
var updatedValidationSchema = yup.object().shape(_objectSpread$1(_objectSpread$1({}, WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA === null || WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA === void 0 ? void 0 : WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA.fields), customFieldsValidationSchema === null || customFieldsValidationSchema === void 0 ? void 0 : customFieldsValidationSchema.fields));
|
|
243
|
+
var initialValueKeys = Object.keys(initialFormValues);
|
|
244
|
+
return /*#__PURE__*/jsx(Form, {
|
|
245
|
+
formProps: {
|
|
246
|
+
noValidate: true,
|
|
247
|
+
className: "flex w-full flex-col gap-y-4 pb-6"
|
|
248
|
+
},
|
|
249
|
+
formikProps: {
|
|
250
|
+
initialValues: updatedInitialValues,
|
|
251
|
+
validationSchema: updatedValidationSchema,
|
|
252
|
+
onSubmit: handleSubmit
|
|
253
|
+
},
|
|
254
|
+
children: function children(_ref3) {
|
|
255
|
+
var _values$selectedTempl;
|
|
256
|
+
var values = _ref3.values,
|
|
257
|
+
setValues = _ref3.setValues;
|
|
258
|
+
// `selectedTemplate` is kept as a `{ label, value }` object in Formik
|
|
259
|
+
// state to preserve the payload shape v1 handed to `handleSubmit`.
|
|
260
|
+
// atoms' Select is value-based, hence the plain (non-Formik) Select
|
|
261
|
+
// driven off `values.selectedTemplate.value`.
|
|
262
|
+
var handleTemplateChange = function handleTemplateChange(templateId) {
|
|
263
|
+
if (!templateId) return;
|
|
264
|
+
var template = findBy({
|
|
265
|
+
id: templateId
|
|
266
|
+
}, templates);
|
|
267
|
+
var customFieldValues = omit(initialValueKeys, values);
|
|
268
|
+
setValues(_objectSpread$1({
|
|
269
|
+
selectedTemplate: {
|
|
270
|
+
label: template.name,
|
|
271
|
+
value: template.id
|
|
272
|
+
},
|
|
273
|
+
templateMessage: getTemplateMessage(template.components),
|
|
274
|
+
variableContents: getInitialVariableComponents(template.variableCount)
|
|
275
|
+
}, customFieldValues));
|
|
276
|
+
};
|
|
277
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
278
|
+
children: [/*#__PURE__*/jsx(Select, {
|
|
279
|
+
required: true,
|
|
280
|
+
label: t("neetoMessageTemplate.template.title"),
|
|
281
|
+
name: "selectedTemplate",
|
|
282
|
+
options: renameKeys({
|
|
283
|
+
name: "label",
|
|
284
|
+
id: "value"
|
|
285
|
+
}, templates),
|
|
286
|
+
value: (_values$selectedTempl = values.selectedTemplate) === null || _values$selectedTempl === void 0 ? void 0 : _values$selectedTempl.value,
|
|
287
|
+
onChange: handleTemplateChange
|
|
288
|
+
}), customFields, /*#__PURE__*/jsx(Textarea, {
|
|
289
|
+
disabled: true,
|
|
290
|
+
nakedTextarea: true,
|
|
291
|
+
label: t("neetoMessageTemplate.template.preview"),
|
|
292
|
+
value: values.templateMessage
|
|
293
|
+
}), isNotEmpty(values.variableContents) && /*#__PURE__*/jsx(Fragment, {
|
|
294
|
+
children: Object.keys(values.variableContents).map(function (group) {
|
|
295
|
+
return /*#__PURE__*/jsxs("div", {
|
|
296
|
+
className: "flex flex-col gap-y-2",
|
|
297
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
298
|
+
variant: "h4",
|
|
299
|
+
children: t("neetoMessageTemplate.template.resolveVariable", {
|
|
300
|
+
type: capitalize(group)
|
|
301
|
+
})
|
|
302
|
+
}), values.variableContents[group].map(function (_, index) {
|
|
303
|
+
return /*#__PURE__*/jsx("div", {
|
|
304
|
+
children: /*#__PURE__*/jsx(Input, {
|
|
305
|
+
required: true,
|
|
306
|
+
label: "{{".concat(index + 1, "}}"),
|
|
307
|
+
name: "variableContents.".concat(group, ".").concat(index)
|
|
308
|
+
}, "".concat(group, "-").concat(index))
|
|
309
|
+
}, "".concat(group, "-").concat(index));
|
|
310
|
+
})]
|
|
311
|
+
}, group);
|
|
312
|
+
})
|
|
313
|
+
}), /*#__PURE__*/jsx(Sheet.Footer, {
|
|
314
|
+
className: "absolute bottom-0 start-0",
|
|
315
|
+
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
316
|
+
cancelButtonProps: {
|
|
317
|
+
"data-testid": "message-template-cancel-button",
|
|
318
|
+
onClick: onClose
|
|
319
|
+
},
|
|
320
|
+
submitButtonProps: {
|
|
321
|
+
"data-testid": "message-template-send-button",
|
|
322
|
+
label: t("neetoMessageTemplate.template.send")
|
|
323
|
+
}
|
|
324
|
+
})
|
|
325
|
+
})]
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
332
|
+
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; }
|
|
333
|
+
var SendMessagePane = function SendMessagePane(props) {
|
|
334
|
+
var isOpen = props.isOpen,
|
|
335
|
+
onClose = props.onClose;
|
|
336
|
+
var setFocusField = useRef(null);
|
|
337
|
+
return /*#__PURE__*/jsx(Sheet, {
|
|
338
|
+
isOpen: isOpen,
|
|
339
|
+
onClose: onClose,
|
|
340
|
+
initialFocusRef: setFocusField,
|
|
341
|
+
children: /*#__PURE__*/jsx(SendMessageForm, _objectSpread({}, _objectSpread(_objectSpread({}, props), {}, {
|
|
342
|
+
setFocusField: setFocusField
|
|
343
|
+
})))
|
|
344
|
+
});
|
|
345
|
+
};
|
|
346
|
+
var SendMessageForm = function SendMessageForm(_ref) {
|
|
347
|
+
var _ref$type = _ref.type,
|
|
348
|
+
type = _ref$type === void 0 ? "" : _ref$type,
|
|
349
|
+
_ref$handleSubmit = _ref.handleSubmit,
|
|
350
|
+
handleSubmit = _ref$handleSubmit === void 0 ? noop : _ref$handleSubmit,
|
|
351
|
+
_ref$onClose = _ref.onClose,
|
|
352
|
+
onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
|
|
353
|
+
_ref$customFields = _ref.customFields,
|
|
354
|
+
customFields = _ref$customFields === void 0 ? null : _ref$customFields,
|
|
355
|
+
_ref$customFieldsInit = _ref.customFieldsInitialValues,
|
|
356
|
+
customFieldsInitialValues = _ref$customFieldsInit === void 0 ? {} : _ref$customFieldsInit,
|
|
357
|
+
_ref$customFieldsVali = _ref.customFieldsValidationSchema,
|
|
358
|
+
customFieldsValidationSchema = _ref$customFieldsVali === void 0 ? {} : _ref$customFieldsVali,
|
|
359
|
+
_ref$templateVariable = _ref.templateVariables,
|
|
360
|
+
templateVariables = _ref$templateVariable === void 0 ? {} : _ref$templateVariable,
|
|
361
|
+
_ref$ownerId = _ref.ownerId,
|
|
362
|
+
ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId,
|
|
363
|
+
_ref$helpDocUrl = _ref.helpDocUrl,
|
|
364
|
+
helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
|
|
365
|
+
_ref$isSaveAsTemplate = _ref.isSaveAsTemplateEnabled,
|
|
366
|
+
isSaveAsTemplateEnabled = _ref$isSaveAsTemplate === void 0 ? true : _ref$isSaveAsTemplate,
|
|
367
|
+
_ref$canManageTemplat = _ref.canManageTemplates,
|
|
368
|
+
canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
|
|
369
|
+
setFocusField = _ref.setFocusField,
|
|
370
|
+
helpPopoverProps = _ref.helpPopoverProps;
|
|
371
|
+
var _useTranslation = useTranslation(),
|
|
372
|
+
t = _useTranslation.t;
|
|
373
|
+
var value = MESSAGE_TEMPLATES[type].value;
|
|
374
|
+
var isWhatsappTemplate = type === "whatsapp";
|
|
375
|
+
var templateParams = {
|
|
376
|
+
status: "active",
|
|
377
|
+
templateType: value,
|
|
378
|
+
ownerId: ownerId
|
|
379
|
+
};
|
|
380
|
+
var _useFetchTemplates = useFetchTemplates(templateParams),
|
|
381
|
+
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
382
|
+
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
383
|
+
_useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
|
|
384
|
+
templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3,
|
|
385
|
+
isLoading = _useFetchTemplates.isLoading;
|
|
386
|
+
if (isLoading) {
|
|
387
|
+
return /*#__PURE__*/jsx("div", {
|
|
388
|
+
className: "flex h-full w-full items-center justify-center",
|
|
389
|
+
children: /*#__PURE__*/jsx(Spinner, {})
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
if (isWhatsappTemplate && isEmpty(templates)) {
|
|
393
|
+
return /*#__PURE__*/jsx(NoDataPage, {
|
|
394
|
+
helpDocUrl: helpDocUrl,
|
|
395
|
+
type: type
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
399
|
+
children: [/*#__PURE__*/jsx(Sheet.Header, {
|
|
400
|
+
children: /*#__PURE__*/jsxs(Sheet.Title, {
|
|
401
|
+
children: [t("neetoMessageTemplate.common.send"), " ", MESSAGE_TYPES[type]]
|
|
402
|
+
})
|
|
403
|
+
}), /*#__PURE__*/jsx(Sheet.Body, {
|
|
404
|
+
children: isWhatsappTemplate ? /*#__PURE__*/jsx(Whatsapp, {
|
|
405
|
+
customFields: customFields,
|
|
406
|
+
customFieldsInitialValues: customFieldsInitialValues,
|
|
407
|
+
customFieldsValidationSchema: customFieldsValidationSchema,
|
|
408
|
+
handleSubmit: handleSubmit,
|
|
409
|
+
onClose: onClose,
|
|
410
|
+
templates: templates
|
|
411
|
+
}) : /*#__PURE__*/jsx(EmailAndSms, {
|
|
412
|
+
canManageTemplates: canManageTemplates,
|
|
413
|
+
customFields: customFields,
|
|
414
|
+
customFieldsInitialValues: customFieldsInitialValues,
|
|
415
|
+
customFieldsValidationSchema: customFieldsValidationSchema,
|
|
416
|
+
handleSubmit: handleSubmit,
|
|
417
|
+
helpPopoverProps: helpPopoverProps,
|
|
418
|
+
isSaveAsTemplateEnabled: isSaveAsTemplateEnabled,
|
|
419
|
+
onClose: onClose,
|
|
420
|
+
setFocusField: setFocusField,
|
|
421
|
+
templateVariables: templateVariables,
|
|
422
|
+
templates: templates,
|
|
423
|
+
type: type
|
|
424
|
+
})
|
|
425
|
+
})]
|
|
426
|
+
});
|
|
427
|
+
};
|
|
428
|
+
|
|
429
|
+
export { SendMessagePane as default };
|
|
430
|
+
//# sourceMappingURL=SendMessagePane.js.map
|