@bigbinary/neeto-message-templates-frontend 0.5.0 → 0.5.2
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/app/javascript/src/translations/en.json +18 -0
- package/dist/index.cjs.js +585 -31
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +592 -40
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +15 -0
package/dist/index.js
CHANGED
|
@@ -4,23 +4,24 @@ import { buildFiltersFromURL, Bar } from '@bigbinary/neeto-filters-frontend';
|
|
|
4
4
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
5
5
|
import NeetoHeader from '@bigbinary/neeto-molecules/Header';
|
|
6
6
|
import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
|
|
7
|
-
import { Typography, Button, Pane, Table, NoData, Alert, Select, Textarea } from '@bigbinary/neetoui';
|
|
8
|
-
import { isEmpty, equals, prop, includes, pick, omit, assoc, mergeAll, pluck } from 'ramda';
|
|
7
|
+
import { Typography, Button, Pane, Table, NoData, Alert, Select, Textarea, Label } from '@bigbinary/neetoui';
|
|
8
|
+
import { isEmpty, equals, prop, includes, pick, omit, assoc, mergeAll, pluck, whereAny, reject, modify } from 'ramda';
|
|
9
9
|
import { t } from 'i18next';
|
|
10
|
-
import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
|
|
11
10
|
import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
|
|
12
|
-
import
|
|
11
|
+
import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
|
|
12
|
+
import { useMutationWithInvalidation, withImmutableActions, useQueryParams, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
13
13
|
import { useQuery } from 'react-query';
|
|
14
14
|
import axios from 'axios';
|
|
15
15
|
import require$$0 from 'util';
|
|
16
16
|
import { create } from 'zustand';
|
|
17
17
|
import { FormikEditor } from '@bigbinary/neeto-editor';
|
|
18
|
-
import { Input, Form as Form$
|
|
18
|
+
import { Input, Form as Form$2, Select as Select$1, Button as Button$1, ActionBlock } from '@bigbinary/neetoui/formik';
|
|
19
19
|
import { useTranslation, Trans } from 'react-i18next';
|
|
20
20
|
import { isPhoneNumberValid } from '@bigbinary/neeto-molecules/PhoneNumber';
|
|
21
21
|
import * as yup from 'yup';
|
|
22
|
-
import { useFormikContext } from 'formik';
|
|
22
|
+
import { useFormikContext, FieldArray } from 'formik';
|
|
23
23
|
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
24
|
+
import { Delete } from '@bigbinary/neeto-icons';
|
|
24
25
|
|
|
25
26
|
function _typeof$1(o) {
|
|
26
27
|
"@babel/helpers - typeof";
|
|
@@ -147,6 +148,10 @@ var MESSAGE_TYPES = {
|
|
|
147
148
|
whatsapp: t("messageType.whatsapp")
|
|
148
149
|
};
|
|
149
150
|
var DEFAULT_EDITOR_ROW_COUNT = 15;
|
|
151
|
+
var DEFAULT_PAGE_PROPERTIES = {
|
|
152
|
+
size: DEFAULT_PAGE_SIZE,
|
|
153
|
+
index: DEFAULT_PAGE_INDEX
|
|
154
|
+
};
|
|
150
155
|
|
|
151
156
|
var MESSAGE_TEMPLATE_INITIAL_STATE = {
|
|
152
157
|
isOpen: false,
|
|
@@ -154,10 +159,6 @@ var MESSAGE_TEMPLATE_INITIAL_STATE = {
|
|
|
154
159
|
isDelete: false,
|
|
155
160
|
template: {}
|
|
156
161
|
};
|
|
157
|
-
var DEFAULT_PAGE_PROPERTIES = {
|
|
158
|
-
size: DEFAULT_PAGE_SIZE,
|
|
159
|
-
index: DEFAULT_PAGE_INDEX
|
|
160
|
-
};
|
|
161
162
|
|
|
162
163
|
function getDefaultExportFromCjs (x) {
|
|
163
164
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
@@ -2262,15 +2263,15 @@ var QUERY_KEYS = {
|
|
|
2262
2263
|
NEETO_MESSAGE_TEMPLATES: "neeto-message-templates"
|
|
2263
2264
|
};
|
|
2264
2265
|
|
|
2265
|
-
function ownKeys$
|
|
2266
|
-
function _objectSpread$
|
|
2266
|
+
function ownKeys$6(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; }
|
|
2267
|
+
function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2267
2268
|
var ownerIdValue = function ownerIdValue(ownerId) {
|
|
2268
2269
|
return isEmpty(ownerId) ? undefined : ownerId;
|
|
2269
2270
|
};
|
|
2270
|
-
var useFetchTemplates = function useFetchTemplates(params) {
|
|
2271
|
+
var useFetchTemplates = function useFetchTemplates(params, options) {
|
|
2271
2272
|
return useQuery([QUERY_KEYS.NEETO_MESSAGE_TEMPLATES, params], function () {
|
|
2272
2273
|
return messageTemplatesApi.fetchAll(params);
|
|
2273
|
-
});
|
|
2274
|
+
}, options);
|
|
2274
2275
|
};
|
|
2275
2276
|
var useCreateTemplate = function useCreateTemplate(ownerId, options) {
|
|
2276
2277
|
return useMutationWithInvalidation(function (messageTemplate) {
|
|
@@ -2278,7 +2279,7 @@ var useCreateTemplate = function useCreateTemplate(ownerId, options) {
|
|
|
2278
2279
|
messageTemplate: messageTemplate,
|
|
2279
2280
|
ownerId: ownerIdValue(ownerId)
|
|
2280
2281
|
});
|
|
2281
|
-
}, _objectSpread$
|
|
2282
|
+
}, _objectSpread$6({
|
|
2282
2283
|
keysToInvalidate: [QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]
|
|
2283
2284
|
}, options));
|
|
2284
2285
|
};
|
|
@@ -2345,8 +2346,8 @@ var getMenuItems = function getMenuItems(_ref) {
|
|
|
2345
2346
|
}];
|
|
2346
2347
|
};
|
|
2347
2348
|
|
|
2348
|
-
function ownKeys$
|
|
2349
|
-
function _objectSpread$
|
|
2349
|
+
function ownKeys$5(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; }
|
|
2350
|
+
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2350
2351
|
var RowActions = function RowActions(_ref) {
|
|
2351
2352
|
var template = _ref.template,
|
|
2352
2353
|
setManageTemplatePane = _ref.setManageTemplatePane,
|
|
@@ -2357,14 +2358,14 @@ var RowActions = function RowActions(_ref) {
|
|
|
2357
2358
|
id = template.id;
|
|
2358
2359
|
var templateType = useTemplateStore(prop("templateType"));
|
|
2359
2360
|
var handleEditTemplate = function handleEditTemplate() {
|
|
2360
|
-
return setManageTemplatePane(_objectSpread$
|
|
2361
|
+
return setManageTemplatePane(_objectSpread$5(_objectSpread$5({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
|
|
2361
2362
|
isOpen: true,
|
|
2362
2363
|
isEdit: true,
|
|
2363
2364
|
template: template
|
|
2364
2365
|
}));
|
|
2365
2366
|
};
|
|
2366
2367
|
var handleDeleteTemplate = function handleDeleteTemplate() {
|
|
2367
|
-
return setManageTemplatePane(_objectSpread$
|
|
2368
|
+
return setManageTemplatePane(_objectSpread$5(_objectSpread$5({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
|
|
2368
2369
|
isDelete: true,
|
|
2369
2370
|
template: template
|
|
2370
2371
|
}));
|
|
@@ -2403,7 +2404,7 @@ var renderSearchProps = function renderSearchProps(label, value) {
|
|
|
2403
2404
|
"data-cy": "".concat(hyphenate(value), "-search-input")
|
|
2404
2405
|
};
|
|
2405
2406
|
};
|
|
2406
|
-
var buildTableColumnData = function buildTableColumnData(setManageTemplatePane, ownerId) {
|
|
2407
|
+
var buildTableColumnData$1 = function buildTableColumnData(setManageTemplatePane, ownerId) {
|
|
2407
2408
|
return [{
|
|
2408
2409
|
dataIndex: "name",
|
|
2409
2410
|
key: "name",
|
|
@@ -2957,9 +2958,9 @@ var TestMessage = function TestMessage(_ref) {
|
|
|
2957
2958
|
}, t("neetoMessageTemplate.sendMessage.testSmsNote")), customFields);
|
|
2958
2959
|
};
|
|
2959
2960
|
|
|
2960
|
-
function ownKeys$
|
|
2961
|
-
function _objectSpread$
|
|
2962
|
-
var Form = function Form(_ref) {
|
|
2961
|
+
function ownKeys$4(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; }
|
|
2962
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2963
|
+
var Form$1 = function Form(_ref) {
|
|
2963
2964
|
var onClose = _ref.onClose,
|
|
2964
2965
|
isEdit = _ref.isEdit,
|
|
2965
2966
|
_ref$template = _ref.template,
|
|
@@ -2978,7 +2979,7 @@ var Form = function Form(_ref) {
|
|
|
2978
2979
|
var templateType = useTemplateStore(prop("templateType"));
|
|
2979
2980
|
var isEmailTemplate = equals(templateType, "email_template");
|
|
2980
2981
|
var isTestTemplateVisible = includes(templateType, ["sms_template", "email_template"]) && shouldIncludeTestTemplate;
|
|
2981
|
-
var _ref2 = isEmailTemplate ? [_objectSpread$
|
|
2982
|
+
var _ref2 = isEmailTemplate ? [_objectSpread$4(_objectSpread$4({}, EMAIL_TEMPLATE_INITIAL_VALUES), pick(["name", "body", "subject", "active"], template)), EMAIL_TEMPLATE_FORM_SCHEMA] : [_objectSpread$4(_objectSpread$4({}, SMS_TEMPLATE_INITIAL_VALUES), pick(["name", "body", "active"], template)), SMS_TEMPLATE_FORM_VALIDATION_SCHEMA],
|
|
2982
2983
|
_ref3 = _slicedToArray(_ref2, 2),
|
|
2983
2984
|
TEMPLATE_INITIAL_VALUES = _ref3[0],
|
|
2984
2985
|
TEMPLATE_FORM_SCHEMA = _ref3[1];
|
|
@@ -2999,7 +3000,7 @@ var Form = function Form(_ref) {
|
|
|
2999
3000
|
}
|
|
3000
3001
|
});
|
|
3001
3002
|
};
|
|
3002
|
-
return /*#__PURE__*/React.createElement(Form$
|
|
3003
|
+
return /*#__PURE__*/React.createElement(Form$2, {
|
|
3003
3004
|
formProps: {
|
|
3004
3005
|
noValidate: true,
|
|
3005
3006
|
className: "flex w-full flex-col gap-y-4 pb-6"
|
|
@@ -3085,7 +3086,7 @@ var AddEdit = function AddEdit(_ref) {
|
|
|
3085
3086
|
}, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
3086
3087
|
style: "h2",
|
|
3087
3088
|
weight: "semibold"
|
|
3088
|
-
}, label)), /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement(Form, {
|
|
3089
|
+
}, label)), /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement(Form$1, {
|
|
3089
3090
|
createUpdateTemplate: createUpdateTemplate,
|
|
3090
3091
|
customFields: customFields,
|
|
3091
3092
|
handleSubmitTestTemplate: handleSubmitTestTemplate,
|
|
@@ -3124,7 +3125,7 @@ var useFilters = function useFilters() {
|
|
|
3124
3125
|
var _useQueryParams = useQueryParams(),
|
|
3125
3126
|
_useQueryParams$searc = _useQueryParams.searchTerm,
|
|
3126
3127
|
searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
|
|
3127
|
-
var filterColumns = buildTableColumnData().filter(prop("node"));
|
|
3128
|
+
var filterColumns = buildTableColumnData$1().filter(prop("node"));
|
|
3128
3129
|
var searchKeywordProps = {
|
|
3129
3130
|
key: "search_term",
|
|
3130
3131
|
node: "name",
|
|
@@ -3229,7 +3230,7 @@ var List = function List(_ref) {
|
|
|
3229
3230
|
hasPagination: totalCount > pageSize
|
|
3230
3231
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
3231
3232
|
totalCount: totalCount,
|
|
3232
|
-
columnData: buildTableColumnData(setManageTemplatePane, ownerId),
|
|
3233
|
+
columnData: buildTableColumnData$1(setManageTemplatePane, ownerId),
|
|
3233
3234
|
currentPageNumber: pageIndex,
|
|
3234
3235
|
defaultPageSize: pageSize,
|
|
3235
3236
|
loading: isLoading,
|
|
@@ -3277,8 +3278,8 @@ var List = function List(_ref) {
|
|
|
3277
3278
|
}));
|
|
3278
3279
|
};
|
|
3279
3280
|
|
|
3280
|
-
function ownKeys$
|
|
3281
|
-
function _objectSpread$
|
|
3281
|
+
function ownKeys$3(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; }
|
|
3282
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3282
3283
|
var MessageTemplates = function MessageTemplates(_ref) {
|
|
3283
3284
|
var _ref$breadcrumbs = _ref.breadcrumbs,
|
|
3284
3285
|
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
|
|
@@ -3332,7 +3333,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
|
|
|
3332
3333
|
editText = _MESSAGE_TEMPLATES$ty.editText;
|
|
3333
3334
|
var isFilterApplied = isNotEmpty(filters) || isNotEmpty(searchTerm);
|
|
3334
3335
|
var handleActionClick = function handleActionClick() {
|
|
3335
|
-
return setManageTemplatePane(_objectSpread$
|
|
3336
|
+
return setManageTemplatePane(_objectSpread$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
|
|
3336
3337
|
isOpen: true
|
|
3337
3338
|
}));
|
|
3338
3339
|
};
|
|
@@ -3424,8 +3425,8 @@ var WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup.object().shape({
|
|
|
3424
3425
|
})
|
|
3425
3426
|
});
|
|
3426
3427
|
|
|
3427
|
-
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; }
|
|
3428
|
-
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; }
|
|
3428
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3429
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3429
3430
|
var EmailAndSms = function EmailAndSms(_ref) {
|
|
3430
3431
|
var onClose = _ref.onClose,
|
|
3431
3432
|
templates = _ref.templates,
|
|
@@ -3445,9 +3446,9 @@ var EmailAndSms = function EmailAndSms(_ref) {
|
|
|
3445
3446
|
INITIAL_VALUES = _ref3[0],
|
|
3446
3447
|
SEND_MESSAGE_FORM_SCHEMA = _ref3[1];
|
|
3447
3448
|
var updatedInitialValues = mergeAll([INITIAL_VALUES, customFieldsInitialValues]);
|
|
3448
|
-
var updatedValidationSchema = yup.object().shape(_objectSpread(_objectSpread({}, SEND_MESSAGE_FORM_SCHEMA === null || SEND_MESSAGE_FORM_SCHEMA === void 0 ? void 0 : SEND_MESSAGE_FORM_SCHEMA.fields), customFieldsValidationSchema === null || customFieldsValidationSchema === void 0 ? void 0 : customFieldsValidationSchema.fields));
|
|
3449
|
+
var updatedValidationSchema = yup.object().shape(_objectSpread$2(_objectSpread$2({}, SEND_MESSAGE_FORM_SCHEMA === null || SEND_MESSAGE_FORM_SCHEMA === void 0 ? void 0 : SEND_MESSAGE_FORM_SCHEMA.fields), customFieldsValidationSchema === null || customFieldsValidationSchema === void 0 ? void 0 : customFieldsValidationSchema.fields));
|
|
3449
3450
|
var initialValueKeys = Object.keys(INITIAL_VALUES);
|
|
3450
|
-
return /*#__PURE__*/React.createElement(Form$
|
|
3451
|
+
return /*#__PURE__*/React.createElement(Form$2, {
|
|
3451
3452
|
formProps: {
|
|
3452
3453
|
noValidate: true,
|
|
3453
3454
|
className: "flex w-full flex-col gap-y-4 pb-6"
|
|
@@ -3467,7 +3468,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
|
|
|
3467
3468
|
var template = findBy({
|
|
3468
3469
|
id: value === null || value === void 0 ? void 0 : value.value
|
|
3469
3470
|
}, templates);
|
|
3470
|
-
setValues(_objectSpread(_objectSpread({}, template), customFieldValues));
|
|
3471
|
+
setValues(_objectSpread$2(_objectSpread$2({}, template), customFieldValues));
|
|
3471
3472
|
editorRef.current.editor.commands.setContent(template.body);
|
|
3472
3473
|
};
|
|
3473
3474
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Select, {
|
|
@@ -3551,7 +3552,7 @@ var Whatsapp = function Whatsapp(_ref) {
|
|
|
3551
3552
|
templateMessage: getTemplateMessage((_templates$3 = templates[0]) === null || _templates$3 === void 0 ? void 0 : _templates$3.components),
|
|
3552
3553
|
variableContents: getInitialVariableComponents((_templates$4 = templates[0]) === null || _templates$4 === void 0 ? void 0 : _templates$4.variableCount)
|
|
3553
3554
|
};
|
|
3554
|
-
return /*#__PURE__*/React.createElement(Form$
|
|
3555
|
+
return /*#__PURE__*/React.createElement(Form$2, {
|
|
3555
3556
|
formProps: {
|
|
3556
3557
|
noValidate: true,
|
|
3557
3558
|
className: "flex w-full flex-col gap-y-4 pb-6"
|
|
@@ -3668,9 +3669,9 @@ var SendMessagePane = function SendMessagePane(_ref) {
|
|
|
3668
3669
|
_useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
|
|
3669
3670
|
templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3;
|
|
3670
3671
|
return /*#__PURE__*/React.createElement(Pane, {
|
|
3671
|
-
initialFocusRef: initialFocusField,
|
|
3672
3672
|
isOpen: isOpen,
|
|
3673
|
-
onClose: onClose
|
|
3673
|
+
onClose: onClose,
|
|
3674
|
+
initialFocusRef: initialFocusField
|
|
3674
3675
|
}, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
3675
3676
|
style: "h2",
|
|
3676
3677
|
weight: "semibold"
|
|
@@ -3691,5 +3692,556 @@ var SendMessagePane = function SendMessagePane(_ref) {
|
|
|
3691
3692
|
})));
|
|
3692
3693
|
};
|
|
3693
3694
|
|
|
3694
|
-
|
|
3695
|
+
var VALID_URL_REGEX = /^(https?):\/\/([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}\/?[^\s]*$/;
|
|
3696
|
+
var ADDITIONAL_DATA_INITIAL_VALUE = {
|
|
3697
|
+
key: "",
|
|
3698
|
+
value: ""
|
|
3699
|
+
};
|
|
3700
|
+
var API_TEMPLATE_TYPE = "api_template";
|
|
3701
|
+
|
|
3702
|
+
[{
|
|
3703
|
+
dataIndex: "name",
|
|
3704
|
+
key: "name",
|
|
3705
|
+
title: t("neetoMessageTemplate.template.name")
|
|
3706
|
+
}, {
|
|
3707
|
+
dataIndex: "status",
|
|
3708
|
+
key: "status",
|
|
3709
|
+
title: t("neetoMessageTemplate.template.active"),
|
|
3710
|
+
render: function render(status) {
|
|
3711
|
+
return status === "active" ? t("neetoMessageTemplate.yes") : t("neetoMessageTemplate.no");
|
|
3712
|
+
},
|
|
3713
|
+
width: "20%"
|
|
3714
|
+
}];
|
|
3715
|
+
var FILTER_COLUMNS = [{
|
|
3716
|
+
key: "name",
|
|
3717
|
+
node: "name",
|
|
3718
|
+
label: t("neetoMessageTemplate.template.name"),
|
|
3719
|
+
type: "text"
|
|
3720
|
+
}, {
|
|
3721
|
+
key: "status",
|
|
3722
|
+
node: "status",
|
|
3723
|
+
label: t("neetoMessageTemplate.template.active"),
|
|
3724
|
+
type: "single_option",
|
|
3725
|
+
values: [{
|
|
3726
|
+
label: t("neetoMessageTemplate.yes"),
|
|
3727
|
+
value: "active"
|
|
3728
|
+
}, {
|
|
3729
|
+
label: t("neetoMessageTemplate.no"),
|
|
3730
|
+
value: "inactive"
|
|
3731
|
+
}]
|
|
3732
|
+
}];
|
|
3733
|
+
var API_TEMPLATE_INITIAL_VALUES = {
|
|
3734
|
+
name: "",
|
|
3735
|
+
endpoint: "",
|
|
3736
|
+
additionalData: [ADDITIONAL_DATA_INITIAL_VALUE]
|
|
3737
|
+
};
|
|
3738
|
+
var SAMPLE_URL = "https://example.com";
|
|
3739
|
+
var API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({
|
|
3740
|
+
name: yup.string().trim().required(t("neetoMessageTemplate.template.validation.namePresence")),
|
|
3741
|
+
endpoint: yup.string().required(t("neetoMessageTemplate.api.validation.endpointPresence")).matches(VALID_URL_REGEX, t("neetoMessageTemplate.api.validation.validEndpoint")),
|
|
3742
|
+
additionalData: yup.array().of(yup.object({
|
|
3743
|
+
key: yup.string(),
|
|
3744
|
+
value: yup.string()
|
|
3745
|
+
}))
|
|
3746
|
+
});
|
|
3747
|
+
var TEMPLATE_STATUS = {
|
|
3748
|
+
ACTIVE: "active",
|
|
3749
|
+
INACTIVE: "inactive"
|
|
3750
|
+
};
|
|
3751
|
+
|
|
3752
|
+
var removeOption = function removeOption(_ref) {
|
|
3753
|
+
var arrayHelpers = _ref.arrayHelpers,
|
|
3754
|
+
index = _ref.index,
|
|
3755
|
+
data = _ref.data;
|
|
3756
|
+
if (data.length === 1) {
|
|
3757
|
+
arrayHelpers.remove(index);
|
|
3758
|
+
arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);
|
|
3759
|
+
return;
|
|
3760
|
+
}
|
|
3761
|
+
arrayHelpers.remove(index);
|
|
3762
|
+
};
|
|
3763
|
+
var addOption = function addOption(arrayHelpers) {
|
|
3764
|
+
return arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);
|
|
3765
|
+
};
|
|
3766
|
+
var isKeyOrValueNotEmpty = whereAny({
|
|
3767
|
+
key: isNotEmpty,
|
|
3768
|
+
value: isNotEmpty
|
|
3769
|
+
});
|
|
3770
|
+
|
|
3771
|
+
var KeyValuePairs = withT(function (_ref) {
|
|
3772
|
+
var t = _ref.t,
|
|
3773
|
+
name = _ref.name,
|
|
3774
|
+
_ref$label = _ref.label,
|
|
3775
|
+
label = _ref$label === void 0 ? "" : _ref$label;
|
|
3776
|
+
return /*#__PURE__*/React.createElement(FieldArray, {
|
|
3777
|
+
name: name
|
|
3778
|
+
}, function (arrayHelpers) {
|
|
3779
|
+
var data = arrayHelpers.form.values[name];
|
|
3780
|
+
var showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);
|
|
3781
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3782
|
+
className: "space-y-2"
|
|
3783
|
+
}, /*#__PURE__*/React.createElement(Label, null, label), data.map(function (_, index) {
|
|
3784
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3785
|
+
className: "flex h-8 space-x-3",
|
|
3786
|
+
key: index
|
|
3787
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
3788
|
+
className: "w-2/5",
|
|
3789
|
+
name: "".concat(name, ".").concat(index, ".key"),
|
|
3790
|
+
placeholder: t("neetoMessageTemplate.api.key")
|
|
3791
|
+
}), /*#__PURE__*/React.createElement(Input, {
|
|
3792
|
+
className: "w-3/5",
|
|
3793
|
+
name: "".concat(name, ".").concat(index, ".value"),
|
|
3794
|
+
placeholder: t("neetoMessageTemplate.api.value"),
|
|
3795
|
+
suffix: showDeleteButton && /*#__PURE__*/React.createElement(Button, {
|
|
3796
|
+
icon: Delete,
|
|
3797
|
+
size: "small",
|
|
3798
|
+
style: "text",
|
|
3799
|
+
onClick: function onClick() {
|
|
3800
|
+
return removeOption({
|
|
3801
|
+
arrayHelpers: arrayHelpers,
|
|
3802
|
+
index: index,
|
|
3803
|
+
data: data
|
|
3804
|
+
});
|
|
3805
|
+
}
|
|
3806
|
+
})
|
|
3807
|
+
}));
|
|
3808
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
3809
|
+
className: "w-full justify-center",
|
|
3810
|
+
label: t("neetoMessageTemplate.api.addKeyValuePair"),
|
|
3811
|
+
style: "secondary",
|
|
3812
|
+
onClick: function onClick() {
|
|
3813
|
+
return addOption(arrayHelpers);
|
|
3814
|
+
}
|
|
3815
|
+
}));
|
|
3816
|
+
});
|
|
3817
|
+
});
|
|
3818
|
+
|
|
3819
|
+
var rejectEmptyKeyValuePairs = reject(whereAny({
|
|
3820
|
+
key: isEmpty,
|
|
3821
|
+
value: isEmpty
|
|
3822
|
+
}));
|
|
3823
|
+
|
|
3824
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3825
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3826
|
+
var buildApiTemplatePayload = function buildApiTemplatePayload(values) {
|
|
3827
|
+
return {
|
|
3828
|
+
entity: {
|
|
3829
|
+
endpoint: values.endpoint,
|
|
3830
|
+
additionalData: rejectEmptyKeyValuePairs(values.additionalData)
|
|
3831
|
+
},
|
|
3832
|
+
templateType: API_TEMPLATE_TYPE,
|
|
3833
|
+
name: values.name
|
|
3834
|
+
};
|
|
3835
|
+
};
|
|
3836
|
+
var buildTableColumnData = function buildTableColumnData(_ref) {
|
|
3837
|
+
var handleMarkAsActiveOrInactive = _ref.handleMarkAsActiveOrInactive,
|
|
3838
|
+
handleOpenDeleteAlert = _ref.handleOpenDeleteAlert,
|
|
3839
|
+
handleOpenEditPane = _ref.handleOpenEditPane;
|
|
3840
|
+
return [{
|
|
3841
|
+
dataIndex: "name",
|
|
3842
|
+
key: "name",
|
|
3843
|
+
title: t("neetoMessageTemplate.template.name"),
|
|
3844
|
+
render: function render(name, apiTemplate) {
|
|
3845
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3846
|
+
className: "flex items-center justify-between gap-x-3"
|
|
3847
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3848
|
+
style: "body2"
|
|
3849
|
+
}, name), /*#__PURE__*/React.createElement(MoreDropdown, {
|
|
3850
|
+
dropdownProps: {
|
|
3851
|
+
strategy: "fixed"
|
|
3852
|
+
},
|
|
3853
|
+
menuItems: [{
|
|
3854
|
+
key: "edit",
|
|
3855
|
+
label: t("neetoMessageTemplate.template.edit"),
|
|
3856
|
+
onClick: function onClick() {
|
|
3857
|
+
return handleOpenEditPane(apiTemplate);
|
|
3858
|
+
}
|
|
3859
|
+
}, {
|
|
3860
|
+
key: "status",
|
|
3861
|
+
label: equals(apiTemplate.status, TEMPLATE_STATUS.ACTIVE) ? t("neetoMessageTemplate.template.markAsInactive") : t("neetoMessageTemplate.template.markAsActive"),
|
|
3862
|
+
onClick: function onClick() {
|
|
3863
|
+
return handleMarkAsActiveOrInactive(apiTemplate);
|
|
3864
|
+
}
|
|
3865
|
+
}, {
|
|
3866
|
+
key: "delete",
|
|
3867
|
+
label: t("neetoMessageTemplate.template.delete"),
|
|
3868
|
+
onClick: function onClick() {
|
|
3869
|
+
return handleOpenDeleteAlert(apiTemplate);
|
|
3870
|
+
}
|
|
3871
|
+
}]
|
|
3872
|
+
}));
|
|
3873
|
+
}
|
|
3874
|
+
}, {
|
|
3875
|
+
dataIndex: "status",
|
|
3876
|
+
key: "status",
|
|
3877
|
+
title: t("neetoMessageTemplate.template.active"),
|
|
3878
|
+
render: function render(status) {
|
|
3879
|
+
return status === "active" ? t("neetoMessageTemplate.yes") : t("neetoMessageTemplate.no");
|
|
3880
|
+
},
|
|
3881
|
+
width: "20%"
|
|
3882
|
+
}];
|
|
3883
|
+
};
|
|
3884
|
+
var buildApiTemplateInitialValues = function buildApiTemplateInitialValues(isEdit, apiTemplate) {
|
|
3885
|
+
if (!isEdit) return API_TEMPLATE_INITIAL_VALUES;
|
|
3886
|
+
var additionalData = isEmpty(apiTemplate.additionalData) ? [ADDITIONAL_DATA_INITIAL_VALUE] : apiTemplate.additionalData;
|
|
3887
|
+
return _objectSpread$1(_objectSpread$1({}, pick(["name", "endpoint"], apiTemplate)), {}, {
|
|
3888
|
+
additionalData: additionalData
|
|
3889
|
+
});
|
|
3890
|
+
};
|
|
3891
|
+
|
|
3892
|
+
var Form = function Form(_ref) {
|
|
3893
|
+
var setFocusField = _ref.setFocusField,
|
|
3894
|
+
onClose = _ref.onClose,
|
|
3895
|
+
ownerId = _ref.ownerId,
|
|
3896
|
+
selectedApiTemplate = _ref.selectedApiTemplate;
|
|
3897
|
+
var _useTranslation = useTranslation(),
|
|
3898
|
+
t = _useTranslation.t;
|
|
3899
|
+
var _useCreateTemplate = useCreateTemplate(ownerId),
|
|
3900
|
+
createApiTemplate = _useCreateTemplate.mutate,
|
|
3901
|
+
isCreating = _useCreateTemplate.isLoading;
|
|
3902
|
+
var _useUpdateTemplate = useUpdateTemplate(ownerId),
|
|
3903
|
+
updateApiTemplate = _useUpdateTemplate.mutate,
|
|
3904
|
+
isUpdating = _useUpdateTemplate.isLoading;
|
|
3905
|
+
var isEdit = isNotEmpty(selectedApiTemplate);
|
|
3906
|
+
var handleSubmit = function handleSubmit(values, _ref2) {
|
|
3907
|
+
var setSubmitting = _ref2.setSubmitting;
|
|
3908
|
+
var payload = buildApiTemplatePayload(values);
|
|
3909
|
+
var options = {
|
|
3910
|
+
onSuccess: onClose,
|
|
3911
|
+
onSettled: function onSettled() {
|
|
3912
|
+
return setSubmitting(false);
|
|
3913
|
+
}
|
|
3914
|
+
};
|
|
3915
|
+
if (isEdit) {
|
|
3916
|
+
updateApiTemplate({
|
|
3917
|
+
id: selectedApiTemplate.id,
|
|
3918
|
+
payload: payload
|
|
3919
|
+
}, options);
|
|
3920
|
+
return;
|
|
3921
|
+
}
|
|
3922
|
+
createApiTemplate(payload, options);
|
|
3923
|
+
};
|
|
3924
|
+
var isMutating = isUpdating || isCreating;
|
|
3925
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
3926
|
+
style: "h2",
|
|
3927
|
+
weight: "semibold"
|
|
3928
|
+
}, t("neetoMessageTemplate.api.addApiTemplate"))), /*#__PURE__*/React.createElement(Form$2, {
|
|
3929
|
+
formikProps: {
|
|
3930
|
+
initialValues: buildApiTemplateInitialValues(isEdit, selectedApiTemplate),
|
|
3931
|
+
validationSchema: API_TEMPLATE_FORM_VALIDATION_SCHEMA,
|
|
3932
|
+
onSubmit: handleSubmit
|
|
3933
|
+
}
|
|
3934
|
+
}, /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
|
|
3935
|
+
className: "w-full space-y-5"
|
|
3936
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
3937
|
+
required: true,
|
|
3938
|
+
label: t("neetoMessageTemplate.template.name"),
|
|
3939
|
+
name: "name",
|
|
3940
|
+
ref: setFocusField
|
|
3941
|
+
}), /*#__PURE__*/React.createElement(Input, {
|
|
3942
|
+
required: true,
|
|
3943
|
+
label: t("neetoMessageTemplate.api.endpoint"),
|
|
3944
|
+
name: "endpoint",
|
|
3945
|
+
placeholder: SAMPLE_URL
|
|
3946
|
+
}), /*#__PURE__*/React.createElement(KeyValuePairs, {
|
|
3947
|
+
label: t("neetoMessageTemplate.api.additionalData"),
|
|
3948
|
+
name: "additionalData"
|
|
3949
|
+
}))), /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
3950
|
+
cancelButtonProps: {
|
|
3951
|
+
onClick: onClose,
|
|
3952
|
+
disabled: isMutating
|
|
3953
|
+
},
|
|
3954
|
+
className: "space-x-2"
|
|
3955
|
+
}))));
|
|
3956
|
+
};
|
|
3957
|
+
|
|
3958
|
+
var ApiTemplates = function ApiTemplates(_ref) {
|
|
3959
|
+
var ownerId = _ref.ownerId,
|
|
3960
|
+
_ref$breadcrumbs = _ref.breadcrumbs,
|
|
3961
|
+
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs;
|
|
3962
|
+
var _useTranslation = useTranslation(),
|
|
3963
|
+
t = _useTranslation.t;
|
|
3964
|
+
var _useState = useState(DEFAULT_PAGE_PROPERTIES),
|
|
3965
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3966
|
+
pageParams = _useState2[0],
|
|
3967
|
+
setPageParams = _useState2[1];
|
|
3968
|
+
var _useState3 = useState(false),
|
|
3969
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3970
|
+
isFiltersPaneOpen = _useState4[0],
|
|
3971
|
+
setIsFiltersPaneOpen = _useState4[1];
|
|
3972
|
+
var _useState5 = useState(false),
|
|
3973
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
3974
|
+
isFormPaneOpen = _useState6[0],
|
|
3975
|
+
setIsFormPaneOpen = _useState6[1];
|
|
3976
|
+
var _useState7 = useState({}),
|
|
3977
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
3978
|
+
selectedApiTemplate = _useState8[0],
|
|
3979
|
+
setSelectedApiTemplate = _useState8[1];
|
|
3980
|
+
var _useState9 = useState(false),
|
|
3981
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
3982
|
+
isDeleteAlertOpen = _useState10[0],
|
|
3983
|
+
setIsDeleteAlertOpen = _useState10[1];
|
|
3984
|
+
var _useQueryParams = useQueryParams(),
|
|
3985
|
+
_useQueryParams$searc = _useQueryParams.searchTerm,
|
|
3986
|
+
searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
|
|
3987
|
+
var searchKeywordProps = {
|
|
3988
|
+
key: "search_term",
|
|
3989
|
+
node: "name",
|
|
3990
|
+
value: searchTerm
|
|
3991
|
+
};
|
|
3992
|
+
var _useState11 = useState(function () {
|
|
3993
|
+
return buildFiltersFromURL([].concat(_toConsumableArray(FILTER_COLUMNS), [searchKeywordProps]));
|
|
3994
|
+
}),
|
|
3995
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
3996
|
+
filters = _useState12[0],
|
|
3997
|
+
setFilters = _useState12[1];
|
|
3998
|
+
var _useFetchTemplates = useFetchTemplates({
|
|
3999
|
+
filters: filters,
|
|
4000
|
+
page: pageParams.index,
|
|
4001
|
+
pageSize: pageParams.size,
|
|
4002
|
+
templateType: API_TEMPLATE_TYPE,
|
|
4003
|
+
ownerId: isEmpty(ownerId) ? undefined : ownerId
|
|
4004
|
+
}),
|
|
4005
|
+
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
4006
|
+
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
4007
|
+
templates = _useFetchTemplates$da2.templates,
|
|
4008
|
+
totalCount = _useFetchTemplates$da2.totalCount,
|
|
4009
|
+
isLoading = _useFetchTemplates.isLoading,
|
|
4010
|
+
isFetching = _useFetchTemplates.isFetching;
|
|
4011
|
+
var isFilterApplied = isNotEmpty(filters);
|
|
4012
|
+
var handleFiltersChange = function handleFiltersChange(filters) {
|
|
4013
|
+
setFilters(filters);
|
|
4014
|
+
setPageParams(DEFAULT_PAGE_PROPERTIES);
|
|
4015
|
+
};
|
|
4016
|
+
var _useDeleteTemplate = useDeleteTemplate(ownerId),
|
|
4017
|
+
deleteTemplate = _useDeleteTemplate.mutate,
|
|
4018
|
+
isDeleting = _useDeleteTemplate.isLoading;
|
|
4019
|
+
var _useUpdateTemplate = useUpdateTemplate(ownerId),
|
|
4020
|
+
updateTemplate = _useUpdateTemplate.mutate;
|
|
4021
|
+
var handleOpenEditPane = function handleOpenEditPane(apiTemplate) {
|
|
4022
|
+
setSelectedApiTemplate(apiTemplate);
|
|
4023
|
+
setIsFormPaneOpen(true);
|
|
4024
|
+
};
|
|
4025
|
+
var handleOpenDeleteAlert = function handleOpenDeleteAlert(apiTemplate) {
|
|
4026
|
+
setSelectedApiTemplate(apiTemplate);
|
|
4027
|
+
setIsDeleteAlertOpen(true);
|
|
4028
|
+
};
|
|
4029
|
+
var handleCloseDeleteAlertAndFormPane = function handleCloseDeleteAlertAndFormPane() {
|
|
4030
|
+
setIsDeleteAlertOpen(false);
|
|
4031
|
+
setIsFormPaneOpen(false);
|
|
4032
|
+
setSelectedApiTemplate({});
|
|
4033
|
+
};
|
|
4034
|
+
var handleMarkAsActiveOrInactive = function handleMarkAsActiveOrInactive(_ref2) {
|
|
4035
|
+
var status = _ref2.status,
|
|
4036
|
+
id = _ref2.id;
|
|
4037
|
+
var newStatus = equals(status, TEMPLATE_STATUS.ACTIVE) ? TEMPLATE_STATUS.INACTIVE : TEMPLATE_STATUS.ACTIVE;
|
|
4038
|
+
updateTemplate({
|
|
4039
|
+
payload: {
|
|
4040
|
+
status: newStatus,
|
|
4041
|
+
templateType: API_TEMPLATE_TYPE
|
|
4042
|
+
},
|
|
4043
|
+
id: id
|
|
4044
|
+
});
|
|
4045
|
+
};
|
|
4046
|
+
var handleDeleteApiTemplate = function handleDeleteApiTemplate() {
|
|
4047
|
+
return deleteTemplate(selectedApiTemplate.id, {
|
|
4048
|
+
onSuccess: handleCloseDeleteAlertAndFormPane
|
|
4049
|
+
});
|
|
4050
|
+
};
|
|
4051
|
+
return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(NeetoHeader, {
|
|
4052
|
+
breadcrumbs: breadcrumbs,
|
|
4053
|
+
title: t("neetoMessageTemplate.template.apiTemplates"),
|
|
4054
|
+
actionBlock: /*#__PURE__*/React.createElement(Button, {
|
|
4055
|
+
label: t("neetoMessageTemplate.api.addApiTemplate"),
|
|
4056
|
+
onClick: function onClick() {
|
|
4057
|
+
return setIsFormPaneOpen(true);
|
|
4058
|
+
}
|
|
4059
|
+
}),
|
|
4060
|
+
searchProps: {
|
|
4061
|
+
placeholder: t("neetoMessageTemplate.template.searchApiTemplates")
|
|
4062
|
+
}
|
|
4063
|
+
}), /*#__PURE__*/React.createElement(SubHeader, {
|
|
4064
|
+
leftActionBlock: /*#__PURE__*/React.createElement(Bar, {
|
|
4065
|
+
columns: FILTER_COLUMNS,
|
|
4066
|
+
keyword: searchKeywordProps,
|
|
4067
|
+
setIsPaneOpen: setIsFiltersPaneOpen,
|
|
4068
|
+
onChange: handleFiltersChange
|
|
4069
|
+
}),
|
|
4070
|
+
rightActionBlock: /*#__PURE__*/React.createElement(SubHeader.RightBlock, {
|
|
4071
|
+
dataProps: {
|
|
4072
|
+
totalCount: totalCount
|
|
4073
|
+
},
|
|
4074
|
+
filterProps: {
|
|
4075
|
+
columns: FILTER_COLUMNS,
|
|
4076
|
+
isOpen: isFiltersPaneOpen,
|
|
4077
|
+
keyword: searchKeywordProps,
|
|
4078
|
+
setIsOpen: setIsFiltersPaneOpen,
|
|
4079
|
+
onChange: handleFiltersChange
|
|
4080
|
+
}
|
|
4081
|
+
})
|
|
4082
|
+
}), isNotEmpty(templates) ? /*#__PURE__*/React.createElement(TableWrapper, {
|
|
4083
|
+
hasPagination: totalCount > pageParams.size
|
|
4084
|
+
}, /*#__PURE__*/React.createElement(Table, {
|
|
4085
|
+
totalCount: totalCount,
|
|
4086
|
+
currentPageNumber: pageParams.index,
|
|
4087
|
+
defaultPageSize: pageParams.size,
|
|
4088
|
+
handlePageChange: function handlePageChange(index, size) {
|
|
4089
|
+
return setPageParams({
|
|
4090
|
+
index: index,
|
|
4091
|
+
size: size
|
|
4092
|
+
});
|
|
4093
|
+
},
|
|
4094
|
+
loading: isLoading || isFetching,
|
|
4095
|
+
rowData: templates,
|
|
4096
|
+
columnData: buildTableColumnData({
|
|
4097
|
+
handleMarkAsActiveOrInactive: handleMarkAsActiveOrInactive,
|
|
4098
|
+
handleOpenDeleteAlert: handleOpenDeleteAlert,
|
|
4099
|
+
handleOpenEditPane: handleOpenEditPane
|
|
4100
|
+
})
|
|
4101
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
4102
|
+
className: "flex h-full w-full items-center justify-center"
|
|
4103
|
+
}, /*#__PURE__*/React.createElement(NoData, {
|
|
4104
|
+
primaryButtonProps: {
|
|
4105
|
+
label: t("neetoMessageTemplate.api.addApiTemplate"),
|
|
4106
|
+
onClick: function onClick() {
|
|
4107
|
+
return setIsFormPaneOpen(true);
|
|
4108
|
+
}
|
|
4109
|
+
},
|
|
4110
|
+
title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
|
|
4111
|
+
type: t("neetoMessageTemplate.template.apiTemplates")
|
|
4112
|
+
}) : t("neetoMessageTemplate.template.emptyState", {
|
|
4113
|
+
type: t("neetoMessageTemplate.template.apiTemplates")
|
|
4114
|
+
})
|
|
4115
|
+
})), /*#__PURE__*/React.createElement(Pane, {
|
|
4116
|
+
isOpen: isFormPaneOpen,
|
|
4117
|
+
onClose: handleCloseDeleteAlertAndFormPane
|
|
4118
|
+
}, function (_ref3) {
|
|
4119
|
+
var setFocusField = _ref3.setFocusField;
|
|
4120
|
+
return /*#__PURE__*/React.createElement(Form, {
|
|
4121
|
+
ownerId: ownerId,
|
|
4122
|
+
selectedApiTemplate: selectedApiTemplate,
|
|
4123
|
+
setFocusField: setFocusField,
|
|
4124
|
+
onClose: handleCloseDeleteAlertAndFormPane
|
|
4125
|
+
});
|
|
4126
|
+
}), /*#__PURE__*/React.createElement(Alert, {
|
|
4127
|
+
isOpen: isDeleteAlertOpen,
|
|
4128
|
+
isSubmitting: isDeleting,
|
|
4129
|
+
submitButtonLabel: t("neetoMessageTemplate.template.delete"),
|
|
4130
|
+
title: t("neetoMessageTemplate.api.deleteApiTemplate"),
|
|
4131
|
+
message: /*#__PURE__*/React.createElement(Trans, {
|
|
4132
|
+
i18nKey: "neetoMessageTemplate.template.templateDeleteConfirmation",
|
|
4133
|
+
values: {
|
|
4134
|
+
name: selectedApiTemplate.name
|
|
4135
|
+
}
|
|
4136
|
+
}),
|
|
4137
|
+
onClose: handleCloseDeleteAlertAndFormPane,
|
|
4138
|
+
onSubmit: handleDeleteApiTemplate
|
|
4139
|
+
}));
|
|
4140
|
+
};
|
|
4141
|
+
|
|
4142
|
+
var SEND_TO_API_FORM_INITIAL_VALUES = {
|
|
4143
|
+
endpoint: "",
|
|
4144
|
+
additionalData: [ADDITIONAL_DATA_INITIAL_VALUE]
|
|
4145
|
+
};
|
|
4146
|
+
var SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({
|
|
4147
|
+
endpoint: yup.string().required(t("neetoMessageTemplate.api.validation.endpointPresence")).matches(VALID_URL_REGEX, t("neetoMessageTemplate.api.validation.validEndpoint")),
|
|
4148
|
+
additionalData: yup.array().of(yup.object({
|
|
4149
|
+
key: yup.string(),
|
|
4150
|
+
value: yup.string()
|
|
4151
|
+
}))
|
|
4152
|
+
});
|
|
4153
|
+
|
|
4154
|
+
var buildSendToApiFormInitialValues = function buildSendToApiFormInitialValues(template) {
|
|
4155
|
+
if (isEmpty(template)) return SEND_TO_API_FORM_INITIAL_VALUES;
|
|
4156
|
+
var additionalData = isEmpty(template.additionalData) ? [ADDITIONAL_DATA_INITIAL_VALUE] : template.additionalData;
|
|
4157
|
+
return {
|
|
4158
|
+
endpoint: template.endpoint,
|
|
4159
|
+
additionalData: additionalData
|
|
4160
|
+
};
|
|
4161
|
+
};
|
|
4162
|
+
|
|
4163
|
+
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; }
|
|
4164
|
+
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; }
|
|
4165
|
+
var SendToApiPane = function SendToApiPane(props) {
|
|
4166
|
+
var isOpen = props.isOpen,
|
|
4167
|
+
onClose = props.onClose;
|
|
4168
|
+
return /*#__PURE__*/React.createElement(Pane, {
|
|
4169
|
+
isOpen: isOpen,
|
|
4170
|
+
onClose: onClose
|
|
4171
|
+
}, function (paneProps) {
|
|
4172
|
+
return /*#__PURE__*/React.createElement(SendToApiForm, _objectSpread(_objectSpread({}, props), {}, {
|
|
4173
|
+
paneProps: paneProps
|
|
4174
|
+
}));
|
|
4175
|
+
});
|
|
4176
|
+
};
|
|
4177
|
+
var SendToApiForm = function SendToApiForm(_ref) {
|
|
4178
|
+
var ownerId = _ref.ownerId,
|
|
4179
|
+
onClose = _ref.onClose,
|
|
4180
|
+
onSubmit = _ref.onSubmit,
|
|
4181
|
+
isSubmitting = _ref.isSubmitting,
|
|
4182
|
+
setFocusField = _ref.paneProps.setFocusField;
|
|
4183
|
+
var _useTranslation = useTranslation(),
|
|
4184
|
+
t = _useTranslation.t;
|
|
4185
|
+
var _useState = useState({}),
|
|
4186
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
4187
|
+
selectedTemplate = _useState2[0],
|
|
4188
|
+
setSelectedTemplate = _useState2[1];
|
|
4189
|
+
var _useFetchTemplates = useFetchTemplates({
|
|
4190
|
+
status: "active",
|
|
4191
|
+
templateType: API_TEMPLATE_TYPE,
|
|
4192
|
+
ownerId: ownerId
|
|
4193
|
+
}),
|
|
4194
|
+
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
4195
|
+
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
4196
|
+
_useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
|
|
4197
|
+
templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3,
|
|
4198
|
+
isLoadingTemplates = _useFetchTemplates.isLoading;
|
|
4199
|
+
var handleSubmit = function handleSubmit(formValues) {
|
|
4200
|
+
var additionalDataModifiedFormValues = modify("additionalData", rejectEmptyKeyValuePairs, formValues);
|
|
4201
|
+
onSubmit(additionalDataModifiedFormValues);
|
|
4202
|
+
};
|
|
4203
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
4204
|
+
style: "h2",
|
|
4205
|
+
weight: "semibold"
|
|
4206
|
+
}, t("neetoMessageTemplate.api.sendToApi"))), /*#__PURE__*/React.createElement(Form$2, {
|
|
4207
|
+
formikProps: {
|
|
4208
|
+
initialValues: buildSendToApiFormInitialValues(selectedTemplate),
|
|
4209
|
+
enableReinitialize: true,
|
|
4210
|
+
validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,
|
|
4211
|
+
onSubmit: handleSubmit
|
|
4212
|
+
}
|
|
4213
|
+
}, /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
|
|
4214
|
+
className: "w-full space-y-5"
|
|
4215
|
+
}, /*#__PURE__*/React.createElement(Select, {
|
|
4216
|
+
innerRef: setFocusField,
|
|
4217
|
+
isLoading: isLoadingTemplates,
|
|
4218
|
+
label: t("neetoMessageTemplate.template.title"),
|
|
4219
|
+
options: renameKeys({
|
|
4220
|
+
name: "label",
|
|
4221
|
+
id: "value"
|
|
4222
|
+
}, templates),
|
|
4223
|
+
placeholder: t("neetoMessageTemplate.sendMessage.selectTemplate"),
|
|
4224
|
+
onChange: setSelectedTemplate
|
|
4225
|
+
}), /*#__PURE__*/React.createElement(Input, {
|
|
4226
|
+
required: true,
|
|
4227
|
+
label: t("neetoMessageTemplate.api.endpoint"),
|
|
4228
|
+
name: "endpoint",
|
|
4229
|
+
placeholder: SAMPLE_URL
|
|
4230
|
+
}), /*#__PURE__*/React.createElement(KeyValuePairs, {
|
|
4231
|
+
label: t("neetoMessageTemplate.api.additionalData"),
|
|
4232
|
+
name: "additionalData"
|
|
4233
|
+
}))), /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
4234
|
+
className: "space-x-2",
|
|
4235
|
+
cancelButtonProps: {
|
|
4236
|
+
disabled: isSubmitting,
|
|
4237
|
+
onClick: onClose
|
|
4238
|
+
},
|
|
4239
|
+
submitButtonProps: {
|
|
4240
|
+
disabled: isSubmitting,
|
|
4241
|
+
label: t("neetoMessageTemplate.template.send")
|
|
4242
|
+
}
|
|
4243
|
+
}))));
|
|
4244
|
+
};
|
|
4245
|
+
|
|
4246
|
+
export { ApiTemplates, MessageTemplates, SendMessagePane, SendToApiPane };
|
|
3695
4247
|
//# sourceMappingURL=index.js.map
|