@bigbinary/neeto-message-templates-frontend 1.3.7 → 1.3.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.
- package/README.md +20 -0
- package/app/javascript/src/translations/en.json +10 -1
- package/dist/ApiTemplates.js +1 -1
- package/dist/SendToApiPane.js +43 -5
- package/dist/SendToApiPane.js.map +1 -1
- package/dist/cjs/ApiTemplates.js +1 -1
- package/dist/cjs/SendToApiPane.js +42 -4
- package/dist/cjs/SendToApiPane.js.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/{utils-aj-r79qQ.js → utils-D7y24q1q.js} +9 -4
- package/dist/utils-D7y24q1q.js.map +1 -0
- package/dist/{utils-BUob2F8X.js → utils-oljkG5EG.js} +9 -4
- package/dist/utils-oljkG5EG.js.map +1 -0
- package/package.json +14 -14
- package/types.d.ts +16 -1
- package/dist/utils-BUob2F8X.js.map +0 -1
- package/dist/utils-aj-r79qQ.js.map +0 -1
package/README.md
CHANGED
|
@@ -307,6 +307,12 @@ it if needed and send the data to the specified HTTP(S) endpoint.
|
|
|
307
307
|
- `onSubmit`: This function will be executed while submitting the form.
|
|
308
308
|
- `isSubmitting`: A boolean to know the form submission status
|
|
309
309
|
- `canManageTemplates` - When this is set to false, `save as template` option won't be displayed to users.
|
|
310
|
+
- `helpPopoverProps` - To add help popovers to various sections in the pane.
|
|
311
|
+
- **Pane title**: Define popover props under `sendToApi`.
|
|
312
|
+
- **Additional data**: Define popover props under `additionalData`.
|
|
313
|
+
|
|
314
|
+
For more details. For more details, refer to the
|
|
315
|
+
[HelpPopover component documentation](https://neeto-molecules.neeto.com/?path=/docs/helppopover--docs).
|
|
310
316
|
|
|
311
317
|
##### Usage
|
|
312
318
|
|
|
@@ -321,6 +327,19 @@ const App = () => {
|
|
|
321
327
|
|
|
322
328
|
const ownerId = "ownerId";
|
|
323
329
|
|
|
330
|
+
const HELP_POPOVER_PROPS = {
|
|
331
|
+
sendToApi: {
|
|
332
|
+
title: "Title for send to API popover",
|
|
333
|
+
description: "Description for send to API popover.",
|
|
334
|
+
helpLinkProps: { href: SEND_TO_API_HELP_DOC_URL },
|
|
335
|
+
},
|
|
336
|
+
additionalData: {
|
|
337
|
+
title: "Title for additional data popover",
|
|
338
|
+
description: "Description for additional data popover.",
|
|
339
|
+
helpLinkProps: { href: ADDITIONAL_DATA_HELP_DOC_URL },
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
|
|
324
343
|
const handleSubmit = () => {
|
|
325
344
|
setIsSubmitting(true);
|
|
326
345
|
// API call
|
|
@@ -333,6 +352,7 @@ const App = () => {
|
|
|
333
352
|
isOpen={isSendToApiPaneOpen}
|
|
334
353
|
onClose={() => setIsSendToApiPaneOpen(false)}
|
|
335
354
|
onSubmit={handleSubmit}
|
|
355
|
+
helpPopoverProps={HELP_POPOVER_PROPS}
|
|
336
356
|
/>
|
|
337
357
|
);
|
|
338
358
|
};
|
|
@@ -59,7 +59,8 @@
|
|
|
59
59
|
"emailBody": "Email body",
|
|
60
60
|
"smsBody": "SMS body",
|
|
61
61
|
"messageTemplatesWithCount_one": "{{count}} {{type, anyCase}} template",
|
|
62
|
-
"messageTemplatesWithCount_other": "{{count}} {{type, anyCase}} templates"
|
|
62
|
+
"messageTemplatesWithCount_other": "{{count}} {{type, anyCase}} templates",
|
|
63
|
+
"viewHelpArticle": "View help article"
|
|
63
64
|
},
|
|
64
65
|
"sendMessage": {
|
|
65
66
|
"email": "Send email",
|
|
@@ -86,6 +87,14 @@
|
|
|
86
87
|
"validation": {
|
|
87
88
|
"endpointPresence": "Endpoint is required",
|
|
88
89
|
"validEndpoint": "Endpoint should be valid URL"
|
|
90
|
+
},
|
|
91
|
+
"helpPopovers": {
|
|
92
|
+
"sendToApi": {
|
|
93
|
+
"description": "In certain cases, you might want to send data to an external service. This allows you to send the selected data via an API request."
|
|
94
|
+
},
|
|
95
|
+
"additionalData": {
|
|
96
|
+
"description": "Specify additional information that needs to be included in the request body. This allows you to send custom values alongside your selected data."
|
|
97
|
+
}
|
|
89
98
|
}
|
|
90
99
|
}
|
|
91
100
|
},
|
package/dist/ApiTemplates.js
CHANGED
|
@@ -18,7 +18,7 @@ import Table from '@bigbinary/neetoui/Table';
|
|
|
18
18
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
19
19
|
import { equals, isEmpty, pick } from 'ramda';
|
|
20
20
|
import { useTranslation, Trans } from 'react-i18next';
|
|
21
|
-
import { T as TEMPLATE_STATUS, A as API_TEMPLATE_INITIAL_VALUES, a as ADDITIONAL_DATA_INITIAL_VALUE, r as rejectEmptyKeyValuePairs, b as API_TEMPLATE_TYPE, c as API_TEMPLATE_FORM_VALIDATION_SCHEMA, S as SAMPLE_URL, K as KeyValuePairs, F as FILTER_COLUMNS } from './utils-
|
|
21
|
+
import { T as TEMPLATE_STATUS, A as API_TEMPLATE_INITIAL_VALUES, a as ADDITIONAL_DATA_INITIAL_VALUE, r as rejectEmptyKeyValuePairs, b as API_TEMPLATE_TYPE, c as API_TEMPLATE_FORM_VALIDATION_SCHEMA, S as SAMPLE_URL, K as KeyValuePairs, F as FILTER_COLUMNS } from './utils-oljkG5EG.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';
|
package/dist/SendToApiPane.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import { isPresent, renameKeys, findBy } from '@bigbinary/neeto-cist';
|
|
3
|
+
import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
|
|
3
4
|
import Pane from '@bigbinary/neetoui/Pane';
|
|
4
5
|
import Select from '@bigbinary/neetoui/Select';
|
|
5
6
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
@@ -7,9 +8,9 @@ import Typography from '@bigbinary/neetoui/Typography';
|
|
|
7
8
|
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
8
9
|
import Input from '@bigbinary/neetoui/formik/Input';
|
|
9
10
|
import NeetoUIForm from '@bigbinary/neetoui/formik/Form';
|
|
10
|
-
import { modify, equals } from 'ramda';
|
|
11
|
+
import { map, unless, path, omit, mergeDeepLeft, modify, equals } from 'ramda';
|
|
11
12
|
import { useTranslation } from 'react-i18next';
|
|
12
|
-
import { V as VALID_URL_REGEX, a as ADDITIONAL_DATA_INITIAL_VALUE, S as SAMPLE_URL, K as KeyValuePairs, r as rejectEmptyKeyValuePairs, b as API_TEMPLATE_TYPE } from './utils-
|
|
13
|
+
import { V as VALID_URL_REGEX, a as ADDITIONAL_DATA_INITIAL_VALUE, S as SAMPLE_URL, K as KeyValuePairs, r as rejectEmptyKeyValuePairs, b as API_TEMPLATE_TYPE } from './utils-oljkG5EG.js';
|
|
13
14
|
import { S as SaveAsTemplate, a as areValuesEqual } from './utils-CdkVjz8p.js';
|
|
14
15
|
import { b as useFetchTemplates } from './useTemplatesApi-D63swqeh.js';
|
|
15
16
|
import { t } from 'i18next';
|
|
@@ -47,10 +48,34 @@ var SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({
|
|
|
47
48
|
}))
|
|
48
49
|
})
|
|
49
50
|
});
|
|
51
|
+
var SEND_TO_API_HELP_POPOVER_PROPS = {
|
|
52
|
+
sendToApi: {
|
|
53
|
+
description: t("neetoMessageTemplate.api.helpPopovers.sendToApi.description"),
|
|
54
|
+
helpLinkProps: {
|
|
55
|
+
"data-cy": "send-to-api-action-help-link"
|
|
56
|
+
},
|
|
57
|
+
popoverProps: {
|
|
58
|
+
position: "top"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
additionalData: {
|
|
62
|
+
description: t("neetoMessageTemplate.api.helpPopovers.additionalData.description"),
|
|
63
|
+
helpLinkProps: {
|
|
64
|
+
label: t("neetoMessageTemplate.template.viewHelpArticle"),
|
|
65
|
+
"data-cy": "send-to-api-additional-data-help-link"
|
|
66
|
+
},
|
|
67
|
+
position: "top"
|
|
68
|
+
}
|
|
69
|
+
};
|
|
50
70
|
|
|
71
|
+
var sanitizeHelpPopoverProps = map(unless(path(["helpLinkProps", "href"]), omit(["helpLinkProps"])));
|
|
51
72
|
var formatAdditionalData = function formatAdditionalData(additionalData) {
|
|
52
73
|
return isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];
|
|
53
74
|
};
|
|
75
|
+
var buildHelpPopoverProps = function buildHelpPopoverProps(popoverProps) {
|
|
76
|
+
var combinedProps = mergeDeepLeft(popoverProps, SEND_TO_API_HELP_POPOVER_PROPS);
|
|
77
|
+
return sanitizeHelpPopoverProps(combinedProps);
|
|
78
|
+
};
|
|
54
79
|
|
|
55
80
|
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; }
|
|
56
81
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
|
|
@@ -74,6 +99,8 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
74
99
|
isSubmitting = _ref.isSubmitting,
|
|
75
100
|
_ref$canManageTemplat = _ref.canManageTemplates,
|
|
76
101
|
canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
|
|
102
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
103
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
|
|
77
104
|
setFocusField = _ref.paneProps.setFocusField;
|
|
78
105
|
var _useTranslation = useTranslation(),
|
|
79
106
|
t = _useTranslation.t;
|
|
@@ -111,6 +138,9 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
111
138
|
return hasContent && isContentDifferentFromTemplate;
|
|
112
139
|
};
|
|
113
140
|
var isTemplateSelectionEnabled = isPresent(templates);
|
|
141
|
+
var _buildHelpPopoverProp = buildHelpPopoverProps(helpPopoverProps),
|
|
142
|
+
sendToApiHelpPopoverProps = _buildHelpPopoverProp.sendToApi,
|
|
143
|
+
additionalDataHelpPopoverProps = _buildHelpPopoverProp.additionalData;
|
|
114
144
|
if (isLoadingTemplates) {
|
|
115
145
|
return /*#__PURE__*/jsx("div", {
|
|
116
146
|
className: "flex h-full w-full items-center justify-center",
|
|
@@ -119,10 +149,12 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
119
149
|
}
|
|
120
150
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
121
151
|
children: [/*#__PURE__*/jsx(Pane.Header, {
|
|
122
|
-
children: /*#__PURE__*/
|
|
152
|
+
children: /*#__PURE__*/jsxs(Typography, {
|
|
123
153
|
style: "h2",
|
|
124
154
|
weight: "semibold",
|
|
125
|
-
children: t("neetoMessageTemplate.api.sendToApi")
|
|
155
|
+
children: [t("neetoMessageTemplate.api.sendToApi"), /*#__PURE__*/jsx(HelpPopover, _objectSpread({
|
|
156
|
+
className: "ml-2"
|
|
157
|
+
}, sendToApiHelpPopoverProps))]
|
|
126
158
|
})
|
|
127
159
|
}), /*#__PURE__*/jsx(NeetoUIForm, {
|
|
128
160
|
formikProps: {
|
|
@@ -157,7 +189,13 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
157
189
|
ref: isTemplateSelectionEnabled ? null : setFocusField
|
|
158
190
|
}), /*#__PURE__*/jsx(KeyValuePairs, {
|
|
159
191
|
label: t("neetoMessageTemplate.api.additionalData"),
|
|
160
|
-
name: "additionalData"
|
|
192
|
+
name: "additionalData",
|
|
193
|
+
labelProps: {
|
|
194
|
+
className: "ml-2",
|
|
195
|
+
helpIconProps: {
|
|
196
|
+
popoverProps: additionalDataHelpPopoverProps
|
|
197
|
+
}
|
|
198
|
+
}
|
|
161
199
|
}), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {})]
|
|
162
200
|
})
|
|
163
201
|
}), /*#__PURE__*/jsx(Pane.Footer, {
|
|
@@ -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 * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n","import { isPresent } from \"neetocist\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\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 { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\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 { formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n canManageTemplates = true,\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\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\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 </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\">\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 <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\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-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"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","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","formatAdditionalData","isPresent","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","_ref$canManageTemplat","canManageTemplates","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","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 * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const SEND_TO_API_HELP_POPOVER_PROPS = {\n sendToApi: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.sendToApi.description\"\n ),\n helpLinkProps: { \"data-cy\": \"send-to-api-action-help-link\" },\n popoverProps: { position: \"top\" },\n },\n additionalData: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.additionalData.description\"\n ),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"send-to-api-additional-data-help-link\",\n },\n position: \"top\",\n },\n};\n","import { isPresent } from \"neetocist\";\nimport { map, mergeDeepLeft, omit, path, unless } from \"ramda\";\n\nimport { SEND_TO_API_HELP_POPOVER_PROPS } from \"./constants\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nconst sanitizeHelpPopoverProps = map(\n unless(path([\"helpLinkProps\", \"href\"]), omit([\"helpLinkProps\"]))\n);\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n\nexport const buildHelpPopoverProps = popoverProps => {\n const combinedProps = mergeDeepLeft(\n popoverProps,\n SEND_TO_API_HELP_POPOVER_PROPS\n );\n\n return sanitizeHelpPopoverProps(combinedProps);\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 { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\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 { buildHelpPopoverProps, formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\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\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n const {\n sendToApi: sendToApiHelpPopoverProps,\n additionalData: additionalDataHelpPopoverProps,\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=\"ml-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\">\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 <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\n labelProps={{\n className: \"ml-2\",\n helpIconProps: {\n popoverProps: additionalDataHelpPopoverProps,\n },\n }}\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-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"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","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","SEND_TO_API_HELP_POPOVER_PROPS","sendToApi","description","helpLinkProps","popoverProps","position","label","sanitizeHelpPopoverProps","map","unless","path","omit","formatAdditionalData","isPresent","buildHelpPopoverProps","combinedProps","mergeDeepLeft","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","_ref$canManageTemplat","canManageTemplates","_ref$helpPopoverProps","helpPopoverProps","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","_buildHelpPopoverProp","sendToApiHelpPopoverProps","additionalDataHelpPopoverProps","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","HelpPopover","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","labelProps","helpIconProps","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
package/dist/cjs/ApiTemplates.js
CHANGED
|
@@ -20,7 +20,7 @@ var Table = require('@bigbinary/neetoui/Table');
|
|
|
20
20
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
21
21
|
var ramda = require('ramda');
|
|
22
22
|
var reactI18next = require('react-i18next');
|
|
23
|
-
var utils = require('../utils-
|
|
23
|
+
var utils = require('../utils-D7y24q1q.js');
|
|
24
24
|
var constants = require('../constants-CqiptWxr.js');
|
|
25
25
|
var useTemplatesApi = require('../useTemplatesApi-CSsaKyRi.js');
|
|
26
26
|
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
5
|
+
var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
|
|
5
6
|
var Pane = require('@bigbinary/neetoui/Pane');
|
|
6
7
|
var Select = require('@bigbinary/neetoui/Select');
|
|
7
8
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
@@ -11,7 +12,7 @@ var Input = require('@bigbinary/neetoui/formik/Input');
|
|
|
11
12
|
var NeetoUIForm = require('@bigbinary/neetoui/formik/Form');
|
|
12
13
|
var ramda = require('ramda');
|
|
13
14
|
var reactI18next = require('react-i18next');
|
|
14
|
-
var utils = require('../utils-
|
|
15
|
+
var utils = require('../utils-D7y24q1q.js');
|
|
15
16
|
var utils$1 = require('../utils-DCNzEjAw.js');
|
|
16
17
|
var useTemplatesApi = require('../useTemplatesApi-CSsaKyRi.js');
|
|
17
18
|
var i18next = require('i18next');
|
|
@@ -68,10 +69,34 @@ var SEND_TO_API_FORM_VALIDATION_SCHEMA = yup__namespace.object({
|
|
|
68
69
|
}))
|
|
69
70
|
})
|
|
70
71
|
});
|
|
72
|
+
var SEND_TO_API_HELP_POPOVER_PROPS = {
|
|
73
|
+
sendToApi: {
|
|
74
|
+
description: i18next.t("neetoMessageTemplate.api.helpPopovers.sendToApi.description"),
|
|
75
|
+
helpLinkProps: {
|
|
76
|
+
"data-cy": "send-to-api-action-help-link"
|
|
77
|
+
},
|
|
78
|
+
popoverProps: {
|
|
79
|
+
position: "top"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
additionalData: {
|
|
83
|
+
description: i18next.t("neetoMessageTemplate.api.helpPopovers.additionalData.description"),
|
|
84
|
+
helpLinkProps: {
|
|
85
|
+
label: i18next.t("neetoMessageTemplate.template.viewHelpArticle"),
|
|
86
|
+
"data-cy": "send-to-api-additional-data-help-link"
|
|
87
|
+
},
|
|
88
|
+
position: "top"
|
|
89
|
+
}
|
|
90
|
+
};
|
|
71
91
|
|
|
92
|
+
var sanitizeHelpPopoverProps = ramda.map(ramda.unless(ramda.path(["helpLinkProps", "href"]), ramda.omit(["helpLinkProps"])));
|
|
72
93
|
var formatAdditionalData = function formatAdditionalData(additionalData) {
|
|
73
94
|
return neetoCist.isPresent(additionalData) ? additionalData : [utils.ADDITIONAL_DATA_INITIAL_VALUE];
|
|
74
95
|
};
|
|
96
|
+
var buildHelpPopoverProps = function buildHelpPopoverProps(popoverProps) {
|
|
97
|
+
var combinedProps = ramda.mergeDeepLeft(popoverProps, SEND_TO_API_HELP_POPOVER_PROPS);
|
|
98
|
+
return sanitizeHelpPopoverProps(combinedProps);
|
|
99
|
+
};
|
|
75
100
|
|
|
76
101
|
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; }
|
|
77
102
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
|
|
@@ -95,6 +120,8 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
95
120
|
isSubmitting = _ref.isSubmitting,
|
|
96
121
|
_ref$canManageTemplat = _ref.canManageTemplates,
|
|
97
122
|
canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
|
|
123
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
124
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
|
|
98
125
|
setFocusField = _ref.paneProps.setFocusField;
|
|
99
126
|
var _useTranslation = reactI18next.useTranslation(),
|
|
100
127
|
t = _useTranslation.t;
|
|
@@ -132,6 +159,9 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
132
159
|
return hasContent && isContentDifferentFromTemplate;
|
|
133
160
|
};
|
|
134
161
|
var isTemplateSelectionEnabled = neetoCist.isPresent(templates);
|
|
162
|
+
var _buildHelpPopoverProp = buildHelpPopoverProps(helpPopoverProps),
|
|
163
|
+
sendToApiHelpPopoverProps = _buildHelpPopoverProp.sendToApi,
|
|
164
|
+
additionalDataHelpPopoverProps = _buildHelpPopoverProp.additionalData;
|
|
135
165
|
if (isLoadingTemplates) {
|
|
136
166
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
137
167
|
className: "flex h-full w-full items-center justify-center",
|
|
@@ -140,10 +170,12 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
140
170
|
}
|
|
141
171
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
142
172
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
143
|
-
children: /*#__PURE__*/jsxRuntime.
|
|
173
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(Typography, {
|
|
144
174
|
style: "h2",
|
|
145
175
|
weight: "semibold",
|
|
146
|
-
children: t("neetoMessageTemplate.api.sendToApi")
|
|
176
|
+
children: [t("neetoMessageTemplate.api.sendToApi"), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, _objectSpread({
|
|
177
|
+
className: "ml-2"
|
|
178
|
+
}, sendToApiHelpPopoverProps))]
|
|
147
179
|
})
|
|
148
180
|
}), /*#__PURE__*/jsxRuntime.jsx(NeetoUIForm, {
|
|
149
181
|
formikProps: {
|
|
@@ -178,7 +210,13 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
178
210
|
ref: isTemplateSelectionEnabled ? null : setFocusField
|
|
179
211
|
}), /*#__PURE__*/jsxRuntime.jsx(utils.KeyValuePairs, {
|
|
180
212
|
label: t("neetoMessageTemplate.api.additionalData"),
|
|
181
|
-
name: "additionalData"
|
|
213
|
+
name: "additionalData",
|
|
214
|
+
labelProps: {
|
|
215
|
+
className: "ml-2",
|
|
216
|
+
helpIconProps: {
|
|
217
|
+
popoverProps: additionalDataHelpPopoverProps
|
|
218
|
+
}
|
|
219
|
+
}
|
|
182
220
|
}), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsxRuntime.jsx(utils$1.SaveAsTemplate, {})]
|
|
183
221
|
})
|
|
184
222
|
}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
@@ -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 * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n","import { isPresent } from \"neetocist\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\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 { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\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 { formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n canManageTemplates = true,\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\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\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 </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\">\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 <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\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-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"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","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","formatAdditionalData","isPresent","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","_ref$canManageTemplat","canManageTemplates","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","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 * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const SEND_TO_API_HELP_POPOVER_PROPS = {\n sendToApi: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.sendToApi.description\"\n ),\n helpLinkProps: { \"data-cy\": \"send-to-api-action-help-link\" },\n popoverProps: { position: \"top\" },\n },\n additionalData: {\n description: t(\n \"neetoMessageTemplate.api.helpPopovers.additionalData.description\"\n ),\n helpLinkProps: {\n label: t(\"neetoMessageTemplate.template.viewHelpArticle\"),\n \"data-cy\": \"send-to-api-additional-data-help-link\",\n },\n position: \"top\",\n },\n};\n","import { isPresent } from \"neetocist\";\nimport { map, mergeDeepLeft, omit, path, unless } from \"ramda\";\n\nimport { SEND_TO_API_HELP_POPOVER_PROPS } from \"./constants\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nconst sanitizeHelpPopoverProps = map(\n unless(path([\"helpLinkProps\", \"href\"]), omit([\"helpLinkProps\"]))\n);\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n\nexport const buildHelpPopoverProps = popoverProps => {\n const combinedProps = mergeDeepLeft(\n popoverProps,\n SEND_TO_API_HELP_POPOVER_PROPS\n );\n\n return sanitizeHelpPopoverProps(combinedProps);\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 { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\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 { buildHelpPopoverProps, formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\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\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n const {\n sendToApi: sendToApiHelpPopoverProps,\n additionalData: additionalDataHelpPopoverProps,\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=\"ml-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\">\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 <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\n labelProps={{\n className: \"ml-2\",\n helpIconProps: {\n popoverProps: additionalDataHelpPopoverProps,\n },\n }}\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-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"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","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","SEND_TO_API_HELP_POPOVER_PROPS","sendToApi","description","helpLinkProps","popoverProps","position","label","sanitizeHelpPopoverProps","map","unless","path","omit","formatAdditionalData","isPresent","buildHelpPopoverProps","combinedProps","mergeDeepLeft","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","_ref$canManageTemplat","canManageTemplates","_ref$helpPopoverProps","helpPopoverProps","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","_buildHelpPopoverProp","sendToApiHelpPopoverProps","additionalDataHelpPopoverProps","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","HelpPopover","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","labelProps","helpIconProps","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAMA,+BAA+B,GAAG;AAC7CC,EAAAA,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,CAACC,mCAA6B,CAAC;AAC/CC,EAAAA,oBAAoB,EAAE,KAAK;AAC3BC,EAAAA,YAAY,EAAE;AAChB,CAAC;AAEM,IAAMC,kCAAkC,GAAGC,cAAG,CAACC,MAAM,CAAC;EAC3DP,QAAQ,EAAEM,cAAG,CACVE,MAAM,EAAE,CACRC,QAAQ,CAACC,SAAC,CAAC,sDAAsD,CAAC,CAAC,CACnEC,OAAO,CACNC,qBAAe,EACfF,SAAC,CAAC,mDAAmD,CACvD,CAAC;AACHT,EAAAA,cAAc,EAAEK,cAAG,CAChBO,KAAK,EAAE,CACPC,EAAE,CAACR,cAAG,CAACC,MAAM,CAAC;AAAEQ,IAAAA,GAAG,EAAET,cAAG,CAACE,MAAM,EAAE;AAAEQ,IAAAA,KAAK,EAAEV,cAAG,CAACE,MAAM;AAAG,GAAC,CAAC,CAAC;EAC7DJ,YAAY,EAAEE,cAAG,CAACE,MAAM,EAAE,CAACS,IAAI,CAAC,sBAAsB,EAAE;AACtDC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,IAAI,EAAEb,cAAG,CAACE,MAAM,EAAE,CAACC,QAAQ,CACzBC,SAAC,CAAC,yDAAyD,EAAE;MAC3DU,MAAM,EAAEV,SAAC,CAAC,4CAA4C;AACxD,KAAC,CACH;GACD;AACH,CAAC,CAAC;AAEK,IAAMW,8BAA8B,GAAG;AAC5CC,EAAAA,SAAS,EAAE;AACTC,IAAAA,WAAW,EAAEb,SAAC,CACZ,6DACF,CAAC;AACDc,IAAAA,aAAa,EAAE;AAAE,MAAA,SAAS,EAAE;KAAgC;AAC5DC,IAAAA,YAAY,EAAE;AAAEC,MAAAA,QAAQ,EAAE;AAAM;GACjC;AACDzB,EAAAA,cAAc,EAAE;AACdsB,IAAAA,WAAW,EAAEb,SAAC,CACZ,kEACF,CAAC;AACDc,IAAAA,aAAa,EAAE;AACbG,MAAAA,KAAK,EAAEjB,SAAC,CAAC,+CAA+C,CAAC;AACzD,MAAA,SAAS,EAAE;KACZ;AACDgB,IAAAA,QAAQ,EAAE;AACZ;AACF,CAAC;;AC5CD,IAAME,wBAAwB,GAAGC,SAAG,CAClCC,YAAM,CAACC,UAAI,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,EAAEC,UAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CACjE,CAAC;AAEM,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGhC,cAAc,EAAA;EAAA,OAChDiC,mBAAS,CAACjC,cAAc,CAAC,GAAGA,cAAc,GAAG,CAACC,mCAA6B,CAAC;AAAA,CAAA;AAEvE,IAAMiC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGV,YAAY,EAAI;AACnD,EAAA,IAAMW,aAAa,GAAGC,mBAAa,CACjCZ,YAAY,EACZJ,8BACF,CAAC;EAED,OAAOO,wBAAwB,CAACQ,aAAa,CAAC;AAChD,CAAC;;;;ACAD,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;AAC7B,EAAA,IAAQC,MAAM,GAAcD,KAAK,CAAzBC,MAAM;IAAEC,OAAO,GAAKF,KAAK,CAAjBE,OAAO;EAEvB,oBACEC,cAAA,CAACC,IAAI,EAAA;AAAOH,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;IAAAG,QAAA,EACxB,SAAAA,QAAAA,CAAAC,SAAS,EAAA;MAAA,oBAAIH,cAAA,CAACI,aAAa,EAAAC,aAAA,KAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUR,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEM,QAAAA,SAAS,EAATA;AAAS,OAAA,CAAA,CAAK,CAAC;AAAA;AAAA,GACxD,CAAC;AAEX;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAE,IAAA,EAQb;AAAA,EAAA,IAPJC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPR,OAAO,GAAAO,IAAA,CAAPP,OAAO;IACPS,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IAAAC,qBAAA,GAAAJ,IAAA,CACZK,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAN,IAAA,CACzBO,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;AACRE,IAAAA,aAAa,GAAAR,IAAA,CAA1BH,SAAS,CAAIW,aAAa;AAE1B,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBhD,CAAC,GAAA+C,eAAA,CAAD/C,CAAC;EAET,IAAAiD,kBAAA,GACEC,iCAAiB,CAAC;AAChBC,MAAAA,MAAM,EAAE,QAAQ;AAChBC,MAAAA,YAAY,EAAEC,uBAAiB;AAC/Bd,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAAAe,qBAAA,GAAAL,kBAAA,CALIM,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,KAAA,CAAA,GAAuB,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArBE,SAAS;AAATA,IAAAA,SAAS,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAoBE,kBAAkB,GAAAV,kBAAA,CAA7BW,SAAS;EAOhD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,SAAS,EAAEC,MAAM,EAAEC,MAAM,EAAK;IAC1D,IAAI,CAACA,MAAM,EAAE;IAEb,IAAMC,QAAQ,GAAGC,gBAAM,CAAC;MAAEC,EAAE,EAAEH,MAAM,CAAC1D;KAAO,EAAEoD,SAAS,CAAC;AAExDI,IAAAA,SAAS,CAAAzB,aAAA,CAAAA,aAAA,CAAA,EAAA,EACJ0B,MAAM,CACNK,EAAAA,YAAM,CAAC,gBAAgB,EAAE7C,oBAAoB,EAAE0C,QAAQ,CAAC,CAC5D,CAAC;GACH;AAED,EAAA,IAAMI,YAAY,GAAG,SAAfA,YAAYA,CAAGC,UAAU,EAAI;IACjC,IAAMC,gCAAgC,GAAGH,YAAM,CAC7C,gBAAgB,EAChBI,8BAAwB,EACxBF,UACF,CAAC;IAED9B,QAAQ,CAAC+B,gCAAgC,CAAC;GAC3C;AAED,EAAA,IAAME,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAA8C;AAAA,IAAA,IAAAC,KAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAP,EAAE;MAAnCR,EAAE,GAAAO,KAAA,CAAFP,EAAE;MAAE7E,QAAQ,GAAAoF,KAAA,CAARpF,QAAQ;MAAEC,cAAc,GAAAmF,KAAA,CAAdnF,cAAc;IAC9D,IAAM0E,QAAQ,GAAGC,gBAAM,CAAC;AAAEC,MAAAA,EAAE,EAAFA;KAAI,EAAET,SAAS,CAAC;AAC1C,IAAA,IAAMoB,UAAU,GACdtD,mBAAS,CAAClC,QAAQ,CAAC,IACnBkC,mBAAS,CAACgD,8BAAwB,CAACjF,cAAc,CAAC,CAAC;AAErD,IAAA,IAAMwF,8BAA8B,GAAG,EACrCC,sBAAc,CAACf,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAE3E,QAAQ,EAAEA,QAAQ,CAAC,IAC5C2F,YAAM,CAAChB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAE1E,cAAc,EAAEA,cAAc,CAAC,CACjD;IAED,OAAOuF,UAAU,IAAIC,8BAA8B;GACpD;AAED,EAAA,IAAMG,0BAA0B,GAAG1D,mBAAS,CAACkC,SAAS,CAAC;AAEvD,EAAA,IAAAyB,qBAAA,GAGI1D,qBAAqB,CAACoB,gBAAgB,CAAC;IAF9BuC,yBAAyB,GAAAD,qBAAA,CAApCvE,SAAS;IACOyE,8BAA8B,GAAAF,qBAAA,CAA9C5F,cAAc;AAGhB,EAAA,IAAIoE,kBAAkB,EAAE;AACtB,IAAA,oBACE3B,cAAA,CAAA,KAAA,EAAA;AAAKsD,MAAAA,SAAS,EAAC,gDAAgD;AAAApD,MAAAA,QAAA,eAC7DF,cAAA,CAACuD,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;EAEA,oBACEC,eAAA,CAAAC,mBAAA,EAAA;AAAAvD,IAAAA,QAAA,EACEF,cAAAA,cAAA,CAACC,IAAI,CAACyD,MAAM,EAAA;MAAAxD,QAAA,eACVsD,eAAA,CAACG,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;QAAA3D,QAAA,EAAA,CACrClC,CAAC,CAAC,oCAAoC,CAAC,eACxCgC,cAAA,CAAC8D,WAAW,EAAAzD,aAAA,CAAA;AAACiD,UAAAA,SAAS,EAAC;SAAWF,EAAAA,yBAAyB,CAAG,CAAC;OACrD;AAAC,KACF,CAAC,eACdpD,cAAA,CAAC+D,WAAW,EAAA;AACVC,MAAAA,WAAW,EAAE;AACXC,QAAAA,aAAa,EAAE5G,+BAA+B;AAC9C6G,QAAAA,gBAAgB,EAAEvG,kCAAkC;AACpD6C,QAAAA,QAAQ,EAAE6B;OACV;MAAAnC,QAAA,EAED,SAAAA,QAAAA,CAAAiE,KAAA,EAAA;AAAA,QAAA,IAAGpC,MAAM,GAAAoC,KAAA,CAANpC,MAAM;UAAED,SAAS,GAAAqC,KAAA,CAATrC,SAAS;QAAA,oBACnB0B,eAAA,CAAAC,mBAAA,EAAA;AAAAvD,UAAAA,QAAA,EACEF,cAAAA,cAAA,CAACC,IAAI,CAACmE,IAAI,EAAA;AAAAlE,YAAAA,QAAA,eACRsD,eAAA,CAAA,KAAA,EAAA;AAAKF,cAAAA,SAAS,EAAC,kBAAkB;AAAApD,cAAAA,QAAA,EAC9BgD,CAAAA,0BAA0B,iBACzBlD,cAAA,CAACqE,MAAM,EAAA;AACLC,gBAAAA,QAAQ,EAAExD,aAAc;AACxBc,gBAAAA,SAAS,EAAED,kBAAmB;AAC9B1C,gBAAAA,KAAK,EAAEjB,CAAC,CAAC,qCAAqC,CAAE;gBAChDuG,OAAO,EAAEC,oBAAU,CACjB;AAAEC,kBAAAA,IAAI,EAAE,OAAO;AAAEtC,kBAAAA,EAAE,EAAE;iBAAS,EAC9BT,SACF,CAAE;AACFgD,gBAAAA,WAAW,EAAE1G,CAAC,CACZ,iDACF,CAAE;AACF2G,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE1C,QAAQ,EAAA;AAAA,kBAAA,OAChBJ,oBAAoB,CAACC,SAAS,EAAEC,MAAM,EAAEE,QAAQ,CAAC;AAAA;AAClD,eACF,CACF,eACDjC,cAAA,CAAC4E,KAAK,EAAA;gBACJ7G,QAAQ,EAAA,IAAA;AACRkB,gBAAAA,KAAK,EAAEjB,CAAC,CAAC,mCAAmC,CAAE;AAC9CyG,gBAAAA,IAAI,EAAC,UAAU;AACfC,gBAAAA,WAAW,EAAEG,gBAAW;AACxBC,gBAAAA,GAAG,EAAE5B,0BAA0B,GAAG,IAAI,GAAGpC;AAAc,eACxD,CAAC,eACFd,cAAA,CAAC+E,mBAAa,EAAA;AACZ9F,gBAAAA,KAAK,EAAEjB,CAAC,CAAC,yCAAyC,CAAE;AACpDyG,gBAAAA,IAAI,EAAC,gBAAgB;AACrBO,gBAAAA,UAAU,EAAE;AACV1B,kBAAAA,SAAS,EAAE,MAAM;AACjB2B,kBAAAA,aAAa,EAAE;AACblG,oBAAAA,YAAY,EAAEsE;AAChB;AACF;AAAE,eACH,CAAC,EACD1C,kBAAkB,IAAI8B,wBAAwB,CAACV,MAAM,CAAC,iBACrD/B,cAAA,CAACkF,sBAAc,IAAE,CAClB;aACE;AAAC,WACG,CAAC,eACZlF,cAAA,CAACC,IAAI,CAACkF,MAAM,EAAA;YAAAjF,QAAA,eACVF,cAAA,CAACoF,WAAW,EAAA;AACJ3E,cAAAA,YAAY,EAAZA,YAAY;AAClB4E,cAAAA,iBAAiB,EAAE;AACjBC,gBAAAA,OAAO,EAAEvF,OAAO;AAChB,gBAAA,SAAS,EAAE;eACX;AACFwF,cAAAA,iBAAiB,EAAE;AACjBtG,gBAAAA,KAAK,EAAEjB,CAAC,CAAC,oCAAoC,CAAC;AAC9C,gBAAA,SAAS,EAAE;AACb;aACD;AAAC,WACS,CAAC;AAAA,SACd,CAAC;AAAA;AACJ,KACU,CAAC;AAAA,GACd,CAAC;AAEP,CAAC;;;;"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -54,8 +54,9 @@ require('@bigbinary/neetoui/Label');
|
|
|
54
54
|
require('@bigbinary/neetoui/formik/Switch');
|
|
55
55
|
require('@bigbinary/neetoui/Textarea');
|
|
56
56
|
require('@bigbinary/neetoui/formik/Select');
|
|
57
|
-
require('../utils-
|
|
57
|
+
require('../utils-D7y24q1q.js');
|
|
58
58
|
require('@bigbinary/neeto-icons/Delete');
|
|
59
|
+
require('@bigbinary/neeto-molecules/HelpPopover');
|
|
59
60
|
|
|
60
61
|
|
|
61
62
|
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -52,6 +52,7 @@ import '@bigbinary/neetoui/Label';
|
|
|
52
52
|
import '@bigbinary/neetoui/formik/Switch';
|
|
53
53
|
import '@bigbinary/neetoui/Textarea';
|
|
54
54
|
import '@bigbinary/neetoui/formik/Select';
|
|
55
|
-
import './utils-
|
|
55
|
+
import './utils-oljkG5EG.js';
|
|
56
56
|
import '@bigbinary/neeto-icons/Delete';
|
|
57
|
+
import '@bigbinary/neeto-molecules/HelpPopover';
|
|
57
58
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var i18next = require('i18next');
|
|
4
4
|
var yup = require('yup');
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
6
|
var formik = require('formik');
|
|
6
7
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
7
8
|
var Delete = require('@bigbinary/neeto-icons/Delete');
|
|
@@ -107,11 +108,15 @@ var isKeyOrValueNotEmpty = ramda.whereAny({
|
|
|
107
108
|
value: neetoCist.isNotEmpty
|
|
108
109
|
});
|
|
109
110
|
|
|
111
|
+
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; }
|
|
112
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
|
|
110
113
|
var KeyValuePairs = reactUtils.withT(function (_ref) {
|
|
111
114
|
var t = _ref.t,
|
|
112
115
|
name = _ref.name,
|
|
113
116
|
_ref$label = _ref.label,
|
|
114
|
-
label = _ref$label === void 0 ? "" : _ref$label
|
|
117
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
118
|
+
_ref$labelProps = _ref.labelProps,
|
|
119
|
+
labelProps = _ref$labelProps === void 0 ? {} : _ref$labelProps;
|
|
115
120
|
return /*#__PURE__*/jsxRuntime.jsx(formik.FieldArray, {
|
|
116
121
|
name: name,
|
|
117
122
|
children: function children(arrayHelpers) {
|
|
@@ -119,9 +124,9 @@ var KeyValuePairs = reactUtils.withT(function (_ref) {
|
|
|
119
124
|
var showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);
|
|
120
125
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
121
126
|
className: "space-y-2",
|
|
122
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
127
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread(_objectSpread({}, labelProps), {}, {
|
|
123
128
|
children: label
|
|
124
|
-
}), data.map(function (_, index) {
|
|
129
|
+
})), data.map(function (_, index) {
|
|
125
130
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
126
131
|
className: "flex h-8 space-x-3",
|
|
127
132
|
children: [/*#__PURE__*/jsxRuntime.jsx(Input, {
|
|
@@ -178,4 +183,4 @@ exports.SAMPLE_URL = SAMPLE_URL;
|
|
|
178
183
|
exports.TEMPLATE_STATUS = TEMPLATE_STATUS;
|
|
179
184
|
exports.VALID_URL_REGEX = VALID_URL_REGEX;
|
|
180
185
|
exports.rejectEmptyKeyValuePairs = rejectEmptyKeyValuePairs;
|
|
181
|
-
//# sourceMappingURL=utils-
|
|
186
|
+
//# sourceMappingURL=utils-D7y24q1q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-D7y24q1q.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\", labelProps = {} }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label {...labelProps}>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_ref$labelProps","labelProps","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","_objectSpread","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { t } from 'i18next';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
4
|
import { FieldArray } from 'formik';
|
|
4
5
|
import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
6
|
import Delete from '@bigbinary/neeto-icons/Delete';
|
|
@@ -86,11 +87,15 @@ var isKeyOrValueNotEmpty = whereAny({
|
|
|
86
87
|
value: isNotEmpty
|
|
87
88
|
});
|
|
88
89
|
|
|
90
|
+
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; }
|
|
91
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
|
|
89
92
|
var KeyValuePairs = withT(function (_ref) {
|
|
90
93
|
var t = _ref.t,
|
|
91
94
|
name = _ref.name,
|
|
92
95
|
_ref$label = _ref.label,
|
|
93
|
-
label = _ref$label === void 0 ? "" : _ref$label
|
|
96
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
97
|
+
_ref$labelProps = _ref.labelProps,
|
|
98
|
+
labelProps = _ref$labelProps === void 0 ? {} : _ref$labelProps;
|
|
94
99
|
return /*#__PURE__*/jsx(FieldArray, {
|
|
95
100
|
name: name,
|
|
96
101
|
children: function children(arrayHelpers) {
|
|
@@ -98,9 +103,9 @@ var KeyValuePairs = withT(function (_ref) {
|
|
|
98
103
|
var showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);
|
|
99
104
|
return /*#__PURE__*/jsxs("div", {
|
|
100
105
|
className: "space-y-2",
|
|
101
|
-
children: [/*#__PURE__*/jsx(Label, {
|
|
106
|
+
children: [/*#__PURE__*/jsx(Label, _objectSpread(_objectSpread({}, labelProps), {}, {
|
|
102
107
|
children: label
|
|
103
|
-
}), data.map(function (_, index) {
|
|
108
|
+
})), data.map(function (_, index) {
|
|
104
109
|
return /*#__PURE__*/jsxs("div", {
|
|
105
110
|
className: "flex h-8 space-x-3",
|
|
106
111
|
children: [/*#__PURE__*/jsx(Input, {
|
|
@@ -148,4 +153,4 @@ var rejectEmptyKeyValuePairs = reject(whereAny({
|
|
|
148
153
|
}));
|
|
149
154
|
|
|
150
155
|
export { API_TEMPLATE_INITIAL_VALUES as A, FILTER_COLUMNS as F, KeyValuePairs as K, SAMPLE_URL as S, TEMPLATE_STATUS as T, VALID_URL_REGEX as V, ADDITIONAL_DATA_INITIAL_VALUE as a, API_TEMPLATE_TYPE as b, API_TEMPLATE_FORM_VALIDATION_SCHEMA as c, rejectEmptyKeyValuePairs as r };
|
|
151
|
-
//# sourceMappingURL=utils-
|
|
156
|
+
//# sourceMappingURL=utils-oljkG5EG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-oljkG5EG.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\", labelProps = {} }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label {...labelProps}>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_ref$labelProps","labelProps","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","_objectSpread","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-message-templates-frontend",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.8",
|
|
4
4
|
"description": "To manage message templates across neeto products.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-message-templates-nano",
|
|
@@ -61,15 +61,15 @@
|
|
|
61
61
|
"@babel/preset-typescript": "7.26.0",
|
|
62
62
|
"@babel/runtime": "7.26.0",
|
|
63
63
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
64
|
-
"@bigbinary/eslint-plugin-neeto": "1.5.
|
|
64
|
+
"@bigbinary/eslint-plugin-neeto": "1.5.8",
|
|
65
65
|
"@bigbinary/neeto-cist": "1.0.15",
|
|
66
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
67
|
-
"@bigbinary/neeto-editor": "1.45.
|
|
66
|
+
"@bigbinary/neeto-commons-frontend": "4.13.26",
|
|
67
|
+
"@bigbinary/neeto-editor": "1.45.21",
|
|
68
68
|
"@bigbinary/neeto-filters-frontend": "4.3.15",
|
|
69
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
70
|
-
"@bigbinary/neeto-molecules": "3.15.
|
|
71
|
-
"@bigbinary/neeto-team-members-frontend": "4.4.
|
|
72
|
-
"@bigbinary/neetoui": "8.2.
|
|
69
|
+
"@bigbinary/neeto-icons": "1.20.29",
|
|
70
|
+
"@bigbinary/neeto-molecules": "3.15.57",
|
|
71
|
+
"@bigbinary/neeto-team-members-frontend": "4.4.25",
|
|
72
|
+
"@bigbinary/neetoui": "8.2.74",
|
|
73
73
|
"@emotion/is-prop-valid": "1.2.0",
|
|
74
74
|
"@faker-js/faker": "8.2.0",
|
|
75
75
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -174,13 +174,13 @@
|
|
|
174
174
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
175
175
|
"@babel/runtime": "7.26.0",
|
|
176
176
|
"@bigbinary/neeto-cist": "1.0.15",
|
|
177
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
178
|
-
"@bigbinary/neeto-editor": "1.45.
|
|
177
|
+
"@bigbinary/neeto-commons-frontend": "4.13.26",
|
|
178
|
+
"@bigbinary/neeto-editor": "1.45.21",
|
|
179
179
|
"@bigbinary/neeto-filters-frontend": "4.3.15",
|
|
180
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
181
|
-
"@bigbinary/neeto-molecules": "3.15.
|
|
182
|
-
"@bigbinary/neeto-team-members-frontend": "4.4.
|
|
183
|
-
"@bigbinary/neetoui": "8.2.
|
|
180
|
+
"@bigbinary/neeto-icons": "1.20.29",
|
|
181
|
+
"@bigbinary/neeto-molecules": "3.15.57",
|
|
182
|
+
"@bigbinary/neeto-team-members-frontend": "4.4.25",
|
|
183
|
+
"@bigbinary/neetoui": "8.2.74",
|
|
184
184
|
"@honeybadger-io/js": "6.10.1",
|
|
185
185
|
"@honeybadger-io/react": "6.1.25",
|
|
186
186
|
"@tailwindcss/container-queries": "^0.1.1",
|
package/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
2
|
|
|
3
|
-
import { PopoverProps } from "@bigbinary/neetoui";
|
|
3
|
+
import { PopoverProps, ButtonProps } from "@bigbinary/neetoui";
|
|
4
4
|
|
|
5
5
|
type Breadcrumb = {
|
|
6
6
|
text: string;
|
|
@@ -12,6 +12,20 @@ type TemplateVariables = {
|
|
|
12
12
|
label: string;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
+
interface SendToApiHelpPopoverProps {
|
|
16
|
+
sendToApi?: {
|
|
17
|
+
title?: string;
|
|
18
|
+
description?: React.ReactNode;
|
|
19
|
+
helpLinkProps?: ButtonProps;
|
|
20
|
+
popoverProps?: PopoverProps;
|
|
21
|
+
},
|
|
22
|
+
additionalData?: {
|
|
23
|
+
title?: string;
|
|
24
|
+
description?: React.ReactNode;
|
|
25
|
+
helpLinkProps?: ButtonProps;
|
|
26
|
+
} & PopoverProps;
|
|
27
|
+
}
|
|
28
|
+
|
|
15
29
|
interface MessageTemplatesProps {
|
|
16
30
|
breadcrumbs?: Breadcrumb[];
|
|
17
31
|
type?: string;
|
|
@@ -54,6 +68,7 @@ interface SendToApiPaneProps {
|
|
|
54
68
|
onSubmit?: (values: { [key: string]: any }) => void;
|
|
55
69
|
isSubmitting?: boolean;
|
|
56
70
|
canManageTemplates?: boolean;
|
|
71
|
+
helpPopoverProps?: SendToApiHelpPopoverProps;
|
|
57
72
|
}
|
|
58
73
|
|
|
59
74
|
export const MessageTemplates = React.FC<MessageTemplatesProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-BUob2F8X.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-aj-r79qQ.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":"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"}
|