@bigbinary/neeto-message-templates-frontend 0.6.5 → 0.6.6

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/README.md CHANGED
@@ -89,6 +89,7 @@ This component is used to manage message templates in your web application. It p
89
89
  - `breadcrumbs`: An array of objects that specify breadcrumbs for navigation.
90
90
  - `isTestingTemplateDisabled`: A boolean indicating whether the test template button should be enabled or not.
91
91
  - `manageTemplatesPaneCustomFields`: To add custom components to the manage templates pane.
92
+ - `onMutationSuccess`: The callback function which is triggered on the success of mutation functions(create, update & delete).
92
93
 
93
94
  ##### Usage
94
95
  ```jsx
@@ -97,6 +98,8 @@ import React from "react";
97
98
  import { MessageTemplates } from "@bigbinary/neeto-message-templates-frontend";
98
99
 
99
100
  const App = () => {
101
+ const queryClient = useQueryClient();
102
+
100
103
  const breadcrumbs = [
101
104
  {
102
105
  link: "/settings",
@@ -130,6 +133,7 @@ const App = () => {
130
133
  type={type}
131
134
  isTestingTemplateDisabled={isTestingTemplateDisabled}
132
135
  manageTemplatesPaneCustomFields={manageTemplatesPaneCustomFields()}
136
+ onMutationSuccess={() => queryClient.invalidateQueries(["rules"])}
133
137
  />
134
138
  );
135
139
  };
@@ -206,7 +210,8 @@ This component is used to manage the API templates in your application. It provi
206
210
  - `ownerId`: To provide the `ID` of the owner to which the API templates belongs to.
207
211
 
208
212
  ##### Optional props
209
- - `breadcrumbs`: An array of objects that specify breadcrumbs for navigation.
213
+ - `breadcrumbs`: An array of objects that specify breadcrumbs for navigation.
214
+ - `onMutationSuccess`: The callback function which is triggered on the success of mutation functions(create, update & delete).
210
215
 
211
216
  ##### Usage
212
217
  ```js
@@ -215,10 +220,17 @@ import React from "react";
215
220
  import { ApiTemplates } from "neetomessagetemplates";
216
221
 
217
222
  const App = () => {
223
+ const queryClient = useQueryClient();
224
+
218
225
  const breadcrumbs = [{ link: "/settings", text: "Settings" }];
219
226
  const ownerId = "ownerId";
220
227
 
221
- return <ApiTemplates {...{ breadcrumbs, ownerId }} />;
228
+ return (
229
+ <ApiTemplates
230
+ {...{ breadcrumbs, ownerId }}
231
+ onMutationSuccess={() => queryClient.invalidateQueries(["rules"])}
232
+ />
233
+ );
222
234
  };
