@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.js CHANGED
@@ -1,10 +1,10 @@
1
- import React, { useMemo, useState, useCallback, useEffect, useRef } from 'react';
1
+ import React, { useState, useEffect, useRef } from 'react';
2
2
  import Container from '@bigbinary/neeto-molecules/Container';
3
- import { useLocation, useHistory, Link, Switch, Route, Redirect, useParams } from 'react-router-dom';
3
+ import { Link, useLocation, useHistory, Switch, Route, Redirect, useParams } from 'react-router-dom';
4
4
  import i18next, { t as t$1 } from 'i18next';
5
5
  import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
6
- import { Button, Tag, Pane, Typography, Label, Textarea, Table as Table$1, NoData, Dropdown, Alert, Tab as Tab$1, Select as Select$1, Callout } from '@bigbinary/neetoui';
7
- import { curryN, isNil, curry, complement, either, isEmpty, assoc, keys } from 'ramda';
6
+ import { Button, Tag, Pane, Typography, Label, Textarea, Table as Table$1, NoData, Alert, Tab as Tab$1, Select as Select$1, Callout } from '@bigbinary/neetoui';
7
+ import { curryN, isNil, curry, complement, either, isEmpty, keys } from 'ramda';
8
8
  import { useMutationWithInvalidation, useDebounce, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
9
9
  import { useTranslation, Trans } from 'react-i18next';
10
10
  import { useQuery, useQueryClient } from 'react-query';
@@ -19,8 +19,8 @@ import { removeBy, findById } from '@bigbinary/neeto-commons-frontend/pure';
19
19
  import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
20
20
  import { Form as Form$2, Input, Textarea as Textarea$1, Select } from '@bigbinary/neetoui/formik';
21
21
  import * as yup from 'yup';
22
- import { MenuHorizontal } from '@bigbinary/neeto-icons';
23
22
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
23
+ import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
24
24
  import NeetoHeader from '@bigbinary/neeto-molecules/Header';
25
25
 
26
26
  function _typeof$1(obj) {
@@ -132,35 +132,6 @@ var routes = {
132
132
  "public": "approvals/public/request/:id"
133
133
  };
134
134
 
135
- new URLSearchParams(window.location.search);
136
- var DEFAULT_FILTER_VALUES = {
137
- searchTerm: "",
138
- sortBy: "",
139
- orderBy: ""
140
- };
141
- var SEARCH_DELAY = 750;
142
- var STATUSES = {
143
- approved: "approved",
144
- rejected: "rejected",
145
- pending: "pending",
146
- cancelled: "cancelled"
147
- };
148
- var STATUS_TAG_STYLE = {
149
- pending: "primary",
150
- approved: "success",
151
- rejected: "danger",
152
- cancelled: "warning"
153
- };
154
- var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
155
- message: "",
156
- additionalInfo: ""
157
- };
158
- var STATUS_UPDATED_BY = {
159
- rejected: t$1("neetoApprovals.common.rejectedBy"),
160
- approved: t$1("neetoApprovals.common.approvedBy"),
161
- cancelled: t$1("neetoApprovals.common.cancelledBy")
162
- };
163
-
164
135
  function _arrayWithHoles(arr) {
165
136
  if (Array.isArray(arr)) return arr;
166
137
  }
@@ -286,9 +257,9 @@ var findBy = /*#__PURE__*/curry(function (pattern, array) {
286
257
  return array.find(matches(pattern));
287
258
  });
288
259
 
289
- var handleEmptyPage = function handleEmptyPage(data, pageProperties, handleTablePagination) {
260
+ var handleEmptyPage = function handleEmptyPage(data, pageProperties, handlePageChange) {
290
261
  if (isEmpty(data) && pageProperties.page !== 1) {
291
- handleTablePagination(pageProperties.page - 1, pageProperties.pageSize);
262
+ handlePageChange(pageProperties.page - 1, pageProperties.pageSize);
292
263
  }
293
264
  };
294
265
 
@@ -349,49 +320,63 @@ var useUpdateRequest = function useUpdateRequest(options) {
349
320
  }, options));
