@bigbinary/neeto-message-templates-frontend 0.1.0 → 0.2.0

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
@@ -5,12 +5,12 @@ 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
7
  import { Dropdown, Typography, Button, Pane, Table, NoData, Alert, Select, Textarea } from '@bigbinary/neetoui';
8
- import { prop, equals, includes, pick, omit, isEmpty, assoc, mergeAll, pluck } from 'ramda';
9
- import { QueryClient, QueryCache, QueryClientProvider, useQuery, useQueryClient, useMutation } from 'react-query';
8
+ import { isEmpty, prop, equals, includes, pick, omit, assoc, mergeAll, pluck } from 'ramda';
9
+ import { QueryClient, QueryCache, QueryClientProvider, useQuery } from 'react-query';
10
10
  import { ReactQueryDevtools } from 'react-query/devtools';
11
11
  import { MenuHorizontal } from '@bigbinary/neeto-icons';
12
+ import { useMutationWithInvalidation, withImmutableActions } from '@bigbinary/neeto-commons-frontend/react-utils';
12
13
  import axios from 'axios';
13
- import { withImmutableActions } from '@bigbinary/neeto-commons-frontend/react-utils';
14
14
  import { create as create$1 } from 'zustand';
15
15
  import { FormikEditor } from '@bigbinary/neeto-editor';
16
16
  import { Input, Form as Form$1, Select as Select$1, Button as Button$1 } from '@bigbinary/neetoui/formik';
@@ -5252,6 +5252,7 @@ var template = {
5252
5252
  "delete": "Delete",
5253
5253
  edit: "Edit",
5254
5254
  saveChanges: "Save changes",
5255
+ send: "Send",
5255
5256
  cancel: "Cancel",
5256
5257
  emailAddress: "Email address",
5257
5258
  phoneNumber: "Phone number",
@@ -5394,18 +5395,31 @@ var fetchMessageTemplates = function fetchMessageTemplates(params) {
5394
5395
  params: params
5395
5396
  });
5396
5397
  };
