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

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
@@ -3,6 +3,7 @@ import { hyphenate, noop, isNotEmpty, renameKeys, findBy, capitalize, nullSafe }
3
3
  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
+ import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
6
7
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
7
8
  import Button from '@bigbinary/neetoui/Button';
8
9
  import Typography from '@bigbinary/neetoui/Typography';
@@ -11,8 +12,8 @@ import { useTranslation, Trans } from 'react-i18next';
11
12
  import { t as t$1 } from 'i18next';
12
13
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
13
14
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
15
+ import { useQuery } from '@tanstack/react-query';
14
16
  import { useMutationWithInvalidation, withImmutableActions, useQueryParams, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
15
- import { useQuery } from 'react-query';
16
17
  import axios from 'axios';
17
18
  import require$$0 from 'util';
18
19
  import { create } from 'zustand';
@@ -2288,9 +2289,12 @@ var ownerIdValue = function ownerIdValue(ownerId) {
2288
2289
  return isEmpty(ownerId) ? undefined : ownerId;
2289
2290
  };
2290
2291
  var useFetchTemplates = function useFetchTemplates(params, options) {
2291
- return useQuery([QUERY_KEYS.NEETO_MESSAGE_TEMPLATES, params], function () {
2292
- return messageTemplatesApi.fetchAll(params);
2293
- }, options);
2292
+ return useQuery(_objectSpread$d({
2293
+ queryKey: [QUERY_KEYS.NEETO_MESSAGE_TEMPLATES, params],
2294
+ queryFn: function queryFn() {
2295
+ return messageTemplatesApi.fetchAll(params);
2296
+ }
2297
+ }, options));
2294
2298
  };
2295
2299
  var useCreateTemplate = function useCreateTemplate(ownerId, options) {
2296
2300
  return useMutationWithInvalidation(function (messageTemplate) {
@@ -3291,12 +3295,13 @@ var List = function List(_ref) {
3291
3295
  isFilterApplied = _ref.isFilterApplied,
3292
3296
  ownerId = _ref.ownerId,
3293
3297
  type = _ref.type,
3294
- onMutationSuccess = _ref.onMutationSuccess;
3298
+ onMutationSuccess = _ref.onMutationSuccess,
3299
+ helpDocUrl = _ref.helpDocUrl;
3295
3300
  var _useTranslation = useTranslation(),
3296
3301
  t = _useTranslation.t;
3297
3302
  var _useDeleteTemplate = useDeleteTemplate(ownerId),
3298
3303
  deleteTemplate = _useDeleteTemplate.mutate,
3299
- isDeleting = _useDeleteTemplate.isLoading;
3304
+ isDeleting = _useDeleteTemplate.isPending;
3300
3305
  var templates = templatesData.templates,
3301
3306
  totalCount = templatesData.totalCount;
3302
3307
  var template = manageTemplatePane.template,
@@ -3306,6 +3311,34 @@ var List = function List(_ref) {
3306
3311
  var isSms = type === "sms";
3307
3312
  var typeLabelSingular = isSms ? labelSingular : labelSingular.toLowerCase();
3308
3313
  var emptyStateLabel = isSms ? label : label.toLowerCase();
3314
+ var noDataProps = _objectSpread$7(_objectSpread$7({}, !isFilterApplied && {
3315
+ primaryButtonProps: {
3316
+ label: addText,
3317
+ onClick: function onClick() {
3318
+ return setManageTemplatePane(assoc("isOpen", true));
3319
+ }
3320
+ },
3321
+ helpText: /*#__PURE__*/jsx(Trans, {
3322
+ i18nKey: "neetoMessageTemplate.template.linkToHelpArticle",
3323
+ values: {
3324
+ entity: label
3325
+ },
3326
+ components: {
3327
+ Link: /*#__PURE__*/jsx(Button, {
3328
+ className: "underline",
3329
+ href: helpDocUrl,
3330
+ style: "link",
3331
+ target: "_blank"
3332
+ })
3333
+ }
3334
+ })
3335
+ }), {}, {
3336
+ title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
3337
+ type: emptyStateLabel
3338
+ }) : t("neetoMessageTemplate.template.emptyState", {
3339
+ type: emptyStateLabel
3340
+ })
3341
+ });
3309
3342
  var handleDelete = function handleDelete() {
3310
3343
  deleteTemplate(template.id, {
3311
3344
  onSuccess: onMutationSuccess,
@@ -3337,20 +3370,7 @@ var List = function List(_ref) {
3337
3370
  })
3338
3371
  }) : /*#__PURE__*/jsx("div", {
3339
3372
  className: "flex h-full w-full items-center justify-center",
3340
- children: /*#__PURE__*/jsx(NoData, _objectSpread$7(_objectSpread$7({}, !isFilterApplied && {
3341
- primaryButtonProps: {
3342
- label: addText,
3343
- onClick: function onClick() {
3344
- return setManageTemplatePane(assoc("isOpen", true));
3345
- }
3346
- }
3347
- }), {}, {
3348
- title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
3349
- type: emptyStateLabel
3350
- }) : t("neetoMessageTemplate.template.emptyState", {
3351
- type: emptyStateLabel
3352
- })
3353
- }))
3373
+ children: /*#__PURE__*/jsx(NoData, _objectSpread$7({}, noDataProps))
3354
3374
  }), /*#__PURE__*/jsx(Alert, {
3355
3375
  isOpen: isDelete,
3356
3376
  isSubmitting: isDeleting,
@@ -3394,7 +3414,9 @@ var MessageTemplates = function MessageTemplates(_ref) {
3394
3414
  _ref$manageTemplatesP = _ref.manageTemplatesPaneCustomFields,
3395
3415
  manageTemplatesPaneCustomFields = _ref$manageTemplatesP === void 0 ? null : _ref$manageTemplatesP,
3396
3416
  _ref$onMutationSucces = _ref.onMutationSuccess,
3397
- onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces;
3417
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces,
3418
+ _ref$helpDocUrl = _ref.helpDocUrl,
3419
+ helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl;
3398
3420
  var _useState = useState(MESSAGE_TEMPLATE_INITIAL_STATE),
3399
3421
  _useState2 = _slicedToArray(_useState, 2),
3400
3422
  manageTemplatePane = _useState2[0],
@@ -3450,11 +3472,20 @@ var MessageTemplates = function MessageTemplates(_ref) {
3450
3472
  breadcrumbs: breadcrumbs,
3451
3473
  searchProps: renderSearchProps(label, value),
3452
3474
  size: "small",
3453
- title: label,
3454
3475
  actionBlock: /*#__PURE__*/jsx(Button, {
3455
3476
  "data-cy": "add-".concat(hyphenate(value), "-button"),
3456
3477
  label: addText,
3457
3478
  onClick: handleActionClick
3479
+ }),
3480
+ title: /*#__PURE__*/jsxs("span", {
3481
+ className: "flex",
3482
+ children: [label, /*#__PURE__*/jsx(HelpPopover, {
3483
+ className: "ml-2 self-center",
3484
+ helpLinkProps: {
3485
+ href: helpDocUrl
3486
+ },
3487
+ title: label
3488
+ })]
3458
3489
  })
3459
3490
  }), /*#__PURE__*/jsx(SubHeader, {
3460
3491
  leftActionBlock: /*#__PURE__*/jsx(Typography, {
@@ -3483,6 +3514,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
3483
3514
  onChange: handleChange
3484
3515
  }), /*#__PURE__*/jsx(List, {
3485
3516
  addText: addText,
3517
+ helpDocUrl: helpDocUrl,
3486
3518
  isFilterApplied: isFilterApplied,
3487
3519
  isLoading: isLoading,
3488
3520
  label: label,
@@ -4104,10 +4136,10 @@ var Form = function Form(_ref) {
4104
4136
  t = _useTranslation.t;
4105
4137
  var _useCreateTemplate = useCreateTemplate(ownerId),
4106
4138
  createApiTemplate = _useCreateTemplate.mutate,
4107
- isCreating = _useCreateTemplate.isLoading;
4139
+ isCreating = _useCreateTemplate.isPending;
4108
4140
  var _useUpdateTemplate = useUpdateTemplate(ownerId),
4109
4141
  updateApiTemplate = _useUpdateTemplate.mutate,
4110
- isUpdating = _useUpdateTemplate.isLoading;
4142
+ isUpdating = _useUpdateTemplate.isPending;
4111
4143
  var isEdit = isNotEmpty(selectedApiTemplate);
4112
4144
  var handleSubmit = function handleSubmit(values, _ref2) {
4113
4145
  var setSubmitting = _ref2.setSubmitting;
@@ -4180,6 +4212,8 @@ var ApiTemplates = function ApiTemplates(_ref) {
4180
4212
  var ownerId = _ref.ownerId,
4181
4213
  _ref$breadcrumbs = _ref.breadcrumbs,
4182
4214
  breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
4215
+ _ref$helpDocUrl = _ref.helpDocUrl,
4216
+ helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
4183
4217
  _ref$onMutationSucces = _ref.onMutationSuccess,
4184
4218
  onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces;
4185
4219
  var _useTranslation = useTranslation(),
@@ -4231,6 +4265,7 @@ var ApiTemplates = function ApiTemplates(_ref) {
4231
4265
  totalCount = _useFetchTemplates$da2.totalCount,
4232
4266
  isLoading = _useFetchTemplates.isLoading,
4233
4267
  isFetching = _useFetchTemplates.isFetching;
4268
+ var title = t("neetoMessageTemplate.template.apiTemplates");
4234
4269
  var isFilterApplied = isNotEmpty(filters);
4235
4270
  var handleFiltersChange = function handleFiltersChange(filters) {
4236
4271
  setFilters(filters);
@@ -4238,7 +4273,7 @@ var ApiTemplates = function ApiTemplates(_ref) {
4238
4273
  };
4239
4274
  var _useDeleteTemplate = useDeleteTemplate(ownerId),
4240
4275
  deleteTemplate = _useDeleteTemplate.mutate,
4241
- isDeleting = _useDeleteTemplate.isLoading;
4276
+ isDeleting = _useDeleteTemplate.isPending;
4242
4277
  var _useUpdateTemplate = useUpdateTemplate(ownerId),
4243
4278
  updateTemplate = _useUpdateTemplate.mutate;
4244
4279
  var handleOpenEditPane = function handleOpenEditPane(apiTemplate) {
@@ -4276,11 +4311,38 @@ var ApiTemplates = function ApiTemplates(_ref) {
4276
4311
  }
4277
4312
  });
4278
4313
  };
4314
+ var noDataProps = _objectSpread$1(_objectSpread$1({}, !isFilterApplied && {
4315
+ primaryButtonProps: {
4316
+ label: t("neetoMessageTemplate.api.addApiTemplate"),
4317
+ onClick: function onClick() {
4318
+ return setIsFormPaneOpen(true);
4319
+ }
4320
+ },
4321
+ helpText: /*#__PURE__*/jsx(Trans, {
4322
+ i18nKey: "neetoMessageTemplate.template.linkToHelpArticle",
4323
+ values: {
4324
+ entity: title
4325
+ },
4326
+ components: {
4327
+ Link: /*#__PURE__*/jsx(Button, {
4328
+ className: "underline",
4329
+ href: helpDocUrl,
4330
+ style: "link",
4331
+ target: "_blank"
4332
+ })
4333
+ }
4334
+ })
4335
+ }), {}, {
4336
+ title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
4337
+ type: title
4338
+ }) : t("neetoMessageTemplate.template.emptyState", {
4339
+ type: title
4340
+ })
4341
+ });
4279
4342
  return /*#__PURE__*/jsxs(Container, {
4280
4343
  children: [/*#__PURE__*/jsx(NeetoHeader, {
4281
4344
  breadcrumbs: breadcrumbs,
4282
4345
  size: "small",
4283
- title: t("neetoMessageTemplate.template.apiTemplates"),
4284
4346
  actionBlock: /*#__PURE__*/jsx(Button, {
4285
4347
  label: t("neetoMessageTemplate.api.addApiTemplate"),
4286
4348
  onClick: function onClick() {
@@ -4289,7 +4351,17 @@ var ApiTemplates = function ApiTemplates(_ref) {
4289
4351
  }),
4290
4352
  searchProps: {
4291
4353
  placeholder: t("neetoMessageTemplate.template.searchApiTemplates")
4292
- }
4354
+ },
4355
+ title: /*#__PURE__*/jsxs("span", {
4356
+ className: "flex",
4357
+ children: [title, /*#__PURE__*/jsx(HelpPopover, {
4358
+ title: title,
4359
+ className: "ml-2 self-center",
4360
+ helpLinkProps: {
4361
+ href: helpDocUrl
4362
+ }
4363
+ })]
4364
+ })
4293
4365
  }), /*#__PURE__*/jsx(SubHeader, {
4294
4366
  leftActionBlock: /*#__PURE__*/jsx(Typography, {
4295
4367
  component: "h4",
@@ -4341,20 +4413,7 @@ var ApiTemplates = function ApiTemplates(_ref) {
4341
4413
  })
4342
4414
  }) : /*#__PURE__*/jsx("div", {
4343
4415
  className: "flex h-full w-full items-center justify-center",
4344
- children: /*#__PURE__*/jsx(NoData, _objectSpread$1(_objectSpread$1({}, !isFilterApplied && {
4345
- primaryButtonProps: {
4346
- label: t("neetoMessageTemplate.api.addApiTemplate"),
4347
- onClick: function onClick() {
4348
- return setIsFormPaneOpen(true);
4349
- }
4350
- }
4351
- }), {}, {
4352
- title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
4353
- type: t("neetoMessageTemplate.template.apiTemplates")
4354
- }) : t("neetoMessageTemplate.template.emptyState", {
4355
- type: t("neetoMessageTemplate.template.apiTemplates")
4356
- })
4357
- }))
4416
+ children: /*#__PURE__*/jsx(NoData, _objectSpread$1({}, noDataProps))
4358
4417
  }), /*#__PURE__*/jsx(Pane, {
4359
4418
  isOpen: isFormPaneOpen,
4360
4419
  onClose: handleCloseDeleteAlertAndFormPane,