@bigbinary/neeto-approvals-frontend 0.2.8 → 0.2.10

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,8 +23,8 @@ var pure = require('@bigbinary/neeto-commons-frontend/pure');
23
23
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
24
24
  var formik = require('@bigbinary/neetoui/formik');
25
25
  var yup = require('yup');
26
- var neetoIcons = require('@bigbinary/neeto-icons');
27
26
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
27
+ var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
28
28
  var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
29
29
 
30
30
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -57,6 +57,7 @@ var utc__default = /*#__PURE__*/_interopDefaultLegacy(utc);
57
57
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
58
58
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
59
59
  var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
60
+ var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
60
61
  var NeetoHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoHeader);
61
62
 
62
63
  function _typeof$1(obj) {
@@ -168,35 +169,6 @@ var routes = {
168
169
  "public": "approvals/public/request/:id"
169
170
  };
170
171
 
171
- new URLSearchParams(window.location.search);
172
- var DEFAULT_FILTER_VALUES = {
173
- searchTerm: "",
174
- sortBy: "",
175
- orderBy: ""
176
- };
177
- var SEARCH_DELAY = 750;
178
- var STATUSES = {
179
- approved: "approved",
180
- rejected: "rejected",
181
- pending: "pending",
182
- cancelled: "cancelled"
183
- };
184
- var STATUS_TAG_STYLE = {
185
- pending: "primary",
186
- approved: "success",
187
- rejected: "danger",
188
- cancelled: "warning"
189
- };
190
- var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
191
- message: "",
192
- additionalInfo: ""
193
- };
194
- var STATUS_UPDATED_BY = {
195
- rejected: i18next.t("neetoApprovals.common.rejectedBy"),
196
- approved: i18next.t("neetoApprovals.common.approvedBy"),
197
- cancelled: i18next.t("neetoApprovals.common.cancelledBy")
198
- };
199
-
200
172
  function _arrayWithHoles(arr) {
201
173
  if (Array.isArray(arr)) return arr;
202
174
  }
@@ -322,9 +294,9 @@ var findBy = /*#__PURE__*/ramda.curry(function (pattern, array) {
322
294
  return array.find(matches(pattern));
323
295
  });
324
296
 
325
- var handleEmptyPage = function handleEmptyPage(data, pageProperties, handleTablePagination) {
297
+ var handleEmptyPage = function handleEmptyPage(data, pageProperties, handlePageChange) {
326
298
  if (ramda.isEmpty(data) && pageProperties.page !== 1) {
327
- handleTablePagination(pageProperties.page - 1, pageProperties.pageSize);
299
+ handlePageChange(pageProperties.page - 1, pageProperties.pageSize);
328
300
  }
329
301
  };
330
302
 
@@ -385,49 +357,63 @@ var useUpdateRequest = function useUpdateRequest(options) {
385
357
  }, options));
386
358
  };
387
359
 
