@bigbinary/neeto-message-templates-frontend 2.0.6 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +0 -2
  2. package/app/javascript/src/translations/hu.json +119 -0
  3. package/dist/.ready +1 -0
  4. package/dist/ApiTemplates.js +14 -13
  5. package/dist/ApiTemplates.js.map +1 -1
  6. package/dist/JsonEditor-BHy4s0Bo.js +402 -0
  7. package/dist/JsonEditor-BHy4s0Bo.js.map +1 -0
  8. package/dist/JsonEditor-BMMyHPxh.js +434 -0
  9. package/dist/JsonEditor-BMMyHPxh.js.map +1 -0
  10. package/dist/{JsonEditor-CGNPIMpX.js → JsonEditor-DEKfDX8p.js} +2 -5
  11. package/dist/{JsonEditor-CGNPIMpX.js.map → JsonEditor-DEKfDX8p.js.map} +1 -1
  12. package/dist/{JsonEditor-CLHGjppr.js → JsonEditor-DihhWMI5.js} +2 -5
  13. package/dist/{JsonEditor-CLHGjppr.js.map → JsonEditor-DihhWMI5.js.map} +1 -1
  14. package/dist/MessageTemplates.js +33 -43
  15. package/dist/MessageTemplates.js.map +1 -1
  16. package/dist/SendMessagePane.js +5 -5
  17. package/dist/SendMessagePane.js.map +1 -1
  18. package/dist/SendToApiPane.js +5 -4
  19. package/dist/SendToApiPane.js.map +1 -1
  20. package/dist/adaptive_input-BpXdshqg.js +17 -0
  21. package/dist/adaptive_input-BpXdshqg.js.map +1 -0
  22. package/dist/adaptive_input-Cd_EArae.js +19 -0
  23. package/dist/adaptive_input-Cd_EArae.js.map +1 -0
  24. package/dist/cjs/ApiTemplates.js +13 -12
  25. package/dist/cjs/ApiTemplates.js.map +1 -1
  26. package/dist/cjs/MessageTemplates.js +35 -45
  27. package/dist/cjs/MessageTemplates.js.map +1 -1
  28. package/dist/cjs/SendMessagePane.js +4 -4
  29. package/dist/cjs/SendMessagePane.js.map +1 -1
  30. package/dist/cjs/SendToApiPane.js +5 -4
  31. package/dist/cjs/SendToApiPane.js.map +1 -1
  32. package/dist/cjs/index.js +5 -4
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/v2/ApiTemplates.js +461 -0
  35. package/dist/cjs/v2/ApiTemplates.js.map +1 -0
  36. package/dist/cjs/v2/MessageTemplates.js +849 -0
  37. package/dist/cjs/v2/MessageTemplates.js.map +1 -0
  38. package/dist/cjs/v2/SendMessagePane.js +451 -0
  39. package/dist/cjs/v2/SendMessagePane.js.map +1 -0
  40. package/dist/cjs/v2/SendToApiPane.js +244 -0
  41. package/dist/cjs/v2/SendToApiPane.js.map +1 -0
  42. package/dist/cjs/v2/index.js +57 -0
  43. package/dist/cjs/v2/index.js.map +1 -0
  44. package/dist/{constants-D4v0xTUu.js → constants-B2GWdy9V.js} +2 -2
  45. package/dist/{constants-D4v0xTUu.js.map → constants-B2GWdy9V.js.map} +1 -1
  46. package/dist/constants-CX95xIS-.js +44 -0
  47. package/dist/constants-CX95xIS-.js.map +1 -0
  48. package/dist/constants-Cvnks2UE.js +49 -0
  49. package/dist/constants-Cvnks2UE.js.map +1 -0
  50. package/dist/index.js +6 -5
  51. package/dist/index.js.map +1 -1
  52. package/dist/inject-css-B6qYtOJe.js +6 -0
  53. package/dist/inject-css-B6qYtOJe.js.map +1 -0
  54. package/dist/inject-css-C2dztUxs.js +4 -0
  55. package/dist/inject-css-C2dztUxs.js.map +1 -0
  56. package/dist/json_editor-Co5e3Chh.js +5 -0
  57. package/dist/json_editor-Co5e3Chh.js.map +1 -0
  58. package/dist/json_editor-CvRhtSA3.js +7 -0
  59. package/dist/json_editor-CvRhtSA3.js.map +1 -0
  60. package/dist/{useTemplatesApi-BBQsbYMK.js → useTemplatesApi-CMkDeBa9.js} +2 -2
  61. package/dist/{useTemplatesApi-BBQsbYMK.js.map → useTemplatesApi-CMkDeBa9.js.map} +1 -1
  62. package/dist/{useTemplatesApi-DHrOrdXb.js → useTemplatesApi-byHuEDTl.js} +2 -2
  63. package/dist/{useTemplatesApi-DHrOrdXb.js.map → useTemplatesApi-byHuEDTl.js.map} +1 -1
  64. package/dist/utils-BGEmI_om.js +49 -0
  65. package/dist/utils-BGEmI_om.js.map +1 -0
  66. package/dist/utils-CLc_-Ysi.js +52 -0
  67. package/dist/utils-CLc_-Ysi.js.map +1 -0
  68. package/dist/utils-Cz5W3I3l.js.map +1 -1
  69. package/dist/utils-DddrNhQe.js.map +1 -1
  70. package/dist/v2/ApiTemplates.js +459 -0
  71. package/dist/v2/ApiTemplates.js.map +1 -0
  72. package/dist/v2/MessageTemplates.js +828 -0
  73. package/dist/v2/MessageTemplates.js.map +1 -0
  74. package/dist/v2/SendMessagePane.js +430 -0
  75. package/dist/v2/SendMessagePane.js.map +1 -0
  76. package/dist/v2/SendToApiPane.js +223 -0
  77. package/dist/v2/SendToApiPane.js.map +1 -0
  78. package/dist/v2/index.js +48 -0
  79. package/dist/v2/index.js.map +1 -0
  80. package/package.json +45 -36
  81. package/dist/inject-css-DmrvuTKK.js +0 -4
  82. package/dist/inject-css-DmrvuTKK.js.map +0 -1
  83. package/dist/inject-css-vQvjPR2x.js +0 -6
  84. package/dist/inject-css-vQvjPR2x.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SendToApiPane.js","sources":["../../app/javascript/src/components/Api/SendToApiPane/constants.js","../../app/javascript/src/components/Api/SendToApiPane/utils.js","../../app/javascript/src/components/Api/SendToApiPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n enableCustomHeaders: false,\n customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],\n body: \"{}\",\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\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","import { isPresent } from \"neetocist\";\nimport { equals } from \"ramda\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"../constants\";\n\nexport const formatCustomHeaders = customHeaders =>\n isPresent(customHeaders) ? customHeaders : [CUSTOM_HEADERS_INITIAL_VALUE];\n\nexport const areHeadersSame = (\n enableCustomHeaders,\n customHeaders,\n template = {}\n) => {\n const {\n enableCustomHeaders: templateHasCustomHeaders,\n customHeaders: templateHeaders,\n } = template;\n if (!enableCustomHeaders && !templateHasCustomHeaders) return true;\n\n if (enableCustomHeaders !== templateHasCustomHeaders) return false;\n\n return equals(customHeaders, templateHeaders);\n};\n\nexport const isBodyAvailable = body => {\n try {\n const data = JSON.parse(body);\n\n return isPresent(data);\n } catch {\n return false;\n }\n};\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Select, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { equals, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SAMPLE_URL } from \"components/Api/ApiTemplates/constants\";\nimport {\n API_TEMPLATE_TYPE,\n CUSTOM_HEADERS_INITIAL_VALUE,\n} from \"components/Api/constants\";\nimport {\n buildHelpPopoverProps,\n rejectEmptyKeyValuePairs,\n} from \"components/Api/utils\";\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { areValuesEqual } from \"components/utils\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport {\n SEND_TO_API_FORM_INITIAL_VALUES,\n SEND_TO_API_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { areHeadersSame, formatCustomHeaders, isBodyAvailable } from \"./utils\";\n\nimport CustomHeaders from \"../CustomHeaders\";\nimport JsonEditor from \"../JsonEditor\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }} size=\"large\">\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n templateVariables,\n canManageTemplates = true,\n helpPopoverProps = {},\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { data: { templates = [] } = {}, isLoading: isLoadingTemplates } =\n useFetchTemplates({\n status: \"active\",\n templateType: API_TEMPLATE_TYPE,\n ownerId,\n });\n\n const handleTemplateChange = (setValues, values, option) => {\n if (!option) return;\n\n const template = findBy({ id: option.value }, templates);\n setValues({\n ...values,\n ...modify(\"customHeaders\", formatCustomHeaders, template),\n });\n };\n\n const handleSubmit = formValues => {\n const customHeadersModifiedFormValues = modify(\n \"customHeaders\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(customHeadersModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({\n id,\n endpoint,\n enableCustomHeaders,\n customHeaders = [CUSTOM_HEADERS_INITIAL_VALUE],\n body,\n } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(customHeaders)) ||\n isBodyAvailable(body);\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n areHeadersSame(enableCustomHeaders, customHeaders, template) &&\n equals(template?.body, body)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n const {\n sendToApi: sendToApiHelpPopoverProps,\n customHeaders: customHeadersHelpPopoverProps,\n body: bodyHelpPopoverProps,\n } = buildHelpPopoverProps(helpPopoverProps);\n\n if (isLoadingTemplates) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.api.sendToApi\")}\n <HelpPopover className=\"ms-2\" {...sendToApiHelpPopoverProps} />\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues: SEND_TO_API_FORM_INITIAL_VALUES,\n validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-5 mb-10\">\n {isTemplateSelectionEnabled && (\n <Select\n innerRef={setFocusField}\n isLoading={isLoadingTemplates}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys(\n { name: \"label\", id: \"value\" },\n templates\n )}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={template =>\n handleTemplateChange(setValues, values, template)\n }\n />\n )}\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n <CustomHeaders\n helpPopoverProps={customHeadersHelpPopoverProps}\n />\n <JsonEditor\n {...{ templateVariables }}\n helpPopoverProps={bodyHelpPopoverProps}\n initialValue={values.body}\n name=\"body\"\n />\n {canManageTemplates && shouldShowSaveAsTemplate(values) && (\n <SaveAsTemplate />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n onClick: onClose,\n \"data-testid\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-testid\": \"api-template-send-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n </>\n );\n};\n\nexport default SendToApiPane;\n"],"names":["SEND_TO_API_FORM_INITIAL_VALUES","endpoint","enableCustomHeaders","customHeaders","CUSTOM_HEADERS_INITIAL_VALUE","body","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","t","matches","VALID_URL_REGEX","entity","test","value","context","parsedValue","JSON","parse","isNotPresent","createError","message","_unused","formatCustomHeaders","isPresent","areHeadersSame","template","arguments","length","undefined","templateHasCustomHeaders","templateHeaders","equals","isBodyAvailable","data","SendToApiPane","props","isOpen","onClose","_jsx","Pane","size","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","templateVariables","_ref$canManageTemplat","canManageTemplates","_ref$helpPopoverProps","helpPopoverProps","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","findBy","id","modify","handleSubmit","formValues","customHeadersModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","_ref2$customHeaders","hasContent","isContentDifferentFromTemplate","areValuesEqual","isTemplateSelectionEnabled","_buildHelpPopoverProp","buildHelpPopoverProps","sendToApiHelpPopoverProps","sendToApi","customHeadersHelpPopoverProps","bodyHelpPopoverProps","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","HelpPopover","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","CustomHeaders","JsonEditor","initialValue","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
1
+ {"version":3,"file":"SendToApiPane.js","sources":["../../app/javascript/src/components/Api/SendToApiPane/constants.js","../../app/javascript/src/components/Api/SendToApiPane/utils.js","../../app/javascript/src/components/Api/SendToApiPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n enableCustomHeaders: false,\n customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],\n body: \"{}\",\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\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","import { isPresent } from \"neetocist\";\nimport { equals } from \"ramda\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"../constants\";\n\nexport const formatCustomHeaders = customHeaders =>\n isPresent(customHeaders) ? customHeaders : [CUSTOM_HEADERS_INITIAL_VALUE];\n\nexport const areHeadersSame = (\n enableCustomHeaders,\n customHeaders,\n template = {}\n) => {\n const {\n enableCustomHeaders: templateHasCustomHeaders,\n customHeaders: templateHeaders,\n } = template;\n if (!enableCustomHeaders && !templateHasCustomHeaders) return true;\n\n if (enableCustomHeaders !== templateHasCustomHeaders) return false;\n\n return equals(customHeaders, templateHeaders);\n};\n\nexport const isBodyAvailable = body => {\n try {\n const data = JSON.parse(body);\n\n return isPresent(data);\n } catch {\n return false;\n }\n};\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Select, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { equals, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SAMPLE_URL } from \"components/Api/ApiTemplates/constants\";\nimport {\n API_TEMPLATE_TYPE,\n CUSTOM_HEADERS_INITIAL_VALUE,\n} from \"components/Api/constants\";\nimport {\n buildHelpPopoverProps,\n rejectEmptyKeyValuePairs,\n} from \"components/Api/utils\";\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { areValuesEqual } from \"components/utils\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport {\n SEND_TO_API_FORM_INITIAL_VALUES,\n SEND_TO_API_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { areHeadersSame, formatCustomHeaders, isBodyAvailable } from \"./utils\";\n\nimport CustomHeaders from \"../CustomHeaders\";\nimport JsonEditor from \"../JsonEditor\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }} size=\"large\">\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n templateVariables,\n canManageTemplates = true,\n helpPopoverProps = {},\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { data: { templates = [] } = {}, isLoading: isLoadingTemplates } =\n useFetchTemplates({\n status: \"active\",\n templateType: API_TEMPLATE_TYPE,\n ownerId,\n });\n\n const handleTemplateChange = (setValues, values, option) => {\n if (!option) return;\n\n const template = findBy({ id: option.value }, templates);\n setValues({\n ...values,\n ...modify(\"customHeaders\", formatCustomHeaders, template),\n });\n };\n\n const handleSubmit = formValues => {\n const customHeadersModifiedFormValues = modify(\n \"customHeaders\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(customHeadersModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({\n id,\n endpoint,\n enableCustomHeaders,\n customHeaders = [CUSTOM_HEADERS_INITIAL_VALUE],\n body,\n } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(customHeaders)) ||\n isBodyAvailable(body);\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n areHeadersSame(enableCustomHeaders, customHeaders, template) &&\n equals(template?.body, body)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n const {\n sendToApi: sendToApiHelpPopoverProps,\n customHeaders: customHeadersHelpPopoverProps,\n body: bodyHelpPopoverProps,\n } = buildHelpPopoverProps(helpPopoverProps);\n\n if (isLoadingTemplates) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.api.sendToApi\")}\n <HelpPopover className=\"ms-2\" {...sendToApiHelpPopoverProps} />\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues: SEND_TO_API_FORM_INITIAL_VALUES,\n validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-5 mb-10\">\n {isTemplateSelectionEnabled && (\n <Select\n innerRef={setFocusField}\n isLoading={isLoadingTemplates}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys(\n { name: \"label\", id: \"value\" },\n templates\n )}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={template =>\n handleTemplateChange(setValues, values, template)\n }\n />\n )}\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n <CustomHeaders\n helpPopoverProps={customHeadersHelpPopoverProps}\n />\n <JsonEditor\n {...{ templateVariables }}\n helpPopoverProps={bodyHelpPopoverProps}\n initialValue={values.body}\n name=\"body\"\n />\n {canManageTemplates && shouldShowSaveAsTemplate(values) && (\n <SaveAsTemplate />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n onClick: onClose,\n \"data-testid\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-testid\": \"api-template-send-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n </>\n );\n};\n\nexport default SendToApiPane;\n"],"names":["SEND_TO_API_FORM_INITIAL_VALUES","endpoint","enableCustomHeaders","customHeaders","CUSTOM_HEADERS_INITIAL_VALUE","body","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","t","matches","VALID_URL_REGEX","entity","test","value","context","parsedValue","JSON","parse","isNotPresent","createError","message","_unused","formatCustomHeaders","isPresent","areHeadersSame","template","arguments","length","undefined","templateHasCustomHeaders","templateHeaders","equals","isBodyAvailable","data","SendToApiPane","props","isOpen","onClose","_jsx","Pane","size","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","templateVariables","_ref$canManageTemplat","canManageTemplates","_ref$helpPopoverProps","helpPopoverProps","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","findBy","id","modify","handleSubmit","formValues","customHeadersModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","_ref2$customHeaders","hasContent","isContentDifferentFromTemplate","areValuesEqual","isTemplateSelectionEnabled","_buildHelpPopoverProp","buildHelpPopoverProps","sendToApiHelpPopoverProps","sendToApi","customHeadersHelpPopoverProps","bodyHelpPopoverProps","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","HelpPopover","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","CustomHeaders","JsonEditor","initialValue","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -20,12 +20,14 @@ require('../constants-CqiptWxr.js');
20
20
  require('i18next');
21
21
  require('@bigbinary/neeto-commons-frontend/constants');
22
22
  require('@bigbinary/neeto-molecules/MoreDropdown');
23
- require('../useTemplatesApi-DHrOrdXb.js');
23
+ require('../useTemplatesApi-byHuEDTl.js');
24
24
  require('@tanstack/react-query');
25
25
  require('@bigbinary/neeto-commons-frontend/react-utils');
26
26
  require('axios');
27
27
  require('qs');
28
+ require('../adaptive_input-Cd_EArae.js');
28
29
  require('zustand');
30
+ require('../inject-css-B6qYtOJe.js');
29
31
  require('react/jsx-runtime');
30
32
  require('@bigbinary/neetoui/Pane');
31
33
  require('@bigbinary/neeto-editor/FormikEditor');
@@ -35,11 +37,9 @@ require('@bigbinary/neetoui/formik/ActionBlock');
35
37
  require('@babel/runtime/helpers/objectWithoutProperties');
36
38
  require('formik');
37
39
  require('@bigbinary/neetoui/formik/Textarea');
38
- require('../inject-css-vQvjPR2x.js');
39
40
  require('@bigbinary/neeto-molecules/PhoneNumber');
40
41
  require('yup');
41
42
  require('@babel/runtime/helpers/asyncToGenerator');
42
- require('@babel/runtime/regenerator');
43
43
  require('@babel/runtime/helpers/toConsumableArray');
44
44
  require('@bigbinary/neeto-filters-frontend/utils');
45
45
  require('@bigbinary/neeto-molecules/TableWrapper');
@@ -52,12 +52,13 @@ require('../utils-Cz5W3I3l.js');
52
52
  require('@bigbinary/neetoui/formik/Switch');
53
53
  require('@bigbinary/neetoui/Textarea');
54
54
  require('@bigbinary/neetoui/formik/Select');
55
- require('../JsonEditor-CGNPIMpX.js');
55
+ require('../JsonEditor-DEKfDX8p.js');
56
56
  require('@bigbinary/neeto-icons/Delete');
57
57
  require('@monaco-editor/react');
58
58
  require('@bigbinary/neeto-icons/Help');
59
59
  require('@bigbinary/neeto-molecules/DynamicVariables');
60
60
  require('@bigbinary/neetoui/Label');
61
+ require('../json_editor-CvRhtSA3.js');
61
62
  require('@bigbinary/neeto-molecules/HelpPopover');
62
63
 
63
64
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,461 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
5
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
+ var react = require('react');
7
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
8
+ var neetoCist = require('@bigbinary/neeto-cist');
9
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
10
+ var FiltersBar = require('@bigbinary/neeto-filters-frontend/Bar');
11
+ var utils = require('@bigbinary/neeto-filters-frontend/utils');
12
+ var Container = require('@bigbinary/neeto-molecules/v2/Container');
13
+ var NeetoHeader = require('@bigbinary/neeto-molecules/v2/Header');
14
+ var SubHeader = require('@bigbinary/neeto-molecules/v2/SubHeader');
15
+ var TableWrapper = require('@bigbinary/neeto-molecules/v2/TableWrapper');
16
+ var ramda = require('ramda');
17
+ var reactI18next = require('react-i18next');
18
+ var useTemplatesApi = require('../../useTemplatesApi-byHuEDTl.js');
19
+ var JsonEditor = require('../../JsonEditor-BMMyHPxh.js');
20
+ var constants = require('../../constants-Cvnks2UE.js');
21
+ var formik = require('@bigbinary/neeto-atoms/formik');
22
+ var i18next = require('i18next');
23
+ var MoreDropdown = require('@bigbinary/neeto-molecules/v2/MoreDropdown');
24
+ var jsxRuntime = require('react/jsx-runtime');
25
+ require('@tanstack/react-query');
26
+ require('@bigbinary/neeto-commons-frontend/react-utils');
27
+ require('axios');
28
+ require('qs');
29
+ require('yup');
30
+ require('formik');
31
+ require('@bigbinary/neeto-icons/Delete');
32
+ require('@monaco-editor/react');
33
+ require('@bigbinary/neeto-icons/Help');
34
+ require('@bigbinary/neeto-molecules/v2/DynamicVariables');
35
+ require('../../json_editor-CvRhtSA3.js');
36
+ require('../../inject-css-B6qYtOJe.js');
37
+ require('@bigbinary/neeto-commons-frontend/v2/constants');
38
+
39
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
40
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
41
+ var buildApiTemplatePayload = function buildApiTemplatePayload(values, templateId) {
42
+ return {
43
+ entity: {
44
+ id: templateId,
45
+ endpoint: values.endpoint,
46
+ enableCustomHeaders: values.enableCustomHeaders,
47
+ customHeaders: JsonEditor.rejectEmptyKeyValuePairs(values.customHeaders || []),
48
+ body: values.body
49
+ },
50
+ templateType: JsonEditor.API_TEMPLATE_TYPE,
51
+ name: values.name
52
+ };
53
+ };
54
+ var buildTableColumnData = function buildTableColumnData(_ref) {
55
+ var handleMarkAsActiveOrInactive = _ref.handleMarkAsActiveOrInactive,
56
+ handleOpenDeleteAlert = _ref.handleOpenDeleteAlert,
57
+ handleOpenEditPane = _ref.handleOpenEditPane;
58
+ return [{
59
+ accessorKey: "name",
60
+ id: "name",
61
+ header: i18next.t("neetoMessageTemplate.template.name"),
62
+ size: 200,
63
+ cell: function cell(_ref2) {
64
+ var apiTemplate = _ref2.row.original;
65
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
66
+ className: "flex items-center justify-between gap-x-3",
67
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
68
+ "data-testid": "api-template-name-link",
69
+ label: neetoCist.truncate(apiTemplate.name, 100),
70
+ variant: "link",
71
+ onClick: function onClick() {
72
+ return handleOpenEditPane(apiTemplate);
73
+ }
74
+ }), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
75
+ dropdownButtonProps: {
76
+ "data-testid": "api-template-dropdown",
77
+ className: "me-1 my-1"
78
+ },
79
+ menuItems: [{
80
+ key: "edit",
81
+ label: i18next.t("neetoMessageTemplate.template.edit"),
82
+ "data-testid": "api-template-button-edit-button",
83
+ onClick: function onClick() {
84
+ return handleOpenEditPane(apiTemplate);
85
+ }
86
+ }, {
87
+ key: "status",
88
+ label: ramda.equals(apiTemplate.status, JsonEditor.TEMPLATE_STATUS.ACTIVE) ? i18next.t("neetoMessageTemplate.template.markAsInactive") : i18next.t("neetoMessageTemplate.template.markAsActive"),
89
+ "data-testid": "api-template-button-status-button",
90
+ onClick: function onClick() {
91
+ return handleMarkAsActiveOrInactive(apiTemplate);
92
+ }
93
+ }, {
94
+ key: "delete",
95
+ label: i18next.t("neetoMessageTemplate.template.delete"),
96
+ "data-testid": "api-template-button-delete-button",
97
+ onClick: function onClick() {
98
+ return handleOpenDeleteAlert(apiTemplate);
99
+ }
100
+ }]
101
+ })]
102
+ });
103
+ }
104
+ }, {
105
+ accessorKey: "status",
106
+ id: "status",
107
+ header: i18next.t("neetoMessageTemplate.template.active"),
108
+ cell: function cell(_ref3) {
109
+ var getValue = _ref3.getValue;
110
+ return getValue() === "active" ? i18next.t("neetoMessageTemplate.yes") : i18next.t("neetoMessageTemplate.no");
111
+ },
112
+ size: 180
113
+ }];
114
+ };
115
+ var buildApiTemplateInitialValues = function buildApiTemplateInitialValues(isEdit, apiTemplate, initialPayload) {
116
+ if (!isEdit) {
117
+ return ramda.assoc("body", initialPayload, JsonEditor.API_TEMPLATE_INITIAL_VALUES);
118
+ }
119
+ var customHeaders = ramda.isEmpty(apiTemplate.customHeaders) ? [JsonEditor.CUSTOM_HEADERS_INITIAL_VALUE] : apiTemplate.customHeaders;
120
+ return _objectSpread$1(_objectSpread$1({}, ramda.pick(["name", "endpoint", "body", "enableCustomHeaders"], apiTemplate)), {}, {
121
+ customHeaders: customHeaders
122
+ });
123
+ };
124
+
125
+ var Form = function Form(_ref) {
126
+ var setFocusField = _ref.setFocusField,
127
+ onClose = _ref.onClose,
128
+ ownerId = _ref.ownerId,
129
+ selectedApiTemplate = _ref.selectedApiTemplate,
130
+ onMutationSuccess = _ref.onMutationSuccess,
131
+ initialPayload = _ref.initialPayload,
132
+ templateVariables = _ref.templateVariables,
133
+ bodyHelpPopoverProps = _ref.bodyHelpPopoverProps,
134
+ customHeadersHelpPopoverProps = _ref.customHeadersHelpPopoverProps;
135
+ var _useTranslation = reactI18next.useTranslation(),
136
+ t = _useTranslation.t;
137
+ var _useCreateTemplate = useTemplatesApi.useCreateTemplate(ownerId),
138
+ createApiTemplate = _useCreateTemplate.mutate,
139
+ isCreating = _useCreateTemplate.isPending;
140
+ var _useUpdateTemplate = useTemplatesApi.useUpdateTemplate(ownerId),
141
+ updateApiTemplate = _useUpdateTemplate.mutate,
142
+ isUpdating = _useUpdateTemplate.isPending;
143
+ var isEdit = neetoCist.isNotEmpty(selectedApiTemplate);
144
+ var handleSubmit = function handleSubmit(values, _ref2) {
145
+ var setSubmitting = _ref2.setSubmitting;
146
+ var payload = buildApiTemplatePayload(values, selectedApiTemplate === null || selectedApiTemplate === void 0 ? void 0 : selectedApiTemplate.id);
147
+ var options = {
148
+ onSuccess: function onSuccess() {
149
+ onMutationSuccess.apply(void 0, arguments);
150
+ onClose();
151
+ },
152
+ onSettled: function onSettled() {
153
+ return setSubmitting(false);
154
+ }
155
+ };
156
+ if (isEdit) {
157
+ updateApiTemplate({
158
+ id: selectedApiTemplate.id,
159
+ payload: payload
160
+ }, options);
161
+ return;
162
+ }
163
+ createApiTemplate(payload, options);
164
+ };
165
+ var isMutating = isUpdating || isCreating;
166
+ var initialValues = react.useMemo(function () {
167
+ return buildApiTemplateInitialValues(isEdit, selectedApiTemplate, initialPayload);
168
+ }, [isEdit, selectedApiTemplate, initialPayload]);
169
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
170
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
171
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
172
+ children: isEdit ? t("neetoMessageTemplate.api.editApiTemplate") : t("neetoMessageTemplate.api.addApiTemplate")
173
+ })
174
+ }), /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
175
+ formikProps: {
176
+ initialValues: initialValues,
177
+ validationSchema: JsonEditor.API_TEMPLATE_FORM_VALIDATION_SCHEMA,
178
+ onSubmit: handleSubmit
179
+ },
180
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Body, {
181
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
182
+ className: "w-full space-y-5 mb-10",
183
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik.Input, {
184
+ required: true,
185
+ label: t("neetoMessageTemplate.template.name"),
186
+ name: "name",
187
+ ref: setFocusField
188
+ }), /*#__PURE__*/jsxRuntime.jsx(formik.Input, {
189
+ required: true,
190
+ label: t("neetoMessageTemplate.api.endpoint"),
191
+ name: "endpoint",
192
+ placeholder: JsonEditor.SAMPLE_URL
193
+ }), /*#__PURE__*/jsxRuntime.jsx(JsonEditor.CustomHeaders, {
194
+ helpPopoverProps: customHeadersHelpPopoverProps
195
+ }), /*#__PURE__*/jsxRuntime.jsx(JsonEditor.JsonEditor, {
196
+ templateVariables: templateVariables,
197
+ helpPopoverProps: bodyHelpPopoverProps,
198
+ initialValue: initialValues.body,
199
+ name: "body"
200
+ })]
201
+ })
202
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Footer, {
203
+ children: /*#__PURE__*/jsxRuntime.jsx(formik.ActionBlock, {
204
+ cancelButtonProps: {
205
+ onClick: onClose
206
+ },
207
+ isSubmitting: isMutating
208
+ })
209
+ })]
210
+ })]
211
+ });
212
+ };
213
+
214
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
215
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
216
+ var ApiTemplates = function ApiTemplates(_ref) {
217
+ var _apiTemplatesHelpPopo;
218
+ var ownerId = _ref.ownerId,
219
+ _ref$breadcrumbs = _ref.breadcrumbs,
220
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
221
+ _ref$helpPopoverProps = _ref.helpPopoverProps,
222
+ helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
223
+ _ref$initialPayload = _ref.initialPayload,
224
+ initialPayload = _ref$initialPayload === void 0 ? {} : _ref$initialPayload,
225
+ _ref$templateVariable = _ref.templateVariables,
226
+ templateVariables = _ref$templateVariable === void 0 ? [] : _ref$templateVariable,
227
+ _ref$onMutationSucces = _ref.onMutationSuccess,
228
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? neetoCist.noop : _ref$onMutationSucces;
229
+ var _useTranslation = reactI18next.useTranslation(),
230
+ t = _useTranslation.t;
231
+ var _useState = react.useState(constants.DEFAULT_PAGE_PROPERTIES),
232
+ _useState2 = _slicedToArray(_useState, 2),
233
+ pageParams = _useState2[0],
234
+ setPageParams = _useState2[1];
235
+ var _useState3 = react.useState(false),
236
+ _useState4 = _slicedToArray(_useState3, 2),
237
+ isFiltersPaneOpen = _useState4[0],
238
+ setIsFiltersPaneOpen = _useState4[1];
239
+ var _useState5 = react.useState(false),
240
+ _useState6 = _slicedToArray(_useState5, 2),
241
+ isFormPaneOpen = _useState6[0],
242
+ setIsFormPaneOpen = _useState6[1];
243
+ var _useState7 = react.useState({}),
244
+ _useState8 = _slicedToArray(_useState7, 2),
245
+ selectedApiTemplate = _useState8[0],
246
+ setSelectedApiTemplate = _useState8[1];
247
+ var _useState9 = react.useState(false),
248
+ _useState0 = _slicedToArray(_useState9, 2),
249
+ isDeleteAlertOpen = _useState0[0],
250
+ setIsDeleteAlertOpen = _useState0[1];
251
+ var setFocusField = react.useRef(null);
252
+ var _useQueryParams = reactUtils.useQueryParams(),
253
+ _useQueryParams$searc = _useQueryParams.searchTerm,
254
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
255
+ var searchKeywordProps = {
256
+ key: "search_term",
257
+ node: "name",
258
+ value: searchTerm
259
+ };
260
+ var _useState1 = react.useState(function () {
261
+ return utils.buildFiltersFromURL([].concat(_toConsumableArray(JsonEditor.FILTER_COLUMNS), [searchKeywordProps]));
262
+ }),
263
+ _useState10 = _slicedToArray(_useState1, 2),
264
+ filters = _useState10[0],
265
+ setFilters = _useState10[1];
266
+ var _useFetchTemplates = useTemplatesApi.useFetchTemplates({
267
+ filters: filters,
268
+ page: pageParams.index,
269
+ pageSize: pageParams.size,
270
+ templateType: JsonEditor.API_TEMPLATE_TYPE,
271
+ ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId
272
+ }),
273
+ _useFetchTemplates$da = _useFetchTemplates.data,
274
+ _useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
275
+ templates = _useFetchTemplates$da2.templates,
276
+ totalCount = _useFetchTemplates$da2.totalCount,
277
+ isLoading = _useFetchTemplates.isLoading,
278
+ isFetching = _useFetchTemplates.isFetching;
279
+ var title = t("neetoMessageTemplate.template.apiTemplates");
280
+ var isFilterApplied = neetoCist.isNotEmpty(filters);
281
+ var handleFiltersChange = function handleFiltersChange(filters) {
282
+ setFilters(filters);
283
+ setPageParams(constants.DEFAULT_PAGE_PROPERTIES);
284
+ };
285
+ var _useDeleteTemplate = useTemplatesApi.useDeleteTemplate(ownerId),
286
+ deleteTemplate = _useDeleteTemplate.mutate,
287
+ isDeleting = _useDeleteTemplate.isPending;
288
+ var _useUpdateTemplate = useTemplatesApi.useUpdateTemplate(ownerId),
289
+ updateTemplate = _useUpdateTemplate.mutate;
290
+ var handleOpenEditPane = function handleOpenEditPane(apiTemplate) {
291
+ setSelectedApiTemplate(apiTemplate);
292
+ setIsFormPaneOpen(true);
293
+ };
294
+ var handleOpenDeleteAlert = function handleOpenDeleteAlert(apiTemplate) {
295
+ setSelectedApiTemplate(apiTemplate);
296
+ setIsDeleteAlertOpen(true);
297
+ };
298
+ var handleCloseDeleteAlertAndFormPane = function handleCloseDeleteAlertAndFormPane() {
299
+ setIsDeleteAlertOpen(false);
300
+ setIsFormPaneOpen(false);
301
+ setSelectedApiTemplate({});
302
+ };
303
+ var handleMarkAsActiveOrInactive = function handleMarkAsActiveOrInactive(_ref2) {
304
+ var status = _ref2.status,
305
+ id = _ref2.id;
306
+ var newStatus = ramda.equals(status, JsonEditor.TEMPLATE_STATUS.ACTIVE) ? JsonEditor.TEMPLATE_STATUS.INACTIVE : JsonEditor.TEMPLATE_STATUS.ACTIVE;
307
+ updateTemplate({
308
+ payload: {
309
+ status: newStatus,
310
+ templateType: JsonEditor.API_TEMPLATE_TYPE
311
+ },
312
+ id: id
313
+ }, {
314
+ onSuccess: onMutationSuccess
315
+ });
316
+ };
317
+ var handleDeleteApiTemplate = function handleDeleteApiTemplate() {
318
+ return deleteTemplate(selectedApiTemplate.id, {
319
+ onSuccess: function onSuccess() {
320
+ onMutationSuccess.apply(void 0, arguments);
321
+ handleCloseDeleteAlertAndFormPane();
322
+ }
323
+ });
324
+ };
325
+ var _buildHelpPopoverProp = JsonEditor.buildHelpPopoverProps(helpPopoverProps),
326
+ apiTemplatesHelpPopoverProps = _buildHelpPopoverProp.apiTemplates,
327
+ customHeadersHelpPopoverProps = _buildHelpPopoverProp.customHeaders,
328
+ bodyHelpPopoverProps = _buildHelpPopoverProp.body;
329
+ var helpDocUrl = (apiTemplatesHelpPopoverProps === null || apiTemplatesHelpPopoverProps === void 0 || (_apiTemplatesHelpPopo = apiTemplatesHelpPopoverProps.helpLinkProps) === null || _apiTemplatesHelpPopo === void 0 ? void 0 : _apiTemplatesHelpPopo.href) || "";
330
+ var noDataProps = _objectSpread(_objectSpread({}, !isFilterApplied && {
331
+ primaryButtonProps: {
332
+ label: t("neetoMessageTemplate.api.addApiTemplate"),
333
+ onClick: function onClick() {
334
+ return setIsFormPaneOpen(true);
335
+ }
336
+ },
337
+ helpText: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
338
+ i18nKey: "neetoMessageTemplate.template.linkToHelpArticle",
339
+ values: {
340
+ entity: title
341
+ },
342
+ components: {
343
+ Link: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
344
+ href: helpDocUrl,
345
+ target: "_blank",
346
+ variant: "link"
347
+ })
348
+ }
349
+ })
350
+ }), {}, {
351
+ title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
352
+ type: title
353
+ }) : t("neetoMessageTemplate.template.emptyState", {
354
+ type: title
355
+ })
356
+ });
357
+ var shouldShowTemplatesCount = !isLoading && (isFilterApplied || totalCount > 0);
358
+ return /*#__PURE__*/jsxRuntime.jsxs(Container, {
359
+ children: [/*#__PURE__*/jsxRuntime.jsx(NeetoHeader, {
360
+ breadcrumbs: breadcrumbs,
361
+ title: title,
362
+ size: "small",
363
+ actionBlock: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
364
+ "data-testid": "add-api-templates-button",
365
+ label: t("neetoMessageTemplate.api.addApiTemplate"),
366
+ onClick: function onClick() {
367
+ return setIsFormPaneOpen(true);
368
+ }
369
+ }),
370
+ searchProps: shouldShowTemplatesCount && {
371
+ placeholder: t("neetoMessageTemplate.template.searchApiTemplates"),
372
+ "data-testid": "api-templates-search-input"
373
+ },
374
+ titleHelpPopoverProps: apiTemplatesHelpPopoverProps && _objectSpread(_objectSpread({}, apiTemplatesHelpPopoverProps), {}, {
375
+ title: (apiTemplatesHelpPopoverProps === null || apiTemplatesHelpPopoverProps === void 0 ? void 0 : apiTemplatesHelpPopoverProps.title) || title
376
+ })
377
+ }), /*#__PURE__*/jsxRuntime.jsx(SubHeader, {
378
+ className: "mb-4",
379
+ leftActionBlock: shouldShowTemplatesCount && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
380
+ as: "h4",
381
+ children: t("neetoMessageTemplate.template.messageTemplatesWithCount", {
382
+ type: t("messageType.api"),
383
+ count: totalCount
384
+ })
385
+ }),
386
+ rightActionBlock: /*#__PURE__*/jsxRuntime.jsx(SubHeader.RightBlock, {
387
+ dataProps: {
388
+ totalCount: isFilterApplied ? null : totalCount
389
+ },
390
+ filterProps: {
391
+ columns: JsonEditor.FILTER_COLUMNS,
392
+ isOpen: isFiltersPaneOpen,
393
+ keyword: searchKeywordProps,
394
+ setIsOpen: setIsFiltersPaneOpen,
395
+ onChange: handleFiltersChange
396
+ }
397
+ })
398
+ }), /*#__PURE__*/jsxRuntime.jsx(FiltersBar, {
399
+ columns: JsonEditor.FILTER_COLUMNS,
400
+ keyword: searchKeywordProps,
401
+ setIsPaneOpen: setIsFiltersPaneOpen,
402
+ onChange: handleFiltersChange
403
+ }), neetoCist.isNotEmpty(templates) ? /*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
404
+ hasPagination: totalCount > pageParams.size,
405
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DataTable, {
406
+ totalCount: totalCount,
407
+ currentPage: pageParams.index,
408
+ data: templates,
409
+ enableURLPagination: false,
410
+ loading: isLoading || isFetching,
411
+ pageSize: pageParams.size,
412
+ columns: buildTableColumnData({
413
+ handleMarkAsActiveOrInactive: handleMarkAsActiveOrInactive,
414
+ handleOpenDeleteAlert: handleOpenDeleteAlert,
415
+ handleOpenEditPane: handleOpenEditPane
416
+ }),
417
+ onPageChange: function onPageChange(index) {
418
+ return setPageParams({
419
+ index: index,
420
+ size: pageParams.size
421
+ });
422
+ }
423
+ })
424
+ }) : /*#__PURE__*/jsxRuntime.jsx("div", {
425
+ className: "flex h-full w-full items-center justify-center",
426
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Empty, _objectSpread({}, noDataProps))
427
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet, {
428
+ initialFocusRef: setFocusField,
429
+ isOpen: isFormPaneOpen,
430
+ size: "large",
431
+ onClose: handleCloseDeleteAlertAndFormPane,
432
+ children: /*#__PURE__*/jsxRuntime.jsx(Form, {
433
+ bodyHelpPopoverProps: bodyHelpPopoverProps,
434
+ customHeadersHelpPopoverProps: customHeadersHelpPopoverProps,
435
+ onMutationSuccess: onMutationSuccess,
436
+ ownerId: ownerId,
437
+ selectedApiTemplate: selectedApiTemplate,
438
+ setFocusField: setFocusField,
439
+ templateVariables: templateVariables,
440
+ initialPayload: JSON.stringify(initialPayload, null, 2),
441
+ onClose: handleCloseDeleteAlertAndFormPane
442
+ })
443
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Alert, {
444
+ isOpen: isDeleteAlertOpen,
445
+ isSubmitting: isDeleting,
446
+ submitButtonLabel: t("neetoMessageTemplate.template.delete"),
447
+ title: t("neetoMessageTemplate.api.deleteApiTemplate"),
448
+ message: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
449
+ i18nKey: "neetoMessageTemplate.template.templateDeleteConfirmation",
450
+ values: {
451
+ name: selectedApiTemplate.name
452
+ }
453
+ }),
454
+ onClose: handleCloseDeleteAlertAndFormPane,
455
+ onSubmit: handleDeleteApiTemplate
456
+ })]
457
+ });
458
+ };
459
+
460
+ module.exports = ApiTemplates;
461
+ //# sourceMappingURL=ApiTemplates.js.map