@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.cjs.js CHANGED
@@ -11,8 +11,8 @@ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
11
11
  var neetoui = require('@bigbinary/neetoui');
12
12
  var ramda = require('ramda');
13
13
  var i18next = require('i18next');
14
- var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
15
14
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
15
+ var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
16
16
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
17
17
  var reactQuery = require('react-query');
18
18
  var axios = require('axios');
@@ -25,6 +25,7 @@ var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
25
25
  var yup = require('yup');
26
26
  var formik = require('formik');
27
27
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
28
+ var neetoIcons = require('@bigbinary/neeto-icons');
28
29
 
29
30
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
31
 
@@ -181,6 +182,10 @@ var MESSAGE_TYPES = {
181
182
  whatsapp: i18next.t("messageType.whatsapp")
182
183
  };
183
184
  var DEFAULT_EDITOR_ROW_COUNT = 15;
185
+ var DEFAULT_PAGE_PROPERTIES = {
186
+ size: constants.DEFAULT_PAGE_SIZE,
187
+ index: constants.DEFAULT_PAGE_INDEX
188
+ };
184
189
 
185
190
  var MESSAGE_TEMPLATE_INITIAL_STATE = {
186
191
  isOpen: false,
@@ -188,10 +193,6 @@ var MESSAGE_TEMPLATE_INITIAL_STATE = {
188
193
  isDelete: false,
189
194
  template: {}
190
195
  };
191
- var DEFAULT_PAGE_PROPERTIES = {
192
- size: constants.DEFAULT_PAGE_SIZE,
193
- index: constants.DEFAULT_PAGE_INDEX
194
- };
195
196
 
196
197
  function getDefaultExportFromCjs (x) {
197
198
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -2296,15 +2297,15 @@ var QUERY_KEYS = {
2296
2297
  NEETO_MESSAGE_TEMPLATES: "neeto-message-templates"
2297
2298
  };
2298
2299
 
2299
- 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; }
2300
- 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; }
2300
+ 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; }
2301
+ 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; }
2301
2302
  var ownerIdValue = function ownerIdValue(ownerId) {
2302
2303
  return ramda.isEmpty(ownerId) ? undefined : ownerId;
2303
2304
  };
2304
- var useFetchTemplates = function useFetchTemplates(params) {
2305
+ var useFetchTemplates = function useFetchTemplates(params, options) {
2305
2306
  return reactQuery.useQuery([QUERY_KEYS.NEETO_MESSAGE_TEMPLATES, params], function () {
2306
2307
  return messageTemplatesApi.fetchAll(params);
2307
- });
2308
+ }, options);
2308
2309
  };
2309
2310
  var useCreateTemplate = function useCreateTemplate(ownerId, options) {
2310
2311
  return reactUtils.useMutationWithInvalidation(function (messageTemplate) {
@@ -2312,7 +2313,7 @@ var useCreateTemplate = function useCreateTemplate(ownerId, options) {
2312
2313
  messageTemplate: messageTemplate,
2313
2314
  ownerId: ownerIdValue(ownerId)
2314
2315
  });
2315
- }, _objectSpread$4({
2316
+ }, _objectSpread$6({
2316
2317
  keysToInvalidate: [QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]
2317
2318
  }, options));
2318
2319
  };
@@ -2379,8 +2380,8 @@ var getMenuItems = function getMenuItems(_ref) {
2379
2380
  }];
2380
2381
  };
2381
2382
 
