flowcore-fn 3.2.0 → 3.3.0
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/pkg-index.js +1128 -464
- package/dist/pkg-index.mjs +1107 -445
- package/package.json +1 -1
package/dist/pkg-index.js
CHANGED
|
@@ -48,8 +48,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
48
48
|
var pkg_index_exports = {};
|
|
49
49
|
__export(pkg_index_exports, {
|
|
50
50
|
ApiEndpointsProvider: () => ApiEndpointsProvider_default,
|
|
51
|
+
AssignmentRulePage: () => AssignmentRulePage,
|
|
51
52
|
Layout: () => Layout_default,
|
|
52
53
|
Sidebar: () => Sidebar,
|
|
54
|
+
TaskPermissionPage: () => TaskPermissionPage,
|
|
53
55
|
WorkflowPage: () => WorkflowPage
|
|
54
56
|
});
|
|
55
57
|
module.exports = __toCommonJS(pkg_index_exports);
|
|
@@ -534,27 +536,687 @@ function WorkflowPage() {
|
|
|
534
536
|
] });
|
|
535
537
|
}
|
|
536
538
|
|
|
539
|
+
// src/pages/TaskPermissionPage.js
|
|
540
|
+
var import_react10 = __toESM(require("react"));
|
|
541
|
+
|
|
542
|
+
// src/components/task-permission/SearchBar.js
|
|
543
|
+
var import_react6 = __toESM(require("react"));
|
|
544
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
545
|
+
function SearchBar2({
|
|
546
|
+
searchTerm,
|
|
547
|
+
onSearchChange,
|
|
548
|
+
searchQuery,
|
|
549
|
+
setSearchQuery,
|
|
550
|
+
setCurrentPage
|
|
551
|
+
}) {
|
|
552
|
+
const currentInputValue = searchQuery !== void 0 ? searchQuery : searchTerm || "";
|
|
553
|
+
const handleInputChange = (value) => {
|
|
554
|
+
if (setSearchQuery) {
|
|
555
|
+
setSearchQuery(value);
|
|
556
|
+
}
|
|
557
|
+
if (setCurrentPage) {
|
|
558
|
+
setCurrentPage(1);
|
|
559
|
+
}
|
|
560
|
+
if (onSearchChange) {
|
|
561
|
+
onSearchChange(value);
|
|
562
|
+
}
|
|
563
|
+
};
|
|
564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative max-w-sm w-full", children: [
|
|
565
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("svg", { className: "w-4.5 h-4.5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
566
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
567
|
+
"input",
|
|
568
|
+
{
|
|
569
|
+
type: "text",
|
|
570
|
+
value: currentInputValue,
|
|
571
|
+
onChange: (e) => handleInputChange(e.target.value),
|
|
572
|
+
placeholder: "Search step name, code or workflow...",
|
|
573
|
+
className: "w-full pl-10 pr-4 py-2.5 border border-slate-200 rounded-xl text-sm bg-slate-50/50 focus:outline-none focus:ring-4 focus:ring-blue-500/10 focus:border-blue-500 text-slate-700 placeholder-slate-400 transition-all shadow-sm"
|
|
574
|
+
}
|
|
575
|
+
)
|
|
576
|
+
] });
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
// src/components/task-permission/Table.js
|
|
580
|
+
var import_react7 = __toESM(require("react"));
|
|
581
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
582
|
+
function Table({ pageSize, searchQuery = "", currentPage, setCurrentPage, setTotalEntries }) {
|
|
583
|
+
const initialData = [
|
|
584
|
+
{ id: 1, taskId: "1", role: "Admin", taskName: "Approve Workflow", permissionType: "Write", isStatusEnabled: true },
|
|
585
|
+
{ id: 2, taskId: "2", role: "Approver", taskName: "Review Document", permissionType: "Read", isStatusEnabled: false },
|
|
586
|
+
{ id: 3, taskId: "3", role: "Viewer", taskName: "View Logs", permissionType: "Read", isStatusEnabled: true },
|
|
587
|
+
{ id: 4, taskId: "4", role: "Super Admin", taskName: "Manage Master Configuration", permissionType: "All", isStatusEnabled: true },
|
|
588
|
+
{ id: 5, taskId: "5", role: "Admin", taskName: "Update Rule Engine", permissionType: "Write", isStatusEnabled: false },
|
|
589
|
+
{ id: 6, taskId: "6", role: "Operator", taskName: "Data Input Task", permissionType: "Write", isStatusEnabled: true },
|
|
590
|
+
{ id: 7, taskId: "7", role: "Approver", taskName: "Verify Financials", permissionType: "Write", isStatusEnabled: true },
|
|
591
|
+
{ id: 8, taskId: "8", role: "Viewer", taskName: "Export Reports", permissionType: "Read", isStatusEnabled: true },
|
|
592
|
+
{ id: 9, taskId: "9", role: "Super Admin", taskName: "User Management Sync", permissionType: "All", isStatusEnabled: true },
|
|
593
|
+
{ id: 10, taskId: "10", role: "Admin", taskName: "Assign Roles Structure", permissionType: "Write", isStatusEnabled: true },
|
|
594
|
+
{ id: 11, taskId: "11", role: "Approver", taskName: "Audit Trail Clearance", permissionType: "Read", isStatusEnabled: false },
|
|
595
|
+
{ id: 12, taskId: "12", role: "Operator", taskName: "Update Profile Details", permissionType: "Write", isStatusEnabled: true },
|
|
596
|
+
{ id: 13, taskId: "13", role: "Viewer", taskName: "Check Server Status", permissionType: "Read", isStatusEnabled: true },
|
|
597
|
+
{ id: 14, taskId: "14", role: "Super Admin", taskName: "Database Schema Reset", permissionType: "All", isStatusEnabled: false },
|
|
598
|
+
{ id: 15, taskId: "15", role: "Admin", taskName: "Modify Hierarchy Node", permissionType: "Write", isStatusEnabled: true },
|
|
599
|
+
{ id: 16, taskId: "16", role: "Approver", taskName: "Approve Building Permit", permissionType: "Write", isStatusEnabled: true },
|
|
600
|
+
{ id: 17, taskId: "17", role: "Operator", taskName: "Upload Property Documents", permissionType: "Write", isStatusEnabled: true },
|
|
601
|
+
{ id: 18, taskId: "18", role: "Viewer", taskName: "Monitor Active Connections", permissionType: "Read", isStatusEnabled: true },
|
|
602
|
+
{ id: 19, taskId: "19", role: "Admin", taskName: "Configure API Gateways", permissionType: "All", isStatusEnabled: true },
|
|
603
|
+
{ id: 20, taskId: "20", role: "Approver", taskName: "Verify Citizen Grievance", permissionType: "Read", isStatusEnabled: false },
|
|
604
|
+
{ id: 21, taskId: "21", role: "Operator", taskName: "Log Application Status", permissionType: "Write", isStatusEnabled: true },
|
|
605
|
+
{ id: 22, taskId: "22", role: "Viewer", taskName: "Download Custom Reports", permissionType: "Read", isStatusEnabled: true },
|
|
606
|
+
{ id: 23, taskId: "23", role: "Super Admin", taskName: "Manage Security Keys", permissionType: "All", isStatusEnabled: true },
|
|
607
|
+
{ id: 24, taskId: "24", role: "Admin", taskName: "Toggle Maintenance Mode", permissionType: "Write", isStatusEnabled: false },
|
|
608
|
+
{ id: 25, taskId: "25", role: "Approver", taskName: "Final File Sign-off", permissionType: "Write", isStatusEnabled: true }
|
|
609
|
+
];
|
|
610
|
+
const [data, setData] = (0, import_react7.useState)(initialData);
|
|
611
|
+
const [sortOrder, setSortOrder] = (0, import_react7.useState)("asc");
|
|
612
|
+
const [sortKey, setSortKey] = (0, import_react7.useState)("taskId");
|
|
613
|
+
const handleSort = (columnKey) => {
|
|
614
|
+
const isAsc = sortKey === columnKey && sortOrder === "asc";
|
|
615
|
+
setSortOrder(isAsc ? "desc" : "asc");
|
|
616
|
+
setSortKey(columnKey);
|
|
617
|
+
const sortedData = [...data].sort((a, b) => {
|
|
618
|
+
let valA = a[columnKey];
|
|
619
|
+
let valB = b[columnKey];
|
|
620
|
+
if (typeof valA === "number" && typeof valB === "number") {
|
|
621
|
+
return isAsc ? valA - valB : valB - valA;
|
|
622
|
+
}
|
|
623
|
+
valA = valA ? valA.toString().toLowerCase() : "";
|
|
624
|
+
valB = valB ? valB.toString().toLowerCase() : "";
|
|
625
|
+
if (valA < valB) return isAsc ? -1 : 1;
|
|
626
|
+
if (valA > valB) return isAsc ? 1 : -1;
|
|
627
|
+
return 0;
|
|
628
|
+
});
|
|
629
|
+
setData(sortedData);
|
|
630
|
+
};
|
|
631
|
+
const filteredData = data.filter((item) => {
|
|
632
|
+
if (!searchQuery || searchQuery.trim() === "") return true;
|
|
633
|
+
let query = searchQuery.toLowerCase().trim();
|
|
634
|
+
if (query.startsWith("task")) {
|
|
635
|
+
query = query.replace(/^task[- ]*/, "");
|
|
636
|
+
if (!query) return true;
|
|
637
|
+
}
|
|
638
|
+
return item.taskId && item.taskId.toString().toLowerCase().includes(query) || item.role && item.role.toLowerCase().includes(query) || item.taskName && item.taskName.toLowerCase().includes(query) || item.permissionType && item.permissionType.toLowerCase().includes(query);
|
|
639
|
+
});
|
|
640
|
+
(0, import_react7.useEffect)(() => {
|
|
641
|
+
if (setTotalEntries) setTotalEntries(filteredData.length);
|
|
642
|
+
}, [filteredData.length, setTotalEntries]);
|
|
643
|
+
const totalPages = Math.ceil(filteredData.length / pageSize) || 1;
|
|
644
|
+
const startIndex = (currentPage - 1) * pageSize;
|
|
645
|
+
const visibleData = filteredData.slice(startIndex, startIndex + pageSize);
|
|
646
|
+
const pageNumbers = Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
647
|
+
const toggleStatus = (id) => {
|
|
648
|
+
setData((prev) => prev.map((item) => item.id === id ? __spreadProps(__spreadValues({}, item), { isStatusEnabled: !item.isStatusEnabled }) : item));
|
|
649
|
+
};
|
|
650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "space-y-5", children: [
|
|
651
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "w-full overflow-x-auto border border-slate-200 rounded-2xl shadow-sm max-h-[420px] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("table", { className: "w-full text-left border-collapse bg-white table-auto", children: [
|
|
652
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("thead", { className: "sticky top-0 z-10 bg-slate-50 shadow-[0_1px_0_0_rgba(226,232,240,1)]", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("tr", { className: "text-xs font-bold uppercase tracking-wider text-slate-500", children: [
|
|
653
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("th", { className: "py-4 px-4 w-16 text-center bg-slate-50", children: "S.NO" }),
|
|
654
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("th", { onClick: () => handleSort("taskId"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
655
|
+
"TASK ID ",
|
|
656
|
+
sortKey === "taskId" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
657
|
+
] }),
|
|
658
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("th", { onClick: () => handleSort("role"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
659
|
+
"ROLE ",
|
|
660
|
+
sortKey === "role" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
661
|
+
] }),
|
|
662
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("th", { onClick: () => handleSort("taskName"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
663
|
+
"TASK NAME ",
|
|
664
|
+
sortKey === "taskName" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
665
|
+
] }),
|
|
666
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("th", { onClick: () => handleSort("permissionType"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap text-center", children: [
|
|
667
|
+
"PERMISSION ",
|
|
668
|
+
sortKey === "permissionType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
669
|
+
] }),
|
|
670
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("th", { className: "py-4 px-5 text-sm bg-slate-50 text-center whitespace-nowrap", children: "STATUS" })
|
|
671
|
+
] }) }),
|
|
672
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("tbody", { className: "divide-y divide-slate-100 text-sm text-slate-600", children: [
|
|
673
|
+
visibleData.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("tr", { className: "hover:bg-slate-50/50 transition-colors", children: [
|
|
674
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("td", { className: "py-4 px-4 text-center font-medium text-slate-400", children: startIndex + index + 1 }),
|
|
675
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("td", { className: "py-4 px-5 font-mono text-xs font-bold text-slate-700 whitespace-nowrap", children: [
|
|
676
|
+
"TASK-",
|
|
677
|
+
item.taskId
|
|
678
|
+
] }),
|
|
679
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("td", { className: "py-4 px-5 text-slate-900 font-bold whitespace-nowrap", children: item.role }),
|
|
680
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("td", { className: "py-4 px-5 text-slate-600 font-medium whitespace-nowrap", children: item.taskName }),
|
|
681
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("td", { className: "py-4 px-5 text-slate-800 text-center whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: `px-2 py-0.5 rounded text-xs font-semibold ${item.permissionType === "Write" || item.permissionType === "All" ? "bg-emerald-50 text-emerald-700 border border-emerald-100" : "bg-blue-50 text-blue-700 border border-blue-100"}`, children: item.permissionType }) }),
|
|
682
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
683
|
+
"button",
|
|
684
|
+
{
|
|
685
|
+
type: "button",
|
|
686
|
+
onClick: () => toggleStatus(item.id),
|
|
687
|
+
className: `relative inline-flex h-5.5 w-10 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out outline-none ${item.isStatusEnabled ? "bg-blue-600" : "bg-slate-200"}`,
|
|
688
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: `pointer-events-none inline-block h-4.5 w-4.5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out ${item.isStatusEnabled ? "translate-x-4.5" : "translate-x-0"}` })
|
|
689
|
+
}
|
|
690
|
+
) })
|
|
691
|
+
] }, item.id)),
|
|
692
|
+
visibleData.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("td", { colSpan: "6", className: "py-8 text-center text-slate-400 text-xs font-medium bg-slate-50/30", children: "No matching task permissions found." }) })
|
|
693
|
+
] })
|
|
694
|
+
] }) }),
|
|
695
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center justify-end gap-1 text-[13px] text-slate-700 font-normal mt-4 bg-slate-50/50 p-3 rounded-xl border border-slate-100", children: [
|
|
696
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { onClick: () => setCurrentPage((prev) => Math.max(prev - 1, 1)), disabled: currentPage === 1, className: "px-2.5 py-1 text-slate-500 hover:text-slate-900 mr-2 disabled:opacity-40", children: "\u2039 Prev" }),
|
|
697
|
+
pageNumbers.map((pageNumber) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
698
|
+
"button",
|
|
699
|
+
{
|
|
700
|
+
onClick: () => setCurrentPage(pageNumber),
|
|
701
|
+
className: `px-3 py-1 text-center rounded transition-all min-w-[28px] ${currentPage === pageNumber ? "bg-blue-600 text-white font-medium shadow-sm" : "text-slate-600 hover:bg-slate-100"}`,
|
|
702
|
+
children: pageNumber
|
|
703
|
+
},
|
|
704
|
+
pageNumber
|
|
705
|
+
)),
|
|
706
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { onClick: () => setCurrentPage((prev) => Math.min(prev + 1, totalPages)), disabled: currentPage === totalPages, className: "px-2.5 py-1 text-slate-500 hover:text-slate-900 ml-2 disabled:opacity-40", children: "Next \u203A" })
|
|
707
|
+
] })
|
|
708
|
+
] });
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
// src/components/task-permission/Popup.js
|
|
712
|
+
var import_react8 = __toESM(require("react"));
|
|
713
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
714
|
+
function Popup({ isOpen, onClose, onSave }) {
|
|
715
|
+
if (!isOpen) return null;
|
|
716
|
+
const [stepName, setStepName] = (0, import_react8.useState)("");
|
|
717
|
+
const [stepCode, setStepCode] = (0, import_react8.useState)("");
|
|
718
|
+
const [workflow, setWorkflow] = (0, import_react8.useState)("");
|
|
719
|
+
const [canView, setCanView] = (0, import_react8.useState)(false);
|
|
720
|
+
const [canEdit, setCanEdit] = (0, import_react8.useState)(false);
|
|
721
|
+
const [canApprove, setCanApprove] = (0, import_react8.useState)(false);
|
|
722
|
+
const [canReject, setCanReject] = (0, import_react8.useState)(false);
|
|
723
|
+
const handleSubmit = (e) => {
|
|
724
|
+
e.preventDefault();
|
|
725
|
+
if (!stepName || !stepCode || !workflow) {
|
|
726
|
+
alert("Please fill out all required fields!");
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
729
|
+
onSave({ stepName, stepCode: stepCode.toUpperCase(), workflow, canView, canEdit, canApprove, canReject });
|
|
730
|
+
setStepName("");
|
|
731
|
+
setStepCode("");
|
|
732
|
+
setWorkflow("");
|
|
733
|
+
setCanView(false);
|
|
734
|
+
setCanEdit(false);
|
|
735
|
+
setCanApprove(false);
|
|
736
|
+
setCanReject(false);
|
|
737
|
+
onClose();
|
|
738
|
+
};
|
|
739
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
740
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity duration-200", onClick: onClose }),
|
|
741
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "relative w-full max-w-4xl bg-white rounded-3xl shadow-2xl flex flex-col z-10 max-h-[92vh] overflow-hidden animate-in fade-in zoom-in-95 duration-200", children: [
|
|
742
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex justify-between items-center px-8 py-6 border-b border-slate-100", children: [
|
|
743
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center gap-4", children: [
|
|
744
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "w-12 h-12 bg-blue-50 text-blue-600 rounded-xl flex items-center justify-center shadow-sm text-xl", children: "\u{1F511}" }),
|
|
745
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
|
|
746
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h2", { className: "text-xl font-extrabold text-slate-800", children: "Add Task Permission" }),
|
|
747
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "text-xs text-slate-400 mt-0.5", children: "Configure step details and initial user control access rules" })
|
|
748
|
+
] })
|
|
749
|
+
] }),
|
|
750
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { onClick: onClose, className: "text-slate-400 hover:text-slate-600 hover:bg-slate-100 p-2 rounded-full transition-all text-sm font-semibold", children: "\u2715" })
|
|
751
|
+
] }),
|
|
752
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("form", { onSubmit: handleSubmit, className: "flex flex-col flex-1 overflow-hidden", children: [
|
|
753
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "p-8 space-y-8 overflow-y-auto max-h-[calc(92vh-170px)] bg-slate-50/30", children: [
|
|
754
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
755
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center gap-2 text-blue-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
756
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "\u{1F4CB}" }),
|
|
757
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Step Information" })
|
|
758
|
+
] }),
|
|
759
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
760
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
|
|
761
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
762
|
+
"Step Name ",
|
|
763
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-red-500", children: "*" })
|
|
764
|
+
] }),
|
|
765
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { type: "text", placeholder: "e.g., Scrutiny", value: stepName, onChange: (e) => setStepName(e.target.value), className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs placeholder-slate-400 text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500 bg-white" })
|
|
766
|
+
] }),
|
|
767
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
|
|
768
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
769
|
+
"Step Code ",
|
|
770
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-red-500", children: "*" })
|
|
771
|
+
] }),
|
|
772
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { type: "text", placeholder: "e.g., SCRUTINY-01", value: stepCode, onChange: (e) => setStepCode(e.target.value), className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs placeholder-slate-400 text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500 bg-white" })
|
|
773
|
+
] })
|
|
774
|
+
] }),
|
|
775
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
|
|
776
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
777
|
+
"Workflow Definition Relation ",
|
|
778
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-red-500", children: "*" })
|
|
779
|
+
] }),
|
|
780
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("select", { value: workflow, onChange: (e) => setWorkflow(e.target.value), className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500", children: [
|
|
781
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "", children: "Select associated master workflow" }),
|
|
782
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "Citizen Petition Workflow", children: "Citizen Petition Workflow" }),
|
|
783
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "Building Permission Workflow", children: "Building Permission Workflow" }),
|
|
784
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "Leave Application Workflow", children: "Leave Application Workflow" }),
|
|
785
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "Public Grievance Workflow", children: "Public Grievance Workflow" })
|
|
786
|
+
] })
|
|
787
|
+
] })
|
|
788
|
+
] }),
|
|
789
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
790
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center gap-2 text-blue-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
791
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "\u2699\uFE0F" }),
|
|
792
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Set Initial Matrix Access Rules" })
|
|
793
|
+
] }),
|
|
794
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4", children: [["\u{1F441}\uFE0F", "Can View", "Read logs", canView, setCanView], ["\u{1F4DD}", "Can Edit", "Modify props", canEdit, setCanEdit], ["\u2713", "Can Approve", "Pass states", canApprove, setCanApprove], ["\u2715", "Can Reject", "Cancel tasks", canReject, setCanReject]].map(([icon, title, desc, val, setVal], i) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
795
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center gap-2.5", children: [
|
|
796
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "w-8 h-8 rounded-lg bg-blue-50 text-blue-600 flex items-center justify-center text-xs", children: icon }),
|
|
797
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
|
|
798
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "text-xs font-bold text-slate-700", children: title }),
|
|
799
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "text-[9px] text-slate-400", children: desc })
|
|
800
|
+
] })
|
|
801
|
+
] }),
|
|
802
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
803
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { type: "checkbox", checked: val, onChange: (e) => setVal(e.target.checked), className: "sr-only peer" }),
|
|
804
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "w-8 h-4.5 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-3.5 after:w-3.5 after:transition-all peer-checked:bg-indigo-600" })
|
|
805
|
+
] })
|
|
806
|
+
] }, i)) })
|
|
807
|
+
] })
|
|
808
|
+
] }),
|
|
809
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "p-5 bg-white border-t border-slate-100 flex items-center justify-end gap-3 px-8", children: [
|
|
810
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { type: "button", onClick: onClose, className: "px-6 py-2.5 border border-slate-200 text-slate-600 text-xs font-bold rounded-xl hover:bg-slate-50 transition-all", children: "\u2715 Cancel" }),
|
|
811
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { type: "submit", className: "px-6 py-2.5 bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold rounded-xl shadow-md shadow-blue-500/10 transition-all", children: "\u{1F4BE} Save Permission" })
|
|
812
|
+
] })
|
|
813
|
+
] })
|
|
814
|
+
] })
|
|
815
|
+
] });
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
// src/components/task-permission/AddButton.js
|
|
819
|
+
var import_react9 = __toESM(require("react"));
|
|
820
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
821
|
+
function AddButton2({ onOpen }) {
|
|
822
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
823
|
+
"button",
|
|
824
|
+
{
|
|
825
|
+
onClick: onOpen,
|
|
826
|
+
className: "bg-blue-600 hover:bg-blue-700 text-white px-5 py-2.5 rounded-xl font-bold text-sm shadow-md shadow-blue-500/20 hover:shadow-lg hover:shadow-blue-500/30 transition-all active:scale-95 flex items-center gap-2",
|
|
827
|
+
children: [
|
|
828
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("svg", { className: "w-4 h-4 stroke-[2.5]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) }),
|
|
829
|
+
"Add Task Permission"
|
|
830
|
+
]
|
|
831
|
+
}
|
|
832
|
+
);
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
// src/pages/TaskPermissionPage.js
|
|
836
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
837
|
+
function TaskPermissionPage() {
|
|
838
|
+
const [modalOpen, setModalOpen] = (0, import_react10.useState)(false);
|
|
839
|
+
const [pageSize, setPageSize] = (0, import_react10.useState)(10);
|
|
840
|
+
const [searchQuery, setSearchQuery] = (0, import_react10.useState)("");
|
|
841
|
+
const [currentPage, setCurrentPage] = (0, import_react10.useState)(1);
|
|
842
|
+
const [totalEntries, setTotalEntries] = (0, import_react10.useState)(0);
|
|
843
|
+
const handlePageSizeChange = (e) => {
|
|
844
|
+
setPageSize(Number(e.target.value));
|
|
845
|
+
setCurrentPage(1);
|
|
846
|
+
};
|
|
847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "min-h-screen bg-slate-50 p-4 md:p-6", children: [
|
|
848
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "w-full space-y-5", children: [
|
|
849
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm gap-4", children: [
|
|
850
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { children: [
|
|
851
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("h1", { className: "text-2xl font-extrabold text-slate-900 tracking-tight", children: "Task Permission" }),
|
|
852
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("p", { className: "text-xs text-slate-400 mt-1", children: [
|
|
853
|
+
"Dashboard > Settings > ",
|
|
854
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-blue-600 font-semibold", children: "Task Permission Master" })
|
|
855
|
+
] })
|
|
856
|
+
] }),
|
|
857
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AddButton2, { onOpen: () => setModalOpen(true) })
|
|
858
|
+
] }),
|
|
859
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm space-y-5", children: [
|
|
860
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
861
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SearchBar2, { searchQuery, setSearchQuery, setCurrentPage }) }),
|
|
862
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
863
|
+
"select",
|
|
864
|
+
{
|
|
865
|
+
value: pageSize,
|
|
866
|
+
onChange: handlePageSizeChange,
|
|
867
|
+
className: "border border-slate-200 rounded-lg px-3 py-2 text-sm bg-white cursor-pointer outline-none shadow-sm text-slate-700",
|
|
868
|
+
children: [
|
|
869
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("option", { value: 5, children: "5 Rows" }),
|
|
870
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("option", { value: 10, children: "10 Rows" }),
|
|
871
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("option", { value: 20, children: "20 Rows" }),
|
|
872
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("option", { value: 25, children: "25 Rows" })
|
|
873
|
+
]
|
|
874
|
+
}
|
|
875
|
+
) })
|
|
876
|
+
] }),
|
|
877
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
878
|
+
Table,
|
|
879
|
+
{
|
|
880
|
+
pageSize,
|
|
881
|
+
searchQuery,
|
|
882
|
+
currentPage,
|
|
883
|
+
setCurrentPage,
|
|
884
|
+
setTotalEntries
|
|
885
|
+
}
|
|
886
|
+
)
|
|
887
|
+
] })
|
|
888
|
+
] }),
|
|
889
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Popup, { isOpen: modalOpen, onClose: () => setModalOpen(false) })
|
|
890
|
+
] });
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
// src/pages/AssignmentRulePage.js
|
|
894
|
+
var import_react15 = __toESM(require("react"));
|
|
895
|
+
|
|
896
|
+
// src/components/assignment-rule/SearchBar.js
|
|
897
|
+
var import_react11 = __toESM(require("react"));
|
|
898
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
899
|
+
function SearchBar3({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
900
|
+
const handleInputChange = (value) => {
|
|
901
|
+
setSearchQuery(value);
|
|
902
|
+
if (setCurrentPage) {
|
|
903
|
+
setCurrentPage(1);
|
|
904
|
+
}
|
|
905
|
+
};
|
|
906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "relative max-w-sm w-full", children: [
|
|
907
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: "w-4.5 h-4.5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
908
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
909
|
+
"input",
|
|
910
|
+
{
|
|
911
|
+
type: "text",
|
|
912
|
+
value: searchQuery,
|
|
913
|
+
onChange: (e) => handleInputChange(e.target.value),
|
|
914
|
+
placeholder: "Search rule keys...",
|
|
915
|
+
className: "w-full pl-10 pr-4 py-2.5 border border-slate-200 rounded-xl text-sm bg-slate-50/50 focus:outline-none focus:ring-4 focus:ring-blue-500/10 focus:border-blue-500 text-slate-700 placeholder-slate-400 transition-all shadow-sm"
|
|
916
|
+
}
|
|
917
|
+
)
|
|
918
|
+
] });
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
// src/components/assignment-rule/Table.js
|
|
922
|
+
var import_react12 = __toESM(require("react"));
|
|
923
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
924
|
+
function Table2({ pageSize, searchQuery = "", currentPage, setCurrentPage, setTotalEntries }) {
|
|
925
|
+
const initialData = [
|
|
926
|
+
{ id: 1, workflowStepId: "1", assignmentType: "Hierarchy", hierarchyNodeType: "Block", dynamicFunctionId: "N/A", isPoolEnabled: true },
|
|
927
|
+
{ id: 2, workflowStepId: "2", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "1", isPoolEnabled: false },
|
|
928
|
+
{ id: 3, workflowStepId: "3", assignmentType: "Hierarchy", hierarchyNodeType: "District", dynamicFunctionId: "N/A", isPoolEnabled: true },
|
|
929
|
+
{ id: 4, workflowStepId: "4", assignmentType: "Dynamic", hierarchyNodeType: "Block", dynamicFunctionId: "2", isPoolEnabled: false },
|
|
930
|
+
{ id: 5, workflowStepId: "5", assignmentType: "Hierarchy", hierarchyNodeType: "Block", dynamicFunctionId: "N/A", isPoolEnabled: true },
|
|
931
|
+
{ id: 6, workflowStepId: "6", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
932
|
+
{ id: 7, workflowStepId: "7", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
933
|
+
{ id: 8, workflowStepId: "8", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
934
|
+
{ id: 9, workflowStepId: "9", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
935
|
+
{ id: 10, workflowStepId: "10", assignmentType: "Hierarchy", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
936
|
+
{ id: 11, workflowStepId: "11", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
937
|
+
{ id: 12, workflowStepId: "12", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
938
|
+
{ id: 13, workflowStepId: "13", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
939
|
+
{ id: 14, workflowStepId: "14", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true }
|
|
940
|
+
];
|
|
941
|
+
const [data, setData] = (0, import_react12.useState)(initialData);
|
|
942
|
+
const [sortOrder, setSortOrder] = (0, import_react12.useState)("asc");
|
|
943
|
+
const [sortKey, setSortKey] = (0, import_react12.useState)("workflowStepId");
|
|
944
|
+
const handleSort = (columnKey) => {
|
|
945
|
+
const isAsc = sortKey === columnKey && sortOrder === "asc";
|
|
946
|
+
setSortOrder(isAsc ? "desc" : "asc");
|
|
947
|
+
setSortKey(columnKey);
|
|
948
|
+
const sortedData = [...data].sort((a, b) => {
|
|
949
|
+
let valA = a[columnKey];
|
|
950
|
+
let valB = b[columnKey];
|
|
951
|
+
if (typeof valA === "number" && typeof valB === "number") {
|
|
952
|
+
return isAsc ? valA - valB : valB - valA;
|
|
953
|
+
}
|
|
954
|
+
valA = valA ? valA.toString().toLowerCase() : "";
|
|
955
|
+
valB = valB ? valB.toString().toLowerCase() : "";
|
|
956
|
+
if (valA < valB) return isAsc ? -1 : 1;
|
|
957
|
+
if (valA > valB) return isAsc ? 1 : -1;
|
|
958
|
+
return 0;
|
|
959
|
+
});
|
|
960
|
+
setData(sortedData);
|
|
961
|
+
};
|
|
962
|
+
const filteredData = data.filter((item) => {
|
|
963
|
+
if (!searchQuery || searchQuery.trim() === "") return true;
|
|
964
|
+
const query = searchQuery.toLowerCase().trim();
|
|
965
|
+
return item.workflowStepId && item.workflowStepId.toString().toLowerCase().includes(query) || item.assignmentType && item.assignmentType.toLowerCase().includes(query) || item.hierarchyNodeType && item.hierarchyNodeType.toLowerCase().includes(query) || item.dynamicFunctionId && item.dynamicFunctionId.toString().toLowerCase().includes(query);
|
|
966
|
+
});
|
|
967
|
+
(0, import_react12.useEffect)(() => {
|
|
968
|
+
if (setTotalEntries) setTotalEntries(filteredData.length);
|
|
969
|
+
}, [filteredData.length, setTotalEntries]);
|
|
970
|
+
const totalPages = Math.ceil(filteredData.length / pageSize) || 1;
|
|
971
|
+
const startIndex = (currentPage - 1) * pageSize;
|
|
972
|
+
const visibleData = filteredData.slice(startIndex, startIndex + pageSize);
|
|
973
|
+
const pageNumbers = Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
974
|
+
const toggleStatus = (id) => {
|
|
975
|
+
setData((prev) => prev.map((item) => item.id === id ? __spreadProps(__spreadValues({}, item), { isPoolEnabled: !item.isPoolEnabled }) : item));
|
|
976
|
+
};
|
|
977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "space-y-5", children: [
|
|
978
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "w-full overflow-x-auto border border-slate-200 rounded-2xl shadow-sm max-h-[420px] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("table", { className: "w-full text-left border-collapse bg-white table-auto", children: [
|
|
979
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("thead", { className: "sticky top-0 z-10 bg-slate-50 shadow-[0_1px_0_0_rgba(226,232,240,1)]", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("tr", { className: "text-xs font-bold uppercase tracking-wider text-slate-500", children: [
|
|
980
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("th", { className: "py-4 px-4 w-16 text-center bg-slate-50", children: "S.NO" }),
|
|
981
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("th", { onClick: () => handleSort("workflowStepId"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
982
|
+
"WORKFLOW STEP ID ",
|
|
983
|
+
sortKey === "workflowStepId" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
984
|
+
] }),
|
|
985
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("th", { onClick: () => handleSort("assignmentType"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
986
|
+
"ASSIGNMENT TYPE ",
|
|
987
|
+
sortKey === "assignmentType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
988
|
+
] }),
|
|
989
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("th", { onClick: () => handleSort("hierarchyNodeType"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
990
|
+
"NODE TYPE ",
|
|
991
|
+
sortKey === "hierarchyNodeType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
992
|
+
] }),
|
|
993
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("th", { onClick: () => handleSort("dynamicFunctionId"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap text-center", children: [
|
|
994
|
+
"DYNAMIC FUNCTION ID ",
|
|
995
|
+
sortKey === "dynamicFunctionId" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
996
|
+
] }),
|
|
997
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("th", { className: "py-4 px-5 text-sm bg-slate-50 text-center whitespace-nowrap", children: "POOL ENABLED" })
|
|
998
|
+
] }) }),
|
|
999
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("tbody", { className: "divide-y divide-slate-100 text-sm text-slate-600", children: [
|
|
1000
|
+
visibleData.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("tr", { className: "hover:bg-slate-50/50 transition-colors", children: [
|
|
1001
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("td", { className: "py-4 px-4 text-center font-medium text-slate-400", children: startIndex + index + 1 }),
|
|
1002
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("td", { className: "py-4 px-5 font-mono text-xs font-bold text-slate-700 whitespace-nowrap", children: [
|
|
1003
|
+
"STEP-",
|
|
1004
|
+
item.workflowStepId
|
|
1005
|
+
] }),
|
|
1006
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("td", { className: "py-4 px-5 text-slate-900 text-[14px] font-bold whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `px-2 py-0.5 rounded text-xs font-semibold ${item.assignmentType === "Hierarchy" ? "bg-indigo-50 text-indigo-700 border border-indigo-100" : "bg-amber-50 text-amber-700 border border-amber-100"}`, children: item.assignmentType }) }),
|
|
1007
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("td", { className: "py-4 px-5 text-slate-600 font-medium whitespace-nowrap", children: item.hierarchyNodeType }),
|
|
1008
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("td", { className: "py-4 px-5 text-slate-800 font-bold text-center whitespace-nowrap", children: item.dynamicFunctionId === "N/A" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-slate-400 font-normal", children: "N/A" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "bg-slate-100 text-slate-700 px-2 py-0.5 rounded text-xs", children: [
|
|
1009
|
+
"FN-",
|
|
1010
|
+
item.dynamicFunctionId
|
|
1011
|
+
] }) }),
|
|
1012
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1013
|
+
"button",
|
|
1014
|
+
{
|
|
1015
|
+
type: "button",
|
|
1016
|
+
onClick: () => toggleStatus(item.id),
|
|
1017
|
+
className: `relative inline-flex h-5.5 w-10 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out outline-none ${item.isPoolEnabled ? "bg-blue-600" : "bg-slate-200"}`,
|
|
1018
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `pointer-events-none inline-block h-4.5 w-4.5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out ${item.isPoolEnabled ? "translate-x-4.5" : "translate-x-0"}` })
|
|
1019
|
+
}
|
|
1020
|
+
) })
|
|
1021
|
+
] }, item.id)),
|
|
1022
|
+
visibleData.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("td", { colSpan: "6", className: "py-8 text-center text-slate-400 text-xs font-medium bg-slate-50/30", children: "No matching assignment rules found." }) })
|
|
1023
|
+
] })
|
|
1024
|
+
] }) }),
|
|
1025
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center justify-end gap-1 text-[13px] text-slate-700 font-normal mt-4 bg-slate-50/50 p-3 rounded-xl border border-slate-100", children: [
|
|
1026
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("button", { onClick: () => setCurrentPage((prev) => Math.max(prev - 1, 1)), disabled: currentPage === 1, className: "px-2.5 py-1 text-slate-500 hover:text-slate-900 mr-2 disabled:opacity-40", children: "\u2039 Prev" }),
|
|
1027
|
+
pageNumbers.map((pageNumber) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1028
|
+
"button",
|
|
1029
|
+
{
|
|
1030
|
+
onClick: () => setCurrentPage(pageNumber),
|
|
1031
|
+
className: `px-3 py-1 text-center rounded transition-all min-w-[28px] ${currentPage === pageNumber ? "bg-blue-600 text-white font-medium shadow-sm" : "text-slate-600 hover:bg-slate-100"}`,
|
|
1032
|
+
children: pageNumber
|
|
1033
|
+
},
|
|
1034
|
+
pageNumber
|
|
1035
|
+
)),
|
|
1036
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("button", { onClick: () => setCurrentPage((prev) => Math.min(prev + 1, totalPages)), disabled: currentPage === totalPages, className: "px-2.5 py-1 text-slate-500 hover:text-slate-900 ml-2 disabled:opacity-40", children: "Next \u203A" })
|
|
1037
|
+
] })
|
|
1038
|
+
] });
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
// src/components/assignment-rule/Popup.js
|
|
1042
|
+
var import_react13 = __toESM(require("react"));
|
|
1043
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1044
|
+
function Popup2({ isOpen, onClose, onSave }) {
|
|
1045
|
+
if (!isOpen) return null;
|
|
1046
|
+
const [workflowStepId, setWorkflowStepId] = (0, import_react13.useState)("");
|
|
1047
|
+
const [assignmentType, setAssignmentType] = (0, import_react13.useState)("");
|
|
1048
|
+
const [hierarchyNodeType, setHierarchyNodeType] = (0, import_react13.useState)("");
|
|
1049
|
+
const [dynamicFunctionId, setDynamicFunctionId] = (0, import_react13.useState)("");
|
|
1050
|
+
const [isPoolEnabled, setIsPoolEnabled] = (0, import_react13.useState)(false);
|
|
1051
|
+
const handleSubmit = (e) => {
|
|
1052
|
+
e.preventDefault();
|
|
1053
|
+
if (!workflowStepId || !assignmentType || !hierarchyNodeType) {
|
|
1054
|
+
alert("Please fill out all required fields!");
|
|
1055
|
+
return;
|
|
1056
|
+
}
|
|
1057
|
+
onSave({
|
|
1058
|
+
workflowStepId,
|
|
1059
|
+
assignmentType,
|
|
1060
|
+
hierarchyNodeType,
|
|
1061
|
+
dynamicFunctionId: dynamicFunctionId || "N/A",
|
|
1062
|
+
isPoolEnabled
|
|
1063
|
+
});
|
|
1064
|
+
setWorkflowStepId("");
|
|
1065
|
+
setAssignmentType("");
|
|
1066
|
+
setHierarchyNodeType("");
|
|
1067
|
+
setDynamicFunctionId("");
|
|
1068
|
+
setIsPoolEnabled(false);
|
|
1069
|
+
onClose();
|
|
1070
|
+
};
|
|
1071
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
1072
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity", onClick: onClose }),
|
|
1073
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "relative w-full max-w-2xl bg-white rounded-3xl shadow-2xl flex flex-col z-10 max-h-[90vh] overflow-hidden", children: [
|
|
1074
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex justify-between items-center px-8 py-5 border-b border-slate-100", children: [
|
|
1075
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
1076
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "w-10 h-10 bg-blue-50 text-blue-600 rounded-xl flex items-center justify-center text-lg", children: "\u2696\uFE0F" }),
|
|
1077
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
|
|
1078
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("h2", { className: "text-lg font-extrabold text-slate-800", children: "Add Assignment Rule" }),
|
|
1079
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "text-[10px] text-slate-400", children: "Configure core task routing constraints" })
|
|
1080
|
+
] })
|
|
1081
|
+
] }),
|
|
1082
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { type: "button", onClick: onClose, className: "text-slate-400 hover:text-slate-600 font-semibold text-sm", children: "\u2715" })
|
|
1083
|
+
] }),
|
|
1084
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("form", { onSubmit: handleSubmit, className: "flex flex-col overflow-hidden", children: [
|
|
1085
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "p-6 space-y-4 overflow-y-auto bg-slate-50/30", children: [
|
|
1086
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
|
|
1087
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Workflow Step ID *" }),
|
|
1088
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("input", { type: "text", placeholder: "e.g., STEP-1", value: workflowStepId, onChange: (e) => setWorkflowStepId(e.target.value), className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs placeholder-slate-400 focus:ring-2 focus:ring-blue-500/10 focus:border-blue-500" })
|
|
1089
|
+
] }),
|
|
1090
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
|
|
1091
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Assignment Type *" }),
|
|
1092
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("select", { value: assignmentType, onChange: (e) => setAssignmentType(e.target.value), className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:border-blue-500", children: [
|
|
1093
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("option", { value: "", children: "Select Assignment Engine Type" }),
|
|
1094
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("option", { value: "Hierarchy", children: "Hierarchy" }),
|
|
1095
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("option", { value: "Dynamic", children: "Dynamic" })
|
|
1096
|
+
] })
|
|
1097
|
+
] }),
|
|
1098
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
|
|
1099
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Hierarchy Node Type *" }),
|
|
1100
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("select", { value: hierarchyNodeType, onChange: (e) => setHierarchyNodeType(e.target.value), className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:border-blue-500", children: [
|
|
1101
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("option", { value: "", children: "Select Node Level" }),
|
|
1102
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("option", { value: "Block", children: "Block" }),
|
|
1103
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("option", { value: "District", children: "District" })
|
|
1104
|
+
] })
|
|
1105
|
+
] }),
|
|
1106
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
|
|
1107
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Dynamic Function ID" }),
|
|
1108
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("input", { type: "text", placeholder: "e.g., 1, 2", value: dynamicFunctionId, onChange: (e) => setDynamicFunctionId(e.target.value), className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs placeholder-slate-400 focus:ring-2 focus:ring-blue-500/10 focus:border-blue-500" })
|
|
1109
|
+
] }),
|
|
1110
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center gap-2 pt-1", children: [
|
|
1111
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("input", { type: "checkbox", id: "isPoolEnabled", checked: isPoolEnabled, onChange: (e) => setIsPoolEnabled(e.target.checked), className: "w-4 h-4 text-blue-600 border-slate-300 rounded focus:ring-blue-500" }),
|
|
1112
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("label", { htmlFor: "isPoolEnabled", className: "text-xs font-bold text-slate-700 select-none cursor-pointer", children: "Enable Task Pooling" })
|
|
1113
|
+
] })
|
|
1114
|
+
] }),
|
|
1115
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "p-4 bg-white border-t border-slate-100 flex items-center justify-end gap-2.5 px-6", children: [
|
|
1116
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { type: "button", onClick: onClose, className: "px-4 py-2 border border-slate-200 text-slate-600 text-xs font-bold rounded-xl hover:bg-slate-50", children: "Cancel" }),
|
|
1117
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { type: "submit", className: "px-5 py-2 bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold rounded-xl shadow-md shadow-blue-500/10", children: "Save Rule" })
|
|
1118
|
+
] })
|
|
1119
|
+
] })
|
|
1120
|
+
] })
|
|
1121
|
+
] });
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
// src/components/assignment-rule/AddButton.js
|
|
1125
|
+
var import_react14 = __toESM(require("react"));
|
|
1126
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1127
|
+
function AddButton3({ onOpen }) {
|
|
1128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1129
|
+
"button",
|
|
1130
|
+
{
|
|
1131
|
+
onClick: onOpen,
|
|
1132
|
+
className: "bg-blue-600 hover:bg-blue-700 text-white px-5 py-2.5 rounded-xl font-bold text-sm shadow-md shadow-blue-500/20 hover:shadow-lg hover:shadow-blue-500/30 transition-all active:scale-95 flex items-center gap-2",
|
|
1133
|
+
children: [
|
|
1134
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("svg", { className: "w-4 h-4 stroke-[2.5]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) }),
|
|
1135
|
+
"Add Assignment Rule"
|
|
1136
|
+
]
|
|
1137
|
+
}
|
|
1138
|
+
);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
// src/pages/AssignmentRulePage.js
|
|
1142
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1143
|
+
function AssignmentRulePage() {
|
|
1144
|
+
const [modalOpen, setModalOpen] = (0, import_react15.useState)(false);
|
|
1145
|
+
const [pageSize, setPageSize] = (0, import_react15.useState)(10);
|
|
1146
|
+
const [searchQuery, setSearchQuery] = (0, import_react15.useState)("");
|
|
1147
|
+
const [currentPage, setCurrentPage] = (0, import_react15.useState)(1);
|
|
1148
|
+
const [totalEntries, setTotalEntries] = (0, import_react15.useState)(0);
|
|
1149
|
+
const handlePageSizeChange = (e) => {
|
|
1150
|
+
setPageSize(Number(e.target.value));
|
|
1151
|
+
setCurrentPage(1);
|
|
1152
|
+
};
|
|
1153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "min-h-screen bg-slate-50 p-4 md:p-6", children: [
|
|
1154
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-full space-y-5", children: [
|
|
1155
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm gap-4", children: [
|
|
1156
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { children: [
|
|
1157
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h1", { className: "text-2xl font-extrabold text-slate-900 tracking-tight", children: "Assignment Rule" }),
|
|
1158
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("p", { className: "text-xs text-slate-400 mt-1", children: [
|
|
1159
|
+
"Dashboard > Settings > ",
|
|
1160
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-blue-600 font-semibold", children: "Assignment Rule Master" })
|
|
1161
|
+
] })
|
|
1162
|
+
] }),
|
|
1163
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(AddButton3, { onOpen: () => setModalOpen(true) })
|
|
1164
|
+
] }),
|
|
1165
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm space-y-5", children: [
|
|
1166
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
1167
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SearchBar3, { searchQuery, setSearchQuery, setCurrentPage }) }),
|
|
1168
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
1169
|
+
"select",
|
|
1170
|
+
{
|
|
1171
|
+
value: pageSize,
|
|
1172
|
+
onChange: handlePageSizeChange,
|
|
1173
|
+
className: "border border-slate-200 rounded-lg px-3 py-2 text-sm bg-white cursor-pointer outline-none shadow-sm text-slate-700",
|
|
1174
|
+
children: [
|
|
1175
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: 5, children: "5 Rows" }),
|
|
1176
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: 10, children: "10 Rows" }),
|
|
1177
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: 20, children: "20 Rows" }),
|
|
1178
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: 25, children: "25 Rows" })
|
|
1179
|
+
]
|
|
1180
|
+
}
|
|
1181
|
+
) })
|
|
1182
|
+
] }),
|
|
1183
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1184
|
+
Table2,
|
|
1185
|
+
{
|
|
1186
|
+
pageSize,
|
|
1187
|
+
searchQuery,
|
|
1188
|
+
currentPage,
|
|
1189
|
+
setCurrentPage,
|
|
1190
|
+
setTotalEntries
|
|
1191
|
+
}
|
|
1192
|
+
)
|
|
1193
|
+
] })
|
|
1194
|
+
] }),
|
|
1195
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Popup2, { isOpen: modalOpen, onClose: () => setModalOpen(false) })
|
|
1196
|
+
] });
|
|
1197
|
+
}
|
|
1198
|
+
|
|
537
1199
|
// src/components/Sidebar.jsx
|
|
538
|
-
var
|
|
539
|
-
var
|
|
1200
|
+
var import_react27 = require("react");
|
|
1201
|
+
var import_react28 = require("@remixicon/react");
|
|
540
1202
|
var import_router = require("next/router");
|
|
541
1203
|
|
|
542
1204
|
// src/components/WorkflowType/WorkflowTypeMains.js
|
|
543
|
-
var
|
|
1205
|
+
var import_react20 = __toESM(require("react"));
|
|
544
1206
|
|
|
545
1207
|
// src/components/WorkflowType/SearchBar.jsx
|
|
546
|
-
var
|
|
547
|
-
var
|
|
548
|
-
function
|
|
1208
|
+
var import_react16 = __toESM(require("react"));
|
|
1209
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1210
|
+
function SearchBar4({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
549
1211
|
const handleChange = (e) => {
|
|
550
1212
|
setSearchQuery(e.target.value);
|
|
551
1213
|
if (setCurrentPage) {
|
|
552
1214
|
setCurrentPage(1);
|
|
553
1215
|
}
|
|
554
1216
|
};
|
|
555
|
-
return /* @__PURE__ */ (0,
|
|
556
|
-
/* @__PURE__ */ (0,
|
|
557
|
-
/* @__PURE__ */ (0,
|
|
1217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "relative w-full", children: [
|
|
1218
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-slate-400", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
1219
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
558
1220
|
"input",
|
|
559
1221
|
{
|
|
560
1222
|
type: "text",
|
|
@@ -564,7 +1226,7 @@ function SearchBar2({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
|
564
1226
|
className: "w-full pl-9 pr-4 py-2 bg-white border border-slate-200 rounded-xl text-sm text-slate-800 placeholder-slate-400 outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 transition-all shadow-sm"
|
|
565
1227
|
}
|
|
566
1228
|
),
|
|
567
|
-
searchQuery && /* @__PURE__ */ (0,
|
|
1229
|
+
searchQuery && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
568
1230
|
"button",
|
|
569
1231
|
{
|
|
570
1232
|
onClick: () => {
|
|
@@ -579,8 +1241,8 @@ function SearchBar2({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
|
579
1241
|
}
|
|
580
1242
|
|
|
581
1243
|
// src/components/WorkflowType/WorkflowTypeTable.jsx
|
|
582
|
-
var
|
|
583
|
-
var
|
|
1244
|
+
var import_react17 = __toESM(require("react"));
|
|
1245
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
584
1246
|
function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrentPage, setTotalEntries }) {
|
|
585
1247
|
const initialData = [
|
|
586
1248
|
{ id: 1, workflowName: "Citizen Petition Workflow", workflowCode: "PET-001", workflowType: "Petition", version: 1, published: true, status: true },
|
|
@@ -609,9 +1271,9 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
609
1271
|
{ id: 24, workflowName: "Seismic Clearance Flow", workflowCode: "ENV-001", workflowType: "Environment", version: 1, published: false, status: false },
|
|
610
1272
|
{ id: 25, workflowName: "Tree Cutting Permission", workflowCode: "ENV-002", workflowType: "Environment", version: 2, published: true, status: true }
|
|
611
1273
|
];
|
|
612
|
-
const [data, setData] = (0,
|
|
613
|
-
const [sortOrder, setSortOrder] = (0,
|
|
614
|
-
const [sortKey, setSortKey] = (0,
|
|
1274
|
+
const [data, setData] = (0, import_react17.useState)(initialData);
|
|
1275
|
+
const [sortOrder, setSortOrder] = (0, import_react17.useState)("asc");
|
|
1276
|
+
const [sortKey, setSortKey] = (0, import_react17.useState)("workflowName");
|
|
615
1277
|
const handleSort = (columnKey) => {
|
|
616
1278
|
const isAsc = sortKey === columnKey && sortOrder === "asc";
|
|
617
1279
|
setSortOrder(isAsc ? "desc" : "asc");
|
|
@@ -627,7 +1289,7 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
627
1289
|
const query = (searchQuery || "").toLowerCase();
|
|
628
1290
|
return item.workflowName.toLowerCase().includes(query) || item.workflowCode.toLowerCase().includes(query) || item.workflowType.toLowerCase().includes(query);
|
|
629
1291
|
});
|
|
630
|
-
(0,
|
|
1292
|
+
(0, import_react17.useEffect)(() => {
|
|
631
1293
|
if (setTotalEntries) setTotalEntries(filteredData.length);
|
|
632
1294
|
}, [filteredData.length, setTotalEntries]);
|
|
633
1295
|
const totalPages = Math.ceil(filteredData.length / pageSize) || 1;
|
|
@@ -637,46 +1299,46 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
637
1299
|
const toggleStatus = (id) => {
|
|
638
1300
|
setData((prev) => prev.map((item) => item.id === id ? __spreadProps(__spreadValues({}, item), { status: !item.status }) : item));
|
|
639
1301
|
};
|
|
640
|
-
return /* @__PURE__ */ (0,
|
|
641
|
-
/* @__PURE__ */ (0,
|
|
642
|
-
/* @__PURE__ */ (0,
|
|
643
|
-
/* @__PURE__ */ (0,
|
|
644
|
-
/* @__PURE__ */ (0,
|
|
1302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-5", children: [
|
|
1303
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "w-full overflow-x-auto border border-slate-200 rounded-2xl shadow-sm max-h-[420px] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("table", { className: "w-full text-left border-collapse bg-white table-auto", children: [
|
|
1304
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("thead", { className: "sticky top-0 z-10 bg-slate-50 shadow-[0_1px_0_0_rgba(226,232,240,1)]", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("tr", { className: "text-xs font-bold uppercase tracking-wider text-slate-500", children: [
|
|
1305
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("th", { className: "py-4 px-4 w-16 text-center bg-slate-50", children: "S.NO" }),
|
|
1306
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("th", { onClick: () => handleSort("workflowName"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
645
1307
|
"WORKFLOW NAME ",
|
|
646
1308
|
sortKey === "workflowName" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
647
1309
|
] }),
|
|
648
|
-
/* @__PURE__ */ (0,
|
|
1310
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("th", { onClick: () => handleSort("workflowCode"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
649
1311
|
"WORKFLOW CODE ",
|
|
650
1312
|
sortKey === "workflowCode" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
651
1313
|
] }),
|
|
652
|
-
/* @__PURE__ */ (0,
|
|
1314
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("th", { onClick: () => handleSort("workflowType"), className: "py-4 px-5 text-sm cursor-pointer select-none hover:text-slate-900 bg-slate-50 whitespace-nowrap", children: [
|
|
653
1315
|
"WORKFLOW TYPE ",
|
|
654
1316
|
sortKey === "workflowType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
655
1317
|
] }),
|
|
656
|
-
/* @__PURE__ */ (0,
|
|
657
|
-
/* @__PURE__ */ (0,
|
|
658
|
-
/* @__PURE__ */ (0,
|
|
1318
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("th", { className: "py-4 px-5 text-sm bg-slate-50 whitespace-nowrap text-center", children: "VERSION" }),
|
|
1319
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("th", { className: "py-4 px-5 text-sm bg-slate-50 whitespace-nowrap text-center", children: "PUBLISHED" }),
|
|
1320
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("th", { className: "py-4 px-5 text-sm bg-slate-50 text-center whitespace-nowrap", children: "STATUS" })
|
|
659
1321
|
] }) }),
|
|
660
|
-
/* @__PURE__ */ (0,
|
|
661
|
-
/* @__PURE__ */ (0,
|
|
662
|
-
/* @__PURE__ */ (0,
|
|
663
|
-
/* @__PURE__ */ (0,
|
|
664
|
-
/* @__PURE__ */ (0,
|
|
665
|
-
/* @__PURE__ */ (0,
|
|
666
|
-
/* @__PURE__ */ (0,
|
|
667
|
-
/* @__PURE__ */ (0,
|
|
1322
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("tbody", { className: "divide-y divide-slate-100 text-sm text-slate-600", children: visibleData.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("tr", { className: "hover:bg-slate-50/50 transition-colors", children: [
|
|
1323
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("td", { className: "py-4 px-4 text-center font-medium text-slate-400", children: startIndex + index + 1 }),
|
|
1324
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("td", { className: "py-4 px-5 font-bold text-slate-900 text-[14px] whitespace-nowrap", children: item.workflowName }),
|
|
1325
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("td", { className: "py-4 px-5 text-slate-500 font-mono text-xs whitespace-nowrap", children: item.workflowCode }),
|
|
1326
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("td", { className: "py-4 px-5 text-slate-600 font-medium whitespace-nowrap", children: item.workflowType }),
|
|
1327
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("td", { className: "py-4 px-5 font-bold text-slate-800 text-center whitespace-nowrap", children: item.version }),
|
|
1328
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: `px-2 py-0.5 text-xs font-semibold rounded ${item.published ? "bg-emerald-50 text-emerald-600 border border-emerald-200" : "bg-rose-50 text-rose-600 border border-rose-200"}`, children: item.published ? "\u2713 Yes" : "\u2715 No" }) }),
|
|
1329
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
668
1330
|
"button",
|
|
669
1331
|
{
|
|
670
1332
|
onClick: () => toggleStatus(item.id),
|
|
671
1333
|
className: `relative inline-flex h-5.5 w-10 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out outline-none ${item.status ? "bg-blue-600" : "bg-slate-200"}`,
|
|
672
|
-
children: /* @__PURE__ */ (0,
|
|
1334
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: `pointer-events-none inline-block h-4.5 w-4.5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out ${item.status ? "translate-x-4.5" : "translate-x-0"}` })
|
|
673
1335
|
}
|
|
674
1336
|
) })
|
|
675
1337
|
] }, item.id)) })
|
|
676
1338
|
] }) }),
|
|
677
|
-
/* @__PURE__ */ (0,
|
|
678
|
-
/* @__PURE__ */ (0,
|
|
679
|
-
pageNumbers.map((pageNumber) => /* @__PURE__ */ (0,
|
|
1339
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-end gap-1 text-[13px] text-slate-700 font-normal mt-4 bg-slate-50/50 p-3 rounded-xl border border-slate-100", children: [
|
|
1340
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { onClick: () => setCurrentPage((prev) => Math.max(prev - 1, 1)), disabled: currentPage === 1, className: "px-2.5 py-1 text-slate-500 hover:text-slate-900 mr-2 disabled:opacity-40", children: "\u2039 Prev" }),
|
|
1341
|
+
pageNumbers.map((pageNumber) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
680
1342
|
"button",
|
|
681
1343
|
{
|
|
682
1344
|
onClick: () => setCurrentPage(pageNumber),
|
|
@@ -685,34 +1347,34 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
685
1347
|
},
|
|
686
1348
|
pageNumber
|
|
687
1349
|
)),
|
|
688
|
-
/* @__PURE__ */ (0,
|
|
1350
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { onClick: () => setCurrentPage((prev) => Math.min(prev + 1, totalPages)), disabled: currentPage === totalPages, className: "px-2.5 py-1 text-slate-500 hover:text-slate-900 ml-2 disabled:opacity-40", children: "Next \u203A" })
|
|
689
1351
|
] })
|
|
690
1352
|
] });
|
|
691
1353
|
}
|
|
692
1354
|
|
|
693
1355
|
// src/components/WorkflowType/AddWorkflowTypeModal.jsx
|
|
694
|
-
var
|
|
695
|
-
var
|
|
1356
|
+
var import_react18 = __toESM(require("react"));
|
|
1357
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
696
1358
|
function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
697
1359
|
if (!isOpen) return null;
|
|
698
|
-
return /* @__PURE__ */ (0,
|
|
699
|
-
/* @__PURE__ */ (0,
|
|
1360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
1361
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
700
1362
|
"div",
|
|
701
1363
|
{
|
|
702
1364
|
className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity duration-200",
|
|
703
1365
|
onClick: onClose
|
|
704
1366
|
}
|
|
705
1367
|
),
|
|
706
|
-
/* @__PURE__ */ (0,
|
|
707
|
-
/* @__PURE__ */ (0,
|
|
708
|
-
/* @__PURE__ */ (0,
|
|
709
|
-
/* @__PURE__ */ (0,
|
|
710
|
-
/* @__PURE__ */ (0,
|
|
711
|
-
/* @__PURE__ */ (0,
|
|
712
|
-
/* @__PURE__ */ (0,
|
|
1368
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "relative w-full max-w-4xl bg-white rounded-3xl shadow-2xl flex flex-col z-10 max-h-[92vh] overflow-hidden animate-in fade-in zoom-in-95 duration-200", children: [
|
|
1369
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex justify-between items-center px-8 py-6 border-b border-slate-100", children: [
|
|
1370
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-4", children: [
|
|
1371
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-12 h-12 bg-indigo-50 text-indigo-600 rounded-xl flex items-center justify-center shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", strokeWidth: "2", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" }) }) }),
|
|
1372
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1373
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("h2", { className: "text-xl font-extrabold text-slate-800", children: "Add Workflow" }),
|
|
1374
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-xs text-slate-400 mt-0.5", children: "Create a new workflow and configure its details" })
|
|
713
1375
|
] })
|
|
714
1376
|
] }),
|
|
715
|
-
/* @__PURE__ */ (0,
|
|
1377
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
716
1378
|
"button",
|
|
717
1379
|
{
|
|
718
1380
|
onClick: onClose,
|
|
@@ -721,32 +1383,32 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
721
1383
|
}
|
|
722
1384
|
)
|
|
723
1385
|
] }),
|
|
724
|
-
/* @__PURE__ */ (0,
|
|
725
|
-
/* @__PURE__ */ (0,
|
|
726
|
-
/* @__PURE__ */ (0,
|
|
727
|
-
/* @__PURE__ */ (0,
|
|
728
|
-
/* @__PURE__ */ (0,
|
|
1386
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "p-8 space-y-8 overflow-y-auto max-h-[calc(92vh-170px)] bg-slate-50/30", children: [
|
|
1387
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1388
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1389
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: "\u{1F4CB}" }),
|
|
1390
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: "Workflow Information" })
|
|
729
1391
|
] }),
|
|
730
|
-
/* @__PURE__ */ (0,
|
|
731
|
-
/* @__PURE__ */ (0,
|
|
732
|
-
/* @__PURE__ */ (0,
|
|
1392
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1393
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1394
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
733
1395
|
"Workflow Type ",
|
|
734
|
-
/* @__PURE__ */ (0,
|
|
1396
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-red-500", children: "*" })
|
|
735
1397
|
] }),
|
|
736
|
-
/* @__PURE__ */ (0,
|
|
737
|
-
/* @__PURE__ */ (0,
|
|
738
|
-
/* @__PURE__ */ (0,
|
|
739
|
-
/* @__PURE__ */ (0,
|
|
740
|
-
/* @__PURE__ */ (0,
|
|
1398
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("select", { className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500", children: [
|
|
1399
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "", children: "Select workflow type" }),
|
|
1400
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "petition", children: "Petition" }),
|
|
1401
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "building", children: "Building Permission" }),
|
|
1402
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "leave", children: "Leave" })
|
|
741
1403
|
] }),
|
|
742
|
-
/* @__PURE__ */ (0,
|
|
1404
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Choose the category this workflow belongs to" })
|
|
743
1405
|
] }),
|
|
744
|
-
/* @__PURE__ */ (0,
|
|
745
|
-
/* @__PURE__ */ (0,
|
|
1406
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1407
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
746
1408
|
"Workflow Code ",
|
|
747
|
-
/* @__PURE__ */ (0,
|
|
1409
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-red-500", children: "*" })
|
|
748
1410
|
] }),
|
|
749
|
-
/* @__PURE__ */ (0,
|
|
1411
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
750
1412
|
"input",
|
|
751
1413
|
{
|
|
752
1414
|
type: "text",
|
|
@@ -754,15 +1416,15 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
754
1416
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
755
1417
|
}
|
|
756
1418
|
),
|
|
757
|
-
/* @__PURE__ */ (0,
|
|
1419
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Unique code for this workflow (e.g., PET-001)" })
|
|
758
1420
|
] })
|
|
759
1421
|
] }),
|
|
760
|
-
/* @__PURE__ */ (0,
|
|
761
|
-
/* @__PURE__ */ (0,
|
|
1422
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1423
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
762
1424
|
"Workflow Name ",
|
|
763
|
-
/* @__PURE__ */ (0,
|
|
1425
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-red-500", children: "*" })
|
|
764
1426
|
] }),
|
|
765
|
-
/* @__PURE__ */ (0,
|
|
1427
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
766
1428
|
"input",
|
|
767
1429
|
{
|
|
768
1430
|
type: "text",
|
|
@@ -770,15 +1432,15 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
770
1432
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
771
1433
|
}
|
|
772
1434
|
),
|
|
773
|
-
/* @__PURE__ */ (0,
|
|
1435
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter a descriptive name for this workflow" })
|
|
774
1436
|
] }),
|
|
775
|
-
/* @__PURE__ */ (0,
|
|
776
|
-
/* @__PURE__ */ (0,
|
|
777
|
-
/* @__PURE__ */ (0,
|
|
1437
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1438
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1439
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
778
1440
|
"Version ",
|
|
779
|
-
/* @__PURE__ */ (0,
|
|
1441
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-red-500", children: "*" })
|
|
780
1442
|
] }),
|
|
781
|
-
/* @__PURE__ */ (0,
|
|
1443
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
782
1444
|
"input",
|
|
783
1445
|
{
|
|
784
1446
|
type: "text",
|
|
@@ -786,27 +1448,27 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
786
1448
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
787
1449
|
}
|
|
788
1450
|
),
|
|
789
|
-
/* @__PURE__ */ (0,
|
|
1451
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Workflow version number" })
|
|
790
1452
|
] }),
|
|
791
|
-
/* @__PURE__ */ (0,
|
|
792
|
-
/* @__PURE__ */ (0,
|
|
1453
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1454
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
793
1455
|
"Published ",
|
|
794
|
-
/* @__PURE__ */ (0,
|
|
1456
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-red-500", children: "*" })
|
|
795
1457
|
] }),
|
|
796
|
-
/* @__PURE__ */ (0,
|
|
797
|
-
/* @__PURE__ */ (0,
|
|
798
|
-
/* @__PURE__ */ (0,
|
|
1458
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("select", { className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500", children: [
|
|
1459
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "false", children: "No" }),
|
|
1460
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "true", children: "Yes" })
|
|
799
1461
|
] }),
|
|
800
|
-
/* @__PURE__ */ (0,
|
|
1462
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Make workflow active for use" })
|
|
801
1463
|
] })
|
|
802
1464
|
] })
|
|
803
1465
|
] }),
|
|
804
|
-
/* @__PURE__ */ (0,
|
|
805
|
-
/* @__PURE__ */ (0,
|
|
806
|
-
/* @__PURE__ */ (0,
|
|
807
|
-
/* @__PURE__ */ (0,
|
|
1466
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-3", children: [
|
|
1467
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex justify-between items-center", children: [
|
|
1468
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("label", { className: "block text-xs font-bold text-slate-700", children: "Description" }),
|
|
1469
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-[10px] text-slate-400", children: "0 / 500" })
|
|
808
1470
|
] }),
|
|
809
|
-
/* @__PURE__ */ (0,
|
|
1471
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
810
1472
|
"textarea",
|
|
811
1473
|
{
|
|
812
1474
|
rows: 3,
|
|
@@ -814,86 +1476,86 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
814
1476
|
className: "w-full p-3 border border-slate-200 rounded-xl text-xs resize-none focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
815
1477
|
}
|
|
816
1478
|
),
|
|
817
|
-
/* @__PURE__ */ (0,
|
|
1479
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400", children: "Provide additional information about this workflow" })
|
|
818
1480
|
] }),
|
|
819
|
-
/* @__PURE__ */ (0,
|
|
820
|
-
/* @__PURE__ */ (0,
|
|
821
|
-
/* @__PURE__ */ (0,
|
|
822
|
-
/* @__PURE__ */ (0,
|
|
1481
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1482
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1483
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: "\u2699\uFE0F" }),
|
|
1484
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: "Status & Settings" })
|
|
823
1485
|
] }),
|
|
824
|
-
/* @__PURE__ */ (0,
|
|
825
|
-
/* @__PURE__ */ (0,
|
|
826
|
-
/* @__PURE__ */ (0,
|
|
1486
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1487
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1488
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
827
1489
|
"Status ",
|
|
828
|
-
/* @__PURE__ */ (0,
|
|
1490
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-red-500", children: "*" })
|
|
829
1491
|
] }),
|
|
830
|
-
/* @__PURE__ */ (0,
|
|
831
|
-
/* @__PURE__ */ (0,
|
|
832
|
-
/* @__PURE__ */ (0,
|
|
1492
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("select", { className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500", children: [
|
|
1493
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "active", children: "Active" }),
|
|
1494
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "inactive", children: "Inactive" })
|
|
833
1495
|
] }),
|
|
834
|
-
/* @__PURE__ */ (0,
|
|
1496
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Set the initial status of this workflow" })
|
|
835
1497
|
] }),
|
|
836
|
-
/* @__PURE__ */ (0,
|
|
837
|
-
/* @__PURE__ */ (0,
|
|
838
|
-
/* @__PURE__ */ (0,
|
|
839
|
-
/* @__PURE__ */ (0,
|
|
840
|
-
/* @__PURE__ */ (0,
|
|
841
|
-
/* @__PURE__ */ (0,
|
|
1498
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1499
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: "Default Priority" }),
|
|
1500
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("select", { className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500", children: [
|
|
1501
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "medium", children: "Medium" }),
|
|
1502
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "high", children: "High" }),
|
|
1503
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { value: "low", children: "Low" })
|
|
842
1504
|
] }),
|
|
843
|
-
/* @__PURE__ */ (0,
|
|
1505
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Default priority for tasks in this workflow" })
|
|
844
1506
|
] })
|
|
845
1507
|
] })
|
|
846
1508
|
] }),
|
|
847
|
-
/* @__PURE__ */ (0,
|
|
848
|
-
/* @__PURE__ */ (0,
|
|
849
|
-
/* @__PURE__ */ (0,
|
|
850
|
-
/* @__PURE__ */ (0,
|
|
1509
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1510
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1511
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: "\u{1F6E0}\uFE0F" }),
|
|
1512
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: "Additional Settings" })
|
|
851
1513
|
] }),
|
|
852
|
-
/* @__PURE__ */ (0,
|
|
853
|
-
/* @__PURE__ */ (0,
|
|
854
|
-
/* @__PURE__ */ (0,
|
|
855
|
-
/* @__PURE__ */ (0,
|
|
856
|
-
/* @__PURE__ */ (0,
|
|
857
|
-
/* @__PURE__ */ (0,
|
|
858
|
-
/* @__PURE__ */ (0,
|
|
1514
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [
|
|
1515
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1516
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
1517
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u23F1\uFE0F" }),
|
|
1518
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1519
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-xs font-bold text-slate-700", children: "Enable SLA" }),
|
|
1520
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[9px] text-slate-400", children: "Enable SLA for workflow" })
|
|
859
1521
|
] })
|
|
860
1522
|
] }),
|
|
861
|
-
/* @__PURE__ */ (0,
|
|
862
|
-
/* @__PURE__ */ (0,
|
|
863
|
-
/* @__PURE__ */ (0,
|
|
1523
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1524
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1525
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-8 h-4.5 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-3.5 after:w-3.5 after:transition-all peer-checked:bg-indigo-600" })
|
|
864
1526
|
] })
|
|
865
1527
|
] }),
|
|
866
|
-
/* @__PURE__ */ (0,
|
|
867
|
-
/* @__PURE__ */ (0,
|
|
868
|
-
/* @__PURE__ */ (0,
|
|
869
|
-
/* @__PURE__ */ (0,
|
|
870
|
-
/* @__PURE__ */ (0,
|
|
871
|
-
/* @__PURE__ */ (0,
|
|
1528
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1529
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
1530
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F504}" }),
|
|
1531
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1532
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-xs font-bold text-slate-700", children: "Allow Rework" }),
|
|
1533
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[9px] text-slate-400", children: "Allow files to be sent back" })
|
|
872
1534
|
] })
|
|
873
1535
|
] }),
|
|
874
|
-
/* @__PURE__ */ (0,
|
|
875
|
-
/* @__PURE__ */ (0,
|
|
876
|
-
/* @__PURE__ */ (0,
|
|
1536
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1537
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1538
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-8 h-4.5 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-3.5 after:w-3.5 after:transition-all peer-checked:bg-indigo-600" })
|
|
877
1539
|
] })
|
|
878
1540
|
] }),
|
|
879
|
-
/* @__PURE__ */ (0,
|
|
880
|
-
/* @__PURE__ */ (0,
|
|
881
|
-
/* @__PURE__ */ (0,
|
|
882
|
-
/* @__PURE__ */ (0,
|
|
883
|
-
/* @__PURE__ */ (0,
|
|
884
|
-
/* @__PURE__ */ (0,
|
|
1541
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1542
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
1543
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F465}" }),
|
|
1544
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
|
|
1545
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-xs font-bold text-slate-700", children: "Allow File Delegation" }),
|
|
1546
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-[9px] text-slate-400", children: "Allow users to delegate tasks" })
|
|
885
1547
|
] })
|
|
886
1548
|
] }),
|
|
887
|
-
/* @__PURE__ */ (0,
|
|
888
|
-
/* @__PURE__ */ (0,
|
|
889
|
-
/* @__PURE__ */ (0,
|
|
1549
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1550
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("input", { type: "checkbox", className: "sr-only peer" }),
|
|
1551
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-8 h-4.5 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-3.5 after:w-3.5 after:transition-all peer-checked:bg-indigo-600" })
|
|
890
1552
|
] })
|
|
891
1553
|
] })
|
|
892
1554
|
] })
|
|
893
1555
|
] })
|
|
894
1556
|
] }),
|
|
895
|
-
/* @__PURE__ */ (0,
|
|
896
|
-
/* @__PURE__ */ (0,
|
|
1557
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "p-5 bg-white border-t border-slate-100 flex items-center justify-end gap-3 px-8", children: [
|
|
1558
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
897
1559
|
"button",
|
|
898
1560
|
{
|
|
899
1561
|
onClick: onClose,
|
|
@@ -901,7 +1563,7 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
901
1563
|
children: "\u2715 Cancel"
|
|
902
1564
|
}
|
|
903
1565
|
),
|
|
904
|
-
/* @__PURE__ */ (0,
|
|
1566
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
905
1567
|
"button",
|
|
906
1568
|
{
|
|
907
1569
|
type: "button",
|
|
@@ -915,16 +1577,16 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
915
1577
|
}
|
|
916
1578
|
|
|
917
1579
|
// src/components/WorkflowType/AddButton.jsx
|
|
918
|
-
var
|
|
919
|
-
var
|
|
920
|
-
function
|
|
921
|
-
return /* @__PURE__ */ (0,
|
|
1580
|
+
var import_react19 = __toESM(require("react"));
|
|
1581
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1582
|
+
function AddButton4({ onOpen }) {
|
|
1583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
922
1584
|
"button",
|
|
923
1585
|
{
|
|
924
1586
|
onClick: onOpen,
|
|
925
1587
|
className: "bg-blue-600 hover:bg-blue-700 text-white px-5 py-2.5 rounded-xl font-bold text-sm shadow-md shadow-blue-500/20 hover:shadow-lg hover:shadow-blue-500/30 transition-all active:scale-95 flex items-center gap-2",
|
|
926
1588
|
children: [
|
|
927
|
-
/* @__PURE__ */ (0,
|
|
1589
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("svg", { className: "w-4 h-4 stroke-[2.5]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) }),
|
|
928
1590
|
"Add Workflow Type"
|
|
929
1591
|
]
|
|
930
1592
|
}
|
|
@@ -932,48 +1594,48 @@ function AddButton2({ onOpen }) {
|
|
|
932
1594
|
}
|
|
933
1595
|
|
|
934
1596
|
// src/components/WorkflowType/WorkflowTypeMains.js
|
|
935
|
-
var
|
|
1597
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
936
1598
|
function WorkflowTypeMains() {
|
|
937
|
-
const [modalOpen, setModalOpen] = (0,
|
|
938
|
-
const [pageSize, setPageSize] = (0,
|
|
939
|
-
const [searchQuery, setSearchQuery] = (0,
|
|
940
|
-
const [currentPage, setCurrentPage] = (0,
|
|
941
|
-
const [totalEntries, setTotalEntries] = (0,
|
|
1599
|
+
const [modalOpen, setModalOpen] = (0, import_react20.useState)(false);
|
|
1600
|
+
const [pageSize, setPageSize] = (0, import_react20.useState)(10);
|
|
1601
|
+
const [searchQuery, setSearchQuery] = (0, import_react20.useState)("");
|
|
1602
|
+
const [currentPage, setCurrentPage] = (0, import_react20.useState)(1);
|
|
1603
|
+
const [totalEntries, setTotalEntries] = (0, import_react20.useState)(0);
|
|
942
1604
|
const handlePageSizeChange = (e) => {
|
|
943
1605
|
setPageSize(Number(e.target.value));
|
|
944
1606
|
setCurrentPage(1);
|
|
945
1607
|
};
|
|
946
|
-
return /* @__PURE__ */ (0,
|
|
947
|
-
/* @__PURE__ */ (0,
|
|
948
|
-
/* @__PURE__ */ (0,
|
|
949
|
-
/* @__PURE__ */ (0,
|
|
950
|
-
/* @__PURE__ */ (0,
|
|
951
|
-
/* @__PURE__ */ (0,
|
|
1608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "min-h-screen bg-slate-50 p-4 md:p-6", children: [
|
|
1609
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "w-full space-y-5", children: [
|
|
1610
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm gap-4", children: [
|
|
1611
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
|
|
1612
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h1", { className: "text-2xl font-extrabold text-slate-900 tracking-tight", children: "Workflow Type" }),
|
|
1613
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "text-xs text-slate-400 mt-1", children: [
|
|
952
1614
|
"Dashboard > Types > ",
|
|
953
|
-
/* @__PURE__ */ (0,
|
|
1615
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-blue-600 font-semibold", children: "Workflow Type" })
|
|
954
1616
|
] })
|
|
955
1617
|
] }),
|
|
956
|
-
/* @__PURE__ */ (0,
|
|
1618
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AddButton4, { onOpen: () => setModalOpen(true) })
|
|
957
1619
|
] }),
|
|
958
|
-
/* @__PURE__ */ (0,
|
|
959
|
-
/* @__PURE__ */ (0,
|
|
960
|
-
/* @__PURE__ */ (0,
|
|
961
|
-
/* @__PURE__ */ (0,
|
|
1620
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm space-y-5", children: [
|
|
1621
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
1622
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SearchBar4, { searchQuery, setSearchQuery, setCurrentPage }) }),
|
|
1623
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
962
1624
|
"select",
|
|
963
1625
|
{
|
|
964
1626
|
value: pageSize,
|
|
965
1627
|
onChange: handlePageSizeChange,
|
|
966
1628
|
className: "border border-slate-200 rounded-lg px-3 py-2 text-sm bg-white cursor-pointer outline-none shadow-sm text-slate-700",
|
|
967
1629
|
children: [
|
|
968
|
-
/* @__PURE__ */ (0,
|
|
969
|
-
/* @__PURE__ */ (0,
|
|
970
|
-
/* @__PURE__ */ (0,
|
|
971
|
-
/* @__PURE__ */ (0,
|
|
1630
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("option", { value: 5, children: "5 Rows" }),
|
|
1631
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("option", { value: 10, children: "10 Rows" }),
|
|
1632
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("option", { value: 20, children: "20 Rows" }),
|
|
1633
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("option", { value: 25, children: "25 Rows" })
|
|
972
1634
|
]
|
|
973
1635
|
}
|
|
974
1636
|
) })
|
|
975
1637
|
] }),
|
|
976
|
-
/* @__PURE__ */ (0,
|
|
1638
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
977
1639
|
WorkflowTypeTable,
|
|
978
1640
|
{
|
|
979
1641
|
pageSize,
|
|
@@ -985,7 +1647,7 @@ function WorkflowTypeMains() {
|
|
|
985
1647
|
)
|
|
986
1648
|
] })
|
|
987
1649
|
] }),
|
|
988
|
-
/* @__PURE__ */ (0,
|
|
1650
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
989
1651
|
AddWorkflowTypeModal,
|
|
990
1652
|
{
|
|
991
1653
|
isOpen: modalOpen,
|
|
@@ -996,21 +1658,21 @@ function WorkflowTypeMains() {
|
|
|
996
1658
|
}
|
|
997
1659
|
|
|
998
1660
|
// src/components/WorkflowStep/main.js
|
|
999
|
-
var
|
|
1661
|
+
var import_react24 = __toESM(require("react"));
|
|
1000
1662
|
|
|
1001
1663
|
// src/components/Common/footer.js
|
|
1002
|
-
var
|
|
1003
|
-
var
|
|
1664
|
+
var import_react21 = __toESM(require("react"));
|
|
1665
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1004
1666
|
function Footer() {
|
|
1005
|
-
return /* @__PURE__ */ (0,
|
|
1006
|
-
/* @__PURE__ */ (0,
|
|
1007
|
-
/* @__PURE__ */ (0,
|
|
1008
|
-
/* @__PURE__ */ (0,
|
|
1009
|
-
/* @__PURE__ */ (0,
|
|
1010
|
-
/* @__PURE__ */ (0,
|
|
1011
|
-
/* @__PURE__ */ (0,
|
|
1012
|
-
/* @__PURE__ */ (0,
|
|
1013
|
-
/* @__PURE__ */ (0,
|
|
1667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex justify-between items-center px-6 py-4 sticky bottom-0 z-10 border-t border-gray-200 rounded-xl bg-slate-50/50 shadow-md", children: [
|
|
1668
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "text-sm text-slate-500", children: "Showing 1 to 5 entries" }),
|
|
1669
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
1670
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: "px-2 py-1 text-[15px] border border-slate-200 rounded-lg bg-white text-slate-600 shadow-sm transition-all duration-200 hover:bg-blue-600 hover:text-white hover:border-blue-600", children: "\u2039 Prev" }),
|
|
1671
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: "w-7 h-7 text-[15px] border border-slate-200 rounded-lg bg-white text-slate-600 shadow-sm transition-all duration-200 hover:bg-blue-600 hover:text-white hover:border-blue-600", children: "1" }),
|
|
1672
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: "w-7 h-7 text-[15px] border border-slate-200 rounded-lg bg-white text-slate-600 shadow-sm transition-all duration-200 hover:bg-blue-600 hover:text-white hover:border-blue-600", children: "2" }),
|
|
1673
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: "w-7 h-7 text-[15px] border border-slate-200 rounded-lg bg-white text-slate-600 shadow-sm transition-all duration-200 hover:bg-blue-600 hover:text-white hover:border-blue-600", children: "3" }),
|
|
1674
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: "w-7 h-7 text-[15px] border border-slate-200 rounded-lg bg-white text-slate-600 shadow-sm transition-all duration-200 hover:bg-blue-600 hover:text-white hover:border-blue-600", children: "4" }),
|
|
1675
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: "px-2 py-1 text-[15px] border border-slate-200 rounded-lg bg-white text-slate-600 shadow-sm transition-all duration-200 hover:bg-blue-600 hover:text-white hover:border-blue-600", children: "Next \u203A" })
|
|
1014
1676
|
] })
|
|
1015
1677
|
] });
|
|
1016
1678
|
}
|
|
@@ -1019,27 +1681,27 @@ function Footer() {
|
|
|
1019
1681
|
var import_link2 = __toESM(require("next/link"));
|
|
1020
1682
|
|
|
1021
1683
|
// src/components/WorkflowStep/AddWorkflowStepModal.js
|
|
1022
|
-
var
|
|
1023
|
-
var
|
|
1684
|
+
var import_react22 = __toESM(require("react"));
|
|
1685
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1024
1686
|
function AddWorkflowStepModal({ onClose }) {
|
|
1025
|
-
return /* @__PURE__ */ (0,
|
|
1026
|
-
/* @__PURE__ */ (0,
|
|
1687
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
1688
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1027
1689
|
"div",
|
|
1028
1690
|
{
|
|
1029
1691
|
className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity duration-200",
|
|
1030
1692
|
onClick: onClose
|
|
1031
1693
|
}
|
|
1032
1694
|
),
|
|
1033
|
-
/* @__PURE__ */ (0,
|
|
1034
|
-
/* @__PURE__ */ (0,
|
|
1035
|
-
/* @__PURE__ */ (0,
|
|
1036
|
-
/* @__PURE__ */ (0,
|
|
1037
|
-
/* @__PURE__ */ (0,
|
|
1038
|
-
/* @__PURE__ */ (0,
|
|
1039
|
-
/* @__PURE__ */ (0,
|
|
1695
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "relative w-full max-w-4xl bg-white rounded-3xl shadow-2xl flex flex-col z-10 max-h-[92vh] overflow-hidden animate-in fade-in zoom-in-95 duration-200", children: [
|
|
1696
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex justify-between items-center px-8 py-6 border-b border-slate-100", children: [
|
|
1697
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-4", children: [
|
|
1698
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-12 h-12 bg-indigo-50 text-indigo-600 rounded-xl flex items-center justify-center shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", strokeWidth: "2", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" }) }) }),
|
|
1699
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1700
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("h2", { className: "text-xl font-extrabold text-slate-800", children: "Add WorkflowStep" }),
|
|
1701
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-xs text-slate-400 mt-0.5", children: "Create a new workflowStep and configure its details" })
|
|
1040
1702
|
] })
|
|
1041
1703
|
] }),
|
|
1042
|
-
/* @__PURE__ */ (0,
|
|
1704
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1043
1705
|
"button",
|
|
1044
1706
|
{
|
|
1045
1707
|
onClick: onClose,
|
|
@@ -1048,31 +1710,31 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1048
1710
|
}
|
|
1049
1711
|
)
|
|
1050
1712
|
] }),
|
|
1051
|
-
/* @__PURE__ */ (0,
|
|
1052
|
-
/* @__PURE__ */ (0,
|
|
1053
|
-
/* @__PURE__ */ (0,
|
|
1054
|
-
/* @__PURE__ */ (0,
|
|
1055
|
-
/* @__PURE__ */ (0,
|
|
1713
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-8 space-y-8 overflow-y-auto max-h-[calc(92vh-170px)] bg-slate-50/30", children: [
|
|
1714
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1715
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1716
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "\u{1F4CB}" }),
|
|
1717
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "WorkflowStep Information" })
|
|
1056
1718
|
] }),
|
|
1057
|
-
/* @__PURE__ */ (0,
|
|
1058
|
-
/* @__PURE__ */ (0,
|
|
1059
|
-
/* @__PURE__ */ (0,
|
|
1719
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1720
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1721
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1060
1722
|
"SLA Type ",
|
|
1061
|
-
/* @__PURE__ */ (0,
|
|
1723
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1062
1724
|
] }),
|
|
1063
|
-
/* @__PURE__ */ (0,
|
|
1064
|
-
/* @__PURE__ */ (0,
|
|
1065
|
-
/* @__PURE__ */ (0,
|
|
1066
|
-
/* @__PURE__ */ (0,
|
|
1725
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("select", { className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-400 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500", children: [
|
|
1726
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: "", children: "Select SLA type" }),
|
|
1727
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: "petition", children: "Hours" }),
|
|
1728
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: "building", children: "Days" })
|
|
1067
1729
|
] }),
|
|
1068
|
-
/* @__PURE__ */ (0,
|
|
1730
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Choose the category this workflowStep belongs to" })
|
|
1069
1731
|
] }),
|
|
1070
|
-
/* @__PURE__ */ (0,
|
|
1071
|
-
/* @__PURE__ */ (0,
|
|
1732
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1733
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1072
1734
|
"Step Code ",
|
|
1073
|
-
/* @__PURE__ */ (0,
|
|
1735
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1074
1736
|
] }),
|
|
1075
|
-
/* @__PURE__ */ (0,
|
|
1737
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1076
1738
|
"input",
|
|
1077
1739
|
{
|
|
1078
1740
|
type: "text",
|
|
@@ -1080,15 +1742,15 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1080
1742
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
1081
1743
|
}
|
|
1082
1744
|
),
|
|
1083
|
-
/* @__PURE__ */ (0,
|
|
1745
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Unique code for this workflowStep (e.g., APR,SCR)" })
|
|
1084
1746
|
] })
|
|
1085
1747
|
] }),
|
|
1086
|
-
/* @__PURE__ */ (0,
|
|
1087
|
-
/* @__PURE__ */ (0,
|
|
1748
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1749
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1088
1750
|
"StepName ",
|
|
1089
|
-
/* @__PURE__ */ (0,
|
|
1751
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1090
1752
|
] }),
|
|
1091
|
-
/* @__PURE__ */ (0,
|
|
1753
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1092
1754
|
"input",
|
|
1093
1755
|
{
|
|
1094
1756
|
type: "text",
|
|
@@ -1096,15 +1758,15 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1096
1758
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
1097
1759
|
}
|
|
1098
1760
|
),
|
|
1099
|
-
/* @__PURE__ */ (0,
|
|
1761
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter a descriptive name for this workflowStep" })
|
|
1100
1762
|
] }),
|
|
1101
|
-
/* @__PURE__ */ (0,
|
|
1102
|
-
/* @__PURE__ */ (0,
|
|
1103
|
-
/* @__PURE__ */ (0,
|
|
1763
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1764
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1765
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1104
1766
|
"ReminderBefore",
|
|
1105
|
-
/* @__PURE__ */ (0,
|
|
1767
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1106
1768
|
] }),
|
|
1107
|
-
/* @__PURE__ */ (0,
|
|
1769
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1108
1770
|
"input",
|
|
1109
1771
|
{
|
|
1110
1772
|
type: "text",
|
|
@@ -1112,14 +1774,14 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1112
1774
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
1113
1775
|
}
|
|
1114
1776
|
),
|
|
1115
|
-
/* @__PURE__ */ (0,
|
|
1777
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "WorkflowStep Reminder" })
|
|
1116
1778
|
] }),
|
|
1117
|
-
/* @__PURE__ */ (0,
|
|
1118
|
-
/* @__PURE__ */ (0,
|
|
1779
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1780
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1119
1781
|
"EscalationAfter",
|
|
1120
|
-
/* @__PURE__ */ (0,
|
|
1782
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1121
1783
|
] }),
|
|
1122
|
-
/* @__PURE__ */ (0,
|
|
1784
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1123
1785
|
"input",
|
|
1124
1786
|
{
|
|
1125
1787
|
type: "text",
|
|
@@ -1127,14 +1789,14 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1127
1789
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
1128
1790
|
}
|
|
1129
1791
|
),
|
|
1130
|
-
/* @__PURE__ */ (0,
|
|
1792
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "WorkflowStep Escalation" })
|
|
1131
1793
|
] }),
|
|
1132
|
-
/* @__PURE__ */ (0,
|
|
1133
|
-
/* @__PURE__ */ (0,
|
|
1794
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1795
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1134
1796
|
"Working Hours Only",
|
|
1135
|
-
/* @__PURE__ */ (0,
|
|
1797
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1136
1798
|
] }),
|
|
1137
|
-
/* @__PURE__ */ (0,
|
|
1799
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1138
1800
|
"input",
|
|
1139
1801
|
{
|
|
1140
1802
|
type: "text",
|
|
@@ -1142,14 +1804,14 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1142
1804
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
1143
1805
|
}
|
|
1144
1806
|
),
|
|
1145
|
-
/* @__PURE__ */ (0,
|
|
1807
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter Working Hours" })
|
|
1146
1808
|
] }),
|
|
1147
|
-
/* @__PURE__ */ (0,
|
|
1148
|
-
/* @__PURE__ */ (0,
|
|
1809
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1810
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1149
1811
|
"Exclude Holidays",
|
|
1150
|
-
/* @__PURE__ */ (0,
|
|
1812
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1151
1813
|
] }),
|
|
1152
|
-
/* @__PURE__ */ (0,
|
|
1814
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1153
1815
|
"input",
|
|
1154
1816
|
{
|
|
1155
1817
|
type: "text",
|
|
@@ -1157,16 +1819,16 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1157
1819
|
className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
1158
1820
|
}
|
|
1159
1821
|
),
|
|
1160
|
-
/* @__PURE__ */ (0,
|
|
1822
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter Holidays" })
|
|
1161
1823
|
] })
|
|
1162
1824
|
] })
|
|
1163
1825
|
] }),
|
|
1164
|
-
/* @__PURE__ */ (0,
|
|
1165
|
-
/* @__PURE__ */ (0,
|
|
1166
|
-
/* @__PURE__ */ (0,
|
|
1167
|
-
/* @__PURE__ */ (0,
|
|
1826
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-3", children: [
|
|
1827
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex justify-between items-center", children: [
|
|
1828
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("label", { className: "block text-xs font-bold text-slate-700", children: "Description" }),
|
|
1829
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-[10px] text-slate-400", children: "0 / 500" })
|
|
1168
1830
|
] }),
|
|
1169
|
-
/* @__PURE__ */ (0,
|
|
1831
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1170
1832
|
"textarea",
|
|
1171
1833
|
{
|
|
1172
1834
|
rows: 3,
|
|
@@ -1174,73 +1836,73 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1174
1836
|
className: "w-full p-3 border border-slate-200 rounded-xl text-xs resize-none focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500"
|
|
1175
1837
|
}
|
|
1176
1838
|
),
|
|
1177
|
-
/* @__PURE__ */ (0,
|
|
1839
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400", children: "Provide additional information about this WorkflowStep" })
|
|
1178
1840
|
] }),
|
|
1179
|
-
/* @__PURE__ */ (0,
|
|
1180
|
-
/* @__PURE__ */ (0,
|
|
1181
|
-
/* @__PURE__ */ (0,
|
|
1182
|
-
/* @__PURE__ */ (0,
|
|
1841
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1842
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1843
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "\u2699\uFE0F" }),
|
|
1844
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "Status & Settings" })
|
|
1183
1845
|
] }),
|
|
1184
|
-
/* @__PURE__ */ (0,
|
|
1185
|
-
/* @__PURE__ */ (0,
|
|
1186
|
-
/* @__PURE__ */ (0,
|
|
1187
|
-
/* @__PURE__ */ (0,
|
|
1188
|
-
/* @__PURE__ */ (0,
|
|
1189
|
-
/* @__PURE__ */ (0,
|
|
1846
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1847
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: "Default Priority" }),
|
|
1848
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("select", { className: "w-full p-2.5 border border-slate-200 rounded-xl text-xs bg-white text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-500/10 focus:border-indigo-500", children: [
|
|
1849
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: "medium", children: "Medium" }),
|
|
1850
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: "high", children: "High" }),
|
|
1851
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: "low", children: "Low" })
|
|
1190
1852
|
] }),
|
|
1191
|
-
/* @__PURE__ */ (0,
|
|
1853
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[10px] text-slate-400 mt-1", children: "Default priority for tasks in this WorkflowStep" })
|
|
1192
1854
|
] }) })
|
|
1193
1855
|
] }),
|
|
1194
|
-
/* @__PURE__ */ (0,
|
|
1195
|
-
/* @__PURE__ */ (0,
|
|
1196
|
-
/* @__PURE__ */ (0,
|
|
1197
|
-
/* @__PURE__ */ (0,
|
|
1856
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1857
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1858
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "\u{1F6E0}\uFE0F" }),
|
|
1859
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "Additional Settings" })
|
|
1198
1860
|
] }),
|
|
1199
|
-
/* @__PURE__ */ (0,
|
|
1200
|
-
/* @__PURE__ */ (0,
|
|
1201
|
-
/* @__PURE__ */ (0,
|
|
1202
|
-
/* @__PURE__ */ (0,
|
|
1203
|
-
/* @__PURE__ */ (0,
|
|
1204
|
-
/* @__PURE__ */ (0,
|
|
1205
|
-
/* @__PURE__ */ (0,
|
|
1861
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [
|
|
1862
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1863
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
1864
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u23F1\uFE0F" }),
|
|
1865
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1866
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-xs font-bold text-slate-700", children: "Enable SLA" }),
|
|
1867
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[9px] text-slate-400", children: "Enable SLA for workflow" })
|
|
1206
1868
|
] })
|
|
1207
1869
|
] }),
|
|
1208
|
-
/* @__PURE__ */ (0,
|
|
1209
|
-
/* @__PURE__ */ (0,
|
|
1210
|
-
/* @__PURE__ */ (0,
|
|
1870
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1871
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1872
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-8 h-4.5 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-3.5 after:w-3.5 after:transition-all peer-checked:bg-indigo-600" })
|
|
1211
1873
|
] })
|
|
1212
1874
|
] }),
|
|
1213
|
-
/* @__PURE__ */ (0,
|
|
1214
|
-
/* @__PURE__ */ (0,
|
|
1215
|
-
/* @__PURE__ */ (0,
|
|
1216
|
-
/* @__PURE__ */ (0,
|
|
1217
|
-
/* @__PURE__ */ (0,
|
|
1218
|
-
/* @__PURE__ */ (0,
|
|
1875
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1876
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
1877
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F504}" }),
|
|
1878
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1879
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-xs font-bold text-slate-700", children: "Allow Rework" }),
|
|
1880
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[9px] text-slate-400", children: "Allow files to be sent back" })
|
|
1219
1881
|
] })
|
|
1220
1882
|
] }),
|
|
1221
|
-
/* @__PURE__ */ (0,
|
|
1222
|
-
/* @__PURE__ */ (0,
|
|
1223
|
-
/* @__PURE__ */ (0,
|
|
1883
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1884
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1885
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-8 h-4.5 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-3.5 after:w-3.5 after:transition-all peer-checked:bg-indigo-600" })
|
|
1224
1886
|
] })
|
|
1225
1887
|
] }),
|
|
1226
|
-
/* @__PURE__ */ (0,
|
|
1227
|
-
/* @__PURE__ */ (0,
|
|
1228
|
-
/* @__PURE__ */ (0,
|
|
1229
|
-
/* @__PURE__ */ (0,
|
|
1230
|
-
/* @__PURE__ */ (0,
|
|
1231
|
-
/* @__PURE__ */ (0,
|
|
1888
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1889
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
1890
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F465}" }),
|
|
1891
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1892
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-xs font-bold text-slate-700", children: "Allow File Delegation" }),
|
|
1893
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-[9px] text-slate-400", children: "Allow users to delegate tasks" })
|
|
1232
1894
|
] })
|
|
1233
1895
|
] }),
|
|
1234
|
-
/* @__PURE__ */ (0,
|
|
1235
|
-
/* @__PURE__ */ (0,
|
|
1236
|
-
/* @__PURE__ */ (0,
|
|
1896
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1897
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("input", { type: "checkbox", className: "sr-only peer" }),
|
|
1898
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-8 h-4.5 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-3.5 after:w-3.5 after:transition-all peer-checked:bg-indigo-600" })
|
|
1237
1899
|
] })
|
|
1238
1900
|
] })
|
|
1239
1901
|
] })
|
|
1240
1902
|
] })
|
|
1241
1903
|
] }),
|
|
1242
|
-
/* @__PURE__ */ (0,
|
|
1243
|
-
/* @__PURE__ */ (0,
|
|
1904
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-5 bg-white border-t border-slate-100 flex items-center justify-end gap-3 px-8", children: [
|
|
1905
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1244
1906
|
"button",
|
|
1245
1907
|
{
|
|
1246
1908
|
onClick: onClose,
|
|
@@ -1248,7 +1910,7 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1248
1910
|
children: "\u2715 Cancel"
|
|
1249
1911
|
}
|
|
1250
1912
|
),
|
|
1251
|
-
/* @__PURE__ */ (0,
|
|
1913
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1252
1914
|
"button",
|
|
1253
1915
|
{
|
|
1254
1916
|
type: "button",
|
|
@@ -1262,39 +1924,39 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1262
1924
|
}
|
|
1263
1925
|
|
|
1264
1926
|
// src/components/Common/commonheader.js
|
|
1265
|
-
var
|
|
1927
|
+
var import_react23 = __toESM(require("react"));
|
|
1266
1928
|
var import_link = __toESM(require("next/link"));
|
|
1267
1929
|
var import_lucide_react = require("lucide-react");
|
|
1268
|
-
var
|
|
1930
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1269
1931
|
function CommonHeader({
|
|
1270
1932
|
title,
|
|
1271
1933
|
breadcrumbs = [],
|
|
1272
1934
|
buttonText,
|
|
1273
1935
|
onButtonClick
|
|
1274
1936
|
}) {
|
|
1275
|
-
return /* @__PURE__ */ (0,
|
|
1276
|
-
/* @__PURE__ */ (0,
|
|
1277
|
-
/* @__PURE__ */ (0,
|
|
1278
|
-
/* @__PURE__ */ (0,
|
|
1279
|
-
/* @__PURE__ */ (0,
|
|
1280
|
-
/* @__PURE__ */ (0,
|
|
1281
|
-
/* @__PURE__ */ (0,
|
|
1282
|
-
/* @__PURE__ */ (0,
|
|
1283
|
-
/* @__PURE__ */ (0,
|
|
1284
|
-
/* @__PURE__ */ (0,
|
|
1285
|
-
/* @__PURE__ */ (0,
|
|
1286
|
-
/* @__PURE__ */ (0,
|
|
1937
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative overflow-hidden rounded-2xl border border-slate-200 bg-white/90 backdrop-blur-xl shadow-lg mb-6", children: [
|
|
1938
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-blue-500 via-cyan-400 to-indigo-500" }),
|
|
1939
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute -top-12 -right-12 h-40 w-40 rounded-full bg-blue-200/20 blur-3xl" }),
|
|
1940
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute -bottom-10 -left-10 h-32 w-32 rounded-full bg-cyan-200/20 blur-3xl" }),
|
|
1941
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative flex items-center justify-between px-6 py-4", children: [
|
|
1942
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-4", children: [
|
|
1943
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex h-12 w-12 items-center justify-center rounded-xl bg-gradient-to-br from-blue-600 to-indigo-600 text-white shadow-lg transition-all duration-300 hover:scale-110 hover:rotate-6", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react.FolderKanban, { size: 22 }) }),
|
|
1944
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
|
|
1945
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("h1", { className: "text-2xl font-bold text-slate-800 tracking-tight", children: title }),
|
|
1946
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "mt-2 flex items-center gap-2 flex-wrap", children: [
|
|
1947
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-1 rounded-full bg-slate-100 px-3 py-1 text-xs font-medium text-slate-600 transition-all duration-300 hover:bg-blue-50 hover:text-blue-600", children: [
|
|
1948
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react.Home, { size: 13 }),
|
|
1287
1949
|
"Home"
|
|
1288
1950
|
] }),
|
|
1289
|
-
breadcrumbs.map((item, index) => /* @__PURE__ */ (0,
|
|
1290
|
-
/* @__PURE__ */ (0,
|
|
1951
|
+
breadcrumbs.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_react23.default.Fragment, { children: [
|
|
1952
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1291
1953
|
import_lucide_react.ChevronRight,
|
|
1292
1954
|
{
|
|
1293
1955
|
size: 15,
|
|
1294
1956
|
className: "text-slate-300"
|
|
1295
1957
|
}
|
|
1296
1958
|
),
|
|
1297
|
-
index === breadcrumbs.length - 1 ? /* @__PURE__ */ (0,
|
|
1959
|
+
index === breadcrumbs.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "rounded-full bg-blue-600 px-3 py-1 text-xs font-semibold text-white shadow-md", children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1298
1960
|
import_link.default,
|
|
1299
1961
|
{
|
|
1300
1962
|
href: item.href,
|
|
@@ -1306,15 +1968,15 @@ function CommonHeader({
|
|
|
1306
1968
|
] })
|
|
1307
1969
|
] })
|
|
1308
1970
|
] }),
|
|
1309
|
-
/* @__PURE__ */ (0,
|
|
1971
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1310
1972
|
"button",
|
|
1311
1973
|
{
|
|
1312
1974
|
onClick: onButtonClick,
|
|
1313
1975
|
className: "group relative overflow-hidden rounded-xl bg-gradient-to-r from-blue-600 to-indigo-600 px-5 py-2.5 text-sm font-semibold text-white shadow-lg transition-all duration-300 hover:-translate-y-0.5 hover:shadow-xl hover:shadow-blue-500/30 active:scale-95",
|
|
1314
1976
|
children: [
|
|
1315
|
-
/* @__PURE__ */ (0,
|
|
1316
|
-
/* @__PURE__ */ (0,
|
|
1317
|
-
/* @__PURE__ */ (0,
|
|
1977
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "absolute inset-0 -translate-x-full skew-x-12 bg-white/20 transition-transform duration-1000 group-hover:translate-x-[250%]" }),
|
|
1978
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "relative flex items-center gap-2", children: [
|
|
1979
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1318
1980
|
import_lucide_react.Plus,
|
|
1319
1981
|
{
|
|
1320
1982
|
size: 18,
|
|
@@ -1331,7 +1993,7 @@ function CommonHeader({
|
|
|
1331
1993
|
}
|
|
1332
1994
|
|
|
1333
1995
|
// src/components/WorkflowStep/main.js
|
|
1334
|
-
var
|
|
1996
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1335
1997
|
var workflowSteps = [
|
|
1336
1998
|
{
|
|
1337
1999
|
workflowStepId: 1,
|
|
@@ -1465,9 +2127,9 @@ var workflowSteps = [
|
|
|
1465
2127
|
}
|
|
1466
2128
|
];
|
|
1467
2129
|
function WorkflowStep() {
|
|
1468
|
-
const [showModal, setShowModal] = (0,
|
|
1469
|
-
const [pageSize, setPageSize] = (0,
|
|
1470
|
-
const [sortConfig, setSortConfig] = (0,
|
|
2130
|
+
const [showModal, setShowModal] = (0, import_react24.useState)(false);
|
|
2131
|
+
const [pageSize, setPageSize] = (0, import_react24.useState)(5);
|
|
2132
|
+
const [sortConfig, setSortConfig] = (0, import_react24.useState)({
|
|
1471
2133
|
key: "",
|
|
1472
2134
|
direction: "asc"
|
|
1473
2135
|
});
|
|
@@ -1478,9 +2140,9 @@ function WorkflowStep() {
|
|
|
1478
2140
|
}
|
|
1479
2141
|
setSortConfig({ key, direction });
|
|
1480
2142
|
};
|
|
1481
|
-
return /* @__PURE__ */ (0,
|
|
1482
|
-
/* @__PURE__ */ (0,
|
|
1483
|
-
/* @__PURE__ */ (0,
|
|
2143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [
|
|
2144
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "p-5 bg-[#f5f7fb] min-h-screen font-sans text-slate-700 flex flex-col ", children: [
|
|
2145
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1484
2146
|
CommonHeader,
|
|
1485
2147
|
{
|
|
1486
2148
|
title: "Workflow",
|
|
@@ -1493,11 +2155,11 @@ function WorkflowStep() {
|
|
|
1493
2155
|
onButtonClick: () => setShowModal(true)
|
|
1494
2156
|
}
|
|
1495
2157
|
),
|
|
1496
|
-
/* @__PURE__ */ (0,
|
|
1497
|
-
/* @__PURE__ */ (0,
|
|
1498
|
-
/* @__PURE__ */ (0,
|
|
1499
|
-
/* @__PURE__ */ (0,
|
|
1500
|
-
/* @__PURE__ */ (0,
|
|
2158
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "bg-white rounded-3xl shadow-sm border border-slate-100 p-6 flex flex-col gap-6", children: [
|
|
2159
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between items-center flex-wrap gap-3", children: [
|
|
2160
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "relative max-w-xs w-full", children: [
|
|
2161
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("svg", { className: "w-4 h-5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
2162
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1501
2163
|
"input",
|
|
1502
2164
|
{
|
|
1503
2165
|
type: "text",
|
|
@@ -1506,22 +2168,22 @@ function WorkflowStep() {
|
|
|
1506
2168
|
}
|
|
1507
2169
|
)
|
|
1508
2170
|
] }),
|
|
1509
|
-
/* @__PURE__ */ (0,
|
|
2171
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex items-center gap-2 text-xs text-slate-500 font-semibold", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1510
2172
|
"select",
|
|
1511
2173
|
{
|
|
1512
2174
|
value: pageSize,
|
|
1513
2175
|
onChange: (e) => setPageSize(Number(e.target.value)),
|
|
1514
2176
|
className: "inline-flex items-center px-4 py-2 rounded-xl bg-white text-slate-700 text-[14px] font-semibold border border-slate-200 focus:outline-none cursor-pointer shadow-md",
|
|
1515
2177
|
children: [
|
|
1516
|
-
/* @__PURE__ */ (0,
|
|
1517
|
-
/* @__PURE__ */ (0,
|
|
1518
|
-
/* @__PURE__ */ (0,
|
|
2178
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("option", { value: 5, children: "5 Rows" }),
|
|
2179
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("option", { value: 10, children: "10 Rows" }),
|
|
2180
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("option", { value: 25, children: "25 Rows" })
|
|
1519
2181
|
]
|
|
1520
2182
|
}
|
|
1521
2183
|
) })
|
|
1522
2184
|
] }),
|
|
1523
|
-
/* @__PURE__ */ (0,
|
|
1524
|
-
/* @__PURE__ */ (0,
|
|
2185
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "border border-slate-200 rounded-2xl overflow-hidden bg-white shadow-md", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "max-h-[350px] overflow-y-auto overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("table", { className: "min-w-max w-full border-collapse", children: [
|
|
2186
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("thead", { className: "bg-slate-50 sticky top-0 z-10", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("tr", { className: "text-[11px] font-bold uppercase tracking-wider text-slate-400", children: [
|
|
1525
2187
|
{ label: "WorkflowStepId", key: "workflowStepId" },
|
|
1526
2188
|
{ label: "WorkflowId", key: "workflowId" },
|
|
1527
2189
|
{ label: "StepCode", key: "stepCode" },
|
|
@@ -1533,49 +2195,49 @@ function WorkflowStep() {
|
|
|
1533
2195
|
{ label: "Escalation After", key: "escalationAfter" },
|
|
1534
2196
|
{ label: "Working Hours Only", key: "workingHoursOnly" },
|
|
1535
2197
|
{ label: "Exclude Holidays", key: "excludeHolidays" }
|
|
1536
|
-
].map((column) => /* @__PURE__ */ (0,
|
|
2198
|
+
].map((column) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1537
2199
|
"th",
|
|
1538
2200
|
{
|
|
1539
2201
|
onClick: () => handleSort(column.key),
|
|
1540
2202
|
className: "px-6 py-4 text-left text-xs font-bold text-slate-500 uppercase tracking-wider cursor-pointer select-none hover:bg-slate-100 transition-colors",
|
|
1541
|
-
children: /* @__PURE__ */ (0,
|
|
1542
|
-
/* @__PURE__ */ (0,
|
|
1543
|
-
/* @__PURE__ */ (0,
|
|
2203
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-center gap-1.5", children: [
|
|
2204
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "truncate", children: column.label }),
|
|
2205
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-slate-300 text-[10px]", children: sortConfig.key === column.key ? sortConfig.direction === "asc" ? "\u25B2" : "\u25BC" : "\u2195" })
|
|
1544
2206
|
] })
|
|
1545
2207
|
},
|
|
1546
2208
|
column.key
|
|
1547
2209
|
)) }) }),
|
|
1548
|
-
/* @__PURE__ */ (0,
|
|
1549
|
-
/* @__PURE__ */ (0,
|
|
1550
|
-
/* @__PURE__ */ (0,
|
|
1551
|
-
/* @__PURE__ */ (0,
|
|
1552
|
-
/* @__PURE__ */ (0,
|
|
1553
|
-
/* @__PURE__ */ (0,
|
|
1554
|
-
/* @__PURE__ */ (0,
|
|
1555
|
-
/* @__PURE__ */ (0,
|
|
1556
|
-
/* @__PURE__ */ (0,
|
|
1557
|
-
/* @__PURE__ */ (0,
|
|
1558
|
-
/* @__PURE__ */ (0,
|
|
1559
|
-
/* @__PURE__ */ (0,
|
|
2210
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("tbody", { children: workflowSteps.slice(0, pageSize).map((item) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("tr", { className: "hover:bg-slate-50/80 transition-colors border-b border-slate-100 last:border-0", children: [
|
|
2211
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.workflowStepId }),
|
|
2212
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.workflowId }),
|
|
2213
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-2 py-4 text-center text-[14px]", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "inline-flex items-center px-2 py-0.5 rounded-md bg-slate-100 text-slate-600 text-xs font-bold border border-slate-200 truncate", children: item.stepCode }) }),
|
|
2214
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-500 font-semibold ", children: item.stepName }),
|
|
2215
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.sequenceNo }),
|
|
2216
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-500 font-semibold", children: item.slaType }),
|
|
2217
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.slaValue }),
|
|
2218
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.reminderBefore }),
|
|
2219
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.escalationAfter }),
|
|
2220
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.workingHoursOnly }),
|
|
2221
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.excludeHolidays })
|
|
1560
2222
|
] }, item.workflowStepId)) })
|
|
1561
2223
|
] }) }) }),
|
|
1562
|
-
/* @__PURE__ */ (0,
|
|
2224
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "rounded-xl bg-slate-50/50", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Footer, {}) })
|
|
1563
2225
|
] })
|
|
1564
2226
|
] }),
|
|
1565
|
-
showModal && /* @__PURE__ */ (0,
|
|
2227
|
+
showModal && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AddWorkflowStepModal, { onClose: () => setShowModal(false) })
|
|
1566
2228
|
] });
|
|
1567
2229
|
}
|
|
1568
2230
|
|
|
1569
2231
|
// src/components/WorkFlowTransition/Transitiontable.js
|
|
1570
|
-
var
|
|
2232
|
+
var import_react26 = __toESM(require("react"));
|
|
1571
2233
|
var import_link3 = __toESM(require("next/link"));
|
|
1572
2234
|
|
|
1573
2235
|
// src/components/WorkFlowTransition/AddWorkFlowTransitionModal.js
|
|
1574
|
-
var
|
|
1575
|
-
var
|
|
2236
|
+
var import_react25 = __toESM(require("react"));
|
|
2237
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1576
2238
|
|
|
1577
2239
|
// src/components/WorkFlowTransition/Transitiontable.js
|
|
1578
|
-
var
|
|
2240
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1579
2241
|
var WorkflowTransition = [
|
|
1580
2242
|
{
|
|
1581
2243
|
TransitionId: 1,
|
|
@@ -1659,9 +2321,9 @@ var WorkflowTransition = [
|
|
|
1659
2321
|
}
|
|
1660
2322
|
];
|
|
1661
2323
|
function WorkFlowTransition() {
|
|
1662
|
-
const [showModal, setShowModal] = (0,
|
|
1663
|
-
const [pageSize, setPageSize] = (0,
|
|
1664
|
-
const [sortConfig, setSortConfig] = (0,
|
|
2324
|
+
const [showModal, setShowModal] = (0, import_react26.useState)(false);
|
|
2325
|
+
const [pageSize, setPageSize] = (0, import_react26.useState)(5);
|
|
2326
|
+
const [sortConfig, setSortConfig] = (0, import_react26.useState)({
|
|
1665
2327
|
key: "",
|
|
1666
2328
|
direction: "asc"
|
|
1667
2329
|
});
|
|
@@ -1675,8 +2337,8 @@ function WorkFlowTransition() {
|
|
|
1675
2337
|
direction
|
|
1676
2338
|
});
|
|
1677
2339
|
};
|
|
1678
|
-
return /* @__PURE__ */ (0,
|
|
1679
|
-
/* @__PURE__ */ (0,
|
|
2340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "p-5 bg-[#f5f7fb] min-h-screen font-sans text-slate-700 flex flex-col ", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "p-6", children: [
|
|
2341
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1680
2342
|
CommonHeader,
|
|
1681
2343
|
{
|
|
1682
2344
|
title: "WorkFlow Transition",
|
|
@@ -1698,11 +2360,11 @@ function WorkFlowTransition() {
|
|
|
1698
2360
|
onButtonClick: () => setShowModal(true)
|
|
1699
2361
|
}
|
|
1700
2362
|
),
|
|
1701
|
-
/* @__PURE__ */ (0,
|
|
1702
|
-
/* @__PURE__ */ (0,
|
|
1703
|
-
/* @__PURE__ */ (0,
|
|
1704
|
-
/* @__PURE__ */ (0,
|
|
1705
|
-
/* @__PURE__ */ (0,
|
|
2363
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "bg-white rounded-3xl shadow-sm border border-slate-100 p-6 flex flex-col gap-6", children: [
|
|
2364
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex justify-between items-center flex-wrap gap-3", children: [
|
|
2365
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "relative max-w-xs w-full", children: [
|
|
2366
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("svg", { className: "w-4 h-5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
2367
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1706
2368
|
"input",
|
|
1707
2369
|
{
|
|
1708
2370
|
type: "text",
|
|
@@ -1711,51 +2373,51 @@ function WorkFlowTransition() {
|
|
|
1711
2373
|
}
|
|
1712
2374
|
)
|
|
1713
2375
|
] }),
|
|
1714
|
-
/* @__PURE__ */ (0,
|
|
2376
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex items-center gap-2 text-xs text-slate-500 font-semibold", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1715
2377
|
"select",
|
|
1716
2378
|
{
|
|
1717
2379
|
value: pageSize,
|
|
1718
2380
|
onChange: (e) => setPageSize(Number(e.target.value)),
|
|
1719
2381
|
className: "inline-flex items-center px-4 py-2 rounded-xl bg-white text-slate-700 text-[14px] font-semibold border border-slate-200 focus:outline-none cursor-pointer shadow-md",
|
|
1720
2382
|
children: [
|
|
1721
|
-
/* @__PURE__ */ (0,
|
|
1722
|
-
/* @__PURE__ */ (0,
|
|
1723
|
-
/* @__PURE__ */ (0,
|
|
2383
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("option", { value: 5, children: "5 Rows" }),
|
|
2384
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("option", { value: 10, children: "10 Rows" }),
|
|
2385
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("option", { value: 25, children: "25 Rows" })
|
|
1724
2386
|
]
|
|
1725
2387
|
}
|
|
1726
2388
|
) })
|
|
1727
2389
|
] }),
|
|
1728
|
-
/* @__PURE__ */ (0,
|
|
1729
|
-
/* @__PURE__ */ (0,
|
|
1730
|
-
/* @__PURE__ */ (0,
|
|
2390
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "border border-slate-200 rounded-2xl overflow-hidden bg-white shadow-md", children: [
|
|
2391
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "max-h-[350px] overflow-y-auto overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("table", { className: "min-w-max w-full border-collapse", children: [
|
|
2392
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("thead", { className: "bg-slate-50 sticky top-0 z-10", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("tr", { className: "text-[11px] font-bold uppercase tracking-wider text-slate-400", children: [
|
|
1731
2393
|
{ label: "TransitionId", key: "TransitionId" },
|
|
1732
2394
|
{ label: "WorkflowId", key: "workflowId" },
|
|
1733
2395
|
{ label: "FromStepId", key: "FromStepId" },
|
|
1734
2396
|
{ label: "ToStepId", key: "ToStepId" },
|
|
1735
2397
|
{ label: "ActionCode", key: "ActionCode" },
|
|
1736
2398
|
{ label: "ActionName", key: "ActionName" }
|
|
1737
|
-
].map((column) => /* @__PURE__ */ (0,
|
|
2399
|
+
].map((column) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1738
2400
|
"th",
|
|
1739
2401
|
{
|
|
1740
2402
|
onClick: () => handleSort(column.key),
|
|
1741
2403
|
className: "px-6 py-4 text-left text-xs font-bold text-slate-500 uppercase tracking-wider cursor-pointer select-none hover:bg-slate-100 transition-colors",
|
|
1742
|
-
children: /* @__PURE__ */ (0,
|
|
1743
|
-
/* @__PURE__ */ (0,
|
|
1744
|
-
/* @__PURE__ */ (0,
|
|
2404
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
|
|
2405
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { children: column.label }),
|
|
2406
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-gray-400 text-xs", children: sortConfig.key === column.key ? sortConfig.direction === "asc" ? "\u25B2" : "\u25BC" : "\u2195" })
|
|
1745
2407
|
] })
|
|
1746
2408
|
},
|
|
1747
2409
|
column.key
|
|
1748
2410
|
)) }) }),
|
|
1749
|
-
/* @__PURE__ */ (0,
|
|
2411
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("tbody", { children: WorkflowTransition.slice(0, pageSize).map((item) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1750
2412
|
"tr",
|
|
1751
2413
|
{
|
|
1752
2414
|
className: "hover:bg-slate-50/80 transition-colors border-b border-slate-100 last:border-0",
|
|
1753
2415
|
children: [
|
|
1754
|
-
/* @__PURE__ */ (0,
|
|
1755
|
-
/* @__PURE__ */ (0,
|
|
1756
|
-
/* @__PURE__ */ (0,
|
|
1757
|
-
/* @__PURE__ */ (0,
|
|
1758
|
-
/* @__PURE__ */ (0,
|
|
2416
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { className: "px-6 p-4 text-center text-[14px] text-slate-600 font-bold", children: item.TransitionId }),
|
|
2417
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { className: "px-6 py-4 text-center text-[14px] text-slate-600 font-bold", children: item.workflowId }),
|
|
2418
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { className: "px-6 py-4 text-center text-[14px] text-slate-600 font-bold", children: item.FromStepId }),
|
|
2419
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.ToStepId }),
|
|
2420
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { className: "px-6 py-4 text-center ", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1759
2421
|
"span",
|
|
1760
2422
|
{
|
|
1761
2423
|
className: `inline-flex items-center rounded-full px-3 py-1 text-xs font-semibold
|
|
@@ -1763,7 +2425,7 @@ function WorkFlowTransition() {
|
|
|
1763
2425
|
children: item.ActionCode
|
|
1764
2426
|
}
|
|
1765
2427
|
) }),
|
|
1766
|
-
/* @__PURE__ */ (0,
|
|
2428
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { className: "px-6 py-4 text-center ", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1767
2429
|
"span",
|
|
1768
2430
|
{
|
|
1769
2431
|
className: `inline-flex items-center rounded-full px-3 py-1 text-xs font-semibold
|
|
@@ -1778,8 +2440,8 @@ function WorkFlowTransition() {
|
|
|
1778
2440
|
] }) }),
|
|
1779
2441
|
" "
|
|
1780
2442
|
] }),
|
|
1781
|
-
/* @__PURE__ */ (0,
|
|
1782
|
-
/* @__PURE__ */ (0,
|
|
2443
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "p-5 sticky bottom-0 bg-white z-10", children: [
|
|
2444
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Footer, {}),
|
|
1783
2445
|
" "
|
|
1784
2446
|
] })
|
|
1785
2447
|
] })
|
|
@@ -1787,55 +2449,55 @@ function WorkFlowTransition() {
|
|
|
1787
2449
|
}
|
|
1788
2450
|
|
|
1789
2451
|
// src/components/Sidebar.jsx
|
|
1790
|
-
var
|
|
2452
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1791
2453
|
var workflowItems = [
|
|
1792
|
-
{ name: "Workflow Type", component: "workflowType", icon:
|
|
1793
|
-
{ name: "Workflow", component: "workflow", icon:
|
|
1794
|
-
{ name: "Workflow Step", component: "workflowStep", icon:
|
|
1795
|
-
{ name: "Workflow Transition", component: "workflowTransition", icon:
|
|
2454
|
+
{ name: "Workflow Type", component: "workflowType", icon: import_react28.RiGitMergeLine },
|
|
2455
|
+
{ name: "Workflow", component: "workflow", icon: import_react28.RiNodeTree },
|
|
2456
|
+
{ name: "Workflow Step", component: "workflowStep", icon: import_react28.RiGitBranchLine },
|
|
2457
|
+
{ name: "Workflow Transition", component: "workflowTransition", icon: import_react28.RiCornerDownRightLine }
|
|
1796
2458
|
];
|
|
1797
2459
|
var permissionItems = [
|
|
1798
|
-
{ name: "Task Permission", path: "/TaskPermissionPage", icon:
|
|
1799
|
-
{ name: "Assignment Rule", path: "/AssignmentRulePage", icon:
|
|
2460
|
+
{ name: "Task Permission", path: "/TaskPermissionPage", icon: import_react28.RiUserSettingsLine },
|
|
2461
|
+
{ name: "Assignment Rule", path: "/AssignmentRulePage", icon: import_react28.RiFileShieldLine }
|
|
1800
2462
|
];
|
|
1801
2463
|
var hierarchyItems = [
|
|
1802
|
-
{ name: "Hierarchy Node", path: "/HierarchyNodePage", icon:
|
|
1803
|
-
{ name: "User Hierarchy Mapping", path: "/WorkflowType", icon:
|
|
1804
|
-
{ name: "Workflow Settings", path: "/WorkflowSettingPage", icon:
|
|
2464
|
+
{ name: "Hierarchy Node", path: "/HierarchyNodePage", icon: import_react28.RiNodeTree },
|
|
2465
|
+
{ name: "User Hierarchy Mapping", path: "/WorkflowType", icon: import_react28.RiUserSharedLine },
|
|
2466
|
+
{ name: "Workflow Settings", path: "/WorkflowSettingPage", icon: import_react28.RiSettings4Line }
|
|
1805
2467
|
];
|
|
1806
2468
|
var documentItems = [
|
|
1807
|
-
{ name: "Document Configuration", path: "/DocumentConfiguration", icon:
|
|
2469
|
+
{ name: "Document Configuration", path: "/DocumentConfiguration", icon: import_react28.RiFileSettingsLine }
|
|
1808
2470
|
];
|
|
1809
2471
|
var fileItems = [
|
|
1810
|
-
{ name: "File Instance", path: "/WorkflowType", icon:
|
|
1811
|
-
{ name: "File Pool", path: "/FilePoolPage", icon:
|
|
1812
|
-
{ name: "Uploaded Document", path: "/UploadedDocumentPage", icon:
|
|
2472
|
+
{ name: "File Instance", path: "/WorkflowType", icon: import_react28.RiFileList3Line },
|
|
2473
|
+
{ name: "File Pool", path: "/FilePoolPage", icon: import_react28.RiDatabase2Line },
|
|
2474
|
+
{ name: "Uploaded Document", path: "/UploadedDocumentPage", icon: import_react28.RiFileUploadLine }
|
|
1813
2475
|
];
|
|
1814
2476
|
var communicationItems = [
|
|
1815
|
-
{ name: "Notification", path: "/NotificationPage", icon:
|
|
1816
|
-
{ name: "Comment", path: "/WorkflowType", icon:
|
|
2477
|
+
{ name: "Notification", path: "/NotificationPage", icon: import_react28.RiNotification4Line },
|
|
2478
|
+
{ name: "Comment", path: "/WorkflowType", icon: import_react28.RiChat3Line }
|
|
1817
2479
|
];
|
|
1818
2480
|
var taskItems = [
|
|
1819
|
-
{ name: "Task Instance", path: "taskinstance", icon:
|
|
2481
|
+
{ name: "Task Instance", path: "taskinstance", icon: import_react28.RiCheckboxMultipleLine }
|
|
1820
2482
|
];
|
|
1821
2483
|
var trackingItems = [
|
|
1822
|
-
{ name: "Audit Log", path: "/AuditLog", icon:
|
|
1823
|
-
{ name: "Movement History", path: "/MovementHistory", icon:
|
|
2484
|
+
{ name: "Audit Log", path: "/AuditLog", icon: import_react28.RiShieldCheckLine },
|
|
2485
|
+
{ name: "Movement History", path: "/MovementHistory", icon: import_react28.RiHistoryLine }
|
|
1824
2486
|
];
|
|
1825
2487
|
function Sidebar({ isOpen, onToggle, childrens }) {
|
|
1826
2488
|
const router = (0, import_router.useRouter)();
|
|
1827
|
-
const [workflowOpen, setWorkflowOpen] = (0,
|
|
1828
|
-
const [permissionOpen, setPermissionOpen] = (0,
|
|
1829
|
-
const [hierarchyOpen, setHierarchyOpen] = (0,
|
|
1830
|
-
const [documentOpen, setDocumentOpen] = (0,
|
|
1831
|
-
const [filesOpen, setFilesOpen] = (0,
|
|
1832
|
-
const [tasksOpen, setTasksOpen] = (0,
|
|
1833
|
-
const [trackingOpen, setTrackingOpen] = (0,
|
|
1834
|
-
const [communicationOpen, setCommunicationOpen] = (0,
|
|
1835
|
-
const [activeComponent, setActiveComponent] = (0,
|
|
2489
|
+
const [workflowOpen, setWorkflowOpen] = (0, import_react27.useState)(false);
|
|
2490
|
+
const [permissionOpen, setPermissionOpen] = (0, import_react27.useState)(false);
|
|
2491
|
+
const [hierarchyOpen, setHierarchyOpen] = (0, import_react27.useState)(false);
|
|
2492
|
+
const [documentOpen, setDocumentOpen] = (0, import_react27.useState)(false);
|
|
2493
|
+
const [filesOpen, setFilesOpen] = (0, import_react27.useState)(false);
|
|
2494
|
+
const [tasksOpen, setTasksOpen] = (0, import_react27.useState)(false);
|
|
2495
|
+
const [trackingOpen, setTrackingOpen] = (0, import_react27.useState)(false);
|
|
2496
|
+
const [communicationOpen, setCommunicationOpen] = (0, import_react27.useState)(false);
|
|
2497
|
+
const [activeComponent, setActiveComponent] = (0, import_react27.useState)("workflowType");
|
|
1836
2498
|
const renderMenuItemold = (item) => {
|
|
1837
2499
|
const Icon = item.icon;
|
|
1838
|
-
return /* @__PURE__ */ (0,
|
|
2500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1839
2501
|
"button",
|
|
1840
2502
|
{
|
|
1841
2503
|
type: "button",
|
|
@@ -1847,14 +2509,14 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1847
2509
|
`,
|
|
1848
2510
|
onClick: () => router.push(item.path),
|
|
1849
2511
|
children: [
|
|
1850
|
-
/* @__PURE__ */ (0,
|
|
2512
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1851
2513
|
"span",
|
|
1852
2514
|
{
|
|
1853
2515
|
className: "\r\n flex h-[20px] w-[20px] shrink-0\r\n items-center justify-center\r\n rounded-[6px] text-[#405170]\r\n ",
|
|
1854
|
-
children: /* @__PURE__ */ (0,
|
|
2516
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { size: 17 })
|
|
1855
2517
|
}
|
|
1856
2518
|
),
|
|
1857
|
-
/* @__PURE__ */ (0,
|
|
2519
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "whitespace-nowrap text-[14px] font-medium leading-[22px]", children: item.name })
|
|
1858
2520
|
]
|
|
1859
2521
|
},
|
|
1860
2522
|
item.name
|
|
@@ -1871,7 +2533,7 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1871
2533
|
router.push(item.path);
|
|
1872
2534
|
}
|
|
1873
2535
|
};
|
|
1874
|
-
return /* @__PURE__ */ (0,
|
|
2536
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1875
2537
|
"button",
|
|
1876
2538
|
{
|
|
1877
2539
|
onClick: handleClick,
|
|
@@ -1881,8 +2543,8 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1881
2543
|
${item.component ? activeComponent === item.component ? "bg-blue-50 text-blue-600" : "text-[#344261] hover:bg-[#F6F8FC]" : router.pathname === item.path ? "bg-blue-50 text-blue-600" : "text-[#344261] hover:bg-[#F6F8FC]"}
|
|
1882
2544
|
`,
|
|
1883
2545
|
children: [
|
|
1884
|
-
/* @__PURE__ */ (0,
|
|
1885
|
-
/* @__PURE__ */ (0,
|
|
2546
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { size: 17 }),
|
|
2547
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: item.name })
|
|
1886
2548
|
]
|
|
1887
2549
|
},
|
|
1888
2550
|
item.name
|
|
@@ -1891,36 +2553,36 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1891
2553
|
const renderContent = () => {
|
|
1892
2554
|
switch (activeComponent) {
|
|
1893
2555
|
case "workflowType":
|
|
1894
|
-
return /* @__PURE__ */ (0,
|
|
2556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WorkflowTypeMains, {});
|
|
1895
2557
|
case "workflow":
|
|
1896
|
-
return /* @__PURE__ */ (0,
|
|
2558
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WorkflowPage, {});
|
|
1897
2559
|
case "workflowStep":
|
|
1898
|
-
return /* @__PURE__ */ (0,
|
|
2560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WorkflowStep, {});
|
|
1899
2561
|
case "workflowTransition":
|
|
1900
|
-
return /* @__PURE__ */ (0,
|
|
2562
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WorkFlowTransition, {});
|
|
1901
2563
|
default:
|
|
1902
2564
|
return childrens;
|
|
1903
2565
|
}
|
|
1904
2566
|
};
|
|
1905
2567
|
const renderDropdown = (title, open, setOpen, items) => {
|
|
1906
|
-
return /* @__PURE__ */ (0,
|
|
1907
|
-
/* @__PURE__ */ (0,
|
|
2568
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mb-2", children: [
|
|
2569
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1908
2570
|
"button",
|
|
1909
2571
|
{
|
|
1910
2572
|
type: "button",
|
|
1911
2573
|
onClick: () => setOpen(!open),
|
|
1912
2574
|
className: "\r\n flex h-[50px] w-full items-center justify-between\r\n rounded-[9px] px-[17px]\r\n text-left text-[#344261]\r\n transition-colors duration-150\r\n hover:bg-[#F6F8FC]\r\n ",
|
|
1913
2575
|
children: [
|
|
1914
|
-
/* @__PURE__ */ (0,
|
|
1915
|
-
open ? /* @__PURE__ */ (0,
|
|
2576
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-[16px] font-semibold", children: title }),
|
|
2577
|
+
open ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react28.RiArrowDownSLine, { size: 18 }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react28.RiArrowRightSLine, { size: 18 })
|
|
1916
2578
|
]
|
|
1917
2579
|
}
|
|
1918
2580
|
),
|
|
1919
|
-
open && /* @__PURE__ */ (0,
|
|
2581
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "ml-[8px] border-l border-[#E5E9F1] pl-[4px]", children: items.map(renderMenuItem) })
|
|
1920
2582
|
] });
|
|
1921
2583
|
};
|
|
1922
|
-
return /* @__PURE__ */ (0,
|
|
1923
|
-
/* @__PURE__ */ (0,
|
|
2584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
2585
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1924
2586
|
"aside",
|
|
1925
2587
|
{
|
|
1926
2588
|
className: `
|
|
@@ -1931,13 +2593,13 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1931
2593
|
${isOpen ? "w-[310px] min-w-[310px] translate-x-0 opacity-100" : "w-0 min-w-0 -translate-x-full opacity-0"}
|
|
1932
2594
|
`,
|
|
1933
2595
|
children: [
|
|
1934
|
-
/* @__PURE__ */ (0,
|
|
2596
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1935
2597
|
"header",
|
|
1936
2598
|
{
|
|
1937
2599
|
className: "\r\n flex h-[84px] items-center justify-between\r\n border-b border-[#EDF0F5]\r\n px-[14px]\r\n ",
|
|
1938
2600
|
children: [
|
|
1939
|
-
/* @__PURE__ */ (0,
|
|
1940
|
-
/* @__PURE__ */ (0,
|
|
2601
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
2602
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1941
2603
|
"svg",
|
|
1942
2604
|
{
|
|
1943
2605
|
width: "36",
|
|
@@ -1945,28 +2607,28 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1945
2607
|
viewBox: "0 0 48 56",
|
|
1946
2608
|
fill: "none",
|
|
1947
2609
|
children: [
|
|
1948
|
-
/* @__PURE__ */ (0,
|
|
2610
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1949
2611
|
"path",
|
|
1950
2612
|
{
|
|
1951
2613
|
d: "M24 2L45 12.5L24 23L3 12.5L24 2Z",
|
|
1952
2614
|
fill: "#356AF3"
|
|
1953
2615
|
}
|
|
1954
2616
|
),
|
|
1955
|
-
/* @__PURE__ */ (0,
|
|
2617
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1956
2618
|
"path",
|
|
1957
2619
|
{
|
|
1958
2620
|
d: "M24 8L34 13L24 18L14 13L24 8Z",
|
|
1959
2621
|
fill: "white"
|
|
1960
2622
|
}
|
|
1961
2623
|
),
|
|
1962
|
-
/* @__PURE__ */ (0,
|
|
2624
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1963
2625
|
"path",
|
|
1964
2626
|
{
|
|
1965
2627
|
d: "M3 20L24 30.5L45 20V27L24 37.5L3 27V20Z",
|
|
1966
2628
|
fill: "#356AF3"
|
|
1967
2629
|
}
|
|
1968
2630
|
),
|
|
1969
|
-
/* @__PURE__ */ (0,
|
|
2631
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1970
2632
|
"path",
|
|
1971
2633
|
{
|
|
1972
2634
|
d: "M3 33L24 43.5L45 33V40L24 50.5L3 40V33Z",
|
|
@@ -1976,36 +2638,36 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1976
2638
|
]
|
|
1977
2639
|
}
|
|
1978
2640
|
),
|
|
1979
|
-
/* @__PURE__ */ (0,
|
|
1980
|
-
/* @__PURE__ */ (0,
|
|
1981
|
-
/* @__PURE__ */ (0,
|
|
2641
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
|
|
2642
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("h1", { className: "text-[18px] font-extrabold text-[#101318]", children: "FLOWCORE" }),
|
|
2643
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-[12px] text-[#344261]", children: "Workflow Engine" })
|
|
1982
2644
|
] })
|
|
1983
2645
|
] }),
|
|
1984
|
-
/* @__PURE__ */ (0,
|
|
2646
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1985
2647
|
"button",
|
|
1986
2648
|
{
|
|
1987
2649
|
type: "button",
|
|
1988
2650
|
onClick: onToggle,
|
|
1989
2651
|
className: "\r\n flex h-8 w-8\r\n items-center justify-center\r\n rounded-lg\r\n hover:bg-gray-100\r\n ",
|
|
1990
|
-
children: /* @__PURE__ */ (0,
|
|
2652
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react28.RiMenuLine, { size: 18 })
|
|
1991
2653
|
}
|
|
1992
2654
|
)
|
|
1993
2655
|
]
|
|
1994
2656
|
}
|
|
1995
2657
|
),
|
|
1996
|
-
/* @__PURE__ */ (0,
|
|
2658
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1997
2659
|
"div",
|
|
1998
2660
|
{
|
|
1999
2661
|
className: "\r\n min-h-0 flex-1\r\n overflow-y-auto overflow-x-hidden\r\n px-[27px] pb-[30px] pt-[31px]\r\n ",
|
|
2000
2662
|
children: [
|
|
2001
|
-
/* @__PURE__ */ (0,
|
|
2663
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2002
2664
|
"p",
|
|
2003
2665
|
{
|
|
2004
2666
|
className: "\r\n mb-[19px] ml-[15px]\r\n text-[14px] font-bold uppercase\r\n leading-[20px] tracking-[0.2px]\r\n text-[#3C4D74]\r\n ",
|
|
2005
2667
|
children: "Configuration Masters"
|
|
2006
2668
|
}
|
|
2007
2669
|
),
|
|
2008
|
-
/* @__PURE__ */ (0,
|
|
2670
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-col gap-[3px]", children: [
|
|
2009
2671
|
renderDropdown(
|
|
2010
2672
|
"Workflow",
|
|
2011
2673
|
workflowOpen,
|
|
@@ -2031,14 +2693,14 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
2031
2693
|
hierarchyItems
|
|
2032
2694
|
)
|
|
2033
2695
|
] }),
|
|
2034
|
-
/* @__PURE__ */ (0,
|
|
2696
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2035
2697
|
"p",
|
|
2036
2698
|
{
|
|
2037
2699
|
className: "\r\n mb-[19px] ml-[15px] mt-[39px]\r\n text-[14px] font-bold uppercase\r\n leading-[20px] tracking-[0.2px]\r\n text-[#3C4D74]\r\n ",
|
|
2038
2700
|
children: "Runtime"
|
|
2039
2701
|
}
|
|
2040
2702
|
),
|
|
2041
|
-
/* @__PURE__ */ (0,
|
|
2703
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-col gap-[3px]", children: [
|
|
2042
2704
|
renderDropdown(
|
|
2043
2705
|
"Files",
|
|
2044
2706
|
filesOpen,
|
|
@@ -2067,18 +2729,18 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
2067
2729
|
]
|
|
2068
2730
|
}
|
|
2069
2731
|
),
|
|
2070
|
-
/* @__PURE__ */ (0,
|
|
2732
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2071
2733
|
"div",
|
|
2072
2734
|
{
|
|
2073
2735
|
className: "\r\n shrink-0\r\n bg-white\r\n px-[27px]\r\n pb-[34px]\r\n pt-[18px]\r\n ",
|
|
2074
|
-
children: /* @__PURE__ */ (0,
|
|
2736
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2075
2737
|
"button",
|
|
2076
2738
|
{
|
|
2077
2739
|
type: "button",
|
|
2078
2740
|
className: "\r\n flex h-[66px] w-full\r\n items-center gap-[18px]\r\n rounded-[10px]\r\n border border-[#E1E5ED]\r\n bg-white\r\n px-[23px]\r\n text-left\r\n text-[16px]\r\n font-semibold\r\n text-[#2D3A58]\r\n shadow-sm\r\n hover:bg-[#F7F8FC]\r\n transition\r\n ",
|
|
2079
2741
|
children: [
|
|
2080
|
-
/* @__PURE__ */ (0,
|
|
2081
|
-
/* @__PURE__ */ (0,
|
|
2742
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react28.RiSettings4Line, { size: 20 }),
|
|
2743
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: "Settings" })
|
|
2082
2744
|
]
|
|
2083
2745
|
}
|
|
2084
2746
|
)
|
|
@@ -2087,15 +2749,15 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
2087
2749
|
]
|
|
2088
2750
|
}
|
|
2089
2751
|
),
|
|
2090
|
-
/* @__PURE__ */ (0,
|
|
2091
|
-
!isOpen && /* @__PURE__ */ (0,
|
|
2752
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "flex-1 overflow-auto bg-[#F5F7FB]", children: renderContent() }),
|
|
2753
|
+
!isOpen && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2092
2754
|
"button",
|
|
2093
2755
|
{
|
|
2094
2756
|
type: "button",
|
|
2095
2757
|
onClick: onToggle,
|
|
2096
2758
|
"aria-label": "Open sidebar",
|
|
2097
2759
|
className: "\r\n fixed left-[20px] top-[30px] z-[100]\r\n flex h-[46px] w-[46px]\r\n items-center justify-center\r\n rounded-[9px]\r\n border border-[#E1E5ED]\r\n bg-white text-[#344261]\r\n shadow-[0_2px_8px_rgba(0,0,0,0.08)]\r\n transition-colors\r\n hover:bg-[#F3F5F9]\r\n ",
|
|
2098
|
-
children: /* @__PURE__ */ (0,
|
|
2760
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react28.RiMenuLine, { size: 18 })
|
|
2099
2761
|
}
|
|
2100
2762
|
)
|
|
2101
2763
|
] });
|
|
@@ -2117,11 +2779,11 @@ var ApiEndpointsProvider = ({ apiEndpoints: endpoints }) => {
|
|
|
2117
2779
|
var ApiEndpointsProvider_default = ApiEndpointsProvider;
|
|
2118
2780
|
|
|
2119
2781
|
// src/components/Layout.jsx
|
|
2120
|
-
var
|
|
2121
|
-
var
|
|
2782
|
+
var import_react29 = require("react");
|
|
2783
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2122
2784
|
var Layout = ({ children }) => {
|
|
2123
|
-
const [isOpen, setIsOpen] = (0,
|
|
2124
|
-
return /* @__PURE__ */ (0,
|
|
2785
|
+
const [isOpen, setIsOpen] = (0, import_react29.useState)(true);
|
|
2786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex min-h-screen", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2125
2787
|
Sidebar,
|
|
2126
2788
|
{
|
|
2127
2789
|
isOpen,
|
|
@@ -2134,7 +2796,9 @@ var Layout_default = Layout;
|
|
|
2134
2796
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2135
2797
|
0 && (module.exports = {
|
|
2136
2798
|
ApiEndpointsProvider,
|
|
2799
|
+
AssignmentRulePage,
|
|
2137
2800
|
Layout,
|
|
2138
2801
|
Sidebar,
|
|
2802
|
+
TaskPermissionPage,
|
|
2139
2803
|
WorkflowPage
|
|
2140
2804
|
});
|