388
- var useUrlSearchParams = function useUrlSearchParams() {
389
- var _useLocation = reactRouterDom.useLocation(),
390
- search = _useLocation.search;
391
- return React.useMemo(function () {
392
- return new URLSearchParams(search);
393
- }, [search]);
394
- };
395
-
396
360
  var usePaginate = function usePaginate() {
397
- var urlParams = useUrlSearchParams();
398
361
  var _useState = React.useState({
399
- page: Number(urlParams.get("page")) || constants.DEFAULT_PAGE_INDEX,
400
- pageSize: Number(urlParams.get("size")) || constants.DEFAULT_PAGE_SIZE
362
+ page: constants.DEFAULT_PAGE_INDEX,
363
+ pageSize: constants.DEFAULT_PAGE_SIZE
401
364
  }),
402
365
  _useState2 = _slicedToArray$1(_useState, 2),
403
366
  pageProperties = _useState2[0],
404
367
  setPageProperties = _useState2[1];
405
- var history = reactRouterDom.useHistory();
406
- var handleTablePagination = React.useCallback(function (page, pageSize) {
407
- urlParams.set("page", page);
408
- urlParams.set("size", pageSize);
409
- history.push({
410
- search: urlParams.toString()
368
+ var resetPageProperties = function resetPageProperties() {
369
+ return setPageProperties({
370
+ page: constants.DEFAULT_PAGE_INDEX,
371
+ pageSize: constants.DEFAULT_PAGE_SIZE
411
372
  });
373
+ };
374
+ var handlePageChange = function handlePageChange(page, pageSize) {
412
375
  setPageProperties({
413
376
  page: page,
414
377
  pageSize: pageSize
415
378
  });
416
- }, [urlParams, history]);
417
- React.useEffect(function () {
418
- var page = urlParams.get("page") || constants.DEFAULT_PAGE_INDEX;
419
- var pageSize = urlParams.get("size") || constants.DEFAULT_PAGE_SIZE;
420
- setPageProperties({
421
- page: Number(page),
422
- pageSize: Number(pageSize)
423
- });
424
- }, [urlParams]);
379
+ };
425
380
  return {
426
381
  pageProperties: pageProperties,
427
- handleTablePagination: handleTablePagination
382
+ resetPageProperties: resetPageProperties,
383
+ handlePageChange: handlePageChange
428
384
  };
429
385
  };
430
386
 
387
+ new URLSearchParams(window.location.search);
388
+ var DEFAULT_FILTER_VALUES = {
389
+ searchTerm: "",
390
+ sortBy: "",
391
+ orderBy: ""
392
+ };
393
+ var SEARCH_DELAY = 750;
394
+ var STATUSES = {
395
+ approved: "approved",
396
+ rejected: "rejected",
397
+ pending: "pending",
398
+ cancelled: "cancelled"
399
+ };
400
+ var STATUS_TAG_STYLE = {
401
+ pending: "primary",
402
+ approved: "success",
403
+ rejected: "danger",
404
+ cancelled: "warning"
405
+ };
406
+ var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
407
+ message: "",
408
+ additionalInfo: ""
409
+ };
410
+ var STATUS_UPDATED_BY = {
411
+ rejected: i18next.t("neetoApprovals.common.rejectedBy"),
412
+ approved: i18next.t("neetoApprovals.common.approvedBy"),
413
+ cancelled: i18next.t("neetoApprovals.common.cancelledBy")
414
+ };
415
+ var DATA_CY_KEY = "data-cy";
416
+
431
417
  dayjs__default["default"].extend(utc__default["default"]);
432
418
  dayjs__default["default"].extend(timezone__default["default"]);
433
419
  var updateApprovalDetails = function updateApprovalDetails(_ref) {
@@ -634,7 +620,7 @@ var History = function History(_ref) {
634
620
  var debouncedSearchTerm = reactUtils.useDebounce(filters.searchTerm, SEARCH_DELAY);
635
621
  var _usePaginate = usePaginate(),
636
622
  pageProperties = _usePaginate.pageProperties,
637
- handleTablePagination = _usePaginate.handleTablePagination;
623
+ handlePageChange = _usePaginate.handlePageChange;
638
624
  var _useState3 = React.useState({}),
639
625
  _useState4 = _slicedToArray$1(_useState3, 2),
640
626
  approvalDetails = _useState4[0],
@@ -647,8 +633,9 @@ var History = function History(_ref) {
647
633
  status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled]
648
634
  }),
649
635
  options: {
650
- onSuccess: function onSuccess(requests) {
651
- handleEmptyPage(requests, pageProperties, handleTablePagination);
636
+ onSuccess: function onSuccess(_ref2) {
637
+ var requests = _ref2.requests;
638
+ handleEmptyPage(requests, pageProperties, handlePageChange);
652
639
  setApprovalDetails(function (approvalDetails) {
653
640
  return updateApprovalDetails({
654
641
  requestsData: requests,
@@ -667,7 +654,7 @@ var History = function History(_ref) {
667
654
  totalCount = _useFetchRequests$dat4 === void 0 ? 0 : _useFetchRequests$dat4;
668
655
  var handleTableChange = function handleTableChange(_, __, sorter) {
669
656
  setFilters(_objectSpread$a(_objectSpread$a({}, filters), {}, {
670
- sortBy: camelToSnakeCase(sorter.field),
657
+ sortBy: camelToSnakeCase(sorter.field || ""),
671
658
  orderBy: sorter.order
672
659
  }));
673
660
  };
@@ -680,8 +667,8 @@ var History = function History(_ref) {
680
667
  currentPageNumber: pageProperties.page,
681
668
  defaultPageSize: pageProperties.pageSize,
682
669
  rowData: approvalHistories,
670
+ handlePageChange: handlePageChange,
683
671
  totalCount: totalCount,
684
- handlePageChange: handleTablePagination,
685
672
  paginationProps: {
686
673
  hideOnSinglePage: (approvalHistories === null || approvalHistories === void 0 ? void 0 : approvalHistories.length) < constants.DEFAULT_PAGE_SIZE + 1
687
674
  },
@@ -724,7 +711,7 @@ var PendingRequests = function PendingRequests(_ref) {
724
711
  var debouncedSearchTerm = reactUtils.useDebounce(filters.searchTerm, SEARCH_DELAY);
725
712
  var _usePaginate = usePaginate(),
726
713
  pageProperties = _usePaginate.pageProperties,
727
- handleTablePagination = _usePaginate.handleTablePagination;
714
+ handlePageChange = _usePaginate.handlePageChange;
728
715
  var _useTranslation = reactI18next.useTranslation(),
729
716
  t = _useTranslation.t;
730
717
  var _useFetchRequests = useFetchRequests({
@@ -733,8 +720,9 @@ var PendingRequests = function PendingRequests(_ref) {
733
720
  status: [STATUSES.pending]
734
721
  }),
735
722
  options: {
736
- onSuccess: function onSuccess(requests) {
737
- handleEmptyPage(requests, pageProperties, handleTablePagination);
723
+ onSuccess: function onSuccess(_ref2) {
724
+ var requests = _ref2.requests;
725
+ handleEmptyPage(requests, pageProperties, handlePageChange);
738
726
  }
739
727
  },
740
728
  requestUrl: requestUrl
@@ -750,7 +738,7 @@ var PendingRequests = function PendingRequests(_ref) {
750
738
  isLoading = _useUpdateRequest.isLoading;
751
739
  var handleTableChange = function handleTableChange(_, __, sorter) {
752
740
  setFilters(_objectSpread$9(_objectSpread$9({}, filters), {}, {
753
- sortBy: camelToSnakeCase(sorter.field),
741
+ sortBy: camelToSnakeCase(sorter.field || ""),
754
742
  orderBy: sorter.order
755
743
  }));
756
744
  };
@@ -773,8 +761,8 @@ var PendingRequests = function PendingRequests(_ref) {
773
761
  currentPageNumber: pageProperties.page,
774
762
  defaultPageSize: pageProperties.pageSize,
775
763
  rowData: pendingRequests,
764
+ handlePageChange: handlePageChange,
776
765
  totalCount: totalCount,
777
- handlePageChange: handleTablePagination,
778
766
  paginationProps: {
779
767
  hideOnSinglePage: (pendingRequests === null || pendingRequests === void 0 ? void 0 : pendingRequests.length) < constants.DEFAULT_PAGE_SIZE + 1
780
768
  },
@@ -1049,10 +1037,12 @@ var Form$1 = function Form(_ref) {
1049
1037
  }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
1050
1038
  className: "flex gap-x-2"
1051
1039
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
1040
+ "data-cy": "neeto-approvals-templates-save-template-btn",
1052
1041
  label: t("neetoApprovals.buttons.saveChanges"),
1053
1042
  loading: isLoading,
1054
1043
  type: "submit"
1055
1044
  }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
1045
+ "data-cy": "neeto-approvals-templates-close-template-form-btn",
1056
1046
  label: t("neetoApprovals.buttons.cancel"),
1057
1047
  style: "text",
1058
1048
  onClick: onClose
@@ -1189,53 +1179,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
1189
1179
  }))));
1190
1180
  };
1191
1181
 
1192
- var Menu = neetoui.Dropdown.Menu,
1193
- MenuItem = neetoui.Dropdown.MenuItem;
1194
- var columnData = function columnData(_ref) {
1195
- var onEditClick = _ref.onEditClick,
1196
- onDeleteClick = _ref.onDeleteClick;
1197
- return [{
1198
- dataIndex: "name",
1199
- key: "name",
1200
- sorter: true,
1201
- title: i18next__default["default"].t("neetoApprovals.common.name")
1202
- }, {
1203
- dataIndex: "approverName",
1204
- key: "approverName",
1205
- title: i18next__default["default"].t("neetoApprovals.common.approver", constants.SINGULAR)
1206
- }, {
1207
- key: "actions",
1208
- ellipsis: true,
1209
- render: function render(_, template) {
1210
- return /*#__PURE__*/React__default["default"].createElement("div", {
1211
- className: "flex flex-row items-center justify-end space-x-3",
1212
- onClick: function onClick(event) {
1213
- return event.stopPropagation();
1214
- }
1215
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
1216
- autoWidth: true,
1217
- buttonProps: {
1218
- style: "text"
1219
- },
1220
- className: "flex-shrink-0",
1221
- icon: neetoIcons.MenuHorizontal,
1222
- position: "bottom-end",
1223
- strategy: "fixed"
1224
- }, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
1225
- "data-cy": "approvers-edit-button",
1226
- onClick: function onClick() {
1227
- return onEditClick(template);
1228
- }
1229
- }, i18next__default["default"].t("neetoApprovals.common.edit")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
1230
- "data-cy": "approvers-delete-button",
1231
- onClick: function onClick() {
1232
- return onDeleteClick(template);
1233
- }
1234
- }, i18next__default["default"].t("neetoApprovals.common.delete")))));
1235
- }
1236
- }];
1237
- };
1238
-
1239
1182
  var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
1240
1183
  var entity = _ref.entity,
1241
1184
  url = _ref.url;
@@ -1256,14 +1199,14 @@ var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
1256
1199
  });
1257
1200
  };
