@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/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 { useMutationWithInvalidation, withImmutableActions, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
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$1, Select as Select$1, Button as Button$1 } from '@bigbinary/neetoui/formik';
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$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; }
2266
- 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; }
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$4({
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$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; }
2349
- 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; }
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$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
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$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
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$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; }
2961
- 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; }
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$2(_objectSpread$2({}, EMAIL_TEMPLATE_INITIAL_VALUES), pick(["name", "body", "subject", "active"], template)), EMAIL_TEMPLATE_FORM_SCHEMA] : [_objectSpread$2(_objectSpread$2({}, SMS_TEMPLATE_INITIAL_VALUES), pick(["name", "body", "active"], template)), SMS_TEMPLATE_FORM_VALIDATION_SCHEMA],
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$1, {
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$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; }
3281
- 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; }
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$1(_objectSpread$1({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
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$1, {
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$1, {
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
- export { MessageTemplates, SendMessagePane };
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