223
235
  ```
224
236
 
package/dist/index.cjs.js CHANGED
@@ -2385,7 +2385,8 @@ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t
2385
2385
  var RowActions = function RowActions(_ref) {
2386
2386
  var template = _ref.template,
2387
2387
  setManageTemplatePane = _ref.setManageTemplatePane,
2388
- ownerId = _ref.ownerId;
2388
+ ownerId = _ref.ownerId,
2389
+ onMutationSuccess = _ref.onMutationSuccess;
2389
2390
  var _useUpdateTemplate = useUpdateTemplate(ownerId),
2390
2391
  update = _useUpdateTemplate.mutate;
2391
2392
  var status = template.status,
@@ -2412,6 +2413,8 @@ var RowActions = function RowActions(_ref) {
2412
2413
  templateType: templateType
2413
2414
  },
2414
2415
  id: id
2416
+ }, {
2417
+ onSuccess: onMutationSuccess
2415
2418
  });
2416
2419
  };
2417
2420
  return /*#__PURE__*/React__default["default"].createElement(MoreDropdown__default["default"], {
@@ -2448,7 +2451,7 @@ var renderSearchProps = function renderSearchProps(label, value) {
2448
2451
  "data-cy": "".concat(neetoCist.hyphenate(value), "-search-input")
2449
2452
  };
2450
2453
  };
2451
- var buildTableColumnData$1 = function buildTableColumnData(setManageTemplatePane, ownerId) {
2454
+ var buildTableColumnData$1 = function buildTableColumnData(setManageTemplatePane, ownerId, onMutationSuccess) {
2452
2455
  return [{
2453
2456
  dataIndex: "name",
2454
2457
  key: "name",
@@ -2466,6 +2469,7 @@ var buildTableColumnData$1 = function buildTableColumnData(setManageTemplatePane
2466
2469
  return handleEditTemplate(setManageTemplatePane, template);
2467
2470
  }
2468
2471
  }), /*#__PURE__*/React__default["default"].createElement(RowActions, {
2472
+ onMutationSuccess: onMutationSuccess,
2469
2473
  ownerId: ownerId,
2470
2474
  setManageTemplatePane: setManageTemplatePane,
2471
2475
  template: template
@@ -3071,7 +3075,8 @@ var Form$1 = function Form(_ref) {
3071
3075
  shouldIncludeTestTemplate = _ref.shouldIncludeTestTemplate,
3072
3076
  templateVariables = _ref.templateVariables,
3073
3077
  isTestingTemplateDisabled = _ref.isTestingTemplateDisabled,
3074
- customFields = _ref.customFields;
3078
+ customFields = _ref.customFields,
3079
+ onMutationSuccess = _ref.onMutationSuccess;
3075
3080
  var _useTranslation = reactI18next.useTranslation(),
3076
3081
  t = _useTranslation.t;
3077
3082
  var editorRef = React.useRef(null);
@@ -3095,7 +3100,8 @@ var Form$1 = function Form(_ref) {
3095
3100
  id: template.id
3096
3101
  }, {
3097
3102
  onSuccess: function onSuccess() {
3098
- return onClose();
3103
+ onMutationSuccess.apply(void 0, arguments);
3104
+ onClose();
3099
3105
  }
3100
3106
  });
3101
3107
  };
@@ -3170,7 +3176,8 @@ var AddEdit = function AddEdit(_ref) {
3170
3176
  editText = _ref.editText,
3171
3177
  templateVariables = _ref.templateVariables,
3172
3178
  isTestingTemplateDisabled = _ref.isTestingTemplateDisabled,
3173
- customFields = _ref.customFields;
3179
+ customFields = _ref.customFields,
3180
+ onMutationSuccess = _ref.onMutationSuccess;
3174
3181
  var initialFocusField = React.useRef();
3175
3182
  var setInitialFocusField = function setInitialFocusField(fieldRef) {
3176
3183
  return initialFocusField.current = fieldRef;
@@ -3194,6 +3201,7 @@ var AddEdit = function AddEdit(_ref) {
3194
3201
  isTestMessageLoading: isTestMessageLoading,
3195
3202
  isTestingTemplateDisabled: isTestingTemplateDisabled,
3196
3203
  onClose: onClose,
3204
+ onMutationSuccess: onMutationSuccess,
3197
3205
  setInitialFocusField: setInitialFocusField,
3198
3206
  shouldIncludeTestTemplate: shouldIncludeTestTemplate,
3199
3207
  template: template,
@@ -3302,7 +3310,8 @@ var List = function List(_ref) {
3302
3310
  addText = _ref.addText,
3303
3311
  isFilterApplied = _ref.isFilterApplied,
3304
3312
  ownerId = _ref.ownerId,
3305
- type = _ref.type;
3313
+ type = _ref.type,
3314
+ onMutationSuccess = _ref.onMutationSuccess;
3306
3315
  var _useTranslation = reactI18next.useTranslation(),
3307
3316
  t = _useTranslation.t;
3308
3317
  var _useDeleteTemplate = useDeleteTemplate(ownerId),
@@ -3319,6 +3328,7 @@ var List = function List(_ref) {
3319
3328
  var emptyStateLabel = isSms ? label : label.toLowerCase();
3320
3329
  var handleDelete = function handleDelete() {
3321
3330
  deleteTemplate(template.id, {
3331
+ onSuccess: onMutationSuccess,
3322
3332
  onSettled: function onSettled() {
3323
3333
  setManageTemplatePane(ramda.assoc("isDelete", false));
3324
3334
  }
@@ -3329,7 +3339,6 @@ var List = function List(_ref) {
3329
3339
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
3330
3340
  totalCount: totalCount,
3331
3341
  fixedHeight: true,
3332
- columnData: buildTableColumnData$1(setManageTemplatePane, ownerId),
3333
3342
  currentPageNumber: pageIndex,
3334
3343
  defaultPageSize: pageSize,
3335
3344
  loading: isLoading,
@@ -3337,6 +3346,7 @@ var List = function List(_ref) {
3337
3346
  scroll: {
3338
3347
  x: "100%"
3339
3348
  },
3349
+ columnData: buildTableColumnData$1(setManageTemplatePane, ownerId, onMutationSuccess),
3340
3350
  handlePageChange: function handlePageChange(index, size) {
3341
3351
  return setPageProperties({
3342
3352
  index: index,
@@ -3397,7 +3407,9 @@ var MessageTemplates = function MessageTemplates(_ref) {
3397
3407
  _ref$isTestingTemplat = _ref.isTestingTemplateDisabled,
3398
3408
  isTestingTemplateDisabled = _ref$isTestingTemplat === void 0 ? false : _ref$isTestingTemplat,
3399
3409
  _ref$manageTemplatesP = _ref.manageTemplatesPaneCustomFields,
3400
- manageTemplatesPaneCustomFields = _ref$manageTemplatesP === void 0 ? null : _ref$manageTemplatesP;
3410
+ manageTemplatesPaneCustomFields = _ref$manageTemplatesP === void 0 ? null : _ref$manageTemplatesP,
3411
+ _ref$onMutationSucces = _ref.onMutationSuccess,
3412
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? neetoCist.noop : _ref$onMutationSucces;
3401
3413
  var _useState = React.useState(MESSAGE_TEMPLATE_INITIAL_STATE),
3402
3414
  _useState2 = _slicedToArray(_useState, 2),
3403
3415
  manageTemplatePane = _useState2[0],
@@ -3482,6 +3494,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
3482
3494
  label: label,
3483
3495
  labelSingular: labelSingular,
3484
3496
  manageTemplatePane: manageTemplatePane,
3497
+ onMutationSuccess: onMutationSuccess,
3485
3498
  ownerId: ownerId,
3486
3499
  pageProperties: pageProperties,
3487
3500
  setManageTemplatePane: setManageTemplatePane,
@@ -3496,6 +3509,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
3496
3509
  isTestMessageLoading: isTestMessageLoading,
3497
3510
  isTestingTemplateDisabled: isTestingTemplateDisabled,
3498
3511
  manageTemplatePane: manageTemplatePane,
3512
+ onMutationSuccess: onMutationSuccess,
3499
3513
  shouldIncludeTestTemplate: shouldIncludeTestTemplate,
3500
3514
  templateVariables: templateVariables,
3501
3515
  customFields: manageTemplatesPaneCustomFields,
@@ -4016,7 +4030,8 @@ var Form = function Form(_ref) {
4016
4030
  var setFocusField = _ref.setFocusField,
4017
4031
  onClose = _ref.onClose,
4018
4032
  ownerId = _ref.ownerId,
4019
- selectedApiTemplate = _ref.selectedApiTemplate;
4033
+ selectedApiTemplate = _ref.selectedApiTemplate,
4034
+ onMutationSuccess = _ref.onMutationSuccess;
4020
4035
  var _useTranslation = reactI18next.useTranslation(),
4021
4036
  t = _useTranslation.t;
4022
4037
  var _useCreateTemplate = useCreateTemplate(ownerId),
@@ -4030,7 +4045,10 @@ var Form = function Form(_ref) {
4030
4045
  var setSubmitting = _ref2.setSubmitting;
4031
4046
  var payload = buildApiTemplatePayload(values);
4032
4047
  var options = {
4033
- onSuccess: onClose,
4048
+ onSuccess: function onSuccess() {
4049
+ onMutationSuccess.apply(void 0, arguments);
4050
+ onClose();
4051
+ },
4034
4052
  onSettled: function onSettled() {
4035
4053
  return setSubmitting(false);
4036
4054
  }
@@ -4081,7 +4099,9 @@ var Form = function Form(_ref) {
4081
4099
  var ApiTemplates = function ApiTemplates(_ref) {
4082
4100
  var ownerId = _ref.ownerId,
4083
4101
  _ref$breadcrumbs = _ref.breadcrumbs,
4084
- breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs;
4102
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
4103
+ _ref$onMutationSucces = _ref.onMutationSuccess,
4104
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? neetoCist.noop : _ref$onMutationSucces;
4085
4105
  var _useTranslation = reactI18next.useTranslation(),
4086
4106
  t = _useTranslation.t;
4087
4107
  var _useState = React.useState(DEFAULT_PAGE_PROPERTIES),
@@ -4164,11 +4184,16 @@ var ApiTemplates = function ApiTemplates(_ref) {
4164
4184
  templateType: API_TEMPLATE_TYPE
4165
4185
  },
4166
4186
  id: id
4187
+ }, {
4188
+ onSuccess: onMutationSuccess
4167
4189
  });
4168
4190
  };
4169
4191
  var handleDeleteApiTemplate = function handleDeleteApiTemplate() {
4170
4192
  return deleteTemplate(selectedApiTemplate.id, {
4171
- onSuccess: handleCloseDeleteAlertAndFormPane
4193
+ onSuccess: function onSuccess() {
4194
+ onMutationSuccess.apply(void 0, arguments);
4195
+ handleCloseDeleteAlertAndFormPane();
4196
+ }
4172
4197
  });
4173
4198
  };
4174
4199
  return /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(NeetoHeader__default["default"], {
@@ -4246,6 +4271,7 @@ var ApiTemplates = function ApiTemplates(_ref) {
4246
4271
  }, function (_ref3) {
4247
4272
  var setFocusField = _ref3.setFocusField;
4248
4273
  return /*#__PURE__*/React__default["default"].createElement(Form, {
4274
+ onMutationSuccess: onMutationSuccess,
4249
4275
  ownerId: ownerId,
4250
4276
  selectedApiTemplate: selectedApiTemplate,
4251
4277
  setFocusField: setFocusField,