1258
1201
 
1259
- var _excluded$1 = ["entity", "columnData", "items", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick"];
1202
+ var _excluded$1 = ["entity", "columnData", "rowData", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick", "pageProperties"];
1260
1203
  function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1261
1204
  function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1262
1205
  var Table = function Table(_ref) {
1263
1206
  var _t;
1264
1207
  var entity = _ref.entity,
1265
1208
  columnData = _ref.columnData,
1266
- items = _ref.items,
1209
+ rowData = _ref.rowData,
1267
1210
  totalCount = _ref.totalCount,
1268
1211
  filters = _ref.filters,
1269
1212
  setFilters = _ref.setFilters,
@@ -1271,10 +1214,8 @@ var Table = function Table(_ref) {
1271
1214
  helpDocUrl = _ref.helpDocUrl,
1272
1215
  onEditClick = _ref.onEditClick,
1273
1216
  onDeleteClick = _ref.onDeleteClick,
1217
+ pageProperties = _ref.pageProperties,
1274
1218
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
1275
- var _usePaginate = usePaginate(),
1276
- pageProperties = _usePaginate.pageProperties,
1277
- handleTablePagination = _usePaginate.handleTablePagination;
1278
1219
  var _useTranslation = reactI18next.useTranslation(),
1279
1220
  t = _useTranslation.t;
1280
1221
  var columns = columnData({
@@ -1301,7 +1242,7 @@ var Table = function Table(_ref) {
1301
1242
  url: helpDocUrl
1302
1243
  })
1303
1244
  };
1304
- if (ramda.isEmpty(items)) {
1245
+ if (ramda.isEmpty(rowData)) {
1305
1246
  return /*#__PURE__*/React__default["default"].createElement("div", {
1306
1247
  className: "flex h-full w-full flex-grow items-center justify-center"
1307
1248
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({
@@ -1318,55 +1259,111 @@ var Table = function Table(_ref) {
1318
1259
  columnData: columns,
1319
1260
  currentPageNumber: pageProperties.page,
1320
1261
  defaultPageSize: pageProperties.pageSize,
1321
- handlePageChange: handleTablePagination,
1322
- rowData: items,
1262
+ scroll: {
1263
+ x: 0
1264
+ },
1265
+ tableLayout: "fixed",
1323
1266
  paginationProps: {
1324
- hideOnSinglePage: (items === null || items === void 0 ? void 0 : items.length) < constants.DEFAULT_PAGE_SIZE + 1
1267
+ hideOnSinglePage: (rowData === null || rowData === void 0 ? void 0 : rowData.length) < constants.DEFAULT_PAGE_SIZE + 1
1325
1268
  },
1326
1269
  onChange: handleTableChange
1327
1270
  }, _objectSpread$5({
1271
+ rowData: rowData,
1328
1272
  totalCount: totalCount
1329
1273
  }, otherProps))));
1330
1274
  };
1331
1275
 
1332
- var _excluded = ["filters", "isNewTemplatePaneOpen", "setFilters", "setIsNewTemplatePaneOpen", "helpDocUrl"];
1276
+ var columnData = function columnData(_ref) {
1277
+ var onEditClick = _ref.onEditClick,
1278
+ onDeleteClick = _ref.onDeleteClick;
1279
+ return [{
1280
+ dataIndex: "name",
1281
+ key: "name",
1282
+ sorter: true,
1283
+ title: i18next__default["default"].t("neetoApprovals.common.name"),
1284
+ ellipsis: true,
1285
+ render: function render(_, template) {
1286
+ return /*#__PURE__*/React__default["default"].createElement("div", {
1287
+ className: "flex items-center justify-between gap-x-3"
1288
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
1289
+ className: "truncate",
1290
+ style: "body2"
1291
+ }, template.name), /*#__PURE__*/React__default["default"].createElement(MoreDropdown__default["default"], {
1292
+ dropdownProps: {
1293
+ strategy: "fixed",
1294
+ onClick: function onClick(e) {
1295
+ return e.stopPropagation();
1296
+ }
1297
+ },
1298
+ menuItems: [_defineProperty({
1299
+ key: "edit",
1300
+ label: i18next__default["default"].t("neetoApprovals.common.edit"),
1301
+ onClick: function onClick(event) {
1302
+ return onEditClick(event, template);
1303
+ }
1304
+ }, DATA_CY_KEY, "neeto-approvals-templates-edit-template-btn"), _defineProperty({
1305
+ key: "delete",
1306
+ label: i18next__default["default"].t("neetoApprovals.common.delete"),
1307
+ onClick: function onClick(event) {
1308
+ return onDeleteClick(event, template);
1309
+ }
1310
+ }, DATA_CY_KEY, "neeto-approvals-templates-delete-template-btn")]
1311
+ }));
1312
+ }
1313
+ }, {
1314
+ dataIndex: "approverName",
1315
+ key: "approverName",
1316
+ sorter: true,
1317
+ title: i18next__default["default"].t("neetoApprovals.common.approver", constants.SINGULAR)
1318
+ }];
1319
+ };
1320
+
1321
+ var _excluded = ["searchTerm", "isNewTemplatePaneOpen", "setIsNewTemplatePaneOpen", "helpDocUrl"];
1333
1322
  function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1334
1323
  function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1335
1324
  var Templates = function Templates(_ref) {
1336
1325
  var _t, _t2, _t3;
1337
- var filters = _ref.filters,
1326
+ var searchTerm = _ref.searchTerm,
1338
1327
  isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
1339
- setFilters = _ref.setFilters,
1340
1328
  setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen,
1341
1329
  helpDocUrl = _ref.helpDocUrl,
1342
1330
  otherProps = _objectWithoutProperties(_ref, _excluded);
1343
- var _useState = React.useState({}),
1331
+ var _useState = React.useState(DEFAULT_FILTER_VALUES),
1344
1332
  _useState2 = _slicedToArray$1(_useState, 2),
1345
- selectedTemplate = _useState2[0],
1346
- setSelectedTemplate = _useState2[1];
1347
- var _useState3 = React.useState(false),
1333
+ filters = _useState2[0],
1334
+ setFilters = _useState2[1];
1335
+ var _useState3 = React.useState({}),
1348
1336
  _useState4 = _slicedToArray$1(_useState3, 2),
1349
- isDeleteAlertOpen = _useState4[0],
1350
- setIsDeleteAlertOpen = _useState4[1];
1337
+ selectedTemplate = _useState4[0],
1338
+ setSelectedTemplate = _useState4[1];
1351
1339
  var _useState5 = React.useState(false),
1352
1340
  _useState6 = _slicedToArray$1(_useState5, 2),
1353
- isEditPaneOpen = _useState6[0],
1354
- setIsEditPaneOpen = _useState6[1];
1341
+ isDeleteAlertOpen = _useState6[0],
1342
+ setIsDeleteAlertOpen = _useState6[1];
1355
1343
  var _useState7 = React.useState(false),
1356
1344
  _useState8 = _slicedToArray$1(_useState7, 2),
1357
- isShowPaneOpen = _useState8[0],
1358
- setIsShowPaneOpen = _useState8[1];
1359
- var debouncedSearchTerm = reactUtils.useDebounce(filters.searchTerm, SEARCH_DELAY);
1345
+ isEditPaneOpen = _useState8[0],
1346
+ setIsEditPaneOpen = _useState8[1];
1347
+ var _useState9 = React.useState(false),
1348
+ _useState10 = _slicedToArray$1(_useState9, 2),
1349
+ isShowPaneOpen = _useState10[0],
1350
+ setIsShowPaneOpen = _useState10[1];
1360
1351
  var _usePaginate = usePaginate(),
1361
1352
  pageProperties = _usePaginate.pageProperties,
1362
- handleTablePagination = _usePaginate.handleTablePagination;
1353
+ handlePageChange = _usePaginate.handlePageChange,
1354
+ resetPageProperties = _usePaginate.resetPageProperties;
1363
1355
  var _useTranslation = reactI18next.useTranslation(),
1364
1356
  t = _useTranslation.t;
1357
+ var debouncedSearchTerm = reactUtils.useDebounce(searchTerm, SEARCH_DELAY);
1358
+ React.useEffect(function () {
1359
+ resetPageProperties();
1360
+ }, [searchTerm]);
1365
1361
  var _useFetchTemplates = useFetchTemplates(_objectSpread$4(_objectSpread$4(_objectSpread$4({}, pageProperties), filters), {}, {
1366
1362
  searchTerm: debouncedSearchTerm.trim()
1367
1363
  }), {
1368
- onSuccess: function onSuccess(templates) {
1369
- handleEmptyPage(templates, pageProperties, handleTablePagination);
1364
+ onSuccess: function onSuccess(_ref2) {
1365
+ var templates = _ref2.templates;
1366
+ handleEmptyPage(templates, pageProperties, handlePageChange);
1370
1367
  }
1371
1368
  }),
1372
1369
  _useFetchTemplates$da = _useFetchTemplates.data,
@@ -1386,7 +1383,8 @@ var Templates = function Templates(_ref) {
1386
1383
  setIsShowPaneOpen(false);
1387
1384
  }
1388
1385
  }, [selectedTemplate]);
1389
- var onEditClick = function onEditClick(template) {
1386
+ var onEditClick = function onEditClick(event, template) {
1387
+ event.stopPropagation();
1390
1388
  setSelectedTemplate(template);
1391
1389
  setIsEditPaneOpen(true);
1392
1390
  };
@@ -1394,7 +1392,8 @@ var Templates = function Templates(_ref) {
1394
1392
  setSelectedTemplate(templateDetails);
1395
1393
  setIsShowPaneOpen(true);
1396
1394
  };
1397
- var onDeleteClick = function onDeleteClick(template) {
1395
+ var onDeleteClick = function onDeleteClick(event, template) {
1396
+ event.stopPropagation();
1398
1397
  setSelectedTemplate(template);
1399
1398
  setIsDeleteAlertOpen(true);
1400
1399
  };
@@ -1406,15 +1405,18 @@ var Templates = function Templates(_ref) {
1406
1405
  };
1407
1406
  var entity = (_t = t("neetoApprovals.common.template", constants.PLURAL)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase();
1408
1407
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isTemplateLoading ? /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(Table, {
1409
- items: templates,
1408
+ rowData: templates,
1410
1409
  setIsPaneOpen: setIsNewTemplatePaneOpen,
1411
1410
  columnData: columnData,
1412
1411
  entity: entity,
1413
1412
  filters: filters,
1413
+ handlePageChange: handlePageChange,
1414
1414
  helpDocUrl: helpDocUrl,
1415
1415
  onDeleteClick: onDeleteClick,
1416
1416
  onEditClick: onEditClick,
1417
1417
  onRowClick: onRowClick,
1418
+ pageProperties: pageProperties,
1419
+ searchTerm: searchTerm,
1418
1420
  setFilters: setFilters,
1419
1421
  totalCount: totalCount
1420
1422
  }), /*#__PURE__*/React__default["default"].createElement(Create, _extends({
@@ -1463,16 +1465,14 @@ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if
1463
1465
  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; }
1464
1466
  var createRoutes = function createRoutes(_ref) {
1465
1467
  var config = _ref.config,
1466
- filters = _ref.filters,
1467
1468
  isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
1468
- setFilters = _ref.setFilters,
1469
+ searchTerm = _ref.searchTerm,
1469
1470
  setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen;
1470
1471
  return [{
1471
1472
  component: function component() {
1472
1473
  return /*#__PURE__*/React__default["default"].createElement(Templates, _objectSpread$3({
1473
- filters: filters,
1474
1474
  isNewTemplatePaneOpen: isNewTemplatePaneOpen,
1475
- setFilters: setFilters,
1475
+ searchTerm: searchTerm,
1476
1476
  setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
1477
1477
  }, config));
1478
1478
  },
@@ -1480,6 +1480,7 @@ var createRoutes = function createRoutes(_ref) {
1480
1480
  actionBlock: function actionBlock() {
1481
1481
  var _t;
1482
1482
  return /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
1483
+ "data-cy": "neeto-approvals-templates-add-new-button",
1483
1484
  label: i18next.t("neetoApprovals.common.addNew_", {
1484
1485
  what: (_t = i18next.t("neetoApprovals.common.template", constants.SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
1485
1486
  }),
@@ -1508,8 +1509,8 @@ var Header = function Header(_ref) {
1508
1509
  var _currentTab$actionBlo;
1509
1510
  var appRoutes = _ref.appRoutes,
1510
1511
  breadcrumbs = _ref.breadcrumbs,
1511
- filters = _ref.filters,
1512
- setFilters = _ref.setFilters;
1512
+ setSearchTerm = _ref.setSearchTerm,
1513
+ searchTerm = _ref.searchTerm;
1513
1514
  var _useTranslation = reactI18next.useTranslation(),
1514
1515
  t = _useTranslation.t;
1515
1516
  var _useLocation = reactRouterDom.useLocation(),
@@ -1522,9 +1523,9 @@ var Header = function Header(_ref) {
1522
1523
  title: t("neetoApprovals.common.approval", constants.PLURAL),
1523
1524
  searchProps: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.searchPlaceholder) && {
1524
1525
  onChange: function onChange(event) {
1525
- return setFilters(ramda.assoc("searchTerm", event.target.value));
1526
+ return setSearchTerm(event.target.value);
1526
1527
  },
1527
- value: filters.searchTerm,
1528
+ value: searchTerm,
1528
1529
  placeholder: currentTab === null || currentTab === void 0 ? void 0 : currentTab.searchPlaceholder
1529
1530
  },
1530
1531
  breadcrumbs: breadcrumbs
@@ -1588,27 +1589,26 @@ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if
1588
1589
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1589
1590
  var Approvals = function Approvals(_ref) {
1590
1591
  var config = _ref.config;
1591
- var _useState = React.useState(DEFAULT_FILTER_VALUES),
1592
+ var _useState = React.useState(""),
1592
1593
  _useState2 = _slicedToArray$1(_useState, 2),
1593
- filters = _useState2[0],
1594
- setFilters = _useState2[1];
1594
+ searchTerm = _useState2[0],
1595
+ setSearchTerm = _useState2[1];
1595
1596
  var _useState3 = React.useState(false),
1596
1597
  _useState4 = _slicedToArray$1(_useState3, 2),
1597
1598
  isNewTemplatePaneOpen = _useState4[0],
1598
1599
  setIsNewTemplatePaneOpen = _useState4[1];
1599
1600
  var appRoutes = createRoutes({
1600
1601
  config: config,
1601
- filters: filters,
1602
+ searchTerm: searchTerm,
1602
1603
  isNewTemplatePaneOpen: isNewTemplatePaneOpen,
1603
- setFilters: setFilters,
1604
1604
  setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
1605
1605
  });
1606
1606
  return /*#__PURE__*/React__default["default"].createElement("div", {
1607
1607
  className: "neeto-approvals"
1608
1608
  }, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(Header, _objectSpread$1({
1609
1609
  appRoutes: appRoutes,
1610
- filters: filters,
1611
- setFilters: setFilters
1610
+ searchTerm: searchTerm,
1611
+ setSearchTerm: setSearchTerm
1612
1612
  }, config)), /*#__PURE__*/React__default["default"].createElement(Tab, {
1613
1613
  approvalsPath: config.approvalsPath
1614
1614
  }), /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Switch, null, appRoutes.map(function (_ref2) {