350
321
  };
351
322
 
352
- var useUrlSearchParams = function useUrlSearchParams() {
353
- var _useLocation = useLocation(),
354
- search = _useLocation.search;
355
- return useMemo(function () {
356
- return new URLSearchParams(search);
357
- }, [search]);
358
- };
359
-
360
323
  var usePaginate = function usePaginate() {
361
- var urlParams = useUrlSearchParams();
362
324
  var _useState = useState({
363
- page: Number(urlParams.get("page")) || DEFAULT_PAGE_INDEX,
364
- pageSize: Number(urlParams.get("size")) || DEFAULT_PAGE_SIZE
325
+ page: DEFAULT_PAGE_INDEX,
326
+ pageSize: DEFAULT_PAGE_SIZE
365
327
  }),
366
328
  _useState2 = _slicedToArray$1(_useState, 2),
367
329
  pageProperties = _useState2[0],
368
330
  setPageProperties = _useState2[1];
369
- var history = useHistory();
370
- var handleTablePagination = useCallback(function (page, pageSize) {
371
- urlParams.set("page", page);
372
- urlParams.set("size", pageSize);
373
- history.push({
374
- search: urlParams.toString()
331
+ var resetPageProperties = function resetPageProperties() {
332
+ return setPageProperties({
333
+ page: DEFAULT_PAGE_INDEX,
334
+ pageSize: DEFAULT_PAGE_SIZE
375
335
  });
336
+ };
337
+ var handlePageChange = function handlePageChange(page, pageSize) {
376
338
  setPageProperties({
377
339
  page: page,
378
340
  pageSize: pageSize
379
341
  });
380
- }, [urlParams, history]);
381
- useEffect(function () {
382
- var page = urlParams.get("page") || DEFAULT_PAGE_INDEX;
383
- var pageSize = urlParams.get("size") || DEFAULT_PAGE_SIZE;
384
- setPageProperties({
385
- page: Number(page),
386
- pageSize: Number(pageSize)
387
- });
388
- }, [urlParams]);
342
+ };
389
343
  return {
390
344
  pageProperties: pageProperties,
391
- handleTablePagination: handleTablePagination
345
+ resetPageProperties: resetPageProperties,
346
+ handlePageChange: handlePageChange
392
347
  };
393
348
  };
394
349
 
350
+ new URLSearchParams(window.location.search);
351
+ var DEFAULT_FILTER_VALUES = {
352
+ searchTerm: "",
353
+ sortBy: "",
354
+ orderBy: ""
355
+ };
356
+ var SEARCH_DELAY = 750;
357
+ var STATUSES = {
358
+ approved: "approved",
359
+ rejected: "rejected",
360
+ pending: "pending",
361
+ cancelled: "cancelled"
362
+ };
363
+ var STATUS_TAG_STYLE = {
364
+ pending: "primary",
365
+ approved: "success",
366
+ rejected: "danger",
367
+ cancelled: "warning"
368
+ };
369
+ var APPROVAL_REQUEST_FORM_INITIAL_VALUES = {
370
+ message: "",
371
+ additionalInfo: ""
372
+ };
373
+ var STATUS_UPDATED_BY = {
374
+ rejected: t$1("neetoApprovals.common.rejectedBy"),
375
+ approved: t$1("neetoApprovals.common.approvedBy"),
376
+ cancelled: t$1("neetoApprovals.common.cancelledBy")
377
+ };
378
+ var DATA_CY_KEY = "data-cy";
379
+
395
380
  dayjs.extend(utc);
396
381
  dayjs.extend(timezone);
397
382
  var updateApprovalDetails = function updateApprovalDetails(_ref) {
@@ -598,7 +583,7 @@ var History = function History(_ref) {
598
583
  var debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);
599
584
  var _usePaginate = usePaginate(),
600
585
  pageProperties = _usePaginate.pageProperties,
601
- handleTablePagination = _usePaginate.handleTablePagination;
586
+ handlePageChange = _usePaginate.handlePageChange;
602
587
  var _useState3 = useState({}),
603
588
  _useState4 = _slicedToArray$1(_useState3, 2),
604
589
  approvalDetails = _useState4[0],
@@ -611,8 +596,9 @@ var History = function History(_ref) {
611
596
  status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled]
612
597
  }),
613
598
  options: {
614
- onSuccess: function onSuccess(requests) {
615
- handleEmptyPage(requests, pageProperties, handleTablePagination);
599
+ onSuccess: function onSuccess(_ref2) {
600
+ var requests = _ref2.requests;
601
+ handleEmptyPage(requests, pageProperties, handlePageChange);
616
602
  setApprovalDetails(function (approvalDetails) {
617
603
  return updateApprovalDetails({
618
604
  requestsData: requests,
@@ -631,7 +617,7 @@ var History = function History(_ref) {
631
617
  totalCount = _useFetchRequests$dat4 === void 0 ? 0 : _useFetchRequests$dat4;
632
618
  var handleTableChange = function handleTableChange(_, __, sorter) {
633
619
  setFilters(_objectSpread$a(_objectSpread$a({}, filters), {}, {
634
- sortBy: camelToSnakeCase(sorter.field),
620
+ sortBy: camelToSnakeCase(sorter.field || ""),
635
621
  orderBy: sorter.order
636
622
  }));
637
623
  };
@@ -644,8 +630,8 @@ var History = function History(_ref) {
644
630
  currentPageNumber: pageProperties.page,
645
631
  defaultPageSize: pageProperties.pageSize,
646
632
  rowData: approvalHistories,
633
+ handlePageChange: handlePageChange,
647
634
  totalCount: totalCount,
648
- handlePageChange: handleTablePagination,
649
635
  paginationProps: {
650
636
  hideOnSinglePage: (approvalHistories === null || approvalHistories === void 0 ? void 0 : approvalHistories.length) < DEFAULT_PAGE_SIZE + 1
651
637
  },
@@ -688,7 +674,7 @@ var PendingRequests = function PendingRequests(_ref) {
688
674
  var debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);
689
675
  var _usePaginate = usePaginate(),
690
676
  pageProperties = _usePaginate.pageProperties,
691
- handleTablePagination = _usePaginate.handleTablePagination;
677
+ handlePageChange = _usePaginate.handlePageChange;
692
678
  var _useTranslation = useTranslation(),
693
679
  t = _useTranslation.t;
694
680
  var _useFetchRequests = useFetchRequests({
@@ -697,8 +683,9 @@ var PendingRequests = function PendingRequests(_ref) {
697
683
  status: [STATUSES.pending]
698
684
  }),
699
685
  options: {
700
- onSuccess: function onSuccess(requests) {
701
- handleEmptyPage(requests, pageProperties, handleTablePagination);
686
+ onSuccess: function onSuccess(_ref2) {
687
+ var requests = _ref2.requests;
688
+ handleEmptyPage(requests, pageProperties, handlePageChange);
702
689
  }
703
690
  },
704
691
  requestUrl: requestUrl
@@ -714,7 +701,7 @@ var PendingRequests = function PendingRequests(_ref) {
714
701
  isLoading = _useUpdateRequest.isLoading;
715
702
  var handleTableChange = function handleTableChange(_, __, sorter) {
716
703
  setFilters(_objectSpread$9(_objectSpread$9({}, filters), {}, {
717
- sortBy: camelToSnakeCase(sorter.field),
704
+ sortBy: camelToSnakeCase(sorter.field || ""),
718
705
  orderBy: sorter.order
719
706
  }));
720
707
  };
@@ -737,8 +724,8 @@ var PendingRequests = function PendingRequests(_ref) {
737
724
  currentPageNumber: pageProperties.page,
738
725
  defaultPageSize: pageProperties.pageSize,
739
726
  rowData: pendingRequests,
727
+ handlePageChange: handlePageChange,
740
728
  totalCount: totalCount,
741
- handlePageChange: handleTablePagination,
742
729
  paginationProps: {
743
730
  hideOnSinglePage: (pendingRequests === null || pendingRequests === void 0 ? void 0 : pendingRequests.length) < DEFAULT_PAGE_SIZE + 1
744
731
  },
@@ -1013,10 +1000,12 @@ var Form$1 = function Form(_ref) {
1013
1000
  }))), /*#__PURE__*/React.createElement(Pane.Footer, {
1014
1001
  className: "flex gap-x-2"
1015
1002
  }, /*#__PURE__*/React.createElement(Button, {
1003
+ "data-cy": "neeto-approvals-templates-save-template-btn",
1016
1004
  label: t("neetoApprovals.buttons.saveChanges"),
1017
1005
  loading: isLoading,
1018
1006
  type: "submit"
1019
1007
  }), /*#__PURE__*/React.createElement(Button, {
1008
+ "data-cy": "neeto-approvals-templates-close-template-form-btn",
1020
1009
  label: t("neetoApprovals.buttons.cancel"),
1021
1010
  style: "text",
1022
1011
  onClick: onClose
@@ -1153,53 +1142,6 @@ var TemplateDetails = function TemplateDetails(_ref) {
1153
1142
  }))));
1154
1143
  };
1155
1144
 
1156
- var Menu = Dropdown.Menu,
1157
- MenuItem = Dropdown.MenuItem;
1158
- var columnData = function columnData(_ref) {
1159
- var onEditClick = _ref.onEditClick,
1160
- onDeleteClick = _ref.onDeleteClick;
1161
- return [{
1162
- dataIndex: "name",
1163
- key: "name",
1164
- sorter: true,
1165
- title: i18next.t("neetoApprovals.common.name")
1166
- }, {
1167
- dataIndex: "approverName",
1168
- key: "approverName",
1169
- title: i18next.t("neetoApprovals.common.approver", SINGULAR)
1170
- }, {
1171
- key: "actions",
1172
- ellipsis: true,
1173
- render: function render(_, template) {
1174
- return /*#__PURE__*/React.createElement("div", {
1175
- className: "flex flex-row items-center justify-end space-x-3",
1176
- onClick: function onClick(event) {
1177
- return event.stopPropagation();
1178
- }
1179
- }, /*#__PURE__*/React.createElement(Dropdown, {
1180
- autoWidth: true,
1181
- buttonProps: {
1182
- style: "text"
1183
- },
1184
- className: "flex-shrink-0",
1185
- icon: MenuHorizontal,
1186
- position: "bottom-end",
1187
- strategy: "fixed"
1188
- }, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
1189
- "data-cy": "approvers-edit-button",
1190
- onClick: function onClick() {
1191
- return onEditClick(template);
1192
- }
1193
- }, i18next.t("neetoApprovals.common.edit")), /*#__PURE__*/React.createElement(MenuItem.Button, {
1194
- "data-cy": "approvers-delete-button",
1195
- onClick: function onClick() {
1196
- return onDeleteClick(template);
1197
- }
1198
- }, i18next.t("neetoApprovals.common.delete")))));
1199
- }
1200
- }];
1201
- };
1202
-
1203
1145
  var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
1204
1146
  var entity = _ref.entity,
1205
1147
  url = _ref.url;
@@ -1220,14 +1162,14 @@ var renderNoDataHelpText = function renderNoDataHelpText(_ref) {
1220
1162
  });
1221
1163
  };
1222
1164
 
1223
- var _excluded$1 = ["entity", "columnData", "items", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick"];
1165
+ var _excluded$1 = ["entity", "columnData", "rowData", "totalCount", "filters", "setFilters", "setIsPaneOpen", "helpDocUrl", "onEditClick", "onDeleteClick", "pageProperties"];
1224
1166
  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; }
1225
1167
  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; }
1226
1168
  var Table = function Table(_ref) {
1227
1169
  var _t;
1228
1170
  var entity = _ref.entity,
1229
1171
  columnData = _ref.columnData,
1230
- items = _ref.items,
1172
+ rowData = _ref.rowData,
1231
1173
  totalCount = _ref.totalCount,
1232
1174
  filters = _ref.filters,
1233
1175
  setFilters = _ref.setFilters,
@@ -1235,10 +1177,8 @@ var Table = function Table(_ref) {
1235
1177
  helpDocUrl = _ref.helpDocUrl,
1236
1178
  onEditClick = _ref.onEditClick,
1237
1179
  onDeleteClick = _ref.onDeleteClick,
1180
+ pageProperties = _ref.pageProperties,
1238
1181
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
1239
- var _usePaginate = usePaginate(),
1240
- pageProperties = _usePaginate.pageProperties,
1241
- handleTablePagination = _usePaginate.handleTablePagination;
1242
1182
  var _useTranslation = useTranslation(),
1243
1183
  t = _useTranslation.t;
1244
1184
  var columns = columnData({
@@ -1265,7 +1205,7 @@ var Table = function Table(_ref) {
1265
1205
  url: helpDocUrl
1266
1206
  })
1267
1207
  };
1268
- if (isEmpty(items)) {
1208
+ if (isEmpty(rowData)) {
1269
1209
  return /*#__PURE__*/React.createElement("div", {
1270
1210
  className: "flex h-full w-full flex-grow items-center justify-center"
1271
1211
  }, /*#__PURE__*/React.createElement(NoData, _extends({
@@ -1282,55 +1222,111 @@ var Table = function Table(_ref) {
1282
1222
  columnData: columns,
1283
1223
  currentPageNumber: pageProperties.page,
1284
1224
  defaultPageSize: pageProperties.pageSize,
1285
- handlePageChange: handleTablePagination,
1286
- rowData: items,
1225
+ scroll: {
1226
+ x: 0
1227
+ },
1228
+ tableLayout: "fixed",
1287
1229
  paginationProps: {
1288
- hideOnSinglePage: (items === null || items === void 0 ? void 0 : items.length) < DEFAULT_PAGE_SIZE + 1
1230
+ hideOnSinglePage: (rowData === null || rowData === void 0 ? void 0 : rowData.length) < DEFAULT_PAGE_SIZE + 1
1289
1231
  },
1290
1232
  onChange: handleTableChange
1291
1233
  }, _objectSpread$5({
1234
+ rowData: rowData,
1292
1235
  totalCount: totalCount
1293
1236
  }, otherProps))));
1294
1237
  };
1295
1238
 
1296
- var _excluded = ["filters", "isNewTemplatePaneOpen", "setFilters", "setIsNewTemplatePaneOpen", "helpDocUrl"];
1239
+ var columnData = function columnData(_ref) {
1240
+ var onEditClick = _ref.onEditClick,
1241
+ onDeleteClick = _ref.onDeleteClick;
1242
+ return [{
1243
+ dataIndex: "name",
1244
+ key: "name",
1245
+ sorter: true,
1246
+ title: i18next.t("neetoApprovals.common.name"),
1247
+ ellipsis: true,
1248
+ render: function render(_, template) {
1249
+ return /*#__PURE__*/React.createElement("div", {
1250
+ className: "flex items-center justify-between gap-x-3"
1251
+ }, /*#__PURE__*/React.createElement(Typography, {
1252
+ className: "truncate",
1253
+ style: "body2"
1254
+ }, template.name), /*#__PURE__*/React.createElement(MoreDropdown, {
1255
+ dropdownProps: {
1256
+ strategy: "fixed",
1257
+ onClick: function onClick(e) {
1258
+ return e.stopPropagation();
1259
+ }
1260
+ },
1261
+ menuItems: [_defineProperty({
1262
+ key: "edit",
1263
+ label: i18next.t("neetoApprovals.common.edit"),
1264
+ onClick: function onClick(event) {
1265
+ return onEditClick(event, template);
1266
+ }
1267
+ }, DATA_CY_KEY, "neeto-approvals-templates-edit-template-btn"), _defineProperty({
1268
+ key: "delete",
1269
+ label: i18next.t("neetoApprovals.common.delete"),
1270
+ onClick: function onClick(event) {
1271
+ return onDeleteClick(event, template);
1272
+ }
1273
+ }, DATA_CY_KEY, "neeto-approvals-templates-delete-template-btn")]
1274
+ }));
1275
+ }
1276
+ }, {
1277
+ dataIndex: "approverName",
1278
+ key: "approverName",
1279
+ sorter: true,
1280
+ title: i18next.t("neetoApprovals.common.approver", SINGULAR)
1281
+ }];
1282
+ };
1283
+
1284
+ var _excluded = ["searchTerm", "isNewTemplatePaneOpen", "setIsNewTemplatePaneOpen", "helpDocUrl"];
1297
1285
  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; }
1298
1286
  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; }
1299
1287
  var Templates = function Templates(_ref) {
1300
1288
  var _t, _t2, _t3;
1301
- var filters = _ref.filters,
1289
+ var searchTerm = _ref.searchTerm,
1302
1290
  isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
1303
- setFilters = _ref.setFilters,
1304
1291
  setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen,
1305
1292
  helpDocUrl = _ref.helpDocUrl,
1306
1293
  otherProps = _objectWithoutProperties(_ref, _excluded);
1307
- var _useState = useState({}),
1294
+ var _useState = useState(DEFAULT_FILTER_VALUES),
1308
1295
  _useState2 = _slicedToArray$1(_useState, 2),
1309
- selectedTemplate = _useState2[0],
1310
- setSelectedTemplate = _useState2[1];
1311
- var _useState3 = useState(false),
1296
+ filters = _useState2[0],
1297
+ setFilters = _useState2[1];
1298
+ var _useState3 = useState({}),
1312
1299
  _useState4 = _slicedToArray$1(_useState3, 2),
1313
- isDeleteAlertOpen = _useState4[0],
1314
- setIsDeleteAlertOpen = _useState4[1];
1300
+ selectedTemplate = _useState4[0],
1301
+ setSelectedTemplate = _useState4[1];
1315
1302
  var _useState5 = useState(false),
1316
1303
  _useState6 = _slicedToArray$1(_useState5, 2),
1317
- isEditPaneOpen = _useState6[0],
1318
- setIsEditPaneOpen = _useState6[1];
1304
+ isDeleteAlertOpen = _useState6[0],
1305
+ setIsDeleteAlertOpen = _useState6[1];
1319
1306
  var _useState7 = useState(false),
1320
1307
  _useState8 = _slicedToArray$1(_useState7, 2),
1321
- isShowPaneOpen = _useState8[0],
1322
- setIsShowPaneOpen = _useState8[1];
1323
- var debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);
1308
+ isEditPaneOpen = _useState8[0],
1309
+ setIsEditPaneOpen = _useState8[1];
1310
+ var _useState9 = useState(false),
1311
+ _useState10 = _slicedToArray$1(_useState9, 2),
1312
+ isShowPaneOpen = _useState10[0],
1313
+ setIsShowPaneOpen = _useState10[1];
1324
1314
  var _usePaginate = usePaginate(),
1325
1315
  pageProperties = _usePaginate.pageProperties,
1326
- handleTablePagination = _usePaginate.handleTablePagination;
1316
+ handlePageChange = _usePaginate.handlePageChange,
1317
+ resetPageProperties = _usePaginate.resetPageProperties;
1327
1318
  var _useTranslation = useTranslation(),
1328
1319
  t = _useTranslation.t;
1320
+ var debouncedSearchTerm = useDebounce(searchTerm, SEARCH_DELAY);
1321
+ useEffect(function () {
1322
+ resetPageProperties();
1323
+ }, [searchTerm]);
1329
1324
  var _useFetchTemplates = useFetchTemplates(_objectSpread$4(_objectSpread$4(_objectSpread$4({}, pageProperties), filters), {}, {
1330
1325
  searchTerm: debouncedSearchTerm.trim()
1331
1326
  }), {
1332
- onSuccess: function onSuccess(templates) {
1333
- handleEmptyPage(templates, pageProperties, handleTablePagination);
1327
+ onSuccess: function onSuccess(_ref2) {
1328
+ var templates = _ref2.templates;
1329
+ handleEmptyPage(templates, pageProperties, handlePageChange);
1334
1330
  }
1335
1331
  }),
1336
1332
  _useFetchTemplates$da = _useFetchTemplates.data,
@@ -1350,7 +1346,8 @@ var Templates = function Templates(_ref) {
1350
1346
  setIsShowPaneOpen(false);
1351
1347
  }
1352
1348
  }, [selectedTemplate]);
1353
- var onEditClick = function onEditClick(template) {
1349
+ var onEditClick = function onEditClick(event, template) {
1350
+ event.stopPropagation();
1354
1351
  setSelectedTemplate(template);
1355
1352
  setIsEditPaneOpen(true);
1356
1353
  };
@@ -1358,7 +1355,8 @@ var Templates = function Templates(_ref) {
1358
1355
  setSelectedTemplate(templateDetails);
1359
1356
  setIsShowPaneOpen(true);
1360
1357
  };
1361
- var onDeleteClick = function onDeleteClick(template) {
1358
+ var onDeleteClick = function onDeleteClick(event, template) {
1359
+ event.stopPropagation();
1362
1360
  setSelectedTemplate(template);
1363
1361
  setIsDeleteAlertOpen(true);
1364
1362
  };
@@ -1370,15 +1368,18 @@ var Templates = function Templates(_ref) {
1370
1368
  };
1371
1369
  var entity = (_t = t("neetoApprovals.common.template", PLURAL)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase();
1372
1370
  return /*#__PURE__*/React.createElement(React.Fragment, null, isTemplateLoading ? /*#__PURE__*/React.createElement(PageLoader, null) : /*#__PURE__*/React.createElement(Table, {
1373
- items: templates,
1371
+ rowData: templates,
1374
1372
  setIsPaneOpen: setIsNewTemplatePaneOpen,
1375
1373
  columnData: columnData,
1376
1374
  entity: entity,
1377
1375
  filters: filters,
1376
+ handlePageChange: handlePageChange,
1378
1377
  helpDocUrl: helpDocUrl,
1379
1378
  onDeleteClick: onDeleteClick,
1380
1379
  onEditClick: onEditClick,
1381
1380
  onRowClick: onRowClick,
1381
+ pageProperties: pageProperties,
1382
+ searchTerm: searchTerm,
1382
1383
  setFilters: setFilters,
1383
1384
  totalCount: totalCount
1384
1385
  }), /*#__PURE__*/React.createElement(Create, _extends({
@@ -1427,16 +1428,14 @@ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if
1427
1428
  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; }
1428
1429
  var createRoutes = function createRoutes(_ref) {
1429
1430
  var config = _ref.config,
1430
- filters = _ref.filters,
1431
1431
  isNewTemplatePaneOpen = _ref.isNewTemplatePaneOpen,
1432
- setFilters = _ref.setFilters,
1432
+ searchTerm = _ref.searchTerm,
1433
1433
  setIsNewTemplatePaneOpen = _ref.setIsNewTemplatePaneOpen;
1434
1434
  return [{
1435
1435
  component: function component() {
1436
1436
  return /*#__PURE__*/React.createElement(Templates, _objectSpread$3({
1437
- filters: filters,
1438
1437
  isNewTemplatePaneOpen: isNewTemplatePaneOpen,
1439
- setFilters: setFilters,
1438
+ searchTerm: searchTerm,
1440
1439
  setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
1441
1440
  }, config));
1442
1441
  },
@@ -1444,6 +1443,7 @@ var createRoutes = function createRoutes(_ref) {
1444
1443
  actionBlock: function actionBlock() {
1445
1444
  var _t;
1446
1445
  return /*#__PURE__*/React.createElement(Button, {
1446
+ "data-cy": "neeto-approvals-templates-add-new-button",
1447
1447
  label: t$1("neetoApprovals.common.addNew_", {
1448
1448
  what: (_t = t$1("neetoApprovals.common.template", SINGULAR)) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
1449
1449
  }),
@@ -1472,8 +1472,8 @@ var Header = function Header(_ref) {
1472
1472
  var _currentTab$actionBlo;
1473
1473
  var appRoutes = _ref.appRoutes,
1474
1474
  breadcrumbs = _ref.breadcrumbs,
1475
- filters = _ref.filters,
1476
- setFilters = _ref.setFilters;
1475
+ setSearchTerm = _ref.setSearchTerm,
1476
+ searchTerm = _ref.searchTerm;
1477
1477
  var _useTranslation = useTranslation(),
1478
1478
  t = _useTranslation.t;
1479
1479
  var _useLocation = useLocation(),
@@ -1486,9 +1486,9 @@ var Header = function Header(_ref) {
1486
1486
  title: t("neetoApprovals.common.approval", PLURAL),
1487
1487
  searchProps: (currentTab === null || currentTab === void 0 ? void 0 : currentTab.searchPlaceholder) && {
1488
1488
  onChange: function onChange(event) {
1489
- return setFilters(assoc("searchTerm", event.target.value));
1489
+ return setSearchTerm(event.target.value);
1490
1490
  },
1491
- value: filters.searchTerm,
1491
+ value: searchTerm,
1492
1492
  placeholder: currentTab === null || currentTab === void 0 ? void 0 : currentTab.searchPlaceholder
1493
1493
  },
1494
1494
  breadcrumbs: breadcrumbs
@@ -1552,27 +1552,26 @@ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if
1552
1552
  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; }
1553
1553
  var Approvals = function Approvals(_ref) {
1554
1554
  var config = _ref.config;
1555
- var _useState = useState(DEFAULT_FILTER_VALUES),
1555
+ var _useState = useState(""),
1556
1556
  _useState2 = _slicedToArray$1(_useState, 2),
1557
- filters = _useState2[0],
1558
- setFilters = _useState2[1];
1557
+ searchTerm = _useState2[0],
1558
+ setSearchTerm = _useState2[1];
1559
1559
  var _useState3 = useState(false),
1560
1560
  _useState4 = _slicedToArray$1(_useState3, 2),
1561
1561
  isNewTemplatePaneOpen = _useState4[0],
1562
1562
  setIsNewTemplatePaneOpen = _useState4[1];
1563
1563
  var appRoutes = createRoutes({
1564
1564
  config: config,
1565
- filters: filters,
1565
+ searchTerm: searchTerm,
1566
1566
  isNewTemplatePaneOpen: isNewTemplatePaneOpen,
1567
- setFilters: setFilters,
1568
1567
  setIsNewTemplatePaneOpen: setIsNewTemplatePaneOpen
1569
1568
  });
1570
1569
  return /*#__PURE__*/React.createElement("div", {
1571
1570
  className: "neeto-approvals"
1572
1571
  }, /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Header, _objectSpread$1({
1573
1572
  appRoutes: appRoutes,
1574
- filters: filters,
1575
- setFilters: setFilters
1573
+ searchTerm: searchTerm,
1574
+ setSearchTerm: setSearchTerm
1576
1575
  }, config)), /*#__PURE__*/React.createElement(Tab, {
1577
1576
  approvalsPath: config.approvalsPath
1578
1577
  }), /*#__PURE__*/React.createElement(Switch, null, appRoutes.map(function (_ref2) {