5397
- var createMessageTemplate = function createMessageTemplate(params) {
5398
+ var createMessageTemplate = function createMessageTemplate(_ref) {
5399
+ var messageTemplate = _ref.messageTemplate,
5400
+ ownerId = _ref.ownerId;
5398
5401
  return axios.post(MESSAGE_TEMPLATE_BASE_URL, {
5399
- messageTemplate: params
5402
+ messageTemplate: messageTemplate,
5403
+ ownerId: ownerId
5400
5404
  });
5401
5405
  };
5402
- var updateMessageTemplate = function updateMessageTemplate(id, params) {
5406
+ var updateMessageTemplate = function updateMessageTemplate(_ref2) {
5407
+ var id = _ref2.id,
5408
+ messageTemplate = _ref2.messageTemplate,
5409
+ ownerId = _ref2.ownerId;
5403
5410
  return axios.patch("".concat(MESSAGE_TEMPLATE_BASE_URL, "/").concat(id), {
5404
- messageTemplate: params
5411
+ messageTemplate: messageTemplate,
5412
+ ownerId: ownerId
5405
5413
  });
5406
5414
  };
5407
- var deleteMessageTemplate = function deleteMessageTemplate(id) {
5408
- return axios["delete"]("".concat(MESSAGE_TEMPLATE_BASE_URL, "/").concat(id));
5415
+ var deleteMessageTemplate = function deleteMessageTemplate(_ref3) {
5416
+ var id = _ref3.id,
5417
+ ownerId = _ref3.ownerId;
5418
+ return axios["delete"]("".concat(MESSAGE_TEMPLATE_BASE_URL, "/").concat(id), {
5419
+ data: {
5420
+ ownerId: ownerId
5421
+ }
5422
+ });
5409
5423
  };
5410
5424
  var messageTemplatesApi = {
5411
5425
  fetchAll: fetchMessageTemplates,
@@ -5418,42 +5432,46 @@ var QUERY_KEYS = {
5418
5432
  MESSAGE_TEMPLATE: "message-templates"
5419
5433
  };
5420
5434
 
5435
+ var ownerIdValue = function ownerIdValue(ownerId) {
5436
+ return isEmpty(ownerId) ? undefined : ownerId;
5437
+ };
5421
5438
  var useFetchTemplates = function useFetchTemplates(params) {
5422
5439
  return useQuery([QUERY_KEYS.MESSAGE_TEMPLATE, params], function () {
5423
5440
  return messageTemplatesApi.fetchAll(params);
5424
5441
  });
5425
5442
  };
5426
- var useCreateTemplate = function useCreateTemplate(options) {
5427
- var queryClient = useQueryClient();
5428
- return useMutation(function (payload) {
5429
- return messageTemplatesApi.create(payload);
5443
+ var useCreateTemplate = function useCreateTemplate(ownerId, options) {
5444
+ return useMutationWithInvalidation(function (messageTemplate) {
5445
+ return messageTemplatesApi.create({
5446
+ messageTemplate: messageTemplate,
5447
+ ownerId: ownerIdValue(ownerId)
5448
+ });
5430
5449
  }, {
5431
- onSuccess: function onSuccess() {
5432
- queryClient.invalidateQueries(QUERY_KEYS.MESSAGE_TEMPLATE);
5433
- options === null || options === void 0 ? void 0 : options.onSuccess();
5434
- }
5450
+ keysToInvalidate: [QUERY_KEYS.MESSAGE_TEMPLATE],
5451
+ onSuccess: options === null || options === void 0 ? void 0 : options.onSuccess
5435
5452
  });
5436
5453
  };
5437
- var useUpdateTemplate = function useUpdateTemplate() {
5438
- var queryClient = useQueryClient();
5439
- return useMutation(function (_ref) {
5454
+ var useUpdateTemplate = function useUpdateTemplate(ownerId) {
5455
+ return useMutationWithInvalidation(function (_ref) {
5440
5456
  var id = _ref.id,
5441
5457
  payload = _ref.payload;
5442
- return messageTemplatesApi.update(id, payload);
5458
+ return messageTemplatesApi.update({
5459
+ id: id,
5460
+ messageTemplate: payload,
5461
+ ownerId: ownerIdValue(ownerId)
5462
+ });
5443
5463
  }, {
5444
- onSuccess: function onSuccess() {
5445
- queryClient.invalidateQueries(QUERY_KEYS.MESSAGE_TEMPLATE);
5446
- }
5464
+ keysToInvalidate: [QUERY_KEYS.MESSAGE_TEMPLATE]
5447
5465
  });
5448
5466
  };
5449
- var useDeleteTemplate = function useDeleteTemplate() {
5450
- var queryClient = useQueryClient();
5451
- return useMutation(function (id) {
5452
- return messageTemplatesApi["delete"](id);
5467
+ var useDeleteTemplate = function useDeleteTemplate(ownerId) {
5468
+ return useMutationWithInvalidation(function (id) {
5469
+ return messageTemplatesApi["delete"]({
5470
+ id: id,
5471
+ ownerId: ownerIdValue(ownerId)
5472
+ });
5453
5473
  }, {
5454
- onSuccess: function onSuccess() {
5455
- queryClient.invalidateQueries(QUERY_KEYS.MESSAGE_TEMPLATE);
5456
- }
5474
+ keysToInvalidate: [QUERY_KEYS.MESSAGE_TEMPLATE]
5457
5475
  });
5458
5476
  };
5459
5477
 
@@ -5469,10 +5487,11 @@ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if
5469
5487
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5470
5488
  var RowActions = function RowActions(_ref) {
5471
5489
  var template = _ref.template,
5472
- setManageTemplatePane = _ref.setManageTemplatePane;
5490
+ setManageTemplatePane = _ref.setManageTemplatePane,
5491
+ ownerId = _ref.ownerId;
5473
5492
  var _useTranslation = useTranslation(),
5474
5493
  t = _useTranslation.t;
5475
- var _useUpdateTemplate = useUpdateTemplate(),
5494
+ var _useUpdateTemplate = useUpdateTemplate(ownerId),
5476
5495
  update = _useUpdateTemplate.mutate;
5477
5496
  var Menu = Dropdown.Menu,
5478
5497
  MenuItem = Dropdown.MenuItem;
@@ -5530,7 +5549,7 @@ var renderSearchProps = function renderSearchProps(label, setSearchTerm, searchT
5530
5549
  value: searchTerm
5531
5550
  };
5532
5551
  };
5533
- var buildTableColumnData = function buildTableColumnData(setManageTemplatePane) {
5552
+ var buildTableColumnData = function buildTableColumnData(setManageTemplatePane, ownerId) {
5534
5553
  return [{
5535
5554
  dataIndex: "name",
5536
5555
  key: "name",
@@ -5544,6 +5563,7 @@ var buildTableColumnData = function buildTableColumnData(setManageTemplatePane)
5544
5563
  }, /*#__PURE__*/React.createElement(Typography, {
5545
5564
  style: "body2"
5546
5565
  }, name), /*#__PURE__*/React.createElement(RowActions, {
5566
+ ownerId: ownerId,
5547
5567
  setManageTemplatePane: setManageTemplatePane,
5548
5568
  template: template
5549
5569
  }));
@@ -6208,7 +6228,7 @@ var useFilters = function useFilters() {
6208
6228
  };
6209
6229
  };
6210
6230
 
6211
- var useTemplates = function useTemplates(type) {
6231
+ var useTemplates = function useTemplates(type, ownerId) {
6212
6232
  var _useState = useState(buildFiltersFromURL(buildTableColumnData().filter(prop("node")))),
6213
6233
  _useState2 = _slicedToArray(_useState, 2),
6214
6234
  filters = _useState2[0],
@@ -6223,16 +6243,17 @@ var useTemplates = function useTemplates(type) {
6223
6243
  pageIndex: pageIndex,
6224
6244
  pageSize: pageSize,
6225
6245
  filters: JSON.stringify(filters),
6226
- templateType: MESSAGE_TEMPLATES[type].value
6246
+ templateType: MESSAGE_TEMPLATES[type].value,
6247
+ ownerId: isEmpty(ownerId) ? undefined : ownerId
6227
6248
  };
6228
6249
  var _useFetchTemplates = useFetchTemplates(templateParams),
6229
6250
  _useFetchTemplates$da = _useFetchTemplates.data,
6230
6251
  templatesData = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
6231
6252
  isLoadingTemplates = _useFetchTemplates.isLoading,
6232
6253
  isFetching = _useFetchTemplates.isFetching;
6233
- var _useCreateTemplate = useCreateTemplate(),
6254
+ var _useCreateTemplate = useCreateTemplate(ownerId),
6234
6255
  create = _useCreateTemplate.mutate;
6235
- var _useUpdateTemplate = useUpdateTemplate(),
6256
+ var _useUpdateTemplate = useUpdateTemplate(ownerId),
6236
6257
  update = _useUpdateTemplate.mutate;
6237
6258
  var createUpdateTemplate = function createUpdateTemplate(_ref, options) {
6238
6259
  var isEdit = _ref.isEdit,
@@ -6266,10 +6287,11 @@ var List = function List(_ref) {
6266
6287
  pageProperties = _ref.pageProperties,
6267
6288
  label = _ref.label,
6268
6289
  addText = _ref.addText,
6269
- isFilterApplied = _ref.isFilterApplied;
6290
+ isFilterApplied = _ref.isFilterApplied,
6291
+ ownerId = _ref.ownerId;
6270
6292
  var _useTranslation = useTranslation(),
6271
6293
  t = _useTranslation.t;
6272
- var _useDeleteTemplate = useDeleteTemplate(),
6294
+ var _useDeleteTemplate = useDeleteTemplate(ownerId),
6273
6295
  deleteTemplate = _useDeleteTemplate.mutate,
6274
6296
  isDeleting = _useDeleteTemplate.isLoading;
6275
6297
  var templates = templatesData.templates,
@@ -6290,7 +6312,7 @@ var List = function List(_ref) {
6290
6312
  }, !isEmpty(templates) ? /*#__PURE__*/React.createElement(TableWrapper, {
6291
6313
  hasPagination: totalCount > pageSize
6292
6314
  }, /*#__PURE__*/React.createElement(Table, {
6293
- columnData: buildTableColumnData(setManageTemplatePane),
6315
+ columnData: buildTableColumnData(setManageTemplatePane, ownerId),
6294
6316
  currentPageNumber: pageIndex,
6295
6317
  defaultPageSize: pageSize,
6296
6318
  loading: isLoading,
@@ -6352,7 +6374,9 @@ var MessageTemplates = function MessageTemplates(_ref) {
6352
6374
  _ref$shouldIncludeTes = _ref.shouldIncludeTestTemplate,
6353
6375
  shouldIncludeTestTemplate = _ref$shouldIncludeTes === void 0 ? true : _ref$shouldIncludeTes,
6354
6376
  _ref$templateVariable = _ref.templateVariables,
6355
- templateVariables = _ref$templateVariable === void 0 ? {} : _ref$templateVariable;
6377
+ templateVariables = _ref$templateVariable === void 0 ? {} : _ref$templateVariable,
6378
+ _ref$ownerId = _ref.ownerId,
6379
+ ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
6356
6380
  var _useState = useState(MESSAGE_TEMPLATE_INITIAL_STATE),
6357
6381
  _useState2 = _slicedToArray(_useState, 2),
6358
6382
  manageTemplatePane = _useState2[0],
@@ -6366,7 +6390,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
6366
6390
  filterColumns = _useFilters.filterColumns,
6367
6391
  setSearchTerm = _useFilters.setSearchTerm,
6368
6392
  searchTerm = _useFilters.searchTerm;
6369
- var _useTemplates = useTemplates(type),
6393
+ var _useTemplates = useTemplates(type, ownerId),
6370
6394
  isLoading = _useTemplates.isLoading,
6371
6395
  templatesData = _useTemplates.templatesData,
6372
6396
  createUpdateTemplate = _useTemplates.createUpdateTemplate,
@@ -6427,6 +6451,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
6427
6451
  label: label,
6428
6452
  labelSingular: labelSingular,
6429
6453
  manageTemplatePane: manageTemplatePane,
6454
+ ownerId: ownerId,
6430
6455
  pageProperties: pageProperties,
6431
6456
  setManageTemplatePane: setManageTemplatePane,
6432
6457
  setPageProperties: setPageProperties,
@@ -6550,7 +6575,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
6550
6575
  className: "absolute bottom-0 left-0 flex gap-x-2"
6551
6576
  }, /*#__PURE__*/React.createElement(Button, {
6552
6577
  disabled: !dirty || isSubmitting,
6553
- label: t("template.saveChanges"),
6578
+ label: t("template.send"),
6554
6579
  loading: isSubmitting,
6555
6580
  type: "submit"
6556
6581
  }), /*#__PURE__*/React.createElement(Button, {
@@ -6669,7 +6694,7 @@ var Whatsapp = function Whatsapp(_ref) {
6669
6694
  className: "absolute bottom-0 left-0 flex gap-x-2"
6670
6695
  }, /*#__PURE__*/React.createElement(Button$1, {
6671
6696
  disabled: !dirty || isSubmitting,
6672
- label: t("template.saveChanges"),
6697
+ label: t("template.send"),
6673
6698
  loading: isSubmitting,
6674
6699
  type: "submit"
6675
6700
  }), /*#__PURE__*/React.createElement(Button$1, {
@@ -6697,7 +6722,9 @@ var SendMessagePane = function SendMessagePane(_ref) {
6697
6722
  _ref$customFieldsVali = _ref.customFieldsValidationSchema,
6698
6723
  customFieldsValidationSchema = _ref$customFieldsVali === void 0 ? {} : _ref$customFieldsVali,
6699
6724
  _ref$templateVariable = _ref.templateVariables,
6700
- templateVariables = _ref$templateVariable === void 0 ? {} : _ref$templateVariable;
6725
+ templateVariables = _ref$templateVariable === void 0 ? {} : _ref$templateVariable,
6726
+ _ref$ownerId = _ref.ownerId,
6727
+ ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
6701
6728
  var _useTranslation = useTranslation(),
6702
6729
  t = _useTranslation.t;
6703
6730
  var initialFocusField = useRef();
@@ -6707,7 +6734,8 @@ var SendMessagePane = function SendMessagePane(_ref) {
6707
6734
  var value = MESSAGE_TEMPLATES[type].value;
6708
6735
  var templateParams = {
6709
6736
  status: "active",
6710
- templateType: value
6737
+ templateType: value,
6738
+ ownerId: ownerId
6711
6739
  };
6712
6740
  var _useFetchTemplates = useFetchTemplates(templateParams),
6713
6741
  _useFetchTemplates$da = _useFetchTemplates.data,