2382
- 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; }
2383
- 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; }
2383
+ 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; }
2384
+ 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; }
2384
2385
  var RowActions = function RowActions(_ref) {
2385
2386
  var template = _ref.template,
2386
2387
  setManageTemplatePane = _ref.setManageTemplatePane,
@@ -2391,14 +2392,14 @@ var RowActions = function RowActions(_ref) {
2391
2392
  id = template.id;
2392
2393
  var templateType = useTemplateStore(ramda.prop("templateType"));
2393
2394
  var handleEditTemplate = function handleEditTemplate() {
2394
- return setManageTemplatePane(_objectSpread$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
2395
+ return setManageTemplatePane(_objectSpread$5(_objectSpread$5({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
2395
2396
  isOpen: true,
2396
2397
  isEdit: true,
2397
2398
  template: template
2398
2399
  }));
2399
2400
  };
2400
2401
  var handleDeleteTemplate = function handleDeleteTemplate() {
2401
- return setManageTemplatePane(_objectSpread$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
2402
+ return setManageTemplatePane(_objectSpread$5(_objectSpread$5({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
2402
2403
  isDelete: true,
2403
2404
  template: template
2404
2405
  }));
@@ -2437,7 +2438,7 @@ var renderSearchProps = function renderSearchProps(label, value) {
2437
2438
  "data-cy": "".concat(neetoCist.hyphenate(value), "-search-input")
2438
2439
  };
2439
2440
  };
2440
- var buildTableColumnData = function buildTableColumnData(setManageTemplatePane, ownerId) {
2441
+ var buildTableColumnData$1 = function buildTableColumnData(setManageTemplatePane, ownerId) {
2441
2442
  return [{
2442
2443
  dataIndex: "name",
2443
2444
  key: "name",
@@ -2991,9 +2992,9 @@ var TestMessage = function TestMessage(_ref) {
2991
2992
  }, t("neetoMessageTemplate.sendMessage.testSmsNote")), customFields);
2992
2993
  };
2993
2994
 
2994
- 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; }
2995
- 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; }
2996
- var Form = function Form(_ref) {
2995
+ 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; }
2996
+ 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; }
2997
+ var Form$1 = function Form(_ref) {
2997
2998
  var onClose = _ref.onClose,
2998
2999
  isEdit = _ref.isEdit,
2999
3000
  _ref$template = _ref.template,
@@ -3012,7 +3013,7 @@ var Form = function Form(_ref) {
3012
3013
  var templateType = useTemplateStore(ramda.prop("templateType"));
3013
3014
  var isEmailTemplate = ramda.equals(templateType, "email_template");
3014
3015
  var isTestTemplateVisible = ramda.includes(templateType, ["sms_template", "email_template"]) && shouldIncludeTestTemplate;
3015
- var _ref2 = isEmailTemplate ? [_objectSpread$2(_objectSpread$2({}, EMAIL_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "subject", "active"], template)), EMAIL_TEMPLATE_FORM_SCHEMA] : [_objectSpread$2(_objectSpread$2({}, SMS_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "active"], template)), SMS_TEMPLATE_FORM_VALIDATION_SCHEMA],
3016
+ var _ref2 = isEmailTemplate ? [_objectSpread$4(_objectSpread$4({}, EMAIL_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "subject", "active"], template)), EMAIL_TEMPLATE_FORM_SCHEMA] : [_objectSpread$4(_objectSpread$4({}, SMS_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "active"], template)), SMS_TEMPLATE_FORM_VALIDATION_SCHEMA],
3016
3017
  _ref3 = _slicedToArray(_ref2, 2),
3017
3018
  TEMPLATE_INITIAL_VALUES = _ref3[0],
3018
3019
  TEMPLATE_FORM_SCHEMA = _ref3[1];
@@ -3119,7 +3120,7 @@ var AddEdit = function AddEdit(_ref) {
3119
3120
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3120
3121
  style: "h2",
3121
3122
  weight: "semibold"
3122
- }, label)), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement(Form, {
3123
+ }, label)), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement(Form$1, {
3123
3124
  createUpdateTemplate: createUpdateTemplate,
3124
3125
  customFields: customFields,
3125
3126
  handleSubmitTestTemplate: handleSubmitTestTemplate,
@@ -3158,7 +3159,7 @@ var useFilters = function useFilters() {
3158
3159
  var _useQueryParams = reactUtils.useQueryParams(),
3159
3160
  _useQueryParams$searc = _useQueryParams.searchTerm,
3160
3161
  searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
3161
- var filterColumns = buildTableColumnData().filter(ramda.prop("node"));
3162
+ var filterColumns = buildTableColumnData$1().filter(ramda.prop("node"));
3162
3163
  var searchKeywordProps = {
3163
3164
  key: "search_term",
3164
3165
  node: "name",
@@ -3263,7 +3264,7 @@ var List = function List(_ref) {
3263
3264
  hasPagination: totalCount > pageSize
3264
3265
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
3265
3266
  totalCount: totalCount,
3266
- columnData: buildTableColumnData(setManageTemplatePane, ownerId),
3267
+ columnData: buildTableColumnData$1(setManageTemplatePane, ownerId),
3267
3268
  currentPageNumber: pageIndex,
3268
3269
  defaultPageSize: pageSize,
3269
3270
  loading: isLoading,
@@ -3311,8 +3312,8 @@ var List = function List(_ref) {
3311
3312
  }));
3312
3313
  };
3313
3314
 
3314
- 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; }
3315
- 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; }
3315
+ 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; }
3316
+ 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; }
3316
3317
  var MessageTemplates = function MessageTemplates(_ref) {
3317
3318
  var _ref$breadcrumbs = _ref.breadcrumbs,
3318
3319
  breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
@@ -3366,7 +3367,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
3366
3367
  editText = _MESSAGE_TEMPLATES$ty.editText;
3367
3368
  var isFilterApplied = neetoCist.isNotEmpty(filters) || neetoCist.isNotEmpty(searchTerm);
3368
3369
  var handleActionClick = function handleActionClick() {
3369
- return setManageTemplatePane(_objectSpread$1(_objectSpread$1({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
3370
+ return setManageTemplatePane(_objectSpread$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
3370
3371
  isOpen: true
3371
3372
  }));
3372
3373
  };
@@ -3458,8 +3459,8 @@ var WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup__namespace.object().shape({
3458
3459
  })
3459
3460
  });
3460
3461
 
3461
- 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; }
3462
- 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; }
3462
+ 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; }
3463
+ 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; }
3463
3464
  var EmailAndSms = function EmailAndSms(_ref) {
3464
3465
  var onClose = _ref.onClose,
3465
3466
  templates = _ref.templates,
@@ -3479,7 +3480,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
3479
3480
  INITIAL_VALUES = _ref3[0],
3480
3481
  SEND_MESSAGE_FORM_SCHEMA = _ref3[1];
3481
3482
  var updatedInitialValues = ramda.mergeAll([INITIAL_VALUES, customFieldsInitialValues]);
3482
- var updatedValidationSchema = yup__namespace.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));
3483
+ var updatedValidationSchema = yup__namespace.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));
3483
3484
  var initialValueKeys = Object.keys(INITIAL_VALUES);
