@bigbinary/neeto-message-templates-frontend 1.4.4 → 1.4.6

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.
@@ -0,0 +1,119 @@
1
+ {
2
+ "neetoMessageTemplate": {
3
+ "template": {
4
+ "addEmailTemplate": "Neue E-Mail-Vorlage hinzufügen",
5
+ "addSmsTemplate": "Neue SMS-Vorlage hinzufügen",
6
+ "addWhatsappTemplate": "Neue WhatsApp-Vorlage hinzufügen",
7
+ "editEmailTemplate": "E-Mail-Vorlage bearbeiten",
8
+ "editSmsTemplate": "SMS-Vorlage bearbeiten",
9
+ "editWhatsappTemplate": "WhatsApp-Vorlage bearbeiten",
10
+ "search": "Suche {{what}}",
11
+ "searchApiTemplates": "API-Vorlagen suchen",
12
+ "markAsActive": "Als aktiv markieren",
13
+ "markAsInactive": "Als inaktiv markieren",
14
+ "close": "Schließen",
15
+ "delete": "Löschen",
16
+ "edit": "Bearbeiten",
17
+ "saveChanges": "Änderungen speichern",
18
+ "send": "Senden",
19
+ "cancel": "Abbrechen",
20
+ "emailAddress": "E-Mail-Adresse",
21
+ "phoneNumber": "Telefonnummer",
22
+ "name": "Name",
23
+ "body": "Inhalt",
24
+ "subject": "Betreff",
25
+ "title": "Vorlage",
26
+ "active": "Aktiv",
27
+ "linkToHelpArticle": "So können Sie <Link>{{entity, anyCase}}</Link> verwenden.",
28
+ "templateDeleteConfirmation": "Sie löschen die Vorlage <strong>{{name}}</strong>. Das kann nicht rückgängig gemacht werden.",
29
+ "deleteTemplate": "Vorlage {{label, anyCase}} löschen?",
30
+ "emailTemplates": "E-Mail-Vorlagen",
31
+ "emailTemplate": "E-Mail-Vorlage",
32
+ "smsTemplates": "SMS-Vorlagen",
33
+ "smsTemplate": "SMS-Vorlage",
34
+ "whatsappTemplates": "WhatsApp-Vorlagen",
35
+ "whatsappTemplate": "WhatsApp-Vorlage",
36
+ "apiTemplates": "API-Vorlagen",
37
+ "emptyState": "Es gibt keine {{type, anyCase}} anzuzeigen.",
38
+ "whatsapp": {
39
+ "helpDocText": "Sie können neue WhatsApp-Vorlagen erstellen und hinzufügen, indem Sie auf dieses <Link>Hilfsdokument</Link> verweisen."
40
+ },
41
+ "sendTestEmail": "Test-E-Mail senden",
42
+ "sendTestSms": "Test-SMS senden",
43
+ "filtersEmptyState": "Es gibt keine {{type, anyCase}} für die angewendeten Filter anzuzeigen.",
44
+ "preview": "Vorlagenvorschau",
45
+ "resolveVariable": "{{type}}-Variablen auflösen",
46
+ "phoneNumberHelpText": "Beispiel: +491234567890",
47
+ "validation": {
48
+ "namePresence": "Name ist erforderlich",
49
+ "subjectPresence": "Betreff ist erforderlich",
50
+ "bodyPresence": "Inhalt ist erforderlich",
51
+ "emailAddressPresence": "E-Mail-Adresse ist erforderlich",
52
+ "emailAddressFormatValidation": "Ungültige E-Mail-Adresse",
53
+ "validPhoneNumber": "Geben Sie eine gültige Telefonnummer ein",
54
+ "variablePresence": "Variable darf nicht leer sein",
55
+ "requiredEntity": "{{entity}} ist erforderlich"
56
+ },
57
+ "templateName": "Vorlagenname",
58
+ "emailSubject": "E-Mail-Betreff",
59
+ "emailBody": "E-Mail-Inhalt",
60
+ "smsBody": "SMS-Inhalt",
61
+ "messageTemplatesWithCount_one": "{{count}} {{type, anyCase}}-Vorlage",
62
+ "messageTemplatesWithCount_other": "{{count}} {{type, anyCase}}-Vorlagen",
63
+ "viewHelpArticle": "Hilfeartikel anzeigen"
64
+ },
65
+ "validations": {
66
+ "requiredEntity": "{{entity}} ist erforderlich"
67
+ },
68
+ "sendMessage": {
69
+ "email": "E-Mail senden",
70
+ "sms": "SMS senden",
71
+ "selectTemplate": "Vorlage auswählen",
72
+ "testSmsNote": "Hinweis: Variablenwerte sind für Test-SMS leer.",
73
+ "saveAsTemplate": "Als Vorlage speichern"
74
+ },
75
+ "common": {
76
+ "send": "Senden"
77
+ },
78
+ "yes": "Ja",
79
+ "no": "Nein",
80
+ "api": {
81
+ "sendToApi": "An API senden",
82
+ "endpoint": "Endpunkt",
83
+ "headers": "Header",
84
+ "includeHeaders": "Header einfügen",
85
+ "addApiTemplate": "Neue API-Vorlage hinzufügen",
86
+ "editApiTemplate": "API-Vorlage bearbeiten",
87
+ "addEntity": "Fügen Sie {{entity}} hinzu",
88
+ "key": "Schlüssel",
89
+ "value": "Wert",
90
+ "deleteApiTemplate": "API-Vorlage löschen?",
91
+ "insertPlaceholder": "Platzhalter einfügen: {{label}}",
92
+ "validation": {
93
+ "endpointPresence": "Endpunkt ist erforderlich",
94
+ "validEndpoint": "Endpunkt sollte eine gültige URL sein",
95
+ "invalidJsonBody": "Der Inhalt sollte ein gültiges JSON sein"
96
+ },
97
+ "helpPopovers": {
98
+ "apiTemplates": {
99
+ "description": "Sie können Vorlagen für API-Anforderungen erstellen und anpassen, die an externe Dienste gesendet werden können."
100
+ },
101
+ "sendToApi": {
102
+ "description": "In bestimmten Fällen möchten Sie möglicherweise Daten an einen externen Dienst senden. Dadurch können Sie die ausgewählten Daten über eine API-Anforderung senden."
103
+ },
104
+ "customHeaders": {
105
+ "description": "Fügen Sie benutzerdefinierte Header hinzu, die in der API-Anforderung enthalten werden sollen, z. B. Authentifizierungstokens."
106
+ },
107
+ "body": {
108
+ "description": "Definieren Sie die Payload der Anfrage. Sie können Platzhalter einfügen und sie so strukturieren, dass sie Ihren API-Anforderungen entsprechen."
109
+ }
110
+ }
111
+ }
112
+ },
113
+ "messageType": {
114
+ "sms": "SMS",
115
+ "email": "E-Mail",
116
+ "whatsapp": "WhatsApp",
117
+ "api": "API"
118
+ }
119
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "neetoMessageTemplate": {
3
+ "template": {
4
+ "addEmailTemplate": "Agregar nueva plantilla de correo electrónico",
5
+ "addSmsTemplate": "Agregar nueva plantilla de SMS",
6
+ "addWhatsappTemplate": "Agregar nueva plantilla de whatsapp",
7
+ "editEmailTemplate": "Editar plantilla de correo electrónico",
8
+ "editSmsTemplate": "Editar plantilla de SMS",
9
+ "editWhatsappTemplate": "Editar plantilla de whatsapp",
10
+ "search": "Buscar {{what}}",
11
+ "searchApiTemplates": "Buscar plantillas de API",
12
+ "markAsActive": "Marcar como activo",
13
+ "markAsInactive": "Marcar como inactivo",
14
+ "close": "Cerrar",
15
+ "delete": "Eliminar",
16
+ "edit": "Editar",
17
+ "saveChanges": "Guardar cambios",
18
+ "send": "Enviar",
19
+ "cancel": "Cancelar",
20
+ "emailAddress": "Dirección de correo electrónico",
21
+ "phoneNumber": "Número de teléfono",
22
+ "name": "Nombre",
23
+ "body": "Cuerpo",
24
+ "subject": "Asunto",
25
+ "title": "Plantilla",
26
+ "active": "Activo",
27
+ "linkToHelpArticle": "Aquí tienes cómo puedes usar <Link>{{entity, anyCase}}</Link>.",
28
+ "templateDeleteConfirmation": "Estás eliminando la plantilla <strong>{{name}}</strong>. Esto no se puede deshacer.",
29
+ "deleteTemplate": "¿Eliminar {{label, anyCase}}?",
30
+ "emailTemplates": "Plantillas de correo electrónico",
31
+ "emailTemplate": "Plantilla de correo electrónico",
32
+ "smsTemplates": "Plantillas de SMS",
33
+ "smsTemplate": "Plantilla de SMS",
34
+ "whatsappTemplates": "Plantillas de Whatsapp",
35
+ "whatsappTemplate": "Plantilla de Whatsapp",
36
+ "apiTemplates": "Plantillas de API",
37
+ "emptyState": "No hay {{type, anyCase}} que mostrar.",
38
+ "whatsapp": {
39
+ "helpDocText": "Puedes crear y agregar nuevas plantillas de WhatsApp consultando este <Link> documento de ayuda </Link>."
40
+ },
41
+ "sendTestEmail": "Enviar correo electrónico de prueba",
42
+ "sendTestSms": "Enviar SMS de prueba",
43
+ "filtersEmptyState": "No hay {{type, anyCase}} que mostrar para los filtros aplicados.",
44
+ "preview": "Vista previa de la plantilla",
45
+ "resolveVariable": "Resolver variables {{type}}",
46
+ "phoneNumberHelpText": "Ejemplo: +918888888888",
47
+ "validation": {
48
+ "namePresence": "Se requiere el nombre",
49
+ "subjectPresence": "Se requiere el asunto",
50
+ "bodyPresence": "Se requiere el cuerpo",
51
+ "emailAddressPresence": "Se requiere la dirección de correo electrónico",
52
+ "emailAddressFormatValidation": "Dirección de correo electrónico no válida",
53
+ "validPhoneNumber": "Introduce un número de teléfono válido",
54
+ "variablePresence": "La variable no debe estar vacía",
55
+ "requiredEntity": "{{entity}} es requerido"
56
+ },
57
+ "templateName": "Nombre de la plantilla",
58
+ "emailSubject": "Asunto del correo electrónico",
59
+ "emailBody": "Cuerpo del correo electrónico",
60
+ "smsBody": "Cuerpo del SMS",
61
+ "messageTemplatesWithCount_one": "{{count}} plantilla {{type, anyCase}}",
62
+ "messageTemplatesWithCount_other": "{{count}} plantillas {{type, anyCase}}",
63
+ "viewHelpArticle": "Ver artículo de ayuda"
64
+ },
65
+ "validations": {
66
+ "requiredEntity": "{{entity}} es requerido"
67
+ },
68
+ "sendMessage": {
69
+ "email": "Enviar correo electrónico",
70
+ "sms": "Enviar SMS",
71
+ "selectTemplate": "Seleccionar una plantilla",
72
+ "testSmsNote": "Nota: los valores de las variables estarán vacíos para el SMS de prueba.",
73
+ "saveAsTemplate": "Guardar como plantilla"
74
+ },
75
+ "common": {
76
+ "send": "Enviar"
77
+ },
78
+ "yes": "Sí",
79
+ "no": "No",
80
+ "api": {
81
+ "sendToApi": "Enviar a API",
82
+ "endpoint": "Endpoint",
83
+ "headers": "Cabeceras",
84
+ "includeHeaders": "Incluir cabeceras",
85
+ "addApiTemplate": "Agregar nueva plantilla de API",
86
+ "editApiTemplate": "Editar plantilla de API",
87
+ "addEntity": "Agregar {{entity}}",
88
+ "key": "Clave",
89
+ "value": "Valor",
90
+ "deleteApiTemplate": "¿Eliminar plantilla de API?",
91
+ "insertPlaceholder": "Insertar marcador: {{label}}",
92
+ "validation": {
93
+ "endpointPresence": "Se requiere el endpoint",
94
+ "validEndpoint": "El endpoint debe ser una URL válida",
95
+ "invalidJsonBody": "El cuerpo debe ser un JSON válido"
96
+ },
97
+ "helpPopovers": {
98
+ "apiTemplates": {
99
+ "description": "Puedes crear y personalizar plantillas para solicitudes de API que se pueden enviar a servicios externos."
100
+ },
101
+ "sendToApi": {
102
+ "description": "En ciertos casos, es posible que desees enviar datos a un servicio externo. Esto permite enviar los datos seleccionados a través de una solicitud API."
103
+ },
104
+ "customHeaders": {
105
+ "description": "Agrega cabeceras personalizadas para incluir en la solicitud API, como tokens de autenticación."
106
+ },
107
+ "body": {
108
+ "description": "Define la carga útil de la solicitud. Puedes incluir marcadores de posición y estructurarlo para que coincida con los requisitos de tu API."
109
+ }
110
+ }
111
+ }
112
+ },
113
+ "messageType": {
114
+ "sms": "SMS",
115
+ "email": "correo electrónico",
116
+ "whatsapp": "whatsapp",
117
+ "api": "API"
118
+ }
119
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "neetoMessageTemplate": {
3
+ "template": {
4
+ "addEmailTemplate": "Ajouter un nouveau modèle d'email",
5
+ "addSmsTemplate": "Ajouter un nouveau modèle SMS",
6
+ "addWhatsappTemplate": "Ajouter un nouveau modèle WhatsApp",
7
+ "editEmailTemplate": "Modifier le modèle d'email",
8
+ "editSmsTemplate": "Modifier le modèle SMS",
9
+ "editWhatsappTemplate": "Modifier le modèle WhatsApp",
10
+ "search": "Rechercher {{what}}",
11
+ "searchApiTemplates": "Rechercher des modèles API",
12
+ "markAsActive": "Marquer comme actif",
13
+ "markAsInactive": "Marquer comme inactif",
14
+ "close": "Fermer",
15
+ "delete": "Supprimer",
16
+ "edit": "Modifier",
17
+ "saveChanges": "Enregistrer les modifications",
18
+ "send": "Envoyer",
19
+ "cancel": "Annuler",
20
+ "emailAddress": "Adresse email",
21
+ "phoneNumber": "Numéro de téléphone",
22
+ "name": "Nom",
23
+ "body": "Corps",
24
+ "subject": "Sujet",
25
+ "title": "Modèle",
26
+ "active": "Actif",
27
+ "linkToHelpArticle": "Voici comment vous pouvez utiliser <Link>{{entity, anyCase}}</Link>.",
28
+ "templateDeleteConfirmation": "Vous êtes en train de supprimer le modèle <strong>{{name}}</strong>. Cela ne peut pas être annulé.",
29
+ "deleteTemplate": "Supprimer {{label, anyCase}}?",
30
+ "emailTemplates": "Modèles d'email",
31
+ "emailTemplate": "Modèle d'email",
32
+ "smsTemplates": "Modèles SMS",
33
+ "smsTemplate": "Modèle SMS",
34
+ "whatsappTemplates": "Modèles WhatsApp",
35
+ "whatsappTemplate": "Modèle WhatsApp",
36
+ "apiTemplates": "Modèles API",
37
+ "emptyState": "Il n'y a pas de {{type, anyCase}} à afficher.",
38
+ "whatsapp": {
39
+ "helpDocText": "Vous pouvez créer et ajouter de nouveaux modèles WhatsApp en vous référant à ce <Link>document d'aide</Link>."
40
+ },
41
+ "sendTestEmail": "Envoyer un email test",
42
+ "sendTestSms": "Envoyer un SMS test",
43
+ "filtersEmptyState": "Il n'y a pas de {{type, anyCase}} à afficher pour les filtres appliqués.",
44
+ "preview": "Aperçu du modèle",
45
+ "resolveVariable": "Résoudre les variables {{type}}",
46
+ "phoneNumberHelpText": "Exemple : +918888888888",
47
+ "validation": {
48
+ "namePresence": "Le nom est requis",
49
+ "subjectPresence": "Le sujet est requis",
50
+ "bodyPresence": "Le corps est requis",
51
+ "emailAddressPresence": "L'adresse email est requise",
52
+ "emailAddressFormatValidation": "Adresse email invalide",
53
+ "validPhoneNumber": "Entrez un numéro de téléphone valide",
54
+ "variablePresence": "La variable ne doit pas être vide",
55
+ "requiredEntity": "{{entity}} est requis"
56
+ },
57
+ "templateName": "Nom du modèle",
58
+ "emailSubject": "Sujet de l'email",
59
+ "emailBody": "Corps de l'email",
60
+ "smsBody": "Corps du SMS",
61
+ "messageTemplatesWithCount_one": "{{count}} modèle {{type, anyCase}}",
62
+ "messageTemplatesWithCount_other": "{{count}} modèles {{type, anyCase}}",
63
+ "viewHelpArticle": "Voir l'article d'aide"
64
+ },
65
+ "validations": {
66
+ "requiredEntity": "{{entity}} est requis"
67
+ },
68
+ "sendMessage": {
69
+ "email": "Envoyer un email",
70
+ "sms": "Envoyer un SMS",
71
+ "selectTemplate": "Sélectionner un modèle",
72
+ "testSmsNote": "Remarque : Les valeurs des variables seront vides pour le SMS test.",
73
+ "saveAsTemplate": "Enregistrer en tant que modèle"
74
+ },
75
+ "common": {
76
+ "send": "Envoyer"
77
+ },
78
+ "yes": "Oui",
79
+ "no": "Non",
80
+ "api": {
81
+ "sendToApi": "Envoyer à l'API",
82
+ "endpoint": "Point de terminaison",
83
+ "headers": "En-têtes",
84
+ "includeHeaders": "Inclure les en-têtes",
85
+ "addApiTemplate": "Ajouter un nouveau modèle API",
86
+ "editApiTemplate": "Modifier le modèle API",
87
+ "addEntity": "Ajouter {{entity}}",
88
+ "key": "Clé",
89
+ "value": "Valeur",
90
+ "deleteApiTemplate": "Supprimer le modèle API ?",
91
+ "insertPlaceholder": "Insérer un espace réservé : {{label}}",
92
+ "validation": {
93
+ "endpointPresence": "Le point de terminaison est requis",
94
+ "validEndpoint": "Le point de terminaison doit être une URL valide",
95
+ "invalidJsonBody": "Le corps doit être un JSON valide"
96
+ },
97
+ "helpPopovers": {
98
+ "apiTemplates": {
99
+ "description": "Vous pouvez créer et personnaliser des modèles pour des requêtes API pouvant être envoyées à des services externes."
100
+ },
101
+ "sendToApi": {
102
+ "description": "Dans certains cas, vous voudrez peut-être envoyer des données à un service externe. Cela vous permet d'envoyer les données sélectionnées via une requête API."
103
+ },
104
+ "customHeaders": {
105
+ "description": "Ajoutez des en-têtes personnalisés à inclure dans la requête API, tels que des jetons d'authentification."
106
+ },
107
+ "body": {
108
+ "description": "Définissez la charge utile de la requête. Vous pouvez inclure des espaces réservés et la structurer pour qu'elle corresponde à vos exigences API."
109
+ }
110
+ }
111
+ }
112
+ },
113
+ "messageType": {
114
+ "sms": "SMS",
115
+ "email": "email",
116
+ "whatsapp": "whatsapp",
117
+ "api": "API"
118
+ }
119
+ }
@@ -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-BKfioOr3.js';
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-LW2g8wjb.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-D63swqeh.js';
24
24
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
@@ -64,6 +64,7 @@ var buildTableColumnData = function buildTableColumnData(_ref) {
64
64
  dataIndex: "name",
65
65
  key: "name",
66
66
  title: t("neetoMessageTemplate.template.name"),
67
+ width: 200,
67
68
  render: function render(name, apiTemplate) {
68
69
  return /*#__PURE__*/jsxs("div", {
69
70
  className: "flex items-center justify-between gap-x-3",
@@ -75,11 +76,15 @@ var buildTableColumnData = function buildTableColumnData(_ref) {
75
76
  return handleOpenEditPane(apiTemplate);
76
77
  }
77
78
  }), /*#__PURE__*/jsx(MoreDropdown, {
78
- dropdownButtonProps: {
79
- "data-cy": "api-template-dropdown"
80
- },
81
79
  dropdownProps: {
82
- strategy: "fixed"
80
+ strategy: "fixed",
81
+ appendTo: function appendTo() {
82
+ return document.body;
83
+ }
84
+ },
85
+ dropdownButtonProps: {
86
+ "data-cy": "api-template-dropdown",
87
+ className: "mr-1 my-1"
83
88
  },
84
89
  menuItems: [{
85
90
  key: "edit",
@@ -113,7 +118,7 @@ var buildTableColumnData = function buildTableColumnData(_ref) {
113
118
  render: function render(status) {
114
119
  return status === "active" ? t("neetoMessageTemplate.yes") : t("neetoMessageTemplate.no");
115
120
  },
116
- width: "20%"
121
+ width: 180
117
122
  }];
118
123
  };
119
124
  var buildApiTemplateInitialValues = function buildApiTemplateInitialValues(isEdit, apiTemplate, initialPayload) {
@@ -420,9 +425,6 @@ var ApiTemplates = function ApiTemplates(_ref) {
420
425
  },
421
426
  loading: isLoading || isFetching,
422
427
  rowData: templates,
423
- scroll: {
424
- x: "100%"
425
- },
426
428
  columnData: buildTableColumnData({
427
429
  handleMarkAsActiveOrInactive: handleMarkAsActiveOrInactive,
428
430
  handleOpenDeleteAlert: handleOpenDeleteAlert,
@@ -1 +1 @@
1
- {"version":3,"file":"ApiTemplates.js","sources":["../app/javascript/src/components/Api/ApiTemplates/utils.jsx","../app/javascript/src/components/Api/ApiTemplates/Form.jsx","../app/javascript/src/components/Api/ApiTemplates/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Button } from \"neetoui\";\nimport { assoc, equals, isEmpty, pick } from \"ramda\";\n\nimport {\n CUSTOM_HEADERS_INITIAL_VALUE,\n API_TEMPLATE_TYPE,\n} from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\n\nimport { API_TEMPLATE_INITIAL_VALUES, TEMPLATE_STATUS } from \"./constants\";\n\nexport const buildApiTemplatePayload = (values, templateId) => ({\n entity: {\n id: templateId,\n endpoint: values.endpoint,\n enableCustomHeaders: values.enableCustomHeaders,\n customHeaders: rejectEmptyKeyValuePairs(values.customHeaders || []),\n body: values.body,\n },\n templateType: API_TEMPLATE_TYPE,\n name: values.name,\n});\n\nexport const buildTableColumnData = ({\n handleMarkAsActiveOrInactive,\n handleOpenDeleteAlert,\n handleOpenEditPane,\n}) => [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n render: (name, apiTemplate) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n data-cy=\"api-template-name-link\"\n label={truncate(name, 100)}\n style=\"link\"\n onClick={() => handleOpenEditPane(apiTemplate)}\n />\n <MoreDropdown\n dropdownButtonProps={{ \"data-cy\": \"api-template-dropdown\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoMessageTemplate.template.edit\"),\n \"data-cy\": \"api-template-button-edit-button\",\n onClick: () => handleOpenEditPane(apiTemplate),\n },\n {\n key: \"status\",\n label: equals(apiTemplate.status, TEMPLATE_STATUS.ACTIVE)\n ? t(\"neetoMessageTemplate.template.markAsInactive\")\n : t(\"neetoMessageTemplate.template.markAsActive\"),\n \"data-cy\": \"api-template-button-status-button\",\n onClick: () => handleMarkAsActiveOrInactive(apiTemplate),\n },\n {\n key: \"delete\",\n label: t(\"neetoMessageTemplate.template.delete\"),\n \"data-cy\": \"api-template-button-delete-button\",\n onClick: () => handleOpenDeleteAlert(apiTemplate),\n },\n ]}\n />\n </div>\n ),\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 buildApiTemplateInitialValues = (\n isEdit,\n apiTemplate,\n initialPayload\n) => {\n if (!isEdit) {\n return assoc(\"body\", initialPayload, API_TEMPLATE_INITIAL_VALUES);\n }\n\n const customHeaders = isEmpty(apiTemplate.customHeaders)\n ? [CUSTOM_HEADERS_INITIAL_VALUE]\n : apiTemplate.customHeaders;\n\n return {\n ...pick([\"name\", \"endpoint\", \"body\", \"enableCustomHeaders\"], apiTemplate),\n customHeaders,\n };\n};\n","import { useMemo } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useCreateTemplate,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { API_TEMPLATE_FORM_VALIDATION_SCHEMA, SAMPLE_URL } from \"./constants\";\nimport {\n buildApiTemplateInitialValues,\n buildApiTemplatePayload,\n} from \"./utils\";\n\nimport CustomHeaders from \"../CustomHeaders\";\nimport JsonEditor from \"../JsonEditor\";\n\nconst Form = ({\n setFocusField,\n onClose,\n ownerId,\n selectedApiTemplate,\n onMutationSuccess,\n initialPayload,\n templateVariables,\n bodyHelpPopoverProps,\n customHeadersHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n const { mutate: createApiTemplate, isPending: isCreating } =\n useCreateTemplate(ownerId);\n\n const { mutate: updateApiTemplate, isPending: isUpdating } =\n useUpdateTemplate(ownerId);\n\n const isEdit = isNotEmpty(selectedApiTemplate);\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildApiTemplatePayload(values, selectedApiTemplate?.id);\n const options = {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n onClose();\n },\n onSettled: () => setSubmitting(false),\n };\n\n if (isEdit) {\n updateApiTemplate({ id: selectedApiTemplate.id, payload }, options);\n\n return;\n }\n\n createApiTemplate(payload, options);\n };\n\n const isMutating = isUpdating || isCreating;\n\n const initialValues = useMemo(\n () =>\n buildApiTemplateInitialValues(\n isEdit,\n selectedApiTemplate,\n initialPayload\n ),\n [isEdit, selectedApiTemplate, initialPayload]\n );\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoMessageTemplate.api.editApiTemplate\")\n : t(\"neetoMessageTemplate.api.addApiTemplate\")}\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues,\n validationSchema: API_TEMPLATE_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-5 mb-10\">\n <Input\n required\n label={t(\"neetoMessageTemplate.template.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n />\n <CustomHeaders helpPopoverProps={customHeadersHelpPopoverProps} />\n <JsonEditor\n {...{ templateVariables }}\n helpPopoverProps={bodyHelpPopoverProps}\n initialValue={initialValues.body}\n name=\"body\"\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isMutating}\n />\n </Pane.Footer>\n </NeetoUIForm>\n </>\n );\n};\n\nexport default Form;\n","import { useState } from \"react\";\n\nimport { noop, isNotEmpty } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar, buildFiltersFromURL } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, Button, NoData, Pane, Table, Typography } from \"neetoui\";\nimport { equals, isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { DEFAULT_PAGE_PROPERTIES } from \"components/constants\";\nimport {\n useDeleteTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { FILTER_COLUMNS, TEMPLATE_STATUS } from \"./constants\";\nimport Form from \"./Form\";\nimport { buildTableColumnData } from \"./utils\";\n\nimport { buildHelpPopoverProps } from \"../utils\";\n\nconst ApiTemplates = ({\n ownerId,\n breadcrumbs = [],\n helpPopoverProps = {},\n initialPayload = {},\n templateVariables = [],\n onMutationSuccess = noop,\n}) => {\n const { t } = useTranslation();\n\n const [pageParams, setPageParams] = useState(DEFAULT_PAGE_PROPERTIES);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [selectedApiTemplate, setSelectedApiTemplate] = useState({});\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const [filters, setFilters] = useState(() =>\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n\n const {\n data: { templates, totalCount } = {},\n isLoading,\n isFetching,\n } = useFetchTemplates({\n filters,\n page: pageParams.index,\n pageSize: pageParams.size,\n templateType: API_TEMPLATE_TYPE,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n });\n\n const title = t(\"neetoMessageTemplate.template.apiTemplates\");\n\n const isFilterApplied = isNotEmpty(filters);\n\n const handleFiltersChange = filters => {\n setFilters(filters);\n setPageParams(DEFAULT_PAGE_PROPERTIES);\n };\n\n const { mutate: deleteTemplate, isPending: isDeleting } =\n useDeleteTemplate(ownerId);\n const { mutate: updateTemplate } = useUpdateTemplate(ownerId);\n\n const handleOpenEditPane = apiTemplate => {\n setSelectedApiTemplate(apiTemplate);\n setIsFormPaneOpen(true);\n };\n\n const handleOpenDeleteAlert = apiTemplate => {\n setSelectedApiTemplate(apiTemplate);\n setIsDeleteAlertOpen(true);\n };\n\n const handleCloseDeleteAlertAndFormPane = () => {\n setIsDeleteAlertOpen(false);\n setIsFormPaneOpen(false);\n setSelectedApiTemplate({});\n };\n\n const handleMarkAsActiveOrInactive = ({ status, id }) => {\n const newStatus = equals(status, TEMPLATE_STATUS.ACTIVE)\n ? TEMPLATE_STATUS.INACTIVE\n : TEMPLATE_STATUS.ACTIVE;\n\n updateTemplate(\n {\n payload: { status: newStatus, templateType: API_TEMPLATE_TYPE },\n id,\n },\n { onSuccess: onMutationSuccess }\n );\n };\n\n const handleDeleteApiTemplate = () =>\n deleteTemplate(selectedApiTemplate.id, {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n handleCloseDeleteAlertAndFormPane();\n },\n });\n\n const {\n apiTemplates: apiTemplatesHelpPopoverProps,\n customHeaders: customHeadersHelpPopoverProps,\n body: bodyHelpPopoverProps,\n } = buildHelpPopoverProps(helpPopoverProps);\n\n const helpDocUrl = apiTemplatesHelpPopoverProps?.helpLinkProps?.href || \"\";\n\n const noDataProps = {\n ...(!isFilterApplied && {\n primaryButtonProps: {\n label: t(\"neetoMessageTemplate.api.addApiTemplate\"),\n onClick: () => setIsFormPaneOpen(true),\n },\n helpText: (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.linkToHelpArticle\"\n values={{ entity: title }}\n components={{\n Link: <Button href={helpDocUrl} style=\"link\" target=\"_blank\" />,\n }}\n />\n ),\n }),\n title: isFilterApplied\n ? t(\"neetoMessageTemplate.template.filtersEmptyState\", { type: title })\n : t(\"neetoMessageTemplate.template.emptyState\", { type: title }),\n };\n\n const shouldShowTemplatesCount =\n !isLoading && (isFilterApplied || totalCount > 0);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, title }}\n size=\"small\"\n actionBlock={\n <Button\n data-cy=\"add-api-templates-button\"\n label={t(\"neetoMessageTemplate.api.addApiTemplate\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n searchProps={\n shouldShowTemplatesCount && {\n placeholder: t(\"neetoMessageTemplate.template.searchApiTemplates\"),\n \"data-cy\": \"api-templates-search-input\",\n }\n }\n titleHelpPopoverProps={\n apiTemplatesHelpPopoverProps && {\n ...apiTemplatesHelpPopoverProps,\n title: apiTemplatesHelpPopoverProps?.title || title,\n }\n }\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n shouldShowTemplatesCount && (\n <Typography component=\"h4\">\n {t(\"neetoMessageTemplate.template.messageTemplatesWithCount\", {\n type: t(\"messageType.api\"),\n count: totalCount,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <SubHeader.RightBlock\n dataProps={{ totalCount: isFilterApplied ? null : totalCount }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFiltersPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n }\n />\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleFiltersChange}\n />\n {isNotEmpty(templates) ? (\n <TableWrapper hasPagination={totalCount > pageParams.size}>\n <Table\n {...{ totalCount }}\n fixedHeight\n currentPageNumber={pageParams.index}\n defaultPageSize={pageParams.size}\n handlePageChange={(index, size) => setPageParams({ index, size })}\n loading={isLoading || isFetching}\n rowData={templates}\n scroll={{ x: \"100%\" }}\n columnData={buildTableColumnData({\n handleMarkAsActiveOrInactive,\n handleOpenDeleteAlert,\n handleOpenEditPane,\n })}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData {...noDataProps} />\n </div>\n )}\n <Pane\n isOpen={isFormPaneOpen}\n size=\"large\"\n onClose={handleCloseDeleteAlertAndFormPane}\n >\n {({ setFocusField }) => (\n <Form\n {...{\n bodyHelpPopoverProps,\n customHeadersHelpPopoverProps,\n onMutationSuccess,\n ownerId,\n selectedApiTemplate,\n setFocusField,\n templateVariables,\n }}\n initialPayload={JSON.stringify(initialPayload, null, 2)}\n onClose={handleCloseDeleteAlertAndFormPane}\n />\n )}\n </Pane>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoMessageTemplate.template.delete\")}\n title={t(\"neetoMessageTemplate.api.deleteApiTemplate\")}\n message={\n <Trans\n i18nKey=\"neetoMessageTemplate.template.templateDeleteConfirmation\"\n values={{ name: selectedApiTemplate.name }}\n />\n }\n onClose={handleCloseDeleteAlertAndFormPane}\n onSubmit={handleDeleteApiTemplate}\n />\n </Container>\n );\n};\n\nexport default ApiTemplates;\n"],"names":["buildApiTemplatePayload","values","templateId","entity","id","endpoint","enableCustomHeaders","customHeaders","rejectEmptyKeyValuePairs","body","templateType","API_TEMPLATE_TYPE","name","buildTableColumnData","_ref","handleMarkAsActiveOrInactive","handleOpenDeleteAlert","handleOpenEditPane","dataIndex","key","title","t","render","apiTemplate","_jsxs","className","children","_jsx","Button","label","truncate","style","onClick","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","menuItems","equals","status","TEMPLATE_STATUS","ACTIVE","width","buildApiTemplateInitialValues","isEdit","initialPayload","assoc","API_TEMPLATE_INITIAL_VALUES","isEmpty","CUSTOM_HEADERS_INITIAL_VALUE","_objectSpread","pick","Form","setFocusField","onClose","ownerId","selectedApiTemplate","onMutationSuccess","templateVariables","bodyHelpPopoverProps","customHeadersHelpPopoverProps","_useTranslation","useTranslation","_useCreateTemplate","useCreateTemplate","createApiTemplate","mutate","isCreating","isPending","_useUpdateTemplate","useUpdateTemplate","updateApiTemplate","isUpdating","isNotEmpty","handleSubmit","_ref2","setSubmitting","payload","options","onSuccess","apply","arguments","onSettled","isMutating","initialValues","useMemo","_Fragment","Pane","Header","Typography","weight","NeetoUIForm","formikProps","validationSchema","API_TEMPLATE_FORM_VALIDATION_SCHEMA","onSubmit","Body","Input","required","ref","placeholder","SAMPLE_URL","CustomHeaders","helpPopoverProps","JsonEditor","initialValue","Footer","ActionBlock","cancelButtonProps","isSubmitting","ApiTemplates","_apiTemplatesHelpPopo","_ref$breadcrumbs","breadcrumbs","_ref$helpPopoverProps","_ref$initialPayload","_ref$templateVariable","_ref$onMutationSucces","noop","_useState","useState","DEFAULT_PAGE_PROPERTIES","_useState2","_slicedToArray","pageParams","setPageParams","_useState3","_useState4","isFiltersPaneOpen","setIsFiltersPaneOpen","_useState5","_useState6","isFormPaneOpen","setIsFormPaneOpen","_useState7","_useState8","setSelectedApiTemplate","_useState9","_useState10","isDeleteAlertOpen","setIsDeleteAlertOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","searchKeywordProps","node","value","_useState11","buildFiltersFromURL","concat","_toConsumableArray","FILTER_COLUMNS","_useState12","filters","setFilters","_useFetchTemplates","useFetchTemplates","page","index","pageSize","size","undefined","_useFetchTemplates$da","data","_useFetchTemplates$da2","templates","totalCount","isLoading","isFetching","isFilterApplied","handleFiltersChange","_useDeleteTemplate","useDeleteTemplate","deleteTemplate","isDeleting","updateTemplate","handleCloseDeleteAlertAndFormPane","newStatus","INACTIVE","handleDeleteApiTemplate","_buildHelpPopoverProp","buildHelpPopoverProps","apiTemplatesHelpPopoverProps","apiTemplates","helpDocUrl","helpLinkProps","href","noDataProps","primaryButtonProps","helpText","Trans","i18nKey","components","Link","target","type","shouldShowTemplatesCount","Container","actionBlock","searchProps","titleHelpPopoverProps","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","dataProps","filterProps","columns","isOpen","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen","TableWrapper","hasPagination","Table","fixedHeight","currentPageNumber","defaultPageSize","handlePageChange","loading","rowData","scroll","x","columnData","NoData","_ref3","JSON","stringify","Alert","submitButtonLabel","message"],"mappings":"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"}
1
+ {"version":3,"file":"ApiTemplates.js","sources":["../app/javascript/src/components/Api/ApiTemplates/utils.jsx","../app/javascript/src/components/Api/ApiTemplates/Form.jsx","../app/javascript/src/components/Api/ApiTemplates/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Button } from \"neetoui\";\nimport { assoc, equals, isEmpty, pick } from \"ramda\";\n\nimport {\n CUSTOM_HEADERS_INITIAL_VALUE,\n API_TEMPLATE_TYPE,\n} from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\n\nimport { API_TEMPLATE_INITIAL_VALUES, TEMPLATE_STATUS } from \"./constants\";\n\nexport const buildApiTemplatePayload = (values, templateId) => ({\n entity: {\n id: templateId,\n endpoint: values.endpoint,\n enableCustomHeaders: values.enableCustomHeaders,\n customHeaders: rejectEmptyKeyValuePairs(values.customHeaders || []),\n body: values.body,\n },\n templateType: API_TEMPLATE_TYPE,\n name: values.name,\n});\n\nexport const buildTableColumnData = ({\n handleMarkAsActiveOrInactive,\n handleOpenDeleteAlert,\n handleOpenEditPane,\n}) => [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n width: 200,\n render: (name, apiTemplate) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n data-cy=\"api-template-name-link\"\n label={truncate(name, 100)}\n style=\"link\"\n onClick={() => handleOpenEditPane(apiTemplate)}\n />\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n dropdownButtonProps={{\n \"data-cy\": \"api-template-dropdown\",\n className: \"mr-1 my-1\",\n }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoMessageTemplate.template.edit\"),\n \"data-cy\": \"api-template-button-edit-button\",\n onClick: () => handleOpenEditPane(apiTemplate),\n },\n {\n key: \"status\",\n label: equals(apiTemplate.status, TEMPLATE_STATUS.ACTIVE)\n ? t(\"neetoMessageTemplate.template.markAsInactive\")\n : t(\"neetoMessageTemplate.template.markAsActive\"),\n \"data-cy\": \"api-template-button-status-button\",\n onClick: () => handleMarkAsActiveOrInactive(apiTemplate),\n },\n {\n key: \"delete\",\n label: t(\"neetoMessageTemplate.template.delete\"),\n \"data-cy\": \"api-template-button-delete-button\",\n onClick: () => handleOpenDeleteAlert(apiTemplate),\n },\n ]}\n />\n </div>\n ),\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: 180,\n },\n];\n\nexport const buildApiTemplateInitialValues = (\n isEdit,\n apiTemplate,\n initialPayload\n) => {\n if (!isEdit) {\n return assoc(\"body\", initialPayload, API_TEMPLATE_INITIAL_VALUES);\n }\n\n const customHeaders = isEmpty(apiTemplate.customHeaders)\n ? [CUSTOM_HEADERS_INITIAL_VALUE]\n : apiTemplate.customHeaders;\n\n return {\n ...pick([\"name\", \"endpoint\", \"body\", \"enableCustomHeaders\"], apiTemplate),\n customHeaders,\n };\n};\n","import { useMemo } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useCreateTemplate,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { API_TEMPLATE_FORM_VALIDATION_SCHEMA, SAMPLE_URL } from \"./constants\";\nimport {\n buildApiTemplateInitialValues,\n buildApiTemplatePayload,\n} from \"./utils\";\n\nimport CustomHeaders from \"../CustomHeaders\";\nimport JsonEditor from \"../JsonEditor\";\n\nconst Form = ({\n setFocusField,\n onClose,\n ownerId,\n selectedApiTemplate,\n onMutationSuccess,\n initialPayload,\n templateVariables,\n bodyHelpPopoverProps,\n customHeadersHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n const { mutate: createApiTemplate, isPending: isCreating } =\n useCreateTemplate(ownerId);\n\n const { mutate: updateApiTemplate, isPending: isUpdating } =\n useUpdateTemplate(ownerId);\n\n const isEdit = isNotEmpty(selectedApiTemplate);\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildApiTemplatePayload(values, selectedApiTemplate?.id);\n const options = {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n onClose();\n },\n onSettled: () => setSubmitting(false),\n };\n\n if (isEdit) {\n updateApiTemplate({ id: selectedApiTemplate.id, payload }, options);\n\n return;\n }\n\n createApiTemplate(payload, options);\n };\n\n const isMutating = isUpdating || isCreating;\n\n const initialValues = useMemo(\n () =>\n buildApiTemplateInitialValues(\n isEdit,\n selectedApiTemplate,\n initialPayload\n ),\n [isEdit, selectedApiTemplate, initialPayload]\n );\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoMessageTemplate.api.editApiTemplate\")\n : t(\"neetoMessageTemplate.api.addApiTemplate\")}\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues,\n validationSchema: API_TEMPLATE_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-5 mb-10\">\n <Input\n required\n label={t(\"neetoMessageTemplate.template.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n />\n <CustomHeaders helpPopoverProps={customHeadersHelpPopoverProps} />\n <JsonEditor\n {...{ templateVariables }}\n helpPopoverProps={bodyHelpPopoverProps}\n initialValue={initialValues.body}\n name=\"body\"\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isMutating}\n />\n </Pane.Footer>\n </NeetoUIForm>\n </>\n );\n};\n\nexport default Form;\n","import { useState } from \"react\";\n\nimport { noop, isNotEmpty } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar, buildFiltersFromURL } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, Button, NoData, Pane, Table, Typography } from \"neetoui\";\nimport { equals, isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { DEFAULT_PAGE_PROPERTIES } from \"components/constants\";\nimport {\n useDeleteTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { FILTER_COLUMNS, TEMPLATE_STATUS } from \"./constants\";\nimport Form from \"./Form\";\nimport { buildTableColumnData } from \"./utils\";\n\nimport { buildHelpPopoverProps } from \"../utils\";\n\nconst ApiTemplates = ({\n ownerId,\n breadcrumbs = [],\n helpPopoverProps = {},\n initialPayload = {},\n templateVariables = [],\n onMutationSuccess = noop,\n}) => {\n const { t } = useTranslation();\n\n const [pageParams, setPageParams] = useState(DEFAULT_PAGE_PROPERTIES);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [selectedApiTemplate, setSelectedApiTemplate] = useState({});\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const [filters, setFilters] = useState(() =>\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n\n const {\n data: { templates, totalCount } = {},\n isLoading,\n isFetching,\n } = useFetchTemplates({\n filters,\n page: pageParams.index,\n pageSize: pageParams.size,\n templateType: API_TEMPLATE_TYPE,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n });\n\n const title = t(\"neetoMessageTemplate.template.apiTemplates\");\n\n const isFilterApplied = isNotEmpty(filters);\n\n const handleFiltersChange = filters => {\n setFilters(filters);\n setPageParams(DEFAULT_PAGE_PROPERTIES);\n };\n\n const { mutate: deleteTemplate, isPending: isDeleting } =\n useDeleteTemplate(ownerId);\n const { mutate: updateTemplate } = useUpdateTemplate(ownerId);\n\n const handleOpenEditPane = apiTemplate => {\n setSelectedApiTemplate(apiTemplate);\n setIsFormPaneOpen(true);\n };\n\n const handleOpenDeleteAlert = apiTemplate => {\n setSelectedApiTemplate(apiTemplate);\n setIsDeleteAlertOpen(true);\n };\n\n const handleCloseDeleteAlertAndFormPane = () => {\n setIsDeleteAlertOpen(false);\n setIsFormPaneOpen(false);\n setSelectedApiTemplate({});\n };\n\n const handleMarkAsActiveOrInactive = ({ status, id }) => {\n const newStatus = equals(status, TEMPLATE_STATUS.ACTIVE)\n ? TEMPLATE_STATUS.INACTIVE\n : TEMPLATE_STATUS.ACTIVE;\n\n updateTemplate(\n {\n payload: { status: newStatus, templateType: API_TEMPLATE_TYPE },\n id,\n },\n { onSuccess: onMutationSuccess }\n );\n };\n\n const handleDeleteApiTemplate = () =>\n deleteTemplate(selectedApiTemplate.id, {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n handleCloseDeleteAlertAndFormPane();\n },\n });\n\n const {\n apiTemplates: apiTemplatesHelpPopoverProps,\n customHeaders: customHeadersHelpPopoverProps,\n body: bodyHelpPopoverProps,\n } = buildHelpPopoverProps(helpPopoverProps);\n\n const helpDocUrl = apiTemplatesHelpPopoverProps?.helpLinkProps?.href || \"\";\n\n const noDataProps = {\n ...(!isFilterApplied && {\n primaryButtonProps: {\n label: t(\"neetoMessageTemplate.api.addApiTemplate\"),\n onClick: () => setIsFormPaneOpen(true),\n },\n helpText: (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.linkToHelpArticle\"\n values={{ entity: title }}\n components={{\n Link: <Button href={helpDocUrl} style=\"link\" target=\"_blank\" />,\n }}\n />\n ),\n }),\n title: isFilterApplied\n ? t(\"neetoMessageTemplate.template.filtersEmptyState\", { type: title })\n : t(\"neetoMessageTemplate.template.emptyState\", { type: title }),\n };\n\n const shouldShowTemplatesCount =\n !isLoading && (isFilterApplied || totalCount > 0);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, title }}\n size=\"small\"\n actionBlock={\n <Button\n data-cy=\"add-api-templates-button\"\n label={t(\"neetoMessageTemplate.api.addApiTemplate\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n searchProps={\n shouldShowTemplatesCount && {\n placeholder: t(\"neetoMessageTemplate.template.searchApiTemplates\"),\n \"data-cy\": \"api-templates-search-input\",\n }\n }\n titleHelpPopoverProps={\n apiTemplatesHelpPopoverProps && {\n ...apiTemplatesHelpPopoverProps,\n title: apiTemplatesHelpPopoverProps?.title || title,\n }\n }\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n shouldShowTemplatesCount && (\n <Typography component=\"h4\">\n {t(\"neetoMessageTemplate.template.messageTemplatesWithCount\", {\n type: t(\"messageType.api\"),\n count: totalCount,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <SubHeader.RightBlock\n dataProps={{ totalCount: isFilterApplied ? null : totalCount }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFiltersPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n }\n />\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleFiltersChange}\n />\n {isNotEmpty(templates) ? (\n <TableWrapper hasPagination={totalCount > pageParams.size}>\n <Table\n {...{ totalCount }}\n fixedHeight\n currentPageNumber={pageParams.index}\n defaultPageSize={pageParams.size}\n handlePageChange={(index, size) => setPageParams({ index, size })}\n loading={isLoading || isFetching}\n rowData={templates}\n columnData={buildTableColumnData({\n handleMarkAsActiveOrInactive,\n handleOpenDeleteAlert,\n handleOpenEditPane,\n })}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData {...noDataProps} />\n </div>\n )}\n <Pane\n isOpen={isFormPaneOpen}\n size=\"large\"\n onClose={handleCloseDeleteAlertAndFormPane}\n >\n {({ setFocusField }) => (\n <Form\n {...{\n bodyHelpPopoverProps,\n customHeadersHelpPopoverProps,\n onMutationSuccess,\n ownerId,\n selectedApiTemplate,\n setFocusField,\n templateVariables,\n }}\n initialPayload={JSON.stringify(initialPayload, null, 2)}\n onClose={handleCloseDeleteAlertAndFormPane}\n />\n )}\n </Pane>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoMessageTemplate.template.delete\")}\n title={t(\"neetoMessageTemplate.api.deleteApiTemplate\")}\n message={\n <Trans\n i18nKey=\"neetoMessageTemplate.template.templateDeleteConfirmation\"\n values={{ name: selectedApiTemplate.name }}\n />\n }\n onClose={handleCloseDeleteAlertAndFormPane}\n onSubmit={handleDeleteApiTemplate}\n />\n </Container>\n );\n};\n\nexport default ApiTemplates;\n"],"names":["buildApiTemplatePayload","values","templateId","entity","id","endpoint","enableCustomHeaders","customHeaders","rejectEmptyKeyValuePairs","body","templateType","API_TEMPLATE_TYPE","name","buildTableColumnData","_ref","handleMarkAsActiveOrInactive","handleOpenDeleteAlert","handleOpenEditPane","dataIndex","key","title","t","width","render","apiTemplate","_jsxs","className","children","_jsx","Button","label","truncate","style","onClick","MoreDropdown","dropdownProps","strategy","appendTo","document","dropdownButtonProps","menuItems","equals","status","TEMPLATE_STATUS","ACTIVE","buildApiTemplateInitialValues","isEdit","initialPayload","assoc","API_TEMPLATE_INITIAL_VALUES","isEmpty","CUSTOM_HEADERS_INITIAL_VALUE","_objectSpread","pick","Form","setFocusField","onClose","ownerId","selectedApiTemplate","onMutationSuccess","templateVariables","bodyHelpPopoverProps","customHeadersHelpPopoverProps","_useTranslation","useTranslation","_useCreateTemplate","useCreateTemplate","createApiTemplate","mutate","isCreating","isPending","_useUpdateTemplate","useUpdateTemplate","updateApiTemplate","isUpdating","isNotEmpty","handleSubmit","_ref2","setSubmitting","payload","options","onSuccess","apply","arguments","onSettled","isMutating","initialValues","useMemo","_Fragment","Pane","Header","Typography","weight","NeetoUIForm","formikProps","validationSchema","API_TEMPLATE_FORM_VALIDATION_SCHEMA","onSubmit","Body","Input","required","ref","placeholder","SAMPLE_URL","CustomHeaders","helpPopoverProps","JsonEditor","initialValue","Footer","ActionBlock","cancelButtonProps","isSubmitting","ApiTemplates","_apiTemplatesHelpPopo","_ref$breadcrumbs","breadcrumbs","_ref$helpPopoverProps","_ref$initialPayload","_ref$templateVariable","_ref$onMutationSucces","noop","_useState","useState","DEFAULT_PAGE_PROPERTIES","_useState2","_slicedToArray","pageParams","setPageParams","_useState3","_useState4","isFiltersPaneOpen","setIsFiltersPaneOpen","_useState5","_useState6","isFormPaneOpen","setIsFormPaneOpen","_useState7","_useState8","setSelectedApiTemplate","_useState9","_useState10","isDeleteAlertOpen","setIsDeleteAlertOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","searchKeywordProps","node","value","_useState11","buildFiltersFromURL","concat","_toConsumableArray","FILTER_COLUMNS","_useState12","filters","setFilters","_useFetchTemplates","useFetchTemplates","page","index","pageSize","size","undefined","_useFetchTemplates$da","data","_useFetchTemplates$da2","templates","totalCount","isLoading","isFetching","isFilterApplied","handleFiltersChange","_useDeleteTemplate","useDeleteTemplate","deleteTemplate","isDeleting","updateTemplate","handleCloseDeleteAlertAndFormPane","newStatus","INACTIVE","handleDeleteApiTemplate","_buildHelpPopoverProp","buildHelpPopoverProps","apiTemplatesHelpPopoverProps","apiTemplates","helpDocUrl","helpLinkProps","href","noDataProps","primaryButtonProps","helpText","Trans","i18nKey","components","Link","target","type","shouldShowTemplatesCount","Container","actionBlock","searchProps","titleHelpPopoverProps","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","dataProps","filterProps","columns","isOpen","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen","TableWrapper","hasPagination","Table","fixedHeight","currentPageNumber","defaultPageSize","handlePageChange","loading","rowData","columnData","NoData","_ref3","JSON","stringify","Alert","submitButtonLabel","message"],"mappings":"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"}
@@ -49,7 +49,7 @@ var API_TEMPLATES_HELP_POPOVER_PROPS = {
49
49
  apiTemplates: {
50
50
  description: i18next.t("neetoMessageTemplate.api.helpPopovers.apiTemplates.description"),
51
51
  helpLinkProps: {
52
- "data-cy": "api-templates-header-help-link"
52
+ "data-cy": "help-popover-link-button"
53
53
  },
54
54
  popoverProps: {
55
55
  position: "top"
@@ -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-CDXr0EnM.js.map
440
+ //# sourceMappingURL=JsonEditor-BVwgCzxk.js.map