@bigbinary/neeto-message-templates-frontend 0.8.0-beta1 → 1.0.1

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
@@ -23,7 +23,7 @@ var require$$0 = require('util');
23
23
  var zustand = require('zustand');
24
24
  var jsxRuntime = require('react/jsx-runtime');
25
25
  var Pane = require('@bigbinary/neetoui/Pane');
26
- var neetoEditor = require('@bigbinary/neeto-editor');
26
+ var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
27
27
  var NeetoUIForm = require('@bigbinary/neetoui/formik/Form');
28
28
  var Input = require('@bigbinary/neetoui/formik/Input');
29
29
  var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
@@ -39,7 +39,7 @@ var Spinner = require('@bigbinary/neetoui/Spinner');
39
39
  var Select = require('@bigbinary/neetoui/Select');
40
40
  var Textarea$1 = require('@bigbinary/neetoui/Textarea');
41
41
  var Select$1 = require('@bigbinary/neetoui/formik/Select');
42
- var neetoIcons = require('@bigbinary/neeto-icons');
42
+ var Delete = require('@bigbinary/neeto-icons/Delete');
43
43
  var Label = require('@bigbinary/neetoui/Label');
44
44
 
45
45
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -72,6 +72,7 @@ var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
72
72
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
73
73
  var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
74
74
  var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
75
+ var FormikEditor__default = /*#__PURE__*/_interopDefaultLegacy(FormikEditor);
75
76
  var NeetoUIForm__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIForm);
76
77
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
77
78
  var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
@@ -85,6 +86,7 @@ var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
85
86
  var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
86
87
  var Textarea__default$1 = /*#__PURE__*/_interopDefaultLegacy(Textarea$1);
87
88
  var Select__default$1 = /*#__PURE__*/_interopDefaultLegacy(Select$1);
89
+ var Delete__default = /*#__PURE__*/_interopDefaultLegacy(Delete);
88
90
  var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
89
91
 
90
92
  function _typeof$1(o) {
@@ -2352,7 +2354,7 @@ var useCreateTemplate = function useCreateTemplate(ownerId, options) {
2352
2354
  ownerId: ownerIdValue(ownerId)
2353
2355
  });
2354
2356
  }, _objectSpread$d({
2355
- keysToInvalidate: [QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]
2357
+ keysToInvalidate: [[QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]]
2356
2358
  }, options));
2357
2359
  };
2358
2360
  var useUpdateTemplate = function useUpdateTemplate(ownerId) {
@@ -2365,7 +2367,7 @@ var useUpdateTemplate = function useUpdateTemplate(ownerId) {
2365
2367
  ownerId: ownerIdValue(ownerId)
2366
2368
  });
2367
2369
  }, {
2368
- keysToInvalidate: [QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]
2370
+ keysToInvalidate: [[QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]]
2369
2371
  });
2370
2372
  };
2371
2373
  var useDeleteTemplate = function useDeleteTemplate(ownerId) {
@@ -2375,7 +2377,7 @@ var useDeleteTemplate = function useDeleteTemplate(ownerId) {
2375
2377
  ownerId: ownerIdValue(ownerId)
2376
2378
  });
2377
2379
  }, {
2378
- keysToInvalidate: [QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]
2380
+ keysToInvalidate: [[QUERY_KEYS.NEETO_MESSAGE_TEMPLATES]]
2379
2381
  });
2380
2382
  };
2381
2383
 
@@ -3159,7 +3161,7 @@ var Form$1 = function Form(_ref) {
3159
3161
  required: true,
3160
3162
  label: t("neetoMessageTemplate.template.emailSubject"),
3161
3163
  name: "subject"
3162
- }), /*#__PURE__*/jsxRuntime.jsx(neetoEditor.FormikEditor, {
3164
+ }), /*#__PURE__*/jsxRuntime.jsx(FormikEditor__default["default"], {
3163
3165
  hideSlashCommands: true,
3164
3166
  required: true,
3165
3167
  contentClassName: "max-h-40",
@@ -3516,6 +3518,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
3516
3518
  templateType: value
3517
3519
  });
3518
3520
  }, [value]);
3521
+ var shouldShowTemplatesCount = !isLoading && (isFilterApplied || templatesCount > 0);
3519
3522
  return /*#__PURE__*/jsxRuntime.jsxs(Container__default["default"], {
3520
3523
  children: [/*#__PURE__*/jsxRuntime.jsx(NeetoHeader__default["default"], {
3521
3524
  breadcrumbs: breadcrumbs,
@@ -3537,7 +3540,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
3537
3540
  })]
3538
3541
  })
