@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 +160 -160
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +163 -164
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
2
2
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
3
|
-
import { useLocation, useHistory,
|
|
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,
|
|
7
|
-
import { curryN, isNil, curry, complement, either, isEmpty,
|
|
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,
|
|
260
|
+
var handleEmptyPage = function handleEmptyPage(data, pageProperties, handlePageChange) {
|
|
290
261
|
if (isEmpty(data) && pageProperties.page !== 1) {
|
|
291
|
-
|
|
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:
|
|
364
|
-
pageSize:
|
|
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
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
615
|
-
|
|
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
|
-
|
|
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(
|
|
701
|
-
|
|
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", "
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
1286
|
-
|
|
1225
|
+
scroll: {
|
|
1226
|
+
x: 0
|
|
1227
|
+
},
|
|
1228
|
+
tableLayout: "fixed",
|
|
1287
1229
|
paginationProps: {
|
|
1288
|
-
hideOnSinglePage: (
|
|
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
|
|
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
|
|
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
|
-
|
|
1310
|
-
|
|
1311
|
-
var _useState3 = useState(
|
|
1296
|
+
filters = _useState2[0],
|
|
1297
|
+
setFilters = _useState2[1];
|
|
1298
|
+
var _useState3 = useState({}),
|
|
1312
1299
|
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
1313
|
-
|
|
1314
|
-
|
|
1300
|
+
selectedTemplate = _useState4[0],
|
|
1301
|
+
setSelectedTemplate = _useState4[1];
|
|
1315
1302
|
var _useState5 = useState(false),
|
|
1316
1303
|
_useState6 = _slicedToArray$1(_useState5, 2),
|
|
1317
|
-
|
|
1318
|
-
|
|
1304
|
+
isDeleteAlertOpen = _useState6[0],
|
|
1305
|
+
setIsDeleteAlertOpen = _useState6[1];
|
|
1319
1306
|
var _useState7 = useState(false),
|
|
1320
1307
|
_useState8 = _slicedToArray$1(_useState7, 2),
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
var
|
|
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
|
-
|
|
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(
|
|
1333
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1476
|
-
|
|
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
|
|
1489
|
+
return setSearchTerm(event.target.value);
|
|
1490
1490
|
},
|
|
1491
|
-
value:
|
|
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(
|
|
1555
|
+
var _useState = useState(""),
|
|
1556
1556
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
1557
|
-
|
|
1558
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1575
|
-
|
|
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) {
|