@bigbinary/neeto-message-templates-frontend 2.0.3 → 2.0.4
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/dist/ApiTemplates.js +1 -1
- package/dist/{JsonEditor-DGRpHz2w.js → JsonEditor-BheiZ87J.js} +2 -2
- package/dist/JsonEditor-BheiZ87J.js.map +1 -0
- package/dist/{JsonEditor-Ca0TAmxk.js → JsonEditor-Dtua-Y6w.js} +2 -2
- package/dist/JsonEditor-Dtua-Y6w.js.map +1 -0
- package/dist/MessageTemplates.js +1 -1
- package/dist/MessageTemplates.js.map +1 -1
- package/dist/SendToApiPane.js +1 -1
- package/dist/cjs/ApiTemplates.js +1 -1
- package/dist/cjs/MessageTemplates.js +1 -1
- package/dist/cjs/MessageTemplates.js.map +1 -1
- package/dist/cjs/SendToApiPane.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +5 -4
- package/dist/JsonEditor-Ca0TAmxk.js.map +0 -1
- package/dist/JsonEditor-DGRpHz2w.js.map +0 -1
package/dist/ApiTemplates.js
CHANGED
|
@@ -18,7 +18,7 @@ import Table from '@bigbinary/neetoui/Table';
|
|
|
18
18
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
19
19
|
import { equals, assoc, isEmpty, pick } from 'ramda';
|
|
20
20
|
import { useTranslation, Trans } from 'react-i18next';
|
|
21
|
-
import { T as TEMPLATE_STATUS, A as API_TEMPLATE_INITIAL_VALUES, C as CUSTOM_HEADERS_INITIAL_VALUE, r as rejectEmptyKeyValuePairs, a as API_TEMPLATE_TYPE, b as API_TEMPLATE_FORM_VALIDATION_SCHEMA, S as SAMPLE_URL, c as CustomHeaders, J as JsonEditor, F as FILTER_COLUMNS, d as buildHelpPopoverProps } from './JsonEditor-
|
|
21
|
+
import { T as TEMPLATE_STATUS, A as API_TEMPLATE_INITIAL_VALUES, C as CUSTOM_HEADERS_INITIAL_VALUE, r as rejectEmptyKeyValuePairs, a as API_TEMPLATE_TYPE, b as API_TEMPLATE_FORM_VALIDATION_SCHEMA, S as SAMPLE_URL, c as CustomHeaders, J as JsonEditor, F as FILTER_COLUMNS, d as buildHelpPopoverProps } from './JsonEditor-BheiZ87J.js';
|
|
22
22
|
import { D as DEFAULT_PAGE_PROPERTIES } from './constants-D4v0xTUu.js';
|
|
23
23
|
import { u as useCreateTemplate, a as useUpdateTemplate, b as useFetchTemplates, c as useDeleteTemplate } from './useTemplatesApi-BBQsbYMK.js';
|
|
24
24
|
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
@@ -271,7 +271,7 @@ var CustomHeaders = function CustomHeaders(_ref) {
|
|
|
271
271
|
});
|
|
272
272
|
};
|
|
273
273
|
|
|
274
|
-
var css = ".neeto-message-template-json-editor__wrapper{height:40vh;padding-bottom:.75rem;position:relative}.neeto-message-template-json-editor__editor{height:100%}.neeto-message-template-json-editor__dynamic-variables{inset-inline-end:1rem;position:absolute;top:1rem;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,
|
|
274
|
+
var css = ".neeto-message-template-json-editor__wrapper{height:40vh;padding-bottom:.75rem;position:relative}.neeto-message-template-json-editor__editor{height:100%}.neeto-message-template-json-editor__dynamic-variables{inset-inline-end:1rem;position:absolute;top:1rem;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvanNvbl9lZGl0b3IuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZDQUVFLFdBQVksQ0FDWixxQkFBdUIsQ0FGdkIsaUJBR0YsQ0FFQSw0Q0FDRSxXQUNGLENBRUEsdURBR0UscUJBQXNCLENBRnRCLGlCQUFrQixDQUNsQixRQUFTLENBRVQsVUFDRiIsInNvdXJjZXNDb250ZW50IjpbIi5uZWV0by1tZXNzYWdlLXRlbXBsYXRlLWpzb24tZWRpdG9yX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQwdmg7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ubmVldG8tbWVzc2FnZS10ZW1wbGF0ZS1qc29uLWVkaXRvcl9fZWRpdG9yIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmVldG8tbWVzc2FnZS10ZW1wbGF0ZS1qc29uLWVkaXRvcl9fZHluYW1pYy12YXJpYWJsZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgaW5zZXQtaW5saW5lLWVuZDogMXJlbTtcbiAgei1pbmRleDogMTA7XG59XG4iXX0= */";
|
|
275
275
|
n(css,{});
|
|
276
276
|
|
|
277
277
|
var JsonEditor = function JsonEditor(_ref) {
|
|
@@ -405,4 +405,4 @@ var JsonEditor = function JsonEditor(_ref) {
|
|
|
405
405
|
};
|
|
406
406
|
|
|
407
407
|
export { API_TEMPLATE_INITIAL_VALUES as A, CUSTOM_HEADERS_INITIAL_VALUE as C, FILTER_COLUMNS as F, JsonEditor as J, SAMPLE_URL as S, TEMPLATE_STATUS as T, VALID_URL_REGEX as V, API_TEMPLATE_TYPE as a, API_TEMPLATE_FORM_VALIDATION_SCHEMA as b, CustomHeaders as c, buildHelpPopoverProps as d, rejectEmptyKeyValuePairs as r };
|
|
408
|
-
//# sourceMappingURL=JsonEditor-
|
|
408
|
+
//# sourceMappingURL=JsonEditor-BheiZ87J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonEditor-BheiZ87J.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/Api/utils.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/CustomHeaders.jsx","../app/javascript/src/components/Api/JsonEditor.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const CUSTOM_HEADERS_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n\nexport const API_TEMPLATES_HELP_POPOVER_PROPS = {\n apiTemplates: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.apiTemplates.description\"\n ),\n helpLinkProps: { \"data-cy\": \"help-popover-link-button\" },\n popoverProps: { position: \"top\" },\n },\n sendToApi: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.sendToApi.description\"\n ),\n helpLinkProps: { \"data-cy\": \"send-to-api-action-help-link\" },\n popoverProps: { position: \"top\" },\n },\n customHeaders: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.customHeaders.description\"\n ),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-custom-headers-help-link\",\n },\n position: \"top\",\n },\n body: {\n description: t(\"neetoMessageTemplate.api.helpPopovers.body.description\"),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-body-help-link\",\n },\n position: \"top\",\n },\n};\n\nexport const JSON_LANGUAGE = \"json\";\n\nexport const EDITOR_CONFIG = {\n formatOnType: true,\n formatOnPaste: true,\n automaticLayout: true,\n tabSize: 2,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n autoIndent: \"full\",\n};\n","import { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport {\n CUSTOM_HEADERS_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n enableCustomHeaders: false,\n customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],\n body: \"{}\",\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.name\"),\n })\n ),\n endpoint: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.api.endpoint\"),\n })\n )\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n body: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n })\n )\n .test(\"is-valid-json-and-not-empty\", (value, context) => {\n if (!value) return true;\n\n try {\n const parsedValue = JSON.parse(value);\n\n if (isNotPresent(parsedValue)) {\n return context.createError({\n message: t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n }),\n });\n }\n\n return true;\n } catch {\n return context.createError({\n message: t(\"neetoMessageTemplate.api.validation.invalidJsonBody\"),\n });\n }\n }),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import {\n isEmpty,\n reject,\n whereAny,\n map,\n mergeDeepLeft,\n omit,\n path,\n unless,\n} from \"ramda\";\n\nimport { API_TEMPLATES_HELP_POPOVER_PROPS } from \"./constants\";\n\nconst sanitizeHelpPopoverProps = map(\n unless(path([\"helpLinkProps\", \"href\"]), omit([\"helpLinkProps\"]))\n);\n\nexport const buildHelpPopoverProps = popoverProps => {\n const combinedProps = mergeDeepLeft(\n popoverProps,\n API_TEMPLATES_HELP_POPOVER_PROPS\n );\n\n return sanitizeHelpPopoverProps(combinedProps);\n};\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, entity }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name] || [\n CUSTOM_HEADERS_INITIAL_VALUE,\n ];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"flex flex-col space-y-2\">\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-1/3\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-2/3\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-30 ms-auto\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addEntity\", { entity })}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"./constants\";\n\nconst CustomHeaders = ({ helpPopoverProps = {} }) => {\n const {\n values: { enableCustomHeaders },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"enableCustomHeaders\", false);\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n },\n []\n );\n\n const handleChange = ({ target: { checked } }) => {\n if (!checked) {\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n }\n\n setFieldValue(\"enableCustomHeaders\", checked);\n };\n\n const label = t(\"neetoMessageTemplate.api.includeHeaders\");\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n {...{ label }}\n data-cy={`neeto-message-template-${hyphenate(label)}-switch`}\n name=\"enableCustomHeaders\"\n labelProps={{\n className: \"ms-2\",\n helpIconProps: { popoverProps: helpPopoverProps },\n }}\n onChange={handleChange}\n />\n {enableCustomHeaders && (\n <KeyValuePairs\n entity={t(\"neetoMessageTemplate.api.headers\")}\n name=\"customHeaders\"\n />\n )}\n </div>\n );\n};\n\nexport default CustomHeaders;\n","import { useEffect, useRef } from \"react\";\n\nimport Editor from \"@monaco-editor/react\";\nimport { useField } from \"formik\";\nimport { Help } from \"neetoicons\";\nimport DynamicVariables from \"neetomolecules/DynamicVariables\";\nimport { Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/json_editor.css\";\n\nimport { EDITOR_CONFIG, JSON_LANGUAGE } from \"./constants\";\n\nconst JsonEditor = ({\n name,\n helpPopoverProps = {},\n initialValue = \"{}\",\n templateVariables = [],\n}) => {\n const editorRef = useRef(null);\n const completionProviderRef = useRef(null);\n\n const [_, { touched, error }, { setValue, setTouched }] = useField(name);\n\n const { t } = useTranslation();\n\n const handleEditorDidMount = (editor, monaco) => {\n editorRef.current = editor;\n\n completionProviderRef.current =\n monaco.languages.registerCompletionItemProvider(JSON_LANGUAGE, {\n triggerCharacters: [\"{\"],\n provideCompletionItems: (model, position) => {\n const lineContent = model.getLineContent(position.lineNumber);\n const beforeCursor = lineContent.slice(0, position.column - 1);\n\n if (!beforeCursor.endsWith('\"{')) {\n return { suggestions: [] };\n }\n\n const suggestions = templateVariables.map(({ key, label }) => ({\n label,\n kind: monaco.languages.CompletionItemKind.Variable,\n insertText: `{${key}}}`,\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n detail: t(\"neetoMessageTemplate.api.insertPlaceholder\", {\n label,\n }),\n }));\n\n return { suggestions };\n },\n });\n };\n\n const insertVariable = ({ key }) => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const selection = editor.getSelection();\n const range = {\n startLineNumber: selection.startLineNumber,\n startColumn: selection.startColumn,\n endLineNumber: selection.endLineNumber,\n endColumn: selection.endColumn,\n };\n const text = `\"{{${key}}}\"`;\n\n editor.executeEdits(\"\", [{ range, text, forceMoveMarkers: true }]);\n\n const position = editor.getPosition();\n editor.setPosition({\n lineNumber: position.lineNumber,\n column: position.column + text.length,\n });\n\n editor.focus();\n };\n\n const handleChange = value => {\n setTouched(true);\n setValue(value);\n };\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const currentValue = editor.getValue();\n if (currentValue !== initialValue) {\n editor.setValue(initialValue);\n }\n }, [initialValue]);\n\n useEffect(\n () => () => {\n completionProviderRef.current?.dispose();\n completionProviderRef.current = null;\n },\n []\n );\n\n return (\n <div className=\"space-y-2\">\n <Label\n required\n data-cy=\"message-template-body\"\n helpIconProps={{ icon: Help, popoverProps: helpPopoverProps }}\n >\n {t(\"neetoMessageTemplate.template.body\")}\n </Label>\n <div className=\"neeto-message-template-json-editor__wrapper\">\n <div className=\"neeto-message-template-json-editor__dynamic-variables\">\n <DynamicVariables\n variables={templateVariables}\n onVariableClick={insertVariable}\n />\n </div>\n <Editor\n className=\"neeto-message-template-json-editor__editor\"\n defaultLanguage={JSON_LANGUAGE}\n defaultValue={initialValue}\n height=\"100%\"\n options={EDITOR_CONFIG}\n theme=\"vs-dark\"\n onChange={handleChange}\n onMount={handleEditorDidMount}\n />\n {touched && error && (\n <div className=\"neeto-ui-input__error\">{error}</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default JsonEditor;\n"],"names":["VALID_URL_REGEX","CUSTOM_HEADERS_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","API_TEMPLATES_HELP_POPOVER_PROPS","apiTemplates","description","t","helpLinkProps","popoverProps","position","sendToApi","customHeaders","label","body","JSON_LANGUAGE","EDITOR_CONFIG","formatOnType","formatOnPaste","automaticLayout","tabSize","minimap","enabled","scrollBeyondLastLine","autoIndent","dataIndex","title","render","status","width","FILTER_COLUMNS","node","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","enableCustomHeaders","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","entity","matches","test","context","parsedValue","JSON","parse","isNotPresent","createError","message","_unused","TEMPLATE_STATUS","ACTIVE","INACTIVE","sanitizeHelpPopoverProps","map","unless","path","omit","buildHelpPopoverProps","combinedProps","mergeDeepLeft","rejectEmptyKeyValuePairs","reject","whereAny","isEmpty","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","isNotEmpty","KeyValuePairs","withT","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","CustomHeaders","_ref$helpPopoverProps","helpPopoverProps","_useFormikContext","useFormikContext","setFieldValue","_useTranslation","useTranslation","useEffect","handleChange","_ref2","checked","target","Switch","hyphenate","labelProps","helpIconProps","onChange","JsonEditor","_ref$initialValue","initialValue","_ref$templateVariable","templateVariables","editorRef","useRef","completionProviderRef","_useField","useField","_useField2","_slicedToArray","_useField2$","touched","error","_useField2$2","setValue","setTouched","handleEditorDidMount","editor","monaco","current","languages","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","model","lineContent","getLineContent","lineNumber","beforeCursor","slice","column","endsWith","suggestions","kind","CompletionItemKind","Variable","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","detail","insertVariable","_ref3","selection","getSelection","range","startLineNumber","startColumn","endLineNumber","endColumn","text","executeEdits","forceMoveMarkers","getPosition","setPosition","focus","currentValue","getValue","_completionProviderRe","dispose","Label","Help","DynamicVariables","variables","onVariableClick","Editor","defaultLanguage","defaultValue","height","options","theme","onMount"],"mappings":"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"}
|
|
@@ -292,7 +292,7 @@ var CustomHeaders = function CustomHeaders(_ref) {
|
|
|
292
292
|
});
|
|
293
293
|
};
|
|
294
294
|
|
|
295
|
-
var css = ".neeto-message-template-json-editor__wrapper{height:40vh;padding-bottom:.75rem;position:relative}.neeto-message-template-json-editor__editor{height:100%}.neeto-message-template-json-editor__dynamic-variables{inset-inline-end:1rem;position:absolute;top:1rem;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,
|
|
295
|
+
var css = ".neeto-message-template-json-editor__wrapper{height:40vh;padding-bottom:.75rem;position:relative}.neeto-message-template-json-editor__editor{height:100%}.neeto-message-template-json-editor__dynamic-variables{inset-inline-end:1rem;position:absolute;top:1rem;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvanNvbl9lZGl0b3IuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZDQUVFLFdBQVksQ0FDWixxQkFBdUIsQ0FGdkIsaUJBR0YsQ0FFQSw0Q0FDRSxXQUNGLENBRUEsdURBR0UscUJBQXNCLENBRnRCLGlCQUFrQixDQUNsQixRQUFTLENBRVQsVUFDRiIsInNvdXJjZXNDb250ZW50IjpbIi5uZWV0by1tZXNzYWdlLXRlbXBsYXRlLWpzb24tZWRpdG9yX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQwdmg7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ubmVldG8tbWVzc2FnZS10ZW1wbGF0ZS1qc29uLWVkaXRvcl9fZWRpdG9yIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmVldG8tbWVzc2FnZS10ZW1wbGF0ZS1qc29uLWVkaXRvcl9fZHluYW1pYy12YXJpYWJsZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgaW5zZXQtaW5saW5lLWVuZDogMXJlbTtcbiAgei1pbmRleDogMTA7XG59XG4iXX0= */";
|
|
296
296
|
injectCss.n(css,{});
|
|
297
297
|
|
|
298
298
|
var JsonEditor = function JsonEditor(_ref) {
|
|
@@ -437,4 +437,4 @@ exports.TEMPLATE_STATUS = TEMPLATE_STATUS;
|
|
|
437
437
|
exports.VALID_URL_REGEX = VALID_URL_REGEX;
|
|
438
438
|
exports.buildHelpPopoverProps = buildHelpPopoverProps;
|
|
439
439
|
exports.rejectEmptyKeyValuePairs = rejectEmptyKeyValuePairs;
|
|
440
|
-
//# sourceMappingURL=JsonEditor-
|
|
440
|
+
//# sourceMappingURL=JsonEditor-Dtua-Y6w.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonEditor-Dtua-Y6w.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/Api/utils.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/CustomHeaders.jsx","../app/javascript/src/components/Api/JsonEditor.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const CUSTOM_HEADERS_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n\nexport const API_TEMPLATES_HELP_POPOVER_PROPS = {\n apiTemplates: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.apiTemplates.description\"\n ),\n helpLinkProps: { \"data-cy\": \"help-popover-link-button\" },\n popoverProps: { position: \"top\" },\n },\n sendToApi: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.sendToApi.description\"\n ),\n helpLinkProps: { \"data-cy\": \"send-to-api-action-help-link\" },\n popoverProps: { position: \"top\" },\n },\n customHeaders: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.customHeaders.description\"\n ),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-custom-headers-help-link\",\n },\n position: \"top\",\n },\n body: {\n description: t(\"neetoMessageTemplate.api.helpPopovers.body.description\"),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-body-help-link\",\n },\n position: \"top\",\n },\n};\n\nexport const JSON_LANGUAGE = \"json\";\n\nexport const EDITOR_CONFIG = {\n formatOnType: true,\n formatOnPaste: true,\n automaticLayout: true,\n tabSize: 2,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n autoIndent: \"full\",\n};\n","import { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport {\n CUSTOM_HEADERS_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n enableCustomHeaders: false,\n customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],\n body: \"{}\",\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.name\"),\n })\n ),\n endpoint: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.api.endpoint\"),\n })\n )\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n body: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n })\n )\n .test(\"is-valid-json-and-not-empty\", (value, context) => {\n if (!value) return true;\n\n try {\n const parsedValue = JSON.parse(value);\n\n if (isNotPresent(parsedValue)) {\n return context.createError({\n message: t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n }),\n });\n }\n\n return true;\n } catch {\n return context.createError({\n message: t(\"neetoMessageTemplate.api.validation.invalidJsonBody\"),\n });\n }\n }),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import {\n isEmpty,\n reject,\n whereAny,\n map,\n mergeDeepLeft,\n omit,\n path,\n unless,\n} from \"ramda\";\n\nimport { API_TEMPLATES_HELP_POPOVER_PROPS } from \"./constants\";\n\nconst sanitizeHelpPopoverProps = map(\n unless(path([\"helpLinkProps\", \"href\"]), omit([\"helpLinkProps\"]))\n);\n\nexport const buildHelpPopoverProps = popoverProps => {\n const combinedProps = mergeDeepLeft(\n popoverProps,\n API_TEMPLATES_HELP_POPOVER_PROPS\n );\n\n return sanitizeHelpPopoverProps(combinedProps);\n};\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, entity }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name] || [\n CUSTOM_HEADERS_INITIAL_VALUE,\n ];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"flex flex-col space-y-2\">\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-1/3\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-2/3\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-30 ms-auto\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addEntity\", { entity })}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"./constants\";\n\nconst CustomHeaders = ({ helpPopoverProps = {} }) => {\n const {\n values: { enableCustomHeaders },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"enableCustomHeaders\", false);\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n },\n []\n );\n\n const handleChange = ({ target: { checked } }) => {\n if (!checked) {\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n }\n\n setFieldValue(\"enableCustomHeaders\", checked);\n };\n\n const label = t(\"neetoMessageTemplate.api.includeHeaders\");\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n {...{ label }}\n data-cy={`neeto-message-template-${hyphenate(label)}-switch`}\n name=\"enableCustomHeaders\"\n labelProps={{\n className: \"ms-2\",\n helpIconProps: { popoverProps: helpPopoverProps },\n }}\n onChange={handleChange}\n />\n {enableCustomHeaders && (\n <KeyValuePairs\n entity={t(\"neetoMessageTemplate.api.headers\")}\n name=\"customHeaders\"\n />\n )}\n </div>\n );\n};\n\nexport default CustomHeaders;\n","import { useEffect, useRef } from \"react\";\n\nimport Editor from \"@monaco-editor/react\";\nimport { useField } from \"formik\";\nimport { Help } from \"neetoicons\";\nimport DynamicVariables from \"neetomolecules/DynamicVariables\";\nimport { Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/json_editor.css\";\n\nimport { EDITOR_CONFIG, JSON_LANGUAGE } from \"./constants\";\n\nconst JsonEditor = ({\n name,\n helpPopoverProps = {},\n initialValue = \"{}\",\n templateVariables = [],\n}) => {\n const editorRef = useRef(null);\n const completionProviderRef = useRef(null);\n\n const [_, { touched, error }, { setValue, setTouched }] = useField(name);\n\n const { t } = useTranslation();\n\n const handleEditorDidMount = (editor, monaco) => {\n editorRef.current = editor;\n\n completionProviderRef.current =\n monaco.languages.registerCompletionItemProvider(JSON_LANGUAGE, {\n triggerCharacters: [\"{\"],\n provideCompletionItems: (model, position) => {\n const lineContent = model.getLineContent(position.lineNumber);\n const beforeCursor = lineContent.slice(0, position.column - 1);\n\n if (!beforeCursor.endsWith('\"{')) {\n return { suggestions: [] };\n }\n\n const suggestions = templateVariables.map(({ key, label }) => ({\n label,\n kind: monaco.languages.CompletionItemKind.Variable,\n insertText: `{${key}}}`,\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n detail: t(\"neetoMessageTemplate.api.insertPlaceholder\", {\n label,\n }),\n }));\n\n return { suggestions };\n },\n });\n };\n\n const insertVariable = ({ key }) => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const selection = editor.getSelection();\n const range = {\n startLineNumber: selection.startLineNumber,\n startColumn: selection.startColumn,\n endLineNumber: selection.endLineNumber,\n endColumn: selection.endColumn,\n };\n const text = `\"{{${key}}}\"`;\n\n editor.executeEdits(\"\", [{ range, text, forceMoveMarkers: true }]);\n\n const position = editor.getPosition();\n editor.setPosition({\n lineNumber: position.lineNumber,\n column: position.column + text.length,\n });\n\n editor.focus();\n };\n\n const handleChange = value => {\n setTouched(true);\n setValue(value);\n };\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const currentValue = editor.getValue();\n if (currentValue !== initialValue) {\n editor.setValue(initialValue);\n }\n }, [initialValue]);\n\n useEffect(\n () => () => {\n completionProviderRef.current?.dispose();\n completionProviderRef.current = null;\n },\n []\n );\n\n return (\n <div className=\"space-y-2\">\n <Label\n required\n data-cy=\"message-template-body\"\n helpIconProps={{ icon: Help, popoverProps: helpPopoverProps }}\n >\n {t(\"neetoMessageTemplate.template.body\")}\n </Label>\n <div className=\"neeto-message-template-json-editor__wrapper\">\n <div className=\"neeto-message-template-json-editor__dynamic-variables\">\n <DynamicVariables\n variables={templateVariables}\n onVariableClick={insertVariable}\n />\n </div>\n <Editor\n className=\"neeto-message-template-json-editor__editor\"\n defaultLanguage={JSON_LANGUAGE}\n defaultValue={initialValue}\n height=\"100%\"\n options={EDITOR_CONFIG}\n theme=\"vs-dark\"\n onChange={handleChange}\n onMount={handleEditorDidMount}\n />\n {touched && error && (\n <div className=\"neeto-ui-input__error\">{error}</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default JsonEditor;\n"],"names":["VALID_URL_REGEX","CUSTOM_HEADERS_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","API_TEMPLATES_HELP_POPOVER_PROPS","apiTemplates","description","t","helpLinkProps","popoverProps","position","sendToApi","customHeaders","label","body","JSON_LANGUAGE","EDITOR_CONFIG","formatOnType","formatOnPaste","automaticLayout","tabSize","minimap","enabled","scrollBeyondLastLine","autoIndent","dataIndex","title","render","status","width","FILTER_COLUMNS","node","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","enableCustomHeaders","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","entity","matches","test","context","parsedValue","JSON","parse","isNotPresent","createError","message","_unused","TEMPLATE_STATUS","ACTIVE","INACTIVE","sanitizeHelpPopoverProps","map","unless","path","omit","buildHelpPopoverProps","combinedProps","mergeDeepLeft","rejectEmptyKeyValuePairs","reject","whereAny","isEmpty","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","isNotEmpty","KeyValuePairs","withT","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","CustomHeaders","_ref$helpPopoverProps","helpPopoverProps","_useFormikContext","useFormikContext","setFieldValue","_useTranslation","useTranslation","useEffect","handleChange","_ref2","checked","target","Switch","hyphenate","labelProps","helpIconProps","onChange","JsonEditor","_ref$initialValue","initialValue","_ref$templateVariable","templateVariables","editorRef","useRef","completionProviderRef","_useField","useField","_useField2","_slicedToArray","_useField2$","touched","error","_useField2$2","setValue","setTouched","handleEditorDidMount","editor","monaco","current","languages","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","model","lineContent","getLineContent","lineNumber","beforeCursor","slice","column","endsWith","suggestions","kind","CompletionItemKind","Variable","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","detail","insertVariable","_ref3","selection","getSelection","range","startLineNumber","startColumn","endLineNumber","endColumn","text","executeEdits","forceMoveMarkers","getPosition","setPosition","focus","currentValue","getValue","_completionProviderRe","dispose","Label","Help","DynamicVariables","variables","onVariableClick","Editor","defaultLanguage","defaultValue","height","options","theme","onMount"],"mappings":"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"}
|
package/dist/MessageTemplates.js
CHANGED
|
@@ -209,7 +209,7 @@ var buildTableColumnData = function buildTableColumnData(setManageTemplatePane,
|
|
|
209
209
|
}];
|
|
210
210
|
};
|
|
211
211
|
|
|
212
|
-
var css = ".neeto-message-templates-nano-adaptive-input textarea{--neeto-ui-input-line-height:1.5}\n/*# sourceMappingURL=data:application/json;base64,
|
|
212
|
+
var css = ".neeto-message-templates-nano-adaptive-input textarea{--neeto-ui-input-line-height:1.5}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvYWRhcHRpdmVfaW5wdXQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUNFLGdDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLW1lc3NhZ2UtdGVtcGxhdGVzLW5hbm8tYWRhcHRpdmUtaW5wdXQgdGV4dGFyZWEge1xuICAtLW5lZXRvLXVpLWlucHV0LWxpbmUtaGVpZ2h0OiAxLjU7XG59XG4iXX0= */";
|
|
213
213
|
n(css,{});
|
|
214
214
|
|
|
215
215
|
var _excluded = ["label", "name"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageTemplates.js","sources":["../app/javascript/src/components/MessageTemplates/constants.js","../app/javascript/src/stores/useTemplateStore.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","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useTemplateStore = create(\n withImmutableActions(set => ({\n templateType: \"\",\n setTemplateState: set,\n }))\n);\n\nexport default useTemplateStore;\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-cy\": \"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-cy\": \"message-template-status-button\",\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoMessageTemplate.template.delete\"),\n onClick: handleDeleteTemplate,\n \"data-cy\": \"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-cy\": \"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-cy\": `${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.scss\";\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-cy=\"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-cy=\"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, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\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}) => {\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 <Pane.Footer className=\"absolute bottom-0 start-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-reset-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"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 onMutationSuccess,\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 {...{ isOpen, onClose }} initialFocusRef={initialFocusField}>\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 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 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-cy={`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 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","useTemplateStore","create","withImmutableActions","set","templateType","setTemplateState","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","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","TestMessage","isEmailTemplate","handleSubmitTestTemplate","isTestMessageLoading","isTestingTemplateDisabled","customFields","_useState","useState","_useState2","_slicedToArray","isTestingTemplateRestricted","setIsTestingTemplateRestricted","isValid","_useTranslation","useTranslation","handleTestValidation","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","target","validate","t0","stop","_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","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","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$onMutationSucces","_ref$helpPopoverProps","helpPopoverProps","isFilterPaneOpen","setIsFilterPaneOpen","_useFilters","_useTemplates","_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/stores/useTemplateStore.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","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useTemplateStore = create(\n withImmutableActions(set => ({\n templateType: \"\",\n setTemplateState: set,\n }))\n);\n\nexport default useTemplateStore;\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-cy\": \"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-cy\": \"message-template-status-button\",\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoMessageTemplate.template.delete\"),\n onClick: handleDeleteTemplate,\n \"data-cy\": \"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-cy\": \"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-cy\": `${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-cy=\"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-cy=\"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, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\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}) => {\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 <Pane.Footer className=\"absolute bottom-0 start-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-reset-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"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 onMutationSuccess,\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 {...{ isOpen, onClose }} initialFocusRef={initialFocusField}>\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 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 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-cy={`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 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","useTemplateStore","create","withImmutableActions","set","templateType","setTemplateState","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","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","TestMessage","isEmailTemplate","handleSubmitTestTemplate","isTestMessageLoading","isTestingTemplateDisabled","customFields","_useState","useState","_useState2","_slicedToArray","isTestingTemplateRestricted","setIsTestingTemplateRestricted","isValid","_useTranslation","useTranslation","handleTestValidation","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","target","validate","t0","stop","_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","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","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$onMutationSucces","_ref$helpPopoverProps","helpPopoverProps","isFilterPaneOpen","setIsFilterPaneOpen","_useFilters","_useTemplates","_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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"}
|
package/dist/SendToApiPane.js
CHANGED
|
@@ -10,7 +10,7 @@ import Input from '@bigbinary/neetoui/formik/Input';
|
|
|
10
10
|
import NeetoUIForm from '@bigbinary/neetoui/formik/Form';
|
|
11
11
|
import { equals, modify } from 'ramda';
|
|
12
12
|
import { useTranslation } from 'react-i18next';
|
|
13
|
-
import { V as VALID_URL_REGEX, C as CUSTOM_HEADERS_INITIAL_VALUE, d as buildHelpPopoverProps, S as SAMPLE_URL, c as CustomHeaders, J as JsonEditor, r as rejectEmptyKeyValuePairs, a as API_TEMPLATE_TYPE } from './JsonEditor-
|
|
13
|
+
import { V as VALID_URL_REGEX, C as CUSTOM_HEADERS_INITIAL_VALUE, d as buildHelpPopoverProps, S as SAMPLE_URL, c as CustomHeaders, J as JsonEditor, r as rejectEmptyKeyValuePairs, a as API_TEMPLATE_TYPE } from './JsonEditor-BheiZ87J.js';
|
|
14
14
|
import { S as SaveAsTemplate, a as areValuesEqual } from './utils-o_45ksFf.js';
|
|
15
15
|
import { b as useFetchTemplates } from './useTemplatesApi-BBQsbYMK.js';
|
|
16
16
|
import { t } from 'i18next';
|
package/dist/cjs/ApiTemplates.js
CHANGED
|
@@ -20,7 +20,7 @@ var Table = require('@bigbinary/neetoui/Table');
|
|
|
20
20
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
21
21
|
var ramda = require('ramda');
|
|
22
22
|
var reactI18next = require('react-i18next');
|
|
23
|
-
var JsonEditor = require('../JsonEditor-
|
|
23
|
+
var JsonEditor = require('../JsonEditor-Dtua-Y6w.js');
|
|
24
24
|
var constants = require('../constants-CqiptWxr.js');
|
|
25
25
|
var useTemplatesApi = require('../useTemplatesApi-DHrOrdXb.js');
|
|
26
26
|
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
@@ -230,7 +230,7 @@ var buildTableColumnData = function buildTableColumnData(setManageTemplatePane,
|
|
|
230
230
|
}];
|
|
231
231
|
};
|
|
232
232
|
|
|
233
|
-
var css = ".neeto-message-templates-nano-adaptive-input textarea{--neeto-ui-input-line-height:1.5}\n/*# sourceMappingURL=data:application/json;base64,
|
|
233
|
+
var css = ".neeto-message-templates-nano-adaptive-input textarea{--neeto-ui-input-line-height:1.5}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvYWRhcHRpdmVfaW5wdXQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUNFLGdDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLW1lc3NhZ2UtdGVtcGxhdGVzLW5hbm8tYWRhcHRpdmUtaW5wdXQgdGV4dGFyZWEge1xuICAtLW5lZXRvLXVpLWlucHV0LWxpbmUtaGVpZ2h0OiAxLjU7XG59XG4iXX0= */";
|
|
234
234
|
injectCss.n(css,{});
|
|
235
235
|
|
|
236
236
|
var _excluded = ["label", "name"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageTemplates.js","sources":["../../app/javascript/src/components/MessageTemplates/constants.js","../../app/javascript/src/stores/useTemplateStore.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","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useTemplateStore = create(\n withImmutableActions(set => ({\n templateType: \"\",\n setTemplateState: set,\n }))\n);\n\nexport default useTemplateStore;\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-cy\": \"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-cy\": \"message-template-status-button\",\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoMessageTemplate.template.delete\"),\n onClick: handleDeleteTemplate,\n \"data-cy\": \"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-cy\": \"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-cy\": `${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.scss\";\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-cy=\"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-cy=\"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, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\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}) => {\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 <Pane.Footer className=\"absolute bottom-0 start-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-reset-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"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 onMutationSuccess,\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 {...{ isOpen, onClose }} initialFocusRef={initialFocusField}>\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 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 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-cy={`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 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","useTemplateStore","create","withImmutableActions","set","templateType","setTemplateState","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","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","TestMessage","isEmailTemplate","handleSubmitTestTemplate","isTestMessageLoading","isTestingTemplateDisabled","customFields","_useState","useState","_useState2","_slicedToArray","isTestingTemplateRestricted","setIsTestingTemplateRestricted","isValid","_useTranslation","useTranslation","handleTestValidation","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","target","validate","t0","stop","_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","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","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$onMutationSucces","_ref$helpPopoverProps","helpPopoverProps","isFilterPaneOpen","setIsFilterPaneOpen","_useFilters","_useTemplates","_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/stores/useTemplateStore.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","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useTemplateStore = create(\n withImmutableActions(set => ({\n templateType: \"\",\n setTemplateState: set,\n }))\n);\n\nexport default useTemplateStore;\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-cy\": \"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-cy\": \"message-template-status-button\",\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoMessageTemplate.template.delete\"),\n onClick: handleDeleteTemplate,\n \"data-cy\": \"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-cy\": \"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-cy\": `${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-cy=\"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-cy=\"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, mergeLeft, omit, pick, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\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}) => {\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 <Pane.Footer className=\"absolute bottom-0 start-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-reset-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"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 onMutationSuccess,\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 {...{ isOpen, onClose }} initialFocusRef={initialFocusField}>\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 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 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-cy={`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 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","useTemplateStore","create","withImmutableActions","set","templateType","setTemplateState","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","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","TestMessage","isEmailTemplate","handleSubmitTestTemplate","isTestMessageLoading","isTestingTemplateDisabled","customFields","_useState","useState","_useState2","_slicedToArray","isTestingTemplateRestricted","setIsTestingTemplateRestricted","isValid","_useTranslation","useTranslation","handleTestValidation","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","target","validate","t0","stop","_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","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","AddEdit","manageTemplatePane","addText","editText","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$onMutationSucces","_ref$helpPopoverProps","helpPopoverProps","isFilterPaneOpen","setIsFilterPaneOpen","_useFilters","_useTemplates","_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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"}
|
|
@@ -12,7 +12,7 @@ var Input = require('@bigbinary/neetoui/formik/Input');
|
|
|
12
12
|
var NeetoUIForm = require('@bigbinary/neetoui/formik/Form');
|
|
13
13
|
var ramda = require('ramda');
|
|
14
14
|
var reactI18next = require('react-i18next');
|
|
15
|
-
var JsonEditor = require('../JsonEditor-
|
|
15
|
+
var JsonEditor = require('../JsonEditor-Dtua-Y6w.js');
|
|
16
16
|
var utils = require('../utils-3fvk3PIJ.js');
|
|
17
17
|
var useTemplatesApi = require('../useTemplatesApi-DHrOrdXb.js');
|
|
18
18
|
var i18next = require('i18next');
|
package/dist/cjs/index.js
CHANGED
|
@@ -52,7 +52,7 @@ require('../utils-3fvk3PIJ.js');
|
|
|
52
52
|
require('@bigbinary/neetoui/formik/Switch');
|
|
53
53
|
require('@bigbinary/neetoui/Textarea');
|
|
54
54
|
require('@bigbinary/neetoui/formik/Select');
|
|
55
|
-
require('../JsonEditor-
|
|
55
|
+
require('../JsonEditor-Dtua-Y6w.js');
|
|
56
56
|
require('@bigbinary/neeto-icons/Delete');
|
|
57
57
|
require('@monaco-editor/react');
|
|
58
58
|
require('@bigbinary/neeto-icons/Help');
|
package/dist/index.js
CHANGED
|
@@ -50,7 +50,7 @@ import './utils-o_45ksFf.js';
|
|
|
50
50
|
import '@bigbinary/neetoui/formik/Switch';
|
|
51
51
|
import '@bigbinary/neetoui/Textarea';
|
|
52
52
|
import '@bigbinary/neetoui/formik/Select';
|
|
53
|
-
import './JsonEditor-
|
|
53
|
+
import './JsonEditor-BheiZ87J.js';
|
|
54
54
|
import '@bigbinary/neeto-icons/Delete';
|
|
55
55
|
import '@monaco-editor/react';
|
|
56
56
|
import '@bigbinary/neeto-icons/Help';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-message-templates-frontend",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "To manage message templates across neeto products.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-message-templates-nano",
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"@rollup/plugin-replace": "5.0.4",
|
|
84
84
|
"@svgr/rollup": "8.1.0",
|
|
85
85
|
"@tailwindcss/container-queries": "^0.1.1",
|
|
86
|
+
"@tailwindcss/postcss": "^4.1.17",
|
|
86
87
|
"@tanstack/react-query": "5.59.20",
|
|
87
88
|
"@tanstack/react-query-devtools": "5.59.20",
|
|
88
89
|
"antd": "5.22.0",
|
|
@@ -137,7 +138,7 @@
|
|
|
137
138
|
"postcss-loader": "^7.0.1",
|
|
138
139
|
"postcss-preset-env": "7.8.2",
|
|
139
140
|
"prettier": "3",
|
|
140
|
-
"prettier-plugin-tailwindcss": "0.
|
|
141
|
+
"prettier-plugin-tailwindcss": "^0.7.1",
|
|
141
142
|
"process": "^0.11.10",
|
|
142
143
|
"qs": "^6.11.2",
|
|
143
144
|
"ramda": "0.29.0",
|
|
@@ -161,7 +162,7 @@
|
|
|
161
162
|
"stream-browserify": "^3.0.0",
|
|
162
163
|
"stream-http": "3.2.0",
|
|
163
164
|
"style-loader": "^3.3.1",
|
|
164
|
-
"tailwindcss": "
|
|
165
|
+
"tailwindcss": "^4.1.17",
|
|
165
166
|
"tty-browserify": "0.0.1",
|
|
166
167
|
"url": "^0.11.0",
|
|
167
168
|
"util": "^0.12.5",
|
|
@@ -214,7 +215,7 @@
|
|
|
214
215
|
"source-map-loader": "4.0.1",
|
|
215
216
|
"stream-browserify": "^3.0.0",
|
|
216
217
|
"stream-http": "3.2.0",
|
|
217
|
-
"tailwindcss": "
|
|
218
|
+
"tailwindcss": "^4.1.17",
|
|
218
219
|
"tty-browserify": "0.0.1",
|
|
219
220
|
"url": "^0.11.0",
|
|
220
221
|
"util": "^0.12.5",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonEditor-Ca0TAmxk.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/Api/utils.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/CustomHeaders.jsx","../app/javascript/src/components/Api/JsonEditor.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const CUSTOM_HEADERS_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n\nexport const API_TEMPLATES_HELP_POPOVER_PROPS = {\n apiTemplates: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.apiTemplates.description\"\n ),\n helpLinkProps: { \"data-cy\": \"help-popover-link-button\" },\n popoverProps: { position: \"top\" },\n },\n sendToApi: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.sendToApi.description\"\n ),\n helpLinkProps: { \"data-cy\": \"send-to-api-action-help-link\" },\n popoverProps: { position: \"top\" },\n },\n customHeaders: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.customHeaders.description\"\n ),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-custom-headers-help-link\",\n },\n position: \"top\",\n },\n body: {\n description: t(\"neetoMessageTemplate.api.helpPopovers.body.description\"),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-body-help-link\",\n },\n position: \"top\",\n },\n};\n\nexport const JSON_LANGUAGE = \"json\";\n\nexport const EDITOR_CONFIG = {\n formatOnType: true,\n formatOnPaste: true,\n automaticLayout: true,\n tabSize: 2,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n autoIndent: \"full\",\n};\n","import { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport {\n CUSTOM_HEADERS_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n enableCustomHeaders: false,\n customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],\n body: \"{}\",\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.name\"),\n })\n ),\n endpoint: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.api.endpoint\"),\n })\n )\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n body: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n })\n )\n .test(\"is-valid-json-and-not-empty\", (value, context) => {\n if (!value) return true;\n\n try {\n const parsedValue = JSON.parse(value);\n\n if (isNotPresent(parsedValue)) {\n return context.createError({\n message: t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n }),\n });\n }\n\n return true;\n } catch {\n return context.createError({\n message: t(\"neetoMessageTemplate.api.validation.invalidJsonBody\"),\n });\n }\n }),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import {\n isEmpty,\n reject,\n whereAny,\n map,\n mergeDeepLeft,\n omit,\n path,\n unless,\n} from \"ramda\";\n\nimport { API_TEMPLATES_HELP_POPOVER_PROPS } from \"./constants\";\n\nconst sanitizeHelpPopoverProps = map(\n unless(path([\"helpLinkProps\", \"href\"]), omit([\"helpLinkProps\"]))\n);\n\nexport const buildHelpPopoverProps = popoverProps => {\n const combinedProps = mergeDeepLeft(\n popoverProps,\n API_TEMPLATES_HELP_POPOVER_PROPS\n );\n\n return sanitizeHelpPopoverProps(combinedProps);\n};\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, entity }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name] || [\n CUSTOM_HEADERS_INITIAL_VALUE,\n ];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"flex flex-col space-y-2\">\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-1/3\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-2/3\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-30 ms-auto\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addEntity\", { entity })}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"./constants\";\n\nconst CustomHeaders = ({ helpPopoverProps = {} }) => {\n const {\n values: { enableCustomHeaders },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"enableCustomHeaders\", false);\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n },\n []\n );\n\n const handleChange = ({ target: { checked } }) => {\n if (!checked) {\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n }\n\n setFieldValue(\"enableCustomHeaders\", checked);\n };\n\n const label = t(\"neetoMessageTemplate.api.includeHeaders\");\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n {...{ label }}\n data-cy={`neeto-message-template-${hyphenate(label)}-switch`}\n name=\"enableCustomHeaders\"\n labelProps={{\n className: \"ms-2\",\n helpIconProps: { popoverProps: helpPopoverProps },\n }}\n onChange={handleChange}\n />\n {enableCustomHeaders && (\n <KeyValuePairs\n entity={t(\"neetoMessageTemplate.api.headers\")}\n name=\"customHeaders\"\n />\n )}\n </div>\n );\n};\n\nexport default CustomHeaders;\n","import { useEffect, useRef } from \"react\";\n\nimport Editor from \"@monaco-editor/react\";\nimport { useField } from \"formik\";\nimport { Help } from \"neetoicons\";\nimport DynamicVariables from \"neetomolecules/DynamicVariables\";\nimport { Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/_json_editor.scss\";\n\nimport { EDITOR_CONFIG, JSON_LANGUAGE } from \"./constants\";\n\nconst JsonEditor = ({\n name,\n helpPopoverProps = {},\n initialValue = \"{}\",\n templateVariables = [],\n}) => {\n const editorRef = useRef(null);\n const completionProviderRef = useRef(null);\n\n const [_, { touched, error }, { setValue, setTouched }] = useField(name);\n\n const { t } = useTranslation();\n\n const handleEditorDidMount = (editor, monaco) => {\n editorRef.current = editor;\n\n completionProviderRef.current =\n monaco.languages.registerCompletionItemProvider(JSON_LANGUAGE, {\n triggerCharacters: [\"{\"],\n provideCompletionItems: (model, position) => {\n const lineContent = model.getLineContent(position.lineNumber);\n const beforeCursor = lineContent.slice(0, position.column - 1);\n\n if (!beforeCursor.endsWith('\"{')) {\n return { suggestions: [] };\n }\n\n const suggestions = templateVariables.map(({ key, label }) => ({\n label,\n kind: monaco.languages.CompletionItemKind.Variable,\n insertText: `{${key}}}`,\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n detail: t(\"neetoMessageTemplate.api.insertPlaceholder\", {\n label,\n }),\n }));\n\n return { suggestions };\n },\n });\n };\n\n const insertVariable = ({ key }) => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const selection = editor.getSelection();\n const range = {\n startLineNumber: selection.startLineNumber,\n startColumn: selection.startColumn,\n endLineNumber: selection.endLineNumber,\n endColumn: selection.endColumn,\n };\n const text = `\"{{${key}}}\"`;\n\n editor.executeEdits(\"\", [{ range, text, forceMoveMarkers: true }]);\n\n const position = editor.getPosition();\n editor.setPosition({\n lineNumber: position.lineNumber,\n column: position.column + text.length,\n });\n\n editor.focus();\n };\n\n const handleChange = value => {\n setTouched(true);\n setValue(value);\n };\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const currentValue = editor.getValue();\n if (currentValue !== initialValue) {\n editor.setValue(initialValue);\n }\n }, [initialValue]);\n\n useEffect(\n () => () => {\n completionProviderRef.current?.dispose();\n completionProviderRef.current = null;\n },\n []\n );\n\n return (\n <div className=\"space-y-2\">\n <Label\n required\n data-cy=\"message-template-body\"\n helpIconProps={{ icon: Help, popoverProps: helpPopoverProps }}\n >\n {t(\"neetoMessageTemplate.template.body\")}\n </Label>\n <div className=\"neeto-message-template-json-editor__wrapper\">\n <div className=\"neeto-message-template-json-editor__dynamic-variables\">\n <DynamicVariables\n variables={templateVariables}\n onVariableClick={insertVariable}\n />\n </div>\n <Editor\n className=\"neeto-message-template-json-editor__editor\"\n defaultLanguage={JSON_LANGUAGE}\n defaultValue={initialValue}\n height=\"100%\"\n options={EDITOR_CONFIG}\n theme=\"vs-dark\"\n onChange={handleChange}\n onMount={handleEditorDidMount}\n />\n {touched && error && (\n <div className=\"neeto-ui-input__error\">{error}</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default JsonEditor;\n"],"names":["VALID_URL_REGEX","CUSTOM_HEADERS_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","API_TEMPLATES_HELP_POPOVER_PROPS","apiTemplates","description","t","helpLinkProps","popoverProps","position","sendToApi","customHeaders","label","body","JSON_LANGUAGE","EDITOR_CONFIG","formatOnType","formatOnPaste","automaticLayout","tabSize","minimap","enabled","scrollBeyondLastLine","autoIndent","dataIndex","title","render","status","width","FILTER_COLUMNS","node","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","enableCustomHeaders","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","entity","matches","test","context","parsedValue","JSON","parse","isNotPresent","createError","message","_unused","TEMPLATE_STATUS","ACTIVE","INACTIVE","sanitizeHelpPopoverProps","map","unless","path","omit","buildHelpPopoverProps","combinedProps","mergeDeepLeft","rejectEmptyKeyValuePairs","reject","whereAny","isEmpty","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","isNotEmpty","KeyValuePairs","withT","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","CustomHeaders","_ref$helpPopoverProps","helpPopoverProps","_useFormikContext","useFormikContext","setFieldValue","_useTranslation","useTranslation","useEffect","handleChange","_ref2","checked","target","Switch","hyphenate","labelProps","helpIconProps","onChange","JsonEditor","_ref$initialValue","initialValue","_ref$templateVariable","templateVariables","editorRef","useRef","completionProviderRef","_useField","useField","_useField2","_slicedToArray","_useField2$","touched","error","_useField2$2","setValue","setTouched","handleEditorDidMount","editor","monaco","current","languages","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","model","lineContent","getLineContent","lineNumber","beforeCursor","slice","column","endsWith","suggestions","kind","CompletionItemKind","Variable","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","detail","insertVariable","_ref3","selection","getSelection","range","startLineNumber","startColumn","endLineNumber","endColumn","text","executeEdits","forceMoveMarkers","getPosition","setPosition","focus","currentValue","getValue","_completionProviderRe","dispose","Label","Help","DynamicVariables","variables","onVariableClick","Editor","defaultLanguage","defaultValue","height","options","theme","onMount"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonEditor-DGRpHz2w.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/Api/utils.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/CustomHeaders.jsx","../app/javascript/src/components/Api/JsonEditor.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const CUSTOM_HEADERS_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n\nexport const API_TEMPLATES_HELP_POPOVER_PROPS = {\n apiTemplates: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.apiTemplates.description\"\n ),\n helpLinkProps: { \"data-cy\": \"help-popover-link-button\" },\n popoverProps: { position: \"top\" },\n },\n sendToApi: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.sendToApi.description\"\n ),\n helpLinkProps: { \"data-cy\": \"send-to-api-action-help-link\" },\n popoverProps: { position: \"top\" },\n },\n customHeaders: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.customHeaders.description\"\n ),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-custom-headers-help-link\",\n },\n position: \"top\",\n },\n body: {\n description: t(\"neetoMessageTemplate.api.helpPopovers.body.description\"),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"api-templates-body-help-link\",\n },\n position: \"top\",\n },\n};\n\nexport const JSON_LANGUAGE = \"json\";\n\nexport const EDITOR_CONFIG = {\n formatOnType: true,\n formatOnPaste: true,\n automaticLayout: true,\n tabSize: 2,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n autoIndent: \"full\",\n};\n","import { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport {\n CUSTOM_HEADERS_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n enableCustomHeaders: false,\n customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],\n body: \"{}\",\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.name\"),\n })\n ),\n endpoint: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.api.endpoint\"),\n })\n )\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n body: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n })\n )\n .test(\"is-valid-json-and-not-empty\", (value, context) => {\n if (!value) return true;\n\n try {\n const parsedValue = JSON.parse(value);\n\n if (isNotPresent(parsedValue)) {\n return context.createError({\n message: t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n }),\n });\n }\n\n return true;\n } catch {\n return context.createError({\n message: t(\"neetoMessageTemplate.api.validation.invalidJsonBody\"),\n });\n }\n }),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import {\n isEmpty,\n reject,\n whereAny,\n map,\n mergeDeepLeft,\n omit,\n path,\n unless,\n} from \"ramda\";\n\nimport { API_TEMPLATES_HELP_POPOVER_PROPS } from \"./constants\";\n\nconst sanitizeHelpPopoverProps = map(\n unless(path([\"helpLinkProps\", \"href\"]), omit([\"helpLinkProps\"]))\n);\n\nexport const buildHelpPopoverProps = popoverProps => {\n const combinedProps = mergeDeepLeft(\n popoverProps,\n API_TEMPLATES_HELP_POPOVER_PROPS\n );\n\n return sanitizeHelpPopoverProps(combinedProps);\n};\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(CUSTOM_HEADERS_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"components/Api/constants\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, entity }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name] || [\n CUSTOM_HEADERS_INITIAL_VALUE,\n ];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"flex flex-col space-y-2\">\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-1/3\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-2/3\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-30 ms-auto\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addEntity\", { entity })}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"./constants\";\n\nconst CustomHeaders = ({ helpPopoverProps = {} }) => {\n const {\n values: { enableCustomHeaders },\n setFieldValue,\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n useEffect(\n () => () => {\n setFieldValue(\"enableCustomHeaders\", false);\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n },\n []\n );\n\n const handleChange = ({ target: { checked } }) => {\n if (!checked) {\n setFieldValue(\"customHeaders\", [CUSTOM_HEADERS_INITIAL_VALUE]);\n }\n\n setFieldValue(\"enableCustomHeaders\", checked);\n };\n\n const label = t(\"neetoMessageTemplate.api.includeHeaders\");\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <Switch\n {...{ label }}\n data-cy={`neeto-message-template-${hyphenate(label)}-switch`}\n name=\"enableCustomHeaders\"\n labelProps={{\n className: \"ms-2\",\n helpIconProps: { popoverProps: helpPopoverProps },\n }}\n onChange={handleChange}\n />\n {enableCustomHeaders && (\n <KeyValuePairs\n entity={t(\"neetoMessageTemplate.api.headers\")}\n name=\"customHeaders\"\n />\n )}\n </div>\n );\n};\n\nexport default CustomHeaders;\n","import { useEffect, useRef } from \"react\";\n\nimport Editor from \"@monaco-editor/react\";\nimport { useField } from \"formik\";\nimport { Help } from \"neetoicons\";\nimport DynamicVariables from \"neetomolecules/DynamicVariables\";\nimport { Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/_json_editor.scss\";\n\nimport { EDITOR_CONFIG, JSON_LANGUAGE } from \"./constants\";\n\nconst JsonEditor = ({\n name,\n helpPopoverProps = {},\n initialValue = \"{}\",\n templateVariables = [],\n}) => {\n const editorRef = useRef(null);\n const completionProviderRef = useRef(null);\n\n const [_, { touched, error }, { setValue, setTouched }] = useField(name);\n\n const { t } = useTranslation();\n\n const handleEditorDidMount = (editor, monaco) => {\n editorRef.current = editor;\n\n completionProviderRef.current =\n monaco.languages.registerCompletionItemProvider(JSON_LANGUAGE, {\n triggerCharacters: [\"{\"],\n provideCompletionItems: (model, position) => {\n const lineContent = model.getLineContent(position.lineNumber);\n const beforeCursor = lineContent.slice(0, position.column - 1);\n\n if (!beforeCursor.endsWith('\"{')) {\n return { suggestions: [] };\n }\n\n const suggestions = templateVariables.map(({ key, label }) => ({\n label,\n kind: monaco.languages.CompletionItemKind.Variable,\n insertText: `{${key}}}`,\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n detail: t(\"neetoMessageTemplate.api.insertPlaceholder\", {\n label,\n }),\n }));\n\n return { suggestions };\n },\n });\n };\n\n const insertVariable = ({ key }) => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const selection = editor.getSelection();\n const range = {\n startLineNumber: selection.startLineNumber,\n startColumn: selection.startColumn,\n endLineNumber: selection.endLineNumber,\n endColumn: selection.endColumn,\n };\n const text = `\"{{${key}}}\"`;\n\n editor.executeEdits(\"\", [{ range, text, forceMoveMarkers: true }]);\n\n const position = editor.getPosition();\n editor.setPosition({\n lineNumber: position.lineNumber,\n column: position.column + text.length,\n });\n\n editor.focus();\n };\n\n const handleChange = value => {\n setTouched(true);\n setValue(value);\n };\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) return;\n\n const currentValue = editor.getValue();\n if (currentValue !== initialValue) {\n editor.setValue(initialValue);\n }\n }, [initialValue]);\n\n useEffect(\n () => () => {\n completionProviderRef.current?.dispose();\n completionProviderRef.current = null;\n },\n []\n );\n\n return (\n <div className=\"space-y-2\">\n <Label\n required\n data-cy=\"message-template-body\"\n helpIconProps={{ icon: Help, popoverProps: helpPopoverProps }}\n >\n {t(\"neetoMessageTemplate.template.body\")}\n </Label>\n <div className=\"neeto-message-template-json-editor__wrapper\">\n <div className=\"neeto-message-template-json-editor__dynamic-variables\">\n <DynamicVariables\n variables={templateVariables}\n onVariableClick={insertVariable}\n />\n </div>\n <Editor\n className=\"neeto-message-template-json-editor__editor\"\n defaultLanguage={JSON_LANGUAGE}\n defaultValue={initialValue}\n height=\"100%\"\n options={EDITOR_CONFIG}\n theme=\"vs-dark\"\n onChange={handleChange}\n onMount={handleEditorDidMount}\n />\n {touched && error && (\n <div className=\"neeto-ui-input__error\">{error}</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default JsonEditor;\n"],"names":["VALID_URL_REGEX","CUSTOM_HEADERS_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","API_TEMPLATES_HELP_POPOVER_PROPS","apiTemplates","description","t","helpLinkProps","popoverProps","position","sendToApi","customHeaders","label","body","JSON_LANGUAGE","EDITOR_CONFIG","formatOnType","formatOnPaste","automaticLayout","tabSize","minimap","enabled","scrollBeyondLastLine","autoIndent","dataIndex","title","render","status","width","FILTER_COLUMNS","node","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","enableCustomHeaders","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","entity","matches","test","context","parsedValue","JSON","parse","isNotPresent","createError","message","_unused","TEMPLATE_STATUS","ACTIVE","INACTIVE","sanitizeHelpPopoverProps","map","unless","path","omit","buildHelpPopoverProps","combinedProps","mergeDeepLeft","rejectEmptyKeyValuePairs","reject","whereAny","isEmpty","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","isNotEmpty","KeyValuePairs","withT","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","CustomHeaders","_ref$helpPopoverProps","helpPopoverProps","_useFormikContext","useFormikContext","setFieldValue","_useTranslation","useTranslation","useEffect","handleChange","_ref2","checked","target","Switch","hyphenate","labelProps","helpIconProps","onChange","JsonEditor","_ref$initialValue","initialValue","_ref$templateVariable","templateVariables","editorRef","useRef","completionProviderRef","_useField","useField","_useField2","_slicedToArray","_useField2$","touched","error","_useField2$2","setValue","setTouched","handleEditorDidMount","editor","monaco","current","languages","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","model","lineContent","getLineContent","lineNumber","beforeCursor","slice","column","endsWith","suggestions","kind","CompletionItemKind","Variable","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","detail","insertVariable","_ref3","selection","getSelection","range","startLineNumber","startColumn","endLineNumber","endColumn","text","executeEdits","forceMoveMarkers","getPosition","setPosition","focus","currentValue","getValue","_completionProviderRe","dispose","Label","Help","DynamicVariables","variables","onVariableClick","Editor","defaultLanguage","defaultValue","height","options","theme","onMount"],"mappings":"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"}
|