amp-workflow-ui 0.1.27 → 0.1.29
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 +128 -128
- package/dist/index.js +107 -84
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +51 -28
- package/dist/index.mjs.map +1 -1
- package/package.json +21 -2
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var React2 = require('react');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var Dialog = require('@mui/material/Dialog');
|
|
6
6
|
var useMediaQuery = require('@mui/material/useMediaQuery');
|
|
@@ -17,7 +17,7 @@ var KeyboardArrowDownIcon = require('@mui/icons-material/KeyboardArrowDown');
|
|
|
17
17
|
|
|
18
18
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var React2__default = /*#__PURE__*/_interopDefault(React2);
|
|
21
21
|
var Dialog__default = /*#__PURE__*/_interopDefault(Dialog);
|
|
22
22
|
var useMediaQuery__default = /*#__PURE__*/_interopDefault(useMediaQuery);
|
|
23
23
|
var DialogActions6__default = /*#__PURE__*/_interopDefault(DialogActions6);
|
|
@@ -28,7 +28,7 @@ var CloseIcon__default = /*#__PURE__*/_interopDefault(CloseIcon);
|
|
|
28
28
|
var KeyboardArrowDownIcon__default = /*#__PURE__*/_interopDefault(KeyboardArrowDownIcon);
|
|
29
29
|
|
|
30
30
|
// src/context.tsx
|
|
31
|
-
var WorkflowContext =
|
|
31
|
+
var WorkflowContext = React2.createContext(null);
|
|
32
32
|
function WorkflowProvider({
|
|
33
33
|
value,
|
|
34
34
|
children
|
|
@@ -36,7 +36,7 @@ function WorkflowProvider({
|
|
|
36
36
|
return /* @__PURE__ */ jsxRuntime.jsx(WorkflowContext.Provider, { value, children });
|
|
37
37
|
}
|
|
38
38
|
function useWorkflowContext() {
|
|
39
|
-
const ctx =
|
|
39
|
+
const ctx = React2.useContext(WorkflowContext);
|
|
40
40
|
if (!ctx) {
|
|
41
41
|
throw new Error("useWorkflowContext must be used within WorkflowProvider");
|
|
42
42
|
}
|
|
@@ -296,8 +296,7 @@ function WorkflowRequestCard({
|
|
|
296
296
|
userInfo,
|
|
297
297
|
helpers
|
|
298
298
|
}) {
|
|
299
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
300
|
-
console.log("\u{1F680} ~ WorkflowRequestCard ~ requestDetails:", requestDetails);
|
|
299
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
301
300
|
const { timeLeftDHm, getStatus, buildRedirectionUrl } = helpers;
|
|
302
301
|
const userDetails = userInfo == null ? void 0 : userInfo.userInfo;
|
|
303
302
|
const matchAssigneeUserLevel = ((_b = (_a = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _a.find(
|
|
@@ -312,19 +311,25 @@ function WorkflowRequestCard({
|
|
|
312
311
|
return ((_a2 = level_.escalate_assign_to) == null ? void 0 : _a2[0]) === (userDetails == null ? void 0 : userDetails.id);
|
|
313
312
|
}
|
|
314
313
|
)) == null ? void 0 : _d.id) === (requestDetails == null ? void 0 : requestDetails.current_level);
|
|
315
|
-
const
|
|
314
|
+
const loggedInUserLevel = (_e = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _e.findIndex(
|
|
316
315
|
(level_) => {
|
|
317
316
|
var _a2, _b2;
|
|
318
|
-
return ((_a2 = level_.escalate_assign_to) == null ? void 0 : _a2[
|
|
317
|
+
return ((_a2 = level_.escalate_assign_to) == null ? void 0 : _a2[1]) === (requestDetails == null ? void 0 : requestDetails.current_level) || ((_b2 = level_.assign_to) == null ? void 0 : _b2[0]) === (requestDetails == null ? void 0 : requestDetails.current_level);
|
|
319
318
|
}
|
|
320
319
|
);
|
|
321
|
-
const
|
|
320
|
+
const matchUserInAnyLevel = (_f = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _f.find(
|
|
321
|
+
(level_, i) => {
|
|
322
|
+
var _a2, _b2;
|
|
323
|
+
return loggedInUserLevel >= i && ((_a2 = level_.escalate_assign_to) == null ? void 0 : _a2[1]) === (requestDetails == null ? void 0 : requestDetails.current_level) || ((_b2 = level_.assign_to) == null ? void 0 : _b2[0]) === (requestDetails == null ? void 0 : requestDetails.current_level);
|
|
324
|
+
}
|
|
325
|
+
);
|
|
326
|
+
const allCurrentAssignees = (_g = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _g.map(
|
|
322
327
|
(level) => {
|
|
323
328
|
var _a2;
|
|
324
329
|
return (_a2 = level == null ? void 0 : level.assign_to_name) == null ? void 0 : _a2[0];
|
|
325
330
|
}
|
|
326
331
|
);
|
|
327
|
-
const allCurrentEscalatedAssignees = (
|
|
332
|
+
const allCurrentEscalatedAssignees = (_h = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _h.map(
|
|
328
333
|
(level) => {
|
|
329
334
|
var _a2;
|
|
330
335
|
return timeLeftDHm(level == null ? void 0 : level.tat_expiry) === "0d: 0h: 0m" ? (_a2 = level == null ? void 0 : level.escalate_assign_to_name) == null ? void 0 : _a2[0] : "";
|
|
@@ -333,7 +338,7 @@ function WorkflowRequestCard({
|
|
|
333
338
|
const allAssignees = [
|
|
334
339
|
.../* @__PURE__ */ new Set([...allCurrentAssignees, ...allCurrentEscalatedAssignees])
|
|
335
340
|
].filter((item) => item);
|
|
336
|
-
const currentLevel = (
|
|
341
|
+
const currentLevel = (_i = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _i.find(
|
|
337
342
|
(level_) => level_.id === (requestDetails == null ? void 0 : requestDetails.current_level)
|
|
338
343
|
);
|
|
339
344
|
const currentlyAssignedUserArray = (currentLevel == null ? void 0 : currentLevel.assign_to_name) || [];
|
|
@@ -348,22 +353,20 @@ function WorkflowRequestCard({
|
|
|
348
353
|
return statusList2 == null ? void 0 : statusList2.filter((item) => item.status !== 3);
|
|
349
354
|
};
|
|
350
355
|
const redirectionUrl = buildRedirectionUrl(requestDetails);
|
|
351
|
-
|
|
352
|
-
const currentStatus = ((_k = (_j = (_i = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _i.find(
|
|
356
|
+
const currentStatus = ((_l = (_k = (_j = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _j.find(
|
|
353
357
|
(lvl) => lvl.id === (requestDetails == null ? void 0 : requestDetails.current_level)
|
|
354
|
-
)) == null ? void 0 :
|
|
358
|
+
)) == null ? void 0 : _k.selected_status) == null ? void 0 : _l.status_id) === 1 ? "approved" : ((_o = (_n = (_m = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _m.find(
|
|
355
359
|
(lvl) => lvl.id === (requestDetails == null ? void 0 : requestDetails.current_level)
|
|
356
|
-
)) == null ? void 0 :
|
|
360
|
+
)) == null ? void 0 : _n.selected_status) == null ? void 0 : _o.status_id) === 3 ? "rejected" : "pending";
|
|
357
361
|
getStatus(currentStatus);
|
|
358
|
-
const descriptionDetails = (
|
|
362
|
+
const descriptionDetails = (_p = requestDetails == null ? void 0 : requestDetails.template_variables) == null ? void 0 : _p.description_variables;
|
|
359
363
|
const formatKey = (key) => key.replace(/_/g, " ").replace(/\b\w/g, (char) => char.toUpperCase());
|
|
360
364
|
const displayEntries = descriptionDetails ? Object.entries(descriptionDetails).filter(
|
|
361
365
|
([, value]) => typeof value === "string" || typeof value === "number"
|
|
362
366
|
) : [];
|
|
363
|
-
const userLevel = (requestDetails == null ? void 0 : requestDetails.isLevelZero) ? "L0" : "L" + (((
|
|
367
|
+
const userLevel = (requestDetails == null ? void 0 : requestDetails.isLevelZero) ? "L0" : "L" + (((_r = (_q = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _q.findIndex(
|
|
364
368
|
(lvl) => lvl.id === (requestDetails == null ? void 0 : requestDetails.current_level)
|
|
365
|
-
)) != null ?
|
|
366
|
-
console.log("\u{1F680} ~ WorkflowRequestCard ~ userLevel:", userLevel);
|
|
369
|
+
)) != null ? _r : -1) + 1 || "");
|
|
367
370
|
const tatExpired = timeLeftDHm(currentLevel == null ? void 0 : currentLevel.tat_expiry) === "0d: 0h: 0m";
|
|
368
371
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
369
372
|
material.Box,
|
|
@@ -435,9 +438,9 @@ function WorkflowRequestCard({
|
|
|
435
438
|
) }),
|
|
436
439
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "step-line step-line-inactive" })
|
|
437
440
|
] }),
|
|
438
|
-
(
|
|
441
|
+
(_s = requestDetails == null ? void 0 : requestDetails.levels) == null ? void 0 : _s.map((_, idx) => {
|
|
439
442
|
const level = idx + 1;
|
|
440
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
443
|
+
return /* @__PURE__ */ jsxRuntime.jsx(React2__default.default.Fragment, { children: userLevel == "L" + level ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
441
444
|
/* @__PURE__ */ jsxRuntime.jsx(material.Chip, { label: "L" + level, className: "step-chip-current" }),
|
|
442
445
|
(requestDetails == null ? void 0 : requestDetails.levels.length) !== level && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "step-line step-line-inactive" })
|
|
443
446
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -503,7 +506,7 @@ function WorkflowRequestCard({
|
|
|
503
506
|
children: [
|
|
504
507
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "assignee-label", children: "Current Assignee:" }),
|
|
505
508
|
" ",
|
|
506
|
-
allAssignees.length > 0 ? `${(requestDetails == null ? void 0 : requestDetails.isLevelZero) ? (
|
|
509
|
+
allAssignees.length > 0 ? `${(requestDetails == null ? void 0 : requestDetails.isLevelZero) ? (_t = requestDetails == null ? void 0 : requestDetails.created_by_user) == null ? void 0 : _t.full_name : allAssignees[0]} +${allAssignees.length - 1}` : (requestDetails == null ? void 0 : requestDetails.isLevelZero) ? (_u = requestDetails == null ? void 0 : requestDetails.created_by_user) == null ? void 0 : _u.full_name : allAssignees[0]
|
|
507
510
|
]
|
|
508
511
|
}
|
|
509
512
|
)
|
|
@@ -516,7 +519,7 @@ function WorkflowRequestCard({
|
|
|
516
519
|
children: [
|
|
517
520
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "assignee-label", children: "Current Assignee:" }),
|
|
518
521
|
" ",
|
|
519
|
-
(
|
|
522
|
+
(_v = requestDetails == null ? void 0 : requestDetails.created_by_user) == null ? void 0 : _v.full_name
|
|
520
523
|
]
|
|
521
524
|
}
|
|
522
525
|
) }) : extraCurrentlyAssignedUserCount > 0 || tatExpired && extraCurrentlyEscalatedUserCount > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -546,13 +549,13 @@ function WorkflowRequestCard({
|
|
|
546
549
|
children: /* @__PURE__ */ jsxRuntime.jsxs(material.Typography, { className: "assignee-text", sx: { cursor: "pointer" }, children: [
|
|
547
550
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "assignee-label", children: tatExpired ? "Escalated To:" : "Current Assignee:" }),
|
|
548
551
|
" ",
|
|
549
|
-
((requestDetails == null ? void 0 : requestDetails.isLevelZero) ? (
|
|
552
|
+
((requestDetails == null ? void 0 : requestDetails.isLevelZero) ? (_w = requestDetails == null ? void 0 : requestDetails.created_by_user) == null ? void 0 : _w.full_name : tatExpired ? extraCurrentlyEscalatedUserCount : extraCurrentlyAssignedUserCount) > 0 ? `${tatExpired ? currentlyEscalatedUser : currentlyAssignedUser} +${tatExpired ? extraCurrentlyEscalatedUserCount : extraCurrentlyAssignedUserCount}` : tatExpired ? currentlyEscalatedUser : currentlyAssignedUser
|
|
550
553
|
] })
|
|
551
554
|
}
|
|
552
555
|
) : /* @__PURE__ */ jsxRuntime.jsxs(material.Typography, { className: "assignee-text", sx: { cursor: "pointer" }, children: [
|
|
553
556
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "assignee-label", children: tatExpired ? "Escalated To:" : "Current Assignee:" }),
|
|
554
557
|
" ",
|
|
555
|
-
(requestDetails == null ? void 0 : requestDetails.isLevelZero) ? (
|
|
558
|
+
(requestDetails == null ? void 0 : requestDetails.isLevelZero) ? (_x = requestDetails == null ? void 0 : requestDetails.created_by_user) == null ? void 0 : _x.full_name : tatExpired ? currentlyEscalatedUser : currentlyAssignedUser
|
|
556
559
|
] })
|
|
557
560
|
] }),
|
|
558
561
|
(requestDetails == null ? void 0 : requestDetails.current_status) == "pending" && (matchAssigneeUserLevel || matchEscalateUserLevel || matchUserInAnyLevel) && (userDetails == null ? void 0 : userDetails.id) != (requestDetails == null ? void 0 : requestDetails.created_by) && !(requestDetails == null ? void 0 : requestDetails.isLevelZero) ? /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { className: "action-buttons", children: [
|
|
@@ -653,14 +656,14 @@ function SendBackDialog({
|
|
|
653
656
|
onSuccess
|
|
654
657
|
}) {
|
|
655
658
|
const { userInfo, api } = useWorkflowContext();
|
|
656
|
-
const [comment, setComment] =
|
|
657
|
-
const [selectedFile, setSelectedFile] =
|
|
658
|
-
const [fileName, setFileName] =
|
|
659
|
-
const [error, setError] =
|
|
660
|
-
const [loading, setLoading] =
|
|
661
|
-
const [fileLoading, setFileLoading] =
|
|
662
|
-
const fileInputRef =
|
|
663
|
-
const [snackbar, setSnackbar] =
|
|
659
|
+
const [comment, setComment] = React2.useState("");
|
|
660
|
+
const [selectedFile, setSelectedFile] = React2.useState(null);
|
|
661
|
+
const [fileName, setFileName] = React2.useState("");
|
|
662
|
+
const [error, setError] = React2.useState({});
|
|
663
|
+
const [loading, setLoading] = React2.useState(false);
|
|
664
|
+
const [fileLoading, setFileLoading] = React2.useState(false);
|
|
665
|
+
const fileInputRef = React2.useRef(null);
|
|
666
|
+
const [snackbar, setSnackbar] = React2.useState({
|
|
664
667
|
open: false,
|
|
665
668
|
message: "",
|
|
666
669
|
severity: "success"
|
|
@@ -909,10 +912,10 @@ function ApproveDialog({
|
|
|
909
912
|
const { userInfo, api } = useWorkflowContext();
|
|
910
913
|
const theme = styles.useTheme();
|
|
911
914
|
useMediaQuery__default.default(theme.breakpoints.down("lg"));
|
|
912
|
-
const [comment, setComment] =
|
|
913
|
-
const [error, setError] =
|
|
914
|
-
const [loading, setLoading] =
|
|
915
|
-
const [snackbar, setSnackbar] =
|
|
915
|
+
const [comment, setComment] = React2.useState("");
|
|
916
|
+
const [error, setError] = React2.useState({});
|
|
917
|
+
const [loading, setLoading] = React2.useState(false);
|
|
918
|
+
const [snackbar, setSnackbar] = React2.useState({
|
|
916
919
|
open: false,
|
|
917
920
|
message: "",
|
|
918
921
|
severity: "success"
|
|
@@ -1089,18 +1092,18 @@ function RejectDialog({
|
|
|
1089
1092
|
}
|
|
1090
1093
|
);
|
|
1091
1094
|
};
|
|
1092
|
-
const [rejectReasons, setRejectReasons] =
|
|
1093
|
-
const [comment, setComment] =
|
|
1094
|
-
const [error, setError] =
|
|
1095
|
-
const [statusApplicableList, setStatusApplicableList] =
|
|
1096
|
-
const [loading, setLoading] =
|
|
1097
|
-
const [snackbar, setSnackbar] =
|
|
1095
|
+
const [rejectReasons, setRejectReasons] = React2.useState("");
|
|
1096
|
+
const [comment, setComment] = React2.useState("");
|
|
1097
|
+
const [error, setError] = React2.useState({ reason: "", comment: "" });
|
|
1098
|
+
const [statusApplicableList, setStatusApplicableList] = React2.useState([]);
|
|
1099
|
+
const [loading, setLoading] = React2.useState(false);
|
|
1100
|
+
const [snackbar, setSnackbar] = React2.useState({
|
|
1098
1101
|
open: false,
|
|
1099
1102
|
message: "",
|
|
1100
1103
|
severity: "success"
|
|
1101
1104
|
});
|
|
1102
1105
|
const handleCloseSnackbar = () => setSnackbar((prev) => ({ ...prev, open: false }));
|
|
1103
|
-
|
|
1106
|
+
React2.useEffect(() => {
|
|
1104
1107
|
(async () => {
|
|
1105
1108
|
var _a;
|
|
1106
1109
|
try {
|
|
@@ -1306,10 +1309,10 @@ function OnHoldDialog({
|
|
|
1306
1309
|
const { userInfo, api } = useWorkflowContext();
|
|
1307
1310
|
const theme = styles.useTheme();
|
|
1308
1311
|
useMediaQuery__default.default(theme.breakpoints.down("lg"));
|
|
1309
|
-
const [comment, setComment] =
|
|
1310
|
-
const [error, setError] =
|
|
1311
|
-
const [loading, setLoading] =
|
|
1312
|
-
const [snackbar, setSnackbar] =
|
|
1312
|
+
const [comment, setComment] = React2.useState("");
|
|
1313
|
+
const [error, setError] = React2.useState({ comment: "" });
|
|
1314
|
+
const [loading, setLoading] = React2.useState(false);
|
|
1315
|
+
const [snackbar, setSnackbar] = React2.useState({
|
|
1313
1316
|
open: false,
|
|
1314
1317
|
message: "",
|
|
1315
1318
|
severity: "success"
|
|
@@ -1458,8 +1461,8 @@ function OnHoldDialog({
|
|
|
1458
1461
|
}
|
|
1459
1462
|
var OnHoldDialog_default = OnHoldDialog;
|
|
1460
1463
|
var useDebounce = (value, delay) => {
|
|
1461
|
-
const [debouncedValue, setDebouncedValue] =
|
|
1462
|
-
|
|
1464
|
+
const [debouncedValue, setDebouncedValue] = React2.useState(value);
|
|
1465
|
+
React2.useEffect(() => {
|
|
1463
1466
|
const timeoutId = setTimeout(() => {
|
|
1464
1467
|
setDebouncedValue(value);
|
|
1465
1468
|
}, delay);
|
|
@@ -1553,15 +1556,15 @@ function FilterModal({
|
|
|
1553
1556
|
onApply
|
|
1554
1557
|
}) {
|
|
1555
1558
|
const { api } = useWorkflowContext();
|
|
1556
|
-
const [approvalType, setApprovalType] =
|
|
1559
|
+
const [approvalType, setApprovalType] = React2.useState(
|
|
1557
1560
|
(initialFilters == null ? void 0 : initialFilters.approvalType) || ""
|
|
1558
1561
|
);
|
|
1559
|
-
const [approvalStatus, setApprovalStatus] =
|
|
1562
|
+
const [approvalStatus, setApprovalStatus] = React2.useState(
|
|
1560
1563
|
(initialFilters == null ? void 0 : initialFilters.approvalStatus) || ""
|
|
1561
1564
|
);
|
|
1562
|
-
const [sortBy, setSortBy] =
|
|
1563
|
-
const [approvalTypeOptions, setApprovalTypeOptions] =
|
|
1564
|
-
|
|
1565
|
+
const [sortBy, setSortBy] = React2.useState((initialFilters == null ? void 0 : initialFilters.sortBy) || "");
|
|
1566
|
+
const [approvalTypeOptions, setApprovalTypeOptions] = React2.useState([]);
|
|
1567
|
+
React2.useEffect(() => {
|
|
1565
1568
|
api.get({ url: "/workflow/activities?page=1&size=1000", serviceURL: "api" }).then((res) => {
|
|
1566
1569
|
var _a;
|
|
1567
1570
|
console.log("\u{1F680} ~ FilterModal ~ res:", res);
|
|
@@ -1570,7 +1573,7 @@ function FilterModal({
|
|
|
1570
1573
|
console.error("Failed to fetch approval types:", err);
|
|
1571
1574
|
});
|
|
1572
1575
|
}, [api]);
|
|
1573
|
-
|
|
1576
|
+
React2.useEffect(() => {
|
|
1574
1577
|
if (open) {
|
|
1575
1578
|
setApprovalType((initialFilters == null ? void 0 : initialFilters.approvalType) || "");
|
|
1576
1579
|
setApprovalStatus((initialFilters == null ? void 0 : initialFilters.approvalStatus) || "");
|
|
@@ -1795,22 +1798,23 @@ function ApprovalWorkflow({
|
|
|
1795
1798
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
|
|
1796
1799
|
material.useTheme();
|
|
1797
1800
|
const { api, urlBuilder, loadingComponent, ENV_VARIABLES } = useWorkflowContext();
|
|
1798
|
-
const [selectedOption, setSelectedOption] =
|
|
1801
|
+
const [selectedOption, setSelectedOption] = React2.useState(
|
|
1799
1802
|
selectedWorkflowsList.length ? "selected" : "Assign To Me"
|
|
1800
1803
|
);
|
|
1801
1804
|
console.log("\u{1F680} ~ ApprovalWorkflow ~ selectedOption:", selectedOption);
|
|
1802
|
-
const [expandedId, setExpandedId] =
|
|
1803
|
-
const [sendDialog, setSendDialog] =
|
|
1804
|
-
const [approveTarget, setApproveTarget] =
|
|
1805
|
-
const [rejectTarget, setRejectTarget] =
|
|
1806
|
-
const [onHoldTarget, setOnHoldTarget] =
|
|
1807
|
-
const [expandedDetails, setExpandedDetails] =
|
|
1805
|
+
const [expandedId, setExpandedId] = React2.useState(null);
|
|
1806
|
+
const [sendDialog, setSendDialog] = React2.useState(null);
|
|
1807
|
+
const [approveTarget, setApproveTarget] = React2.useState(null);
|
|
1808
|
+
const [rejectTarget, setRejectTarget] = React2.useState(null);
|
|
1809
|
+
const [onHoldTarget, setOnHoldTarget] = React2.useState(null);
|
|
1810
|
+
const [expandedDetails, setExpandedDetails] = React2.useState([]);
|
|
1808
1811
|
console.log("\u{1F680} ~ ApprovalWorkflow ~ expandedDetails:", expandedDetails);
|
|
1809
|
-
const [descriptionView, setDescriptionView] =
|
|
1810
|
-
const [urlConfig, setUrlConfig] =
|
|
1811
|
-
const [viewMoreDetails, setViewMoreDetails] =
|
|
1812
|
-
const [isViewMoreOpen, setIsViewMoreOpen] =
|
|
1813
|
-
const [isFilterOpen, setIsFilterOpen] =
|
|
1812
|
+
const [descriptionView, setDescriptionView] = React2.useState(null);
|
|
1813
|
+
const [urlConfig, setUrlConfig] = React2.useState({});
|
|
1814
|
+
const [viewMoreDetails, setViewMoreDetails] = React2.useState(null);
|
|
1815
|
+
const [isViewMoreOpen, setIsViewMoreOpen] = React2.useState(false);
|
|
1816
|
+
const [isFilterOpen, setIsFilterOpen] = React2.useState(false);
|
|
1817
|
+
console.log("\u{1F680} ~ PIPELINE TEST");
|
|
1814
1818
|
const handleOpenViewMore = (details) => {
|
|
1815
1819
|
setViewMoreDetails(details);
|
|
1816
1820
|
setIsViewMoreOpen(true);
|
|
@@ -1819,7 +1823,7 @@ function ApprovalWorkflow({
|
|
|
1819
1823
|
setIsViewMoreOpen(false);
|
|
1820
1824
|
setViewMoreDetails(null);
|
|
1821
1825
|
};
|
|
1822
|
-
const [tabs, setTabs] =
|
|
1826
|
+
const [tabs, setTabs] = React2.useState({
|
|
1823
1827
|
"Assign To Me": {
|
|
1824
1828
|
data: [],
|
|
1825
1829
|
page: 1,
|
|
@@ -1858,13 +1862,13 @@ function ApprovalWorkflow({
|
|
|
1858
1862
|
}
|
|
1859
1863
|
});
|
|
1860
1864
|
console.log("\u{1F680} ~ ApprovalWorkflow ~ tabs set:", tabs);
|
|
1861
|
-
const [searchText, setSearchText] =
|
|
1865
|
+
const [searchText, setSearchText] = React2.useState("");
|
|
1862
1866
|
const debouncedSearchTerm = useDebounce_default(searchText, 500);
|
|
1863
|
-
|
|
1867
|
+
React2.useEffect(() => {
|
|
1864
1868
|
var _a2;
|
|
1865
1869
|
setSearchText(((_a2 = tabs[selectedOption]) == null ? void 0 : _a2.search) || "");
|
|
1866
1870
|
}, [selectedOption]);
|
|
1867
|
-
|
|
1871
|
+
React2.useEffect(() => {
|
|
1868
1872
|
var _a2, _b2;
|
|
1869
1873
|
if (debouncedSearchTerm !== tabs[selectedOption].search && ((_a2 = tabs[selectedOption]) == null ? void 0 : _a2.initialized)) {
|
|
1870
1874
|
setTabs((prev) => ({
|
|
@@ -1886,14 +1890,14 @@ function ApprovalWorkflow({
|
|
|
1886
1890
|
);
|
|
1887
1891
|
}
|
|
1888
1892
|
}, [debouncedSearchTerm]);
|
|
1889
|
-
const handleClearSearch =
|
|
1893
|
+
const handleClearSearch = React2.useCallback(() => {
|
|
1890
1894
|
setSearchText("");
|
|
1891
1895
|
}, []);
|
|
1892
|
-
const handleSearchChange =
|
|
1896
|
+
const handleSearchChange = React2.useCallback((value) => {
|
|
1893
1897
|
setSearchText(value);
|
|
1894
1898
|
}, []);
|
|
1895
|
-
const observer =
|
|
1896
|
-
const lastCardRef =
|
|
1899
|
+
const observer = React2.useRef(null);
|
|
1900
|
+
const lastCardRef = React2.useCallback(
|
|
1897
1901
|
(node) => {
|
|
1898
1902
|
const currentTab = tabs[selectedOption];
|
|
1899
1903
|
if ((currentTab == null ? void 0 : currentTab.loading) || !(currentTab == null ? void 0 : currentTab.hasMore)) return;
|
|
@@ -1913,6 +1917,24 @@ function ApprovalWorkflow({
|
|
|
1913
1917
|
},
|
|
1914
1918
|
[tabs, selectedOption]
|
|
1915
1919
|
);
|
|
1920
|
+
const scrollRef = React2.useRef(null);
|
|
1921
|
+
React2.useEffect(() => {
|
|
1922
|
+
const handleKeyDown = (e) => {
|
|
1923
|
+
var _a2, _b2, _c2, _d2;
|
|
1924
|
+
if (((_a2 = document.activeElement) == null ? void 0 : _a2.tagName) === "INPUT" || ((_b2 = document.activeElement) == null ? void 0 : _b2.tagName) === "TEXTAREA") {
|
|
1925
|
+
return;
|
|
1926
|
+
}
|
|
1927
|
+
if (e.key === "ArrowUp") {
|
|
1928
|
+
e.preventDefault();
|
|
1929
|
+
(_c2 = scrollRef.current) == null ? void 0 : _c2.scrollBy({ top: -100, behavior: "smooth" });
|
|
1930
|
+
} else if (e.key === "ArrowDown") {
|
|
1931
|
+
e.preventDefault();
|
|
1932
|
+
(_d2 = scrollRef.current) == null ? void 0 : _d2.scrollBy({ top: 100, behavior: "smooth" });
|
|
1933
|
+
}
|
|
1934
|
+
};
|
|
1935
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
1936
|
+
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
1937
|
+
}, []);
|
|
1916
1938
|
const handleSendBack = (workflowLogId) => {
|
|
1917
1939
|
setSendDialog(workflowLogId);
|
|
1918
1940
|
};
|
|
@@ -1945,7 +1967,7 @@ function ApprovalWorkflow({
|
|
|
1945
1967
|
return acc;
|
|
1946
1968
|
}, {});
|
|
1947
1969
|
};
|
|
1948
|
-
|
|
1970
|
+
React2.useEffect(() => {
|
|
1949
1971
|
api.get({
|
|
1950
1972
|
url: `/workflow/url-config`,
|
|
1951
1973
|
serviceURL: "api"
|
|
@@ -1953,7 +1975,7 @@ function ApprovalWorkflow({
|
|
|
1953
1975
|
setUrlConfig(formatDataUrlConfig(res == null ? void 0 : res.data));
|
|
1954
1976
|
});
|
|
1955
1977
|
}, []);
|
|
1956
|
-
const fetchData =
|
|
1978
|
+
const fetchData = React2.useCallback(
|
|
1957
1979
|
(tab, page, search, filtersOverride) => {
|
|
1958
1980
|
var _a2, _b2, _c2;
|
|
1959
1981
|
console.log("[DEBUG-FETCH-DATA] \u{1F3AF} fetchData called with:", {
|
|
@@ -2183,7 +2205,7 @@ function ApprovalWorkflow({
|
|
|
2183
2205
|
serviceURL: "api"
|
|
2184
2206
|
}).then((res) => setExpandedDetails(res == null ? void 0 : res.data));
|
|
2185
2207
|
};
|
|
2186
|
-
|
|
2208
|
+
React2.useEffect(() => {
|
|
2187
2209
|
var _a2;
|
|
2188
2210
|
console.log("[DEBUG-INIT] \u{1F680} Initial useEffect triggered");
|
|
2189
2211
|
console.log("[DEBUG-INIT] userInfo:", userInfo);
|
|
@@ -2207,13 +2229,13 @@ function ApprovalWorkflow({
|
|
|
2207
2229
|
console.log("[DEBUG-INIT] \u274C No userInfo.id, skipping initial fetch");
|
|
2208
2230
|
}
|
|
2209
2231
|
}, [userInfo]);
|
|
2210
|
-
|
|
2232
|
+
React2.useEffect(() => {
|
|
2211
2233
|
const tabState = tabs[selectedOption];
|
|
2212
2234
|
if ((tabState == null ? void 0 : tabState.page) > 1) {
|
|
2213
2235
|
fetchData(selectedOption, tabState.page, tabState.search);
|
|
2214
2236
|
}
|
|
2215
2237
|
}, [(_d = tabs[selectedOption]) == null ? void 0 : _d.page]);
|
|
2216
|
-
|
|
2238
|
+
React2.useEffect(() => {
|
|
2217
2239
|
var _a2;
|
|
2218
2240
|
if (Object.keys(urlConfig).length > 0 && userInfo && tabs && tabs["Assign To Me"] && !tabs["Assign To Me"].initialized) {
|
|
2219
2241
|
fetchData("Assign To Me", 1, ((_a2 = tabs["Assign To Me"]) == null ? void 0 : _a2.search) || "");
|
|
@@ -2391,6 +2413,7 @@ function ApprovalWorkflow({
|
|
|
2391
2413
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2392
2414
|
system.Box,
|
|
2393
2415
|
{
|
|
2416
|
+
ref: scrollRef,
|
|
2394
2417
|
className: "fixedModal hide-scrollbar",
|
|
2395
2418
|
sx: {
|
|
2396
2419
|
overflowY: "auto",
|
|
@@ -2620,7 +2643,7 @@ function DialogOpener({
|
|
|
2620
2643
|
}) {
|
|
2621
2644
|
const theme = material.useTheme();
|
|
2622
2645
|
useMediaQuery__default.default(theme.breakpoints.down("lg"));
|
|
2623
|
-
const [screenWidth, setScreenWidth] =
|
|
2646
|
+
const [screenWidth, setScreenWidth] = React2.useState(
|
|
2624
2647
|
typeof window !== "undefined" ? window.innerWidth : 0
|
|
2625
2648
|
);
|
|
2626
2649
|
console.log("Dialog opener props", {
|
|
@@ -2629,7 +2652,7 @@ function DialogOpener({
|
|
|
2629
2652
|
userInfoData,
|
|
2630
2653
|
selectedWorkflowsList
|
|
2631
2654
|
});
|
|
2632
|
-
|
|
2655
|
+
React2.useEffect(() => {
|
|
2633
2656
|
const updateScreenWidth = () => setScreenWidth(window.innerWidth);
|
|
2634
2657
|
window.addEventListener("resize", updateScreenWidth);
|
|
2635
2658
|
return () => window.removeEventListener("resize", updateScreenWidth);
|
|
@@ -2734,7 +2757,7 @@ function ApprovalWorkflow2(props) {
|
|
|
2734
2757
|
ENV_VARIABLES,
|
|
2735
2758
|
...rest
|
|
2736
2759
|
} = props;
|
|
2737
|
-
console.log("\u{1F680} ~
|
|
2760
|
+
console.log("\u{1F680} ~ PIPELINE TEST");
|
|
2738
2761
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2739
2762
|
WorkflowProvider,
|
|
2740
2763
|
{
|