3539
3542
  }), /*#__PURE__*/jsxRuntime.jsx(SubHeader__default["default"], {
3540
- leftActionBlock: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
3543
+ leftActionBlock: shouldShowTemplatesCount && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
3541
3544
  component: "h4",
3542
3545
  children: t("neetoMessageTemplate.template.messageTemplatesWithCount", {
3543
3546
  type: MESSAGE_TYPES[type],
@@ -3699,13 +3702,14 @@ var EmailAndSms = function EmailAndSms(_ref) {
3699
3702
  var setValues = _ref4.setValues,
3700
3703
  values = _ref4.values;
3701
3704
  var handleTemplateChange = function handleTemplateChange(value) {
3705
+ var _editorRef$current;
3702
3706
  if (!value) return;
3703
3707
  var customFieldValues = ramda.omit(initialValueKeys, values);
3704
3708
  var template = neetoCist.findBy({
3705
3709
  id: value === null || value === void 0 ? void 0 : value.value
3706
3710
  }, templates);
3707
3711
  setValues(_objectSpread$5(_objectSpread$5({}, template), customFieldValues));
3708
- editorRef.current.editor.commands.setContent(template.body);
3712
+ (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.editor) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.commands) === null || _editorRef$current === void 0 || _editorRef$current.setContent(template.body);
3709
3713
  };
3710
3714
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
3711
3715
  children: [/*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
@@ -3723,7 +3727,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
3723
3727
  required: true,
3724
3728
  label: t("neetoMessageTemplate.template.subject"),
3725
3729
  name: "subject"
3726
- }), /*#__PURE__*/jsxRuntime.jsx(neetoEditor.FormikEditor, {
3730
+ }), /*#__PURE__*/jsxRuntime.jsx(FormikEditor__default["default"], {
3727
3731
  hideSlashCommands: true,
3728
3732
  required: true,
3729
3733
  contentClassName: "max-h-40",
@@ -4064,14 +4068,17 @@ var KeyValuePairs = reactUtils.withT(function (_ref) {
4064
4068
  className: "flex h-8 space-x-3",
4065
4069
  children: [/*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
4066
4070
  className: "w-2/5",
4071
+ "data-cy": "key-input-".concat(index),
4067
4072
  name: "".concat(name, ".").concat(index, ".key"),
4068
4073
  placeholder: t("neetoMessageTemplate.api.key")
4069
4074
  }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
4070
4075
  className: "w-3/5",
4076
+ "data-cy": "value-input-".concat(index),
4071
4077
  name: "".concat(name, ".").concat(index, ".value"),
4072
4078
  placeholder: t("neetoMessageTemplate.api.value"),
4073
4079
  suffix: showDeleteButton && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
4074
- icon: neetoIcons.Delete,
4080
+ "data-cy": "delete-key-value-pair-".concat(index),
4081
+ icon: Delete__default["default"],
4075
4082
  size: "small",
4076
4083
  style: "text",
4077
4084
  onClick: function onClick() {
@@ -4086,6 +4093,7 @@ var KeyValuePairs = reactUtils.withT(function (_ref) {
4086
4093
  }, index);
4087
4094
  }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
4088
4095
  className: "w-full justify-center",
4096
+ "data-cy": "add-key-value-pair-button",
4089
4097
  label: t("neetoMessageTemplate.api.addKeyValuePair"),
4090
4098
  style: "secondary",
4091
4099
  onClick: function onClick() {
@@ -4126,30 +4134,37 @@ var buildTableColumnData = function buildTableColumnData(_ref) {
4126
4134
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
4127
4135
  className: "flex items-center justify-between gap-x-3",
4128
4136
  children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
4137
+ "data-cy": "api-template-name-link",
4129
4138
  label: name,
4130
4139
  style: "link",
4131
4140
  onClick: function onClick() {
4132
4141
  return handleOpenEditPane(apiTemplate);
4133
4142
  }
4134
4143
  }), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown__default["default"], {
4144
+ dropdownButtonProps: {
4145
+ "data-cy": "api-template-dropdown"
4146
+ },
4135
4147
  dropdownProps: {
4136
4148
  strategy: "fixed"
4137
4149
  },
4138
4150
  menuItems: [{
4139
4151
  key: "edit",
4140
4152
  label: i18next.t("neetoMessageTemplate.template.edit"),
4153
+ "data-cy": "api-template-button-edit-button",
4141
4154
  onClick: function onClick() {
4142
4155
  return handleOpenEditPane(apiTemplate);
4143
4156
  }
4144
4157
  }, {
4145
4158
  key: "status",
4146
4159
  label: ramda.equals(apiTemplate.status, TEMPLATE_STATUS.ACTIVE) ? i18next.t("neetoMessageTemplate.template.markAsInactive") : i18next.t("neetoMessageTemplate.template.markAsActive"),
4160
+ "data-cy": "api-template-button-status-button",
4147
4161
  onClick: function onClick() {
4148
4162
  return handleMarkAsActiveOrInactive(apiTemplate);
4149
4163
  }
4150
4164
  }, {
4151
4165
  key: "delete",
4152
4166
  label: i18next.t("neetoMessageTemplate.template.delete"),
4167
+ "data-cy": "api-template-button-delete-button",
4153
4168
  onClick: function onClick() {
4154
4169
  return handleOpenDeleteAlert(apiTemplate);
4155
4170
  }
@@ -4388,18 +4403,21 @@ var ApiTemplates = function ApiTemplates(_ref) {
4388
4403
  type: title
4389
4404
  })
4390
4405
  });
4406
+ var shouldShowTemplatesCount = !isLoading && (isFilterApplied || totalCount > 0);
4391
4407
  return /*#__PURE__*/jsxRuntime.jsxs(Container__default["default"], {
4392
4408
  children: [/*#__PURE__*/jsxRuntime.jsx(NeetoHeader__default["default"], {
4393
4409
  breadcrumbs: breadcrumbs,
4394
4410
  size: "small",
4395
4411
  actionBlock: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
4412
+ "data-cy": "add-api-templates-button",
4396
4413
  label: t("neetoMessageTemplate.api.addApiTemplate"),
4397
4414
  onClick: function onClick() {
4398
4415
  return setIsFormPaneOpen(true);
4399
4416
  }
4400
4417
  }),
4401
4418
  searchProps: {
4402
- placeholder: t("neetoMessageTemplate.template.searchApiTemplates")
4419
+ placeholder: t("neetoMessageTemplate.template.searchApiTemplates"),
4420
+ "data-cy": "api-templates-search-input"
4403
4421
  },
4404
4422
  title: /*#__PURE__*/jsxRuntime.jsxs("span", {
4405
4423
  className: "flex",
@@ -4412,7 +4430,7 @@ var ApiTemplates = function ApiTemplates(_ref) {
4412
4430
  })]
4413
4431
  })
4414
4432
  }), /*#__PURE__*/jsxRuntime.jsx(SubHeader__default["default"], {
4415
- leftActionBlock: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
4433
+ leftActionBlock: shouldShowTemplatesCount && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
4416
4434
  component: "h4",
4417
4435
  children: t("neetoMessageTemplate.template.messageTemplatesWithCount", {
4418
4436
  type: t("messageType.api"),
@@ -4505,6 +4523,10 @@ var SEND_TO_API_FORM_VALIDATION_SCHEMA = yup__namespace.object({
4505
4523
  }))
4506
4524
  });
4507
4525
 
4526
+ var formatAdditionalData = function formatAdditionalData(additionalData) {
4527
+ return neetoCist.isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];
4528
+ };
4529
+
4508
4530
  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; }
4509
4531
  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; }
4510
4532
  var SendToApiPane = function SendToApiPane(props) {
@@ -4541,7 +4563,7 @@ var SendToApiForm = function SendToApiForm(_ref) {
4541
4563
  isLoadingTemplates = _useFetchTemplates.isLoading;
4542
4564
  var handleTemplateChange = function handleTemplateChange(setFieldValue, template) {
4543
4565
  setFieldValue("endpoint", template.endpoint);
4544
- setFieldValue("additionalData", template.additionalData);
4566
+ setFieldValue("additionalData", formatAdditionalData(template.additionalData));
4545
4567
  };
4546
4568
  var handleSubmit = function handleSubmit(formValues) {
4547
4569
  var additionalDataModifiedFormValues = ramda.modify("additionalData", rejectEmptyKeyValuePairs, formValues);
@@ -4598,10 +4620,12 @@ var SendToApiForm = function SendToApiForm(_ref) {
4598
4620
  children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
4599
4621
  isSubmitting: isSubmitting,
4600
4622
  cancelButtonProps: {
4601
- onClick: onClose
4623
+ onClick: onClose,
4624
+ "data-cy": "api-template-cancel-button"
4602
4625
  },
4603
4626
  submitButtonProps: {
4604
- label: t("neetoMessageTemplate.template.send")
4627
+ label: t("neetoMessageTemplate.template.send"),
4628
+ "data-cy": "api-template-send-button"
4605
4629
  }
4606
4630
  })
4607
4631
  })]