3484
3485
  return /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
3485
3486
  formProps: {
@@ -3501,7 +3502,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
3501
3502
  var template = neetoCist.findBy({
3502
3503
  id: value === null || value === void 0 ? void 0 : value.value
3503
3504
  }, templates);
3504
- setValues(_objectSpread(_objectSpread({}, template), customFieldValues));
3505
+ setValues(_objectSpread$2(_objectSpread$2({}, template), customFieldValues));
3505
3506
  editorRef.current.editor.commands.setContent(template.body);
3506
3507
  };
3507
3508
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
@@ -3702,9 +3703,9 @@ var SendMessagePane = function SendMessagePane(_ref) {
3702
3703
  _useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
3703
3704
  templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3;
3704
3705
  return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
3705
- initialFocusRef: initialFocusField,
3706
3706
  isOpen: isOpen,
3707
- onClose: onClose
3707
+ onClose: onClose,
3708
+ initialFocusRef: initialFocusField
3708
3709
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3709
3710
  style: "h2",
3710
3711
  weight: "semibold"
@@ -3725,6 +3726,559 @@ var SendMessagePane = function SendMessagePane(_ref) {
3725
3726
  })));
3726
3727
  };
3727
3728
 
3729
+ var VALID_URL_REGEX = /^(https?):\/\/([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}\/?[^\s]*$/;
3730
+ var ADDITIONAL_DATA_INITIAL_VALUE = {
3731
+ key: "",
3732
+ value: ""
3733
+ };
3734
+ var API_TEMPLATE_TYPE = "api_template";
3735
+
3736
+ [{
3737
+ dataIndex: "name",
3738
+ key: "name",
3739
+ title: i18next.t("neetoMessageTemplate.template.name")
3740
+ }, {
3741
+ dataIndex: "status",
3742
+ key: "status",
3743
+ title: i18next.t("neetoMessageTemplate.template.active"),
3744
+ render: function render(status) {
3745
+ return status === "active" ? i18next.t("neetoMessageTemplate.yes") : i18next.t("neetoMessageTemplate.no");
3746
+ },
3747
+ width: "20%"
3748
+ }];
3749
+ var FILTER_COLUMNS = [{
3750
+ key: "name",
3751
+ node: "name",
3752
+ label: i18next.t("neetoMessageTemplate.template.name"),
3753
+ type: "text"
3754
+ }, {
3755
+ key: "status",
3756
+ node: "status",
3757
+ label: i18next.t("neetoMessageTemplate.template.active"),
3758
+ type: "single_option",
3759
+ values: [{
3760
+ label: i18next.t("neetoMessageTemplate.yes"),
3761
+ value: "active"
3762
+ }, {
3763
+ label: i18next.t("neetoMessageTemplate.no"),
3764
+ value: "inactive"
3765
+ }]
3766
+ }];
3767
+ var API_TEMPLATE_INITIAL_VALUES = {
3768
+ name: "",
3769
+ endpoint: "",
3770
+ additionalData: [ADDITIONAL_DATA_INITIAL_VALUE]
3771
+ };
3772
+ var SAMPLE_URL = "https://example.com";
3773
+ var API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup__namespace.object({
3774
+ name: yup__namespace.string().trim().required(i18next.t("neetoMessageTemplate.template.validation.namePresence")),
3775
+ endpoint: yup__namespace.string().required(i18next.t("neetoMessageTemplate.api.validation.endpointPresence")).matches(VALID_URL_REGEX, i18next.t("neetoMessageTemplate.api.validation.validEndpoint")),
3776
+ additionalData: yup__namespace.array().of(yup__namespace.object({
3777
+ key: yup__namespace.string(),
3778
+ value: yup__namespace.string()
3779
+ }))
3780
+ });
3781
+ var TEMPLATE_STATUS = {
3782
+ ACTIVE: "active",
3783
+ INACTIVE: "inactive"
3784
+ };
3785
+
3786
+ var removeOption = function removeOption(_ref) {
3787
+ var arrayHelpers = _ref.arrayHelpers,
3788
+ index = _ref.index,
3789
+ data = _ref.data;
3790
+ if (data.length === 1) {
3791
+ arrayHelpers.remove(index);
3792
+ arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);
3793
+ return;
3794
+ }
3795
+ arrayHelpers.remove(index);
3796
+ };
3797
+ var addOption = function addOption(arrayHelpers) {
3798
+ return arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);
3799
+ };
3800
+ var isKeyOrValueNotEmpty = ramda.whereAny({
3801
+ key: neetoCist.isNotEmpty,
3802
+ value: neetoCist.isNotEmpty
3803
+ });
3804
+
3805
+ var KeyValuePairs = reactUtils.withT(function (_ref) {
3806
+ var t = _ref.t,
3807
+ name = _ref.name,
3808
+ _ref$label = _ref.label,
3809
+ label = _ref$label === void 0 ? "" : _ref$label;
3810
+ return /*#__PURE__*/React__default["default"].createElement(formik.FieldArray, {
3811
+ name: name
3812
+ }, function (arrayHelpers) {
3813
+ var data = arrayHelpers.form.values[name];
3814
+ var showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);
3815
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3816
+ className: "space-y-2"
3817
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, label), data.map(function (_, index) {
3818
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3819
+ className: "flex h-8 space-x-3",
3820
+ key: index
3821
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
3822
+ className: "w-2/5",
3823
+ name: "".concat(name, ".").concat(index, ".key"),
3824
+ placeholder: t("neetoMessageTemplate.api.key")
3825
+ }), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
3826
+ className: "w-3/5",
3827
+ name: "".concat(name, ".").concat(index, ".value"),
3828
+ placeholder: t("neetoMessageTemplate.api.value"),
3829
+ suffix: showDeleteButton && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
3830
+ icon: neetoIcons.Delete,
3831
+ size: "small",
3832
+ style: "text",
3833
+ onClick: function onClick() {
3834
+ return removeOption({
3835
+ arrayHelpers: arrayHelpers,
3836
+ index: index,
3837
+ data: data
3838
+ });
3839
+ }
3840
+ })
3841
+ }));
3842
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
3843
+ className: "w-full justify-center",
3844
+ label: t("neetoMessageTemplate.api.addKeyValuePair"),
3845
+ style: "secondary",
3846
+ onClick: function onClick() {
3847
+ return addOption(arrayHelpers);
3848
+ }
3849
+ }));
3850
+ });
3851
+ });
3852
+
3853
+ var rejectEmptyKeyValuePairs = ramda.reject(ramda.whereAny({
3854
+ key: ramda.isEmpty,
3855
+ value: ramda.isEmpty
3856
+ }));
3857
+
3858
+ 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; }
3859
+ 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; }
3860
+ var buildApiTemplatePayload = function buildApiTemplatePayload(values) {
3861
+ return {
3862
+ entity: {
3863
+ endpoint: values.endpoint,
3864
+ additionalData: rejectEmptyKeyValuePairs(values.additionalData)
3865
+ },
3866
+ templateType: API_TEMPLATE_TYPE,
3867
+ name: values.name
3868
+ };
3869
+ };
3870
+ var buildTableColumnData = function buildTableColumnData(_ref) {
3871
+ var handleMarkAsActiveOrInactive = _ref.handleMarkAsActiveOrInactive,
3872
+ handleOpenDeleteAlert = _ref.handleOpenDeleteAlert,
3873
+ handleOpenEditPane = _ref.handleOpenEditPane;
3874
+ return [{
3875
+ dataIndex: "name",
3876
+ key: "name",
3877
+ title: i18next.t("neetoMessageTemplate.template.name"),
3878
+ render: function render(name, apiTemplate) {
3879
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3880
+ className: "flex items-center justify-between gap-x-3"
3881
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3882
+ style: "body2"
3883
+ }, name), /*#__PURE__*/React__default["default"].createElement(MoreDropdown__default["default"], {
3884
+ dropdownProps: {
3885
+ strategy: "fixed"
3886
+ },
3887
+ menuItems: [{
3888
+ key: "edit",
3889
+ label: i18next.t("neetoMessageTemplate.template.edit"),
3890
+ onClick: function onClick() {
3891
+ return handleOpenEditPane(apiTemplate);
3892
+ }
3893
+ }, {
3894
+ key: "status",
3895
+ label: ramda.equals(apiTemplate.status, TEMPLATE_STATUS.ACTIVE) ? i18next.t("neetoMessageTemplate.template.markAsInactive") : i18next.t("neetoMessageTemplate.template.markAsActive"),
3896
+ onClick: function onClick() {
3897
+ return handleMarkAsActiveOrInactive(apiTemplate);
3898
+ }
3899
+ }, {
3900
+ key: "delete",
3901
+ label: i18next.t("neetoMessageTemplate.template.delete"),
3902
+ onClick: function onClick() {
3903
+ return handleOpenDeleteAlert(apiTemplate);
3904
+ }
3905
+ }]
3906
+ }));
3907
+ }
3908
+ }, {
3909
+ dataIndex: "status",
3910
+ key: "status",
3911
+ title: i18next.t("neetoMessageTemplate.template.active"),
3912
+ render: function render(status) {
3913
+ return status === "active" ? i18next.t("neetoMessageTemplate.yes") : i18next.t("neetoMessageTemplate.no");
3914
+ },
3915
+ width: "20%"
3916
+ }];
3917
+ };
3918
+ var buildApiTemplateInitialValues = function buildApiTemplateInitialValues(isEdit, apiTemplate) {
3919
+ if (!isEdit) return API_TEMPLATE_INITIAL_VALUES;
3920
+ var additionalData = ramda.isEmpty(apiTemplate.additionalData) ? [ADDITIONAL_DATA_INITIAL_VALUE] : apiTemplate.additionalData;
3921
+ return _objectSpread$1(_objectSpread$1({}, ramda.pick(["name", "endpoint"], apiTemplate)), {}, {
3922
+ additionalData: additionalData
3923
+ });
3924
+ };
3925
+
3926
+ var Form = function Form(_ref) {
3927
+ var setFocusField = _ref.setFocusField,
3928
+ onClose = _ref.onClose,
3929
+ ownerId = _ref.ownerId,
3930
+ selectedApiTemplate = _ref.selectedApiTemplate;
3931
+ var _useTranslation = reactI18next.useTranslation(),
3932
+ t = _useTranslation.t;
3933
+ var _useCreateTemplate = useCreateTemplate(ownerId),
3934
+ createApiTemplate = _useCreateTemplate.mutate,
3935
+ isCreating = _useCreateTemplate.isLoading;
3936
+ var _useUpdateTemplate = useUpdateTemplate(ownerId),
3937
+ updateApiTemplate = _useUpdateTemplate.mutate,
3938
+ isUpdating = _useUpdateTemplate.isLoading;
3939
+ var isEdit = neetoCist.isNotEmpty(selectedApiTemplate);
3940
+ var handleSubmit = function handleSubmit(values, _ref2) {
3941
+ var setSubmitting = _ref2.setSubmitting;
3942
+ var payload = buildApiTemplatePayload(values);
3943
+ var options = {
3944
+ onSuccess: onClose,
3945
+ onSettled: function onSettled() {
3946
+ return setSubmitting(false);
3947
+ }
3948
+ };
3949
+ if (isEdit) {
3950
+ updateApiTemplate({
3951
+ id: selectedApiTemplate.id,
3952
+ payload: payload
3953
+ }, options);
3954
+ return;
3955
+ }
3956
+ createApiTemplate(payload, options);
3957
+ };
3958
+ var isMutating = isUpdating || isCreating;
3959
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3960
+ style: "h2",
3961
+ weight: "semibold"
3962
+ }, t("neetoMessageTemplate.api.addApiTemplate"))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
3963
+ formikProps: {
3964
+ initialValues: buildApiTemplateInitialValues(isEdit, selectedApiTemplate),
3965
+ validationSchema: API_TEMPLATE_FORM_VALIDATION_SCHEMA,
3966
+ onSubmit: handleSubmit
3967
+ }
3968
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
3969
+ className: "w-full space-y-5"
3970
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
3971
+ required: true,
3972
+ label: t("neetoMessageTemplate.template.name"),
3973
+ name: "name",
3974
+ ref: setFocusField
3975
+ }), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
3976
+ required: true,
3977
+ label: t("neetoMessageTemplate.api.endpoint"),
3978
+ name: "endpoint",
3979
+ placeholder: SAMPLE_URL
3980
+ }), /*#__PURE__*/React__default["default"].createElement(KeyValuePairs, {
3981
+ label: t("neetoMessageTemplate.api.additionalData"),
3982
+ name: "additionalData"
3983
+ }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, null, /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
3984
+ cancelButtonProps: {
3985
+ onClick: onClose,
3986
+ disabled: isMutating
3987
+ },
3988
+ className: "space-x-2"
3989
+ }))));
3990
+ };
3991
+
3992
+ var ApiTemplates = function ApiTemplates(_ref) {
3993
+ var ownerId = _ref.ownerId,
3994
+ _ref$breadcrumbs = _ref.breadcrumbs,
3995
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs;
3996
+ var _useTranslation = reactI18next.useTranslation(),
3997
+ t = _useTranslation.t;
3998
+ var _useState = React.useState(DEFAULT_PAGE_PROPERTIES),
3999
+ _useState2 = _slicedToArray(_useState, 2),
4000
+ pageParams = _useState2[0],
4001
+ setPageParams = _useState2[1];
4002
+ var _useState3 = React.useState(false),
4003
+ _useState4 = _slicedToArray(_useState3, 2),
4004
+ isFiltersPaneOpen = _useState4[0],
4005
+ setIsFiltersPaneOpen = _useState4[1];
4006
+ var _useState5 = React.useState(false),
4007
+ _useState6 = _slicedToArray(_useState5, 2),
4008
+ isFormPaneOpen = _useState6[0],
4009
+ setIsFormPaneOpen = _useState6[1];
4010
+ var _useState7 = React.useState({}),
4011
+ _useState8 = _slicedToArray(_useState7, 2),
4012
+ selectedApiTemplate = _useState8[0],
4013
+ setSelectedApiTemplate = _useState8[1];
4014
+ var _useState9 = React.useState(false),
4015
+ _useState10 = _slicedToArray(_useState9, 2),
4016
+ isDeleteAlertOpen = _useState10[0],
4017
+ setIsDeleteAlertOpen = _useState10[1];
4018
+ var _useQueryParams = reactUtils.useQueryParams(),
4019
+ _useQueryParams$searc = _useQueryParams.searchTerm,
4020
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
4021
+ var searchKeywordProps = {
4022
+ key: "search_term",
4023
+ node: "name",
4024
+ value: searchTerm
4025
+ };
4026
+ var _useState11 = React.useState(function () {
4027
+ return neetoFiltersFrontend.buildFiltersFromURL([].concat(_toConsumableArray(FILTER_COLUMNS), [searchKeywordProps]));
4028
+ }),
4029
+ _useState12 = _slicedToArray(_useState11, 2),
4030
+ filters = _useState12[0],
4031
+ setFilters = _useState12[1];
4032
+ var _useFetchTemplates = useFetchTemplates({
4033
+ filters: filters,
4034
+ page: pageParams.index,
4035
+ pageSize: pageParams.size,
4036
+ templateType: API_TEMPLATE_TYPE,
4037
+ ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId
4038
+ }),
4039
+ _useFetchTemplates$da = _useFetchTemplates.data,
4040
+ _useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
4041
+ templates = _useFetchTemplates$da2.templates,
4042
+ totalCount = _useFetchTemplates$da2.totalCount,
4043
+ isLoading = _useFetchTemplates.isLoading,
4044
+ isFetching = _useFetchTemplates.isFetching;
4045
+ var isFilterApplied = neetoCist.isNotEmpty(filters);
4046
+ var handleFiltersChange = function handleFiltersChange(filters) {
4047
+ setFilters(filters);
4048
+ setPageParams(DEFAULT_PAGE_PROPERTIES);
4049
+ };
4050
+ var _useDeleteTemplate = useDeleteTemplate(ownerId),
4051
+ deleteTemplate = _useDeleteTemplate.mutate,
4052
+ isDeleting = _useDeleteTemplate.isLoading;
4053
+ var _useUpdateTemplate = useUpdateTemplate(ownerId),
4054
+ updateTemplate = _useUpdateTemplate.mutate;
4055
+ var handleOpenEditPane = function handleOpenEditPane(apiTemplate) {
4056
+ setSelectedApiTemplate(apiTemplate);
4057
+ setIsFormPaneOpen(true);
4058
+ };
4059
+ var handleOpenDeleteAlert = function handleOpenDeleteAlert(apiTemplate) {
4060
+ setSelectedApiTemplate(apiTemplate);
4061
+ setIsDeleteAlertOpen(true);
4062
+ };
4063
+ var handleCloseDeleteAlertAndFormPane = function handleCloseDeleteAlertAndFormPane() {
4064
+ setIsDeleteAlertOpen(false);
4065
+ setIsFormPaneOpen(false);
4066
+ setSelectedApiTemplate({});
4067
+ };
4068
+ var handleMarkAsActiveOrInactive = function handleMarkAsActiveOrInactive(_ref2) {
4069
+ var status = _ref2.status,
4070
+ id = _ref2.id;
4071
+ var newStatus = ramda.equals(status, TEMPLATE_STATUS.ACTIVE) ? TEMPLATE_STATUS.INACTIVE : TEMPLATE_STATUS.ACTIVE;
4072
+ updateTemplate({
4073
+ payload: {
4074
+ status: newStatus,
4075
+ templateType: API_TEMPLATE_TYPE
4076
+ },
4077
+ id: id
4078
+ });
4079
+ };
4080
+ var handleDeleteApiTemplate = function handleDeleteApiTemplate() {
4081
+ return deleteTemplate(selectedApiTemplate.id, {
4082
+ onSuccess: handleCloseDeleteAlertAndFormPane
4083
+ });
4084
+ };
4085
+ return /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(NeetoHeader__default["default"], {
4086
+ breadcrumbs: breadcrumbs,
4087
+ title: t("neetoMessageTemplate.template.apiTemplates"),
4088
+ actionBlock: /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
4089
+ label: t("neetoMessageTemplate.api.addApiTemplate"),
4090
+ onClick: function onClick() {
4091
+ return setIsFormPaneOpen(true);
4092
+ }
4093
+ }),
4094
+ searchProps: {
4095
+ placeholder: t("neetoMessageTemplate.template.searchApiTemplates")
4096
+ }
4097
+ }), /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
4098
+ leftActionBlock: /*#__PURE__*/React__default["default"].createElement(neetoFiltersFrontend.Bar, {
4099
+ columns: FILTER_COLUMNS,
4100
+ keyword: searchKeywordProps,
4101
+ setIsPaneOpen: setIsFiltersPaneOpen,
4102
+ onChange: handleFiltersChange
4103
+ }),
4104
+ rightActionBlock: /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"].RightBlock, {
4105
+ dataProps: {
4106
+ totalCount: totalCount
4107
+ },
4108
+ filterProps: {
4109
+ columns: FILTER_COLUMNS,
4110
+ isOpen: isFiltersPaneOpen,
4111
+ keyword: searchKeywordProps,
4112
+ setIsOpen: setIsFiltersPaneOpen,
4113
+ onChange: handleFiltersChange
4114
+ }
4115
+ })
4116
+ }), neetoCist.isNotEmpty(templates) ? /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
4117
+ hasPagination: totalCount > pageParams.size
4118
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
4119
+ totalCount: totalCount,
4120
+ currentPageNumber: pageParams.index,
4121
+ defaultPageSize: pageParams.size,
4122
+ handlePageChange: function handlePageChange(index, size) {
4123
+ return setPageParams({
4124
+ index: index,
4125
+ size: size
4126
+ });
4127
+ },
4128
+ loading: isLoading || isFetching,
4129
+ rowData: templates,
4130
+ columnData: buildTableColumnData({
4131
+ handleMarkAsActiveOrInactive: handleMarkAsActiveOrInactive,
4132
+ handleOpenDeleteAlert: handleOpenDeleteAlert,
4133
+ handleOpenEditPane: handleOpenEditPane
4134
+ })
4135
+ })) : /*#__PURE__*/React__default["default"].createElement("div", {
4136
+ className: "flex h-full w-full items-center justify-center"
4137
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, {
4138
+ primaryButtonProps: {
4139
+ label: t("neetoMessageTemplate.api.addApiTemplate"),
4140
+ onClick: function onClick() {
4141
+ return setIsFormPaneOpen(true);
4142
+ }
4143
+ },
4144
+ title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
4145
+ type: t("neetoMessageTemplate.template.apiTemplates")
4146
+ }) : t("neetoMessageTemplate.template.emptyState", {
4147
+ type: t("neetoMessageTemplate.template.apiTemplates")
4148
+ })
4149
+ })), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
4150
+ isOpen: isFormPaneOpen,
4151
+ onClose: handleCloseDeleteAlertAndFormPane
4152
+ }, function (_ref3) {
4153
+ var setFocusField = _ref3.setFocusField;
4154
+ return /*#__PURE__*/React__default["default"].createElement(Form, {
4155
+ ownerId: ownerId,
4156
+ selectedApiTemplate: selectedApiTemplate,
4157
+ setFocusField: setFocusField,
4158
+ onClose: handleCloseDeleteAlertAndFormPane
4159
+ });
4160
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
4161
+ isOpen: isDeleteAlertOpen,
4162
+ isSubmitting: isDeleting,
4163
+ submitButtonLabel: t("neetoMessageTemplate.template.delete"),
4164
+ title: t("neetoMessageTemplate.api.deleteApiTemplate"),
4165
+ message: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
4166
+ i18nKey: "neetoMessageTemplate.template.templateDeleteConfirmation",
4167
+ values: {
4168
+ name: selectedApiTemplate.name
4169
+ }
4170
+ }),
4171
+ onClose: handleCloseDeleteAlertAndFormPane,
4172
+ onSubmit: handleDeleteApiTemplate
4173
+ }));
4174
+ };
4175
+
4176
+ var SEND_TO_API_FORM_INITIAL_VALUES = {
4177
+ endpoint: "",
4178
+ additionalData: [ADDITIONAL_DATA_INITIAL_VALUE]
4179
+ };
4180
+ var SEND_TO_API_FORM_VALIDATION_SCHEMA = yup__namespace.object({
4181
+ endpoint: yup__namespace.string().required(i18next.t("neetoMessageTemplate.api.validation.endpointPresence")).matches(VALID_URL_REGEX, i18next.t("neetoMessageTemplate.api.validation.validEndpoint")),
4182
+ additionalData: yup__namespace.array().of(yup__namespace.object({
4183
+ key: yup__namespace.string(),
4184
+ value: yup__namespace.string()
4185
+ }))
4186
+ });
4187
+
4188
+ var buildSendToApiFormInitialValues = function buildSendToApiFormInitialValues(template) {
4189
+ if (ramda.isEmpty(template)) return SEND_TO_API_FORM_INITIAL_VALUES;
4190
+ var additionalData = ramda.isEmpty(template.additionalData) ? [ADDITIONAL_DATA_INITIAL_VALUE] : template.additionalData;
4191
+ return {
4192
+ endpoint: template.endpoint,
4193
+ additionalData: additionalData
4194
+ };
4195
+ };
4196
+
4197
+ 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; }
4198
+ 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; }
4199
+ var SendToApiPane = function SendToApiPane(props) {
4200
+ var isOpen = props.isOpen,
4201
+ onClose = props.onClose;
4202
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
4203
+ isOpen: isOpen,
4204
+ onClose: onClose
4205
+ }, function (paneProps) {
4206
+ return /*#__PURE__*/React__default["default"].createElement(SendToApiForm, _objectSpread(_objectSpread({}, props), {}, {
4207
+ paneProps: paneProps
4208
+ }));
4209
+ });
4210
+ };
4211
+ var SendToApiForm = function SendToApiForm(_ref) {
4212
+ var ownerId = _ref.ownerId,
4213
+ onClose = _ref.onClose,
4214
+ onSubmit = _ref.onSubmit,
4215
+ isSubmitting = _ref.isSubmitting,
4216
+ setFocusField = _ref.paneProps.setFocusField;
4217
+ var _useTranslation = reactI18next.useTranslation(),
4218
+ t = _useTranslation.t;
4219
+ var _useState = React.useState({}),
4220
+ _useState2 = _slicedToArray(_useState, 2),
4221
+ selectedTemplate = _useState2[0],
4222
+ setSelectedTemplate = _useState2[1];
4223
+ var _useFetchTemplates = useFetchTemplates({
4224
+ status: "active",
4225
+ templateType: API_TEMPLATE_TYPE,
4226
+ ownerId: ownerId
4227
+ }),
4228
+ _useFetchTemplates$da = _useFetchTemplates.data,
4229
+ _useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
4230
+ _useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
4231
+ templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3,
4232
+ isLoadingTemplates = _useFetchTemplates.isLoading;
4233
+ var handleSubmit = function handleSubmit(formValues) {
4234
+ var additionalDataModifiedFormValues = ramda.modify("additionalData", rejectEmptyKeyValuePairs, formValues);
4235
+ onSubmit(additionalDataModifiedFormValues);
4236
+ };
4237
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
4238
+ style: "h2",
4239
+ weight: "semibold"
4240
+ }, t("neetoMessageTemplate.api.sendToApi"))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
4241
+ formikProps: {
4242
+ initialValues: buildSendToApiFormInitialValues(selectedTemplate),
4243
+ enableReinitialize: true,
4244
+ validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,
4245
+ onSubmit: handleSubmit
4246
+ }
4247
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
4248
+ className: "w-full space-y-5"
4249
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
4250
+ innerRef: setFocusField,
4251
+ isLoading: isLoadingTemplates,
4252
+ label: t("neetoMessageTemplate.template.title"),
4253
+ options: neetoCist.renameKeys({
4254
+ name: "label",
4255
+ id: "value"
4256
+ }, templates),
4257
+ placeholder: t("neetoMessageTemplate.sendMessage.selectTemplate"),
4258
+ onChange: setSelectedTemplate
4259
+ }), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
4260
+ required: true,
4261
+ label: t("neetoMessageTemplate.api.endpoint"),
4262
+ name: "endpoint",
4263
+ placeholder: SAMPLE_URL
4264
+ }), /*#__PURE__*/React__default["default"].createElement(KeyValuePairs, {
4265
+ label: t("neetoMessageTemplate.api.additionalData"),
4266
+ name: "additionalData"
4267
+ }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, null, /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
4268
+ className: "space-x-2",
4269
+ cancelButtonProps: {
4270
+ disabled: isSubmitting,
4271
+ onClick: onClose
4272
+ },
4273
+ submitButtonProps: {
4274
+ disabled: isSubmitting,
4275
+ label: t("neetoMessageTemplate.template.send")
4276
+ }
4277
+ }))));
4278
+ };
4279
+
4280
+ exports.ApiTemplates = ApiTemplates;
3728
4281
  exports.MessageTemplates = MessageTemplates;
3729
4282
  exports.SendMessagePane = SendMessagePane;
4283
+ exports.SendToApiPane = SendToApiPane;
3730
4284
  //# sourceMappingURL=index.cjs.js.map