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.mjs
CHANGED
|
@@ -498,8 +498,668 @@ function WorkflowPage() {
|
|
|
498
498
|
] });
|
|
499
499
|
}
|
|
500
500
|
|
|
501
|
+
// src/pages/TaskPermissionPage.js
|
|
502
|
+
import React10, { useState as useState5 } from "react";
|
|
503
|
+
|
|
504
|
+
// src/components/task-permission/SearchBar.js
|
|
505
|
+
import React6 from "react";
|
|
506
|
+
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
507
|
+
function SearchBar2({
|
|
508
|
+
searchTerm,
|
|
509
|
+
onSearchChange,
|
|
510
|
+
searchQuery,
|
|
511
|
+
setSearchQuery,
|
|
512
|
+
setCurrentPage
|
|
513
|
+
}) {
|
|
514
|
+
const currentInputValue = searchQuery !== void 0 ? searchQuery : searchTerm || "";
|
|
515
|
+
const handleInputChange = (value) => {
|
|
516
|
+
if (setSearchQuery) {
|
|
517
|
+
setSearchQuery(value);
|
|
518
|
+
}
|
|
519
|
+
if (setCurrentPage) {
|
|
520
|
+
setCurrentPage(1);
|
|
521
|
+
}
|
|
522
|
+
if (onSearchChange) {
|
|
523
|
+
onSearchChange(value);
|
|
524
|
+
}
|
|
525
|
+
};
|
|
526
|
+
return /* @__PURE__ */ jsxs6("div", { className: "relative max-w-sm w-full", children: [
|
|
527
|
+
/* @__PURE__ */ jsx6("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ jsx6("svg", { className: "w-4.5 h-4.5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
528
|
+
/* @__PURE__ */ jsx6(
|
|
529
|
+
"input",
|
|
530
|
+
{
|
|
531
|
+
type: "text",
|
|
532
|
+
value: currentInputValue,
|
|
533
|
+
onChange: (e) => handleInputChange(e.target.value),
|
|
534
|
+
placeholder: "Search step name, code or workflow...",
|
|
535
|
+
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"
|
|
536
|
+
}
|
|
537
|
+
)
|
|
538
|
+
] });
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
// src/components/task-permission/Table.js
|
|
542
|
+
import React7, { useState as useState3, useEffect } from "react";
|
|
543
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
544
|
+
function Table({ pageSize, searchQuery = "", currentPage, setCurrentPage, setTotalEntries }) {
|
|
545
|
+
const initialData = [
|
|
546
|
+
{ id: 1, taskId: "1", role: "Admin", taskName: "Approve Workflow", permissionType: "Write", isStatusEnabled: true },
|
|
547
|
+
{ id: 2, taskId: "2", role: "Approver", taskName: "Review Document", permissionType: "Read", isStatusEnabled: false },
|
|
548
|
+
{ id: 3, taskId: "3", role: "Viewer", taskName: "View Logs", permissionType: "Read", isStatusEnabled: true },
|
|
549
|
+
{ id: 4, taskId: "4", role: "Super Admin", taskName: "Manage Master Configuration", permissionType: "All", isStatusEnabled: true },
|
|
550
|
+
{ id: 5, taskId: "5", role: "Admin", taskName: "Update Rule Engine", permissionType: "Write", isStatusEnabled: false },
|
|
551
|
+
{ id: 6, taskId: "6", role: "Operator", taskName: "Data Input Task", permissionType: "Write", isStatusEnabled: true },
|
|
552
|
+
{ id: 7, taskId: "7", role: "Approver", taskName: "Verify Financials", permissionType: "Write", isStatusEnabled: true },
|
|
553
|
+
{ id: 8, taskId: "8", role: "Viewer", taskName: "Export Reports", permissionType: "Read", isStatusEnabled: true },
|
|
554
|
+
{ id: 9, taskId: "9", role: "Super Admin", taskName: "User Management Sync", permissionType: "All", isStatusEnabled: true },
|
|
555
|
+
{ id: 10, taskId: "10", role: "Admin", taskName: "Assign Roles Structure", permissionType: "Write", isStatusEnabled: true },
|
|
556
|
+
{ id: 11, taskId: "11", role: "Approver", taskName: "Audit Trail Clearance", permissionType: "Read", isStatusEnabled: false },
|
|
557
|
+
{ id: 12, taskId: "12", role: "Operator", taskName: "Update Profile Details", permissionType: "Write", isStatusEnabled: true },
|
|
558
|
+
{ id: 13, taskId: "13", role: "Viewer", taskName: "Check Server Status", permissionType: "Read", isStatusEnabled: true },
|
|
559
|
+
{ id: 14, taskId: "14", role: "Super Admin", taskName: "Database Schema Reset", permissionType: "All", isStatusEnabled: false },
|
|
560
|
+
{ id: 15, taskId: "15", role: "Admin", taskName: "Modify Hierarchy Node", permissionType: "Write", isStatusEnabled: true },
|
|
561
|
+
{ id: 16, taskId: "16", role: "Approver", taskName: "Approve Building Permit", permissionType: "Write", isStatusEnabled: true },
|
|
562
|
+
{ id: 17, taskId: "17", role: "Operator", taskName: "Upload Property Documents", permissionType: "Write", isStatusEnabled: true },
|
|
563
|
+
{ id: 18, taskId: "18", role: "Viewer", taskName: "Monitor Active Connections", permissionType: "Read", isStatusEnabled: true },
|
|
564
|
+
{ id: 19, taskId: "19", role: "Admin", taskName: "Configure API Gateways", permissionType: "All", isStatusEnabled: true },
|
|
565
|
+
{ id: 20, taskId: "20", role: "Approver", taskName: "Verify Citizen Grievance", permissionType: "Read", isStatusEnabled: false },
|
|
566
|
+
{ id: 21, taskId: "21", role: "Operator", taskName: "Log Application Status", permissionType: "Write", isStatusEnabled: true },
|
|
567
|
+
{ id: 22, taskId: "22", role: "Viewer", taskName: "Download Custom Reports", permissionType: "Read", isStatusEnabled: true },
|
|
568
|
+
{ id: 23, taskId: "23", role: "Super Admin", taskName: "Manage Security Keys", permissionType: "All", isStatusEnabled: true },
|
|
569
|
+
{ id: 24, taskId: "24", role: "Admin", taskName: "Toggle Maintenance Mode", permissionType: "Write", isStatusEnabled: false },
|
|
570
|
+
{ id: 25, taskId: "25", role: "Approver", taskName: "Final File Sign-off", permissionType: "Write", isStatusEnabled: true }
|
|
571
|
+
];
|
|
572
|
+
const [data, setData] = useState3(initialData);
|
|
573
|
+
const [sortOrder, setSortOrder] = useState3("asc");
|
|
574
|
+
const [sortKey, setSortKey] = useState3("taskId");
|
|
575
|
+
const handleSort = (columnKey) => {
|
|
576
|
+
const isAsc = sortKey === columnKey && sortOrder === "asc";
|
|
577
|
+
setSortOrder(isAsc ? "desc" : "asc");
|
|
578
|
+
setSortKey(columnKey);
|
|
579
|
+
const sortedData = [...data].sort((a, b) => {
|
|
580
|
+
let valA = a[columnKey];
|
|
581
|
+
let valB = b[columnKey];
|
|
582
|
+
if (typeof valA === "number" && typeof valB === "number") {
|
|
583
|
+
return isAsc ? valA - valB : valB - valA;
|
|
584
|
+
}
|
|
585
|
+
valA = valA ? valA.toString().toLowerCase() : "";
|
|
586
|
+
valB = valB ? valB.toString().toLowerCase() : "";
|
|
587
|
+
if (valA < valB) return isAsc ? -1 : 1;
|
|
588
|
+
if (valA > valB) return isAsc ? 1 : -1;
|
|
589
|
+
return 0;
|
|
590
|
+
});
|
|
591
|
+
setData(sortedData);
|
|
592
|
+
};
|
|
593
|
+
const filteredData = data.filter((item) => {
|
|
594
|
+
if (!searchQuery || searchQuery.trim() === "") return true;
|
|
595
|
+
let query = searchQuery.toLowerCase().trim();
|
|
596
|
+
if (query.startsWith("task")) {
|
|
597
|
+
query = query.replace(/^task[- ]*/, "");
|
|
598
|
+
if (!query) return true;
|
|
599
|
+
}
|
|
600
|
+
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);
|
|
601
|
+
});
|
|
602
|
+
useEffect(() => {
|
|
603
|
+
if (setTotalEntries) setTotalEntries(filteredData.length);
|
|
604
|
+
}, [filteredData.length, setTotalEntries]);
|
|
605
|
+
const totalPages = Math.ceil(filteredData.length / pageSize) || 1;
|
|
606
|
+
const startIndex = (currentPage - 1) * pageSize;
|
|
607
|
+
const visibleData = filteredData.slice(startIndex, startIndex + pageSize);
|
|
608
|
+
const pageNumbers = Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
609
|
+
const toggleStatus = (id) => {
|
|
610
|
+
setData((prev) => prev.map((item) => item.id === id ? __spreadProps(__spreadValues({}, item), { isStatusEnabled: !item.isStatusEnabled }) : item));
|
|
611
|
+
};
|
|
612
|
+
return /* @__PURE__ */ jsxs7("div", { className: "space-y-5", children: [
|
|
613
|
+
/* @__PURE__ */ jsx7("div", { className: "w-full overflow-x-auto border border-slate-200 rounded-2xl shadow-sm max-h-[420px] overflow-y-auto", children: /* @__PURE__ */ jsxs7("table", { className: "w-full text-left border-collapse bg-white table-auto", children: [
|
|
614
|
+
/* @__PURE__ */ jsx7("thead", { className: "sticky top-0 z-10 bg-slate-50 shadow-[0_1px_0_0_rgba(226,232,240,1)]", children: /* @__PURE__ */ jsxs7("tr", { className: "text-xs font-bold uppercase tracking-wider text-slate-500", children: [
|
|
615
|
+
/* @__PURE__ */ jsx7("th", { className: "py-4 px-4 w-16 text-center bg-slate-50", children: "S.NO" }),
|
|
616
|
+
/* @__PURE__ */ jsxs7("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: [
|
|
617
|
+
"TASK ID ",
|
|
618
|
+
sortKey === "taskId" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
619
|
+
] }),
|
|
620
|
+
/* @__PURE__ */ jsxs7("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: [
|
|
621
|
+
"ROLE ",
|
|
622
|
+
sortKey === "role" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
623
|
+
] }),
|
|
624
|
+
/* @__PURE__ */ jsxs7("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: [
|
|
625
|
+
"TASK NAME ",
|
|
626
|
+
sortKey === "taskName" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
627
|
+
] }),
|
|
628
|
+
/* @__PURE__ */ jsxs7("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: [
|
|
629
|
+
"PERMISSION ",
|
|
630
|
+
sortKey === "permissionType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
631
|
+
] }),
|
|
632
|
+
/* @__PURE__ */ jsx7("th", { className: "py-4 px-5 text-sm bg-slate-50 text-center whitespace-nowrap", children: "STATUS" })
|
|
633
|
+
] }) }),
|
|
634
|
+
/* @__PURE__ */ jsxs7("tbody", { className: "divide-y divide-slate-100 text-sm text-slate-600", children: [
|
|
635
|
+
visibleData.map((item, index) => /* @__PURE__ */ jsxs7("tr", { className: "hover:bg-slate-50/50 transition-colors", children: [
|
|
636
|
+
/* @__PURE__ */ jsx7("td", { className: "py-4 px-4 text-center font-medium text-slate-400", children: startIndex + index + 1 }),
|
|
637
|
+
/* @__PURE__ */ jsxs7("td", { className: "py-4 px-5 font-mono text-xs font-bold text-slate-700 whitespace-nowrap", children: [
|
|
638
|
+
"TASK-",
|
|
639
|
+
item.taskId
|
|
640
|
+
] }),
|
|
641
|
+
/* @__PURE__ */ jsx7("td", { className: "py-4 px-5 text-slate-900 font-bold whitespace-nowrap", children: item.role }),
|
|
642
|
+
/* @__PURE__ */ jsx7("td", { className: "py-4 px-5 text-slate-600 font-medium whitespace-nowrap", children: item.taskName }),
|
|
643
|
+
/* @__PURE__ */ jsx7("td", { className: "py-4 px-5 text-slate-800 text-center whitespace-nowrap", children: /* @__PURE__ */ jsx7("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 }) }),
|
|
644
|
+
/* @__PURE__ */ jsx7("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ jsx7(
|
|
645
|
+
"button",
|
|
646
|
+
{
|
|
647
|
+
type: "button",
|
|
648
|
+
onClick: () => toggleStatus(item.id),
|
|
649
|
+
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"}`,
|
|
650
|
+
children: /* @__PURE__ */ jsx7("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"}` })
|
|
651
|
+
}
|
|
652
|
+
) })
|
|
653
|
+
] }, item.id)),
|
|
654
|
+
visibleData.length === 0 && /* @__PURE__ */ jsx7("tr", { children: /* @__PURE__ */ jsx7("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." }) })
|
|
655
|
+
] })
|
|
656
|
+
] }) }),
|
|
657
|
+
/* @__PURE__ */ jsxs7("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: [
|
|
658
|
+
/* @__PURE__ */ jsx7("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" }),
|
|
659
|
+
pageNumbers.map((pageNumber) => /* @__PURE__ */ jsx7(
|
|
660
|
+
"button",
|
|
661
|
+
{
|
|
662
|
+
onClick: () => setCurrentPage(pageNumber),
|
|
663
|
+
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"}`,
|
|
664
|
+
children: pageNumber
|
|
665
|
+
},
|
|
666
|
+
pageNumber
|
|
667
|
+
)),
|
|
668
|
+
/* @__PURE__ */ jsx7("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" })
|
|
669
|
+
] })
|
|
670
|
+
] });
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
// src/components/task-permission/Popup.js
|
|
674
|
+
import React8, { useState as useState4 } from "react";
|
|
675
|
+
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
676
|
+
function Popup({ isOpen, onClose, onSave }) {
|
|
677
|
+
if (!isOpen) return null;
|
|
678
|
+
const [stepName, setStepName] = useState4("");
|
|
679
|
+
const [stepCode, setStepCode] = useState4("");
|
|
680
|
+
const [workflow, setWorkflow] = useState4("");
|
|
681
|
+
const [canView, setCanView] = useState4(false);
|
|
682
|
+
const [canEdit, setCanEdit] = useState4(false);
|
|
683
|
+
const [canApprove, setCanApprove] = useState4(false);
|
|
684
|
+
const [canReject, setCanReject] = useState4(false);
|
|
685
|
+
const handleSubmit = (e) => {
|
|
686
|
+
e.preventDefault();
|
|
687
|
+
if (!stepName || !stepCode || !workflow) {
|
|
688
|
+
alert("Please fill out all required fields!");
|
|
689
|
+
return;
|
|
690
|
+
}
|
|
691
|
+
onSave({ stepName, stepCode: stepCode.toUpperCase(), workflow, canView, canEdit, canApprove, canReject });
|
|
692
|
+
setStepName("");
|
|
693
|
+
setStepCode("");
|
|
694
|
+
setWorkflow("");
|
|
695
|
+
setCanView(false);
|
|
696
|
+
setCanEdit(false);
|
|
697
|
+
setCanApprove(false);
|
|
698
|
+
setCanReject(false);
|
|
699
|
+
onClose();
|
|
700
|
+
};
|
|
701
|
+
return /* @__PURE__ */ jsxs8("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
702
|
+
/* @__PURE__ */ jsx8("div", { className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity duration-200", onClick: onClose }),
|
|
703
|
+
/* @__PURE__ */ jsxs8("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: [
|
|
704
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex justify-between items-center px-8 py-6 border-b border-slate-100", children: [
|
|
705
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-4", children: [
|
|
706
|
+
/* @__PURE__ */ jsx8("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}" }),
|
|
707
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
708
|
+
/* @__PURE__ */ jsx8("h2", { className: "text-xl font-extrabold text-slate-800", children: "Add Task Permission" }),
|
|
709
|
+
/* @__PURE__ */ jsx8("p", { className: "text-xs text-slate-400 mt-0.5", children: "Configure step details and initial user control access rules" })
|
|
710
|
+
] })
|
|
711
|
+
] }),
|
|
712
|
+
/* @__PURE__ */ jsx8("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" })
|
|
713
|
+
] }),
|
|
714
|
+
/* @__PURE__ */ jsxs8("form", { onSubmit: handleSubmit, className: "flex flex-col flex-1 overflow-hidden", children: [
|
|
715
|
+
/* @__PURE__ */ jsxs8("div", { className: "p-8 space-y-8 overflow-y-auto max-h-[calc(92vh-170px)] bg-slate-50/30", children: [
|
|
716
|
+
/* @__PURE__ */ jsxs8("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
717
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2 text-blue-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
718
|
+
/* @__PURE__ */ jsx8("span", { children: "\u{1F4CB}" }),
|
|
719
|
+
/* @__PURE__ */ jsx8("span", { children: "Step Information" })
|
|
720
|
+
] }),
|
|
721
|
+
/* @__PURE__ */ jsxs8("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
722
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
723
|
+
/* @__PURE__ */ jsxs8("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
724
|
+
"Step Name ",
|
|
725
|
+
/* @__PURE__ */ jsx8("span", { className: "text-red-500", children: "*" })
|
|
726
|
+
] }),
|
|
727
|
+
/* @__PURE__ */ jsx8("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" })
|
|
728
|
+
] }),
|
|
729
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
730
|
+
/* @__PURE__ */ jsxs8("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
731
|
+
"Step Code ",
|
|
732
|
+
/* @__PURE__ */ jsx8("span", { className: "text-red-500", children: "*" })
|
|
733
|
+
] }),
|
|
734
|
+
/* @__PURE__ */ jsx8("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" })
|
|
735
|
+
] })
|
|
736
|
+
] }),
|
|
737
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
738
|
+
/* @__PURE__ */ jsxs8("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
739
|
+
"Workflow Definition Relation ",
|
|
740
|
+
/* @__PURE__ */ jsx8("span", { className: "text-red-500", children: "*" })
|
|
741
|
+
] }),
|
|
742
|
+
/* @__PURE__ */ jsxs8("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: [
|
|
743
|
+
/* @__PURE__ */ jsx8("option", { value: "", children: "Select associated master workflow" }),
|
|
744
|
+
/* @__PURE__ */ jsx8("option", { value: "Citizen Petition Workflow", children: "Citizen Petition Workflow" }),
|
|
745
|
+
/* @__PURE__ */ jsx8("option", { value: "Building Permission Workflow", children: "Building Permission Workflow" }),
|
|
746
|
+
/* @__PURE__ */ jsx8("option", { value: "Leave Application Workflow", children: "Leave Application Workflow" }),
|
|
747
|
+
/* @__PURE__ */ jsx8("option", { value: "Public Grievance Workflow", children: "Public Grievance Workflow" })
|
|
748
|
+
] })
|
|
749
|
+
] })
|
|
750
|
+
] }),
|
|
751
|
+
/* @__PURE__ */ jsxs8("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
752
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2 text-blue-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
753
|
+
/* @__PURE__ */ jsx8("span", { children: "\u2699\uFE0F" }),
|
|
754
|
+
/* @__PURE__ */ jsx8("span", { children: "Set Initial Matrix Access Rules" })
|
|
755
|
+
] }),
|
|
756
|
+
/* @__PURE__ */ jsx8("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__ */ jsxs8("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
757
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2.5", children: [
|
|
758
|
+
/* @__PURE__ */ jsx8("div", { className: "w-8 h-8 rounded-lg bg-blue-50 text-blue-600 flex items-center justify-center text-xs", children: icon }),
|
|
759
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
760
|
+
/* @__PURE__ */ jsx8("p", { className: "text-xs font-bold text-slate-700", children: title }),
|
|
761
|
+
/* @__PURE__ */ jsx8("p", { className: "text-[9px] text-slate-400", children: desc })
|
|
762
|
+
] })
|
|
763
|
+
] }),
|
|
764
|
+
/* @__PURE__ */ jsxs8("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
765
|
+
/* @__PURE__ */ jsx8("input", { type: "checkbox", checked: val, onChange: (e) => setVal(e.target.checked), className: "sr-only peer" }),
|
|
766
|
+
/* @__PURE__ */ jsx8("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" })
|
|
767
|
+
] })
|
|
768
|
+
] }, i)) })
|
|
769
|
+
] })
|
|
770
|
+
] }),
|
|
771
|
+
/* @__PURE__ */ jsxs8("div", { className: "p-5 bg-white border-t border-slate-100 flex items-center justify-end gap-3 px-8", children: [
|
|
772
|
+
/* @__PURE__ */ jsx8("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" }),
|
|
773
|
+
/* @__PURE__ */ jsx8("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" })
|
|
774
|
+
] })
|
|
775
|
+
] })
|
|
776
|
+
] })
|
|
777
|
+
] });
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
// src/components/task-permission/AddButton.js
|
|
781
|
+
import React9 from "react";
|
|
782
|
+
import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
783
|
+
function AddButton2({ onOpen }) {
|
|
784
|
+
return /* @__PURE__ */ jsxs9(
|
|
785
|
+
"button",
|
|
786
|
+
{
|
|
787
|
+
onClick: onOpen,
|
|
788
|
+
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",
|
|
789
|
+
children: [
|
|
790
|
+
/* @__PURE__ */ jsx9("svg", { className: "w-4 h-4 stroke-[2.5]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx9("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) }),
|
|
791
|
+
"Add Task Permission"
|
|
792
|
+
]
|
|
793
|
+
}
|
|
794
|
+
);
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
// src/pages/TaskPermissionPage.js
|
|
798
|
+
import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
799
|
+
function TaskPermissionPage() {
|
|
800
|
+
const [modalOpen, setModalOpen] = useState5(false);
|
|
801
|
+
const [pageSize, setPageSize] = useState5(10);
|
|
802
|
+
const [searchQuery, setSearchQuery] = useState5("");
|
|
803
|
+
const [currentPage, setCurrentPage] = useState5(1);
|
|
804
|
+
const [totalEntries, setTotalEntries] = useState5(0);
|
|
805
|
+
const handlePageSizeChange = (e) => {
|
|
806
|
+
setPageSize(Number(e.target.value));
|
|
807
|
+
setCurrentPage(1);
|
|
808
|
+
};
|
|
809
|
+
return /* @__PURE__ */ jsxs10("div", { className: "min-h-screen bg-slate-50 p-4 md:p-6", children: [
|
|
810
|
+
/* @__PURE__ */ jsxs10("div", { className: "w-full space-y-5", children: [
|
|
811
|
+
/* @__PURE__ */ jsxs10("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: [
|
|
812
|
+
/* @__PURE__ */ jsxs10("div", { children: [
|
|
813
|
+
/* @__PURE__ */ jsx10("h1", { className: "text-2xl font-extrabold text-slate-900 tracking-tight", children: "Task Permission" }),
|
|
814
|
+
/* @__PURE__ */ jsxs10("p", { className: "text-xs text-slate-400 mt-1", children: [
|
|
815
|
+
"Dashboard > Settings > ",
|
|
816
|
+
/* @__PURE__ */ jsx10("span", { className: "text-blue-600 font-semibold", children: "Task Permission Master" })
|
|
817
|
+
] })
|
|
818
|
+
] }),
|
|
819
|
+
/* @__PURE__ */ jsx10(AddButton2, { onOpen: () => setModalOpen(true) })
|
|
820
|
+
] }),
|
|
821
|
+
/* @__PURE__ */ jsxs10("div", { className: "bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm space-y-5", children: [
|
|
822
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
823
|
+
/* @__PURE__ */ jsx10("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ jsx10(SearchBar2, { searchQuery, setSearchQuery, setCurrentPage }) }),
|
|
824
|
+
/* @__PURE__ */ jsx10("div", { children: /* @__PURE__ */ jsxs10(
|
|
825
|
+
"select",
|
|
826
|
+
{
|
|
827
|
+
value: pageSize,
|
|
828
|
+
onChange: handlePageSizeChange,
|
|
829
|
+
className: "border border-slate-200 rounded-lg px-3 py-2 text-sm bg-white cursor-pointer outline-none shadow-sm text-slate-700",
|
|
830
|
+
children: [
|
|
831
|
+
/* @__PURE__ */ jsx10("option", { value: 5, children: "5 Rows" }),
|
|
832
|
+
/* @__PURE__ */ jsx10("option", { value: 10, children: "10 Rows" }),
|
|
833
|
+
/* @__PURE__ */ jsx10("option", { value: 20, children: "20 Rows" }),
|
|
834
|
+
/* @__PURE__ */ jsx10("option", { value: 25, children: "25 Rows" })
|
|
835
|
+
]
|
|
836
|
+
}
|
|
837
|
+
) })
|
|
838
|
+
] }),
|
|
839
|
+
/* @__PURE__ */ jsx10(
|
|
840
|
+
Table,
|
|
841
|
+
{
|
|
842
|
+
pageSize,
|
|
843
|
+
searchQuery,
|
|
844
|
+
currentPage,
|
|
845
|
+
setCurrentPage,
|
|
846
|
+
setTotalEntries
|
|
847
|
+
}
|
|
848
|
+
)
|
|
849
|
+
] })
|
|
850
|
+
] }),
|
|
851
|
+
/* @__PURE__ */ jsx10(Popup, { isOpen: modalOpen, onClose: () => setModalOpen(false) })
|
|
852
|
+
] });
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
// src/pages/AssignmentRulePage.js
|
|
856
|
+
import React15, { useState as useState8 } from "react";
|
|
857
|
+
|
|
858
|
+
// src/components/assignment-rule/SearchBar.js
|
|
859
|
+
import React11 from "react";
|
|
860
|
+
import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
861
|
+
function SearchBar3({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
862
|
+
const handleInputChange = (value) => {
|
|
863
|
+
setSearchQuery(value);
|
|
864
|
+
if (setCurrentPage) {
|
|
865
|
+
setCurrentPage(1);
|
|
866
|
+
}
|
|
867
|
+
};
|
|
868
|
+
return /* @__PURE__ */ jsxs11("div", { className: "relative max-w-sm w-full", children: [
|
|
869
|
+
/* @__PURE__ */ jsx11("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ jsx11("svg", { className: "w-4.5 h-4.5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx11("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
870
|
+
/* @__PURE__ */ jsx11(
|
|
871
|
+
"input",
|
|
872
|
+
{
|
|
873
|
+
type: "text",
|
|
874
|
+
value: searchQuery,
|
|
875
|
+
onChange: (e) => handleInputChange(e.target.value),
|
|
876
|
+
placeholder: "Search rule keys...",
|
|
877
|
+
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"
|
|
878
|
+
}
|
|
879
|
+
)
|
|
880
|
+
] });
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
// src/components/assignment-rule/Table.js
|
|
884
|
+
import React12, { useState as useState6, useEffect as useEffect2 } from "react";
|
|
885
|
+
import { jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
886
|
+
function Table2({ pageSize, searchQuery = "", currentPage, setCurrentPage, setTotalEntries }) {
|
|
887
|
+
const initialData = [
|
|
888
|
+
{ id: 1, workflowStepId: "1", assignmentType: "Hierarchy", hierarchyNodeType: "Block", dynamicFunctionId: "N/A", isPoolEnabled: true },
|
|
889
|
+
{ id: 2, workflowStepId: "2", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "1", isPoolEnabled: false },
|
|
890
|
+
{ id: 3, workflowStepId: "3", assignmentType: "Hierarchy", hierarchyNodeType: "District", dynamicFunctionId: "N/A", isPoolEnabled: true },
|
|
891
|
+
{ id: 4, workflowStepId: "4", assignmentType: "Dynamic", hierarchyNodeType: "Block", dynamicFunctionId: "2", isPoolEnabled: false },
|
|
892
|
+
{ id: 5, workflowStepId: "5", assignmentType: "Hierarchy", hierarchyNodeType: "Block", dynamicFunctionId: "N/A", isPoolEnabled: true },
|
|
893
|
+
{ id: 6, workflowStepId: "6", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
894
|
+
{ id: 7, workflowStepId: "7", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
895
|
+
{ id: 8, workflowStepId: "8", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
896
|
+
{ id: 9, workflowStepId: "9", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
897
|
+
{ id: 10, workflowStepId: "10", assignmentType: "Hierarchy", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
898
|
+
{ id: 11, workflowStepId: "11", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
899
|
+
{ id: 12, workflowStepId: "12", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
900
|
+
{ id: 13, workflowStepId: "13", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true },
|
|
901
|
+
{ id: 14, workflowStepId: "14", assignmentType: "Dynamic", hierarchyNodeType: "District", dynamicFunctionId: "4", isPoolEnabled: true }
|
|
902
|
+
];
|
|
903
|
+
const [data, setData] = useState6(initialData);
|
|
904
|
+
const [sortOrder, setSortOrder] = useState6("asc");
|
|
905
|
+
const [sortKey, setSortKey] = useState6("workflowStepId");
|
|
906
|
+
const handleSort = (columnKey) => {
|
|
907
|
+
const isAsc = sortKey === columnKey && sortOrder === "asc";
|
|
908
|
+
setSortOrder(isAsc ? "desc" : "asc");
|
|
909
|
+
setSortKey(columnKey);
|
|
910
|
+
const sortedData = [...data].sort((a, b) => {
|
|
911
|
+
let valA = a[columnKey];
|
|
912
|
+
let valB = b[columnKey];
|
|
913
|
+
if (typeof valA === "number" && typeof valB === "number") {
|
|
914
|
+
return isAsc ? valA - valB : valB - valA;
|
|
915
|
+
}
|
|
916
|
+
valA = valA ? valA.toString().toLowerCase() : "";
|
|
917
|
+
valB = valB ? valB.toString().toLowerCase() : "";
|
|
918
|
+
if (valA < valB) return isAsc ? -1 : 1;
|
|
919
|
+
if (valA > valB) return isAsc ? 1 : -1;
|
|
920
|
+
return 0;
|
|
921
|
+
});
|
|
922
|
+
setData(sortedData);
|
|
923
|
+
};
|
|
924
|
+
const filteredData = data.filter((item) => {
|
|
925
|
+
if (!searchQuery || searchQuery.trim() === "") return true;
|
|
926
|
+
const query = searchQuery.toLowerCase().trim();
|
|
927
|
+
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);
|
|
928
|
+
});
|
|
929
|
+
useEffect2(() => {
|
|
930
|
+
if (setTotalEntries) setTotalEntries(filteredData.length);
|
|
931
|
+
}, [filteredData.length, setTotalEntries]);
|
|
932
|
+
const totalPages = Math.ceil(filteredData.length / pageSize) || 1;
|
|
933
|
+
const startIndex = (currentPage - 1) * pageSize;
|
|
934
|
+
const visibleData = filteredData.slice(startIndex, startIndex + pageSize);
|
|
935
|
+
const pageNumbers = Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
936
|
+
const toggleStatus = (id) => {
|
|
937
|
+
setData((prev) => prev.map((item) => item.id === id ? __spreadProps(__spreadValues({}, item), { isPoolEnabled: !item.isPoolEnabled }) : item));
|
|
938
|
+
};
|
|
939
|
+
return /* @__PURE__ */ jsxs12("div", { className: "space-y-5", children: [
|
|
940
|
+
/* @__PURE__ */ jsx12("div", { className: "w-full overflow-x-auto border border-slate-200 rounded-2xl shadow-sm max-h-[420px] overflow-y-auto", children: /* @__PURE__ */ jsxs12("table", { className: "w-full text-left border-collapse bg-white table-auto", children: [
|
|
941
|
+
/* @__PURE__ */ jsx12("thead", { className: "sticky top-0 z-10 bg-slate-50 shadow-[0_1px_0_0_rgba(226,232,240,1)]", children: /* @__PURE__ */ jsxs12("tr", { className: "text-xs font-bold uppercase tracking-wider text-slate-500", children: [
|
|
942
|
+
/* @__PURE__ */ jsx12("th", { className: "py-4 px-4 w-16 text-center bg-slate-50", children: "S.NO" }),
|
|
943
|
+
/* @__PURE__ */ jsxs12("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: [
|
|
944
|
+
"WORKFLOW STEP ID ",
|
|
945
|
+
sortKey === "workflowStepId" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
946
|
+
] }),
|
|
947
|
+
/* @__PURE__ */ jsxs12("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: [
|
|
948
|
+
"ASSIGNMENT TYPE ",
|
|
949
|
+
sortKey === "assignmentType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
950
|
+
] }),
|
|
951
|
+
/* @__PURE__ */ jsxs12("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: [
|
|
952
|
+
"NODE TYPE ",
|
|
953
|
+
sortKey === "hierarchyNodeType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
954
|
+
] }),
|
|
955
|
+
/* @__PURE__ */ jsxs12("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: [
|
|
956
|
+
"DYNAMIC FUNCTION ID ",
|
|
957
|
+
sortKey === "dynamicFunctionId" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
958
|
+
] }),
|
|
959
|
+
/* @__PURE__ */ jsx12("th", { className: "py-4 px-5 text-sm bg-slate-50 text-center whitespace-nowrap", children: "POOL ENABLED" })
|
|
960
|
+
] }) }),
|
|
961
|
+
/* @__PURE__ */ jsxs12("tbody", { className: "divide-y divide-slate-100 text-sm text-slate-600", children: [
|
|
962
|
+
visibleData.map((item, index) => /* @__PURE__ */ jsxs12("tr", { className: "hover:bg-slate-50/50 transition-colors", children: [
|
|
963
|
+
/* @__PURE__ */ jsx12("td", { className: "py-4 px-4 text-center font-medium text-slate-400", children: startIndex + index + 1 }),
|
|
964
|
+
/* @__PURE__ */ jsxs12("td", { className: "py-4 px-5 font-mono text-xs font-bold text-slate-700 whitespace-nowrap", children: [
|
|
965
|
+
"STEP-",
|
|
966
|
+
item.workflowStepId
|
|
967
|
+
] }),
|
|
968
|
+
/* @__PURE__ */ jsx12("td", { className: "py-4 px-5 text-slate-900 text-[14px] font-bold whitespace-nowrap", children: /* @__PURE__ */ jsx12("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 }) }),
|
|
969
|
+
/* @__PURE__ */ jsx12("td", { className: "py-4 px-5 text-slate-600 font-medium whitespace-nowrap", children: item.hierarchyNodeType }),
|
|
970
|
+
/* @__PURE__ */ jsx12("td", { className: "py-4 px-5 text-slate-800 font-bold text-center whitespace-nowrap", children: item.dynamicFunctionId === "N/A" ? /* @__PURE__ */ jsx12("span", { className: "text-slate-400 font-normal", children: "N/A" }) : /* @__PURE__ */ jsxs12("span", { className: "bg-slate-100 text-slate-700 px-2 py-0.5 rounded text-xs", children: [
|
|
971
|
+
"FN-",
|
|
972
|
+
item.dynamicFunctionId
|
|
973
|
+
] }) }),
|
|
974
|
+
/* @__PURE__ */ jsx12("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ jsx12(
|
|
975
|
+
"button",
|
|
976
|
+
{
|
|
977
|
+
type: "button",
|
|
978
|
+
onClick: () => toggleStatus(item.id),
|
|
979
|
+
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"}`,
|
|
980
|
+
children: /* @__PURE__ */ jsx12("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"}` })
|
|
981
|
+
}
|
|
982
|
+
) })
|
|
983
|
+
] }, item.id)),
|
|
984
|
+
visibleData.length === 0 && /* @__PURE__ */ jsx12("tr", { children: /* @__PURE__ */ jsx12("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." }) })
|
|
985
|
+
] })
|
|
986
|
+
] }) }),
|
|
987
|
+
/* @__PURE__ */ jsxs12("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: [
|
|
988
|
+
/* @__PURE__ */ jsx12("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" }),
|
|
989
|
+
pageNumbers.map((pageNumber) => /* @__PURE__ */ jsx12(
|
|
990
|
+
"button",
|
|
991
|
+
{
|
|
992
|
+
onClick: () => setCurrentPage(pageNumber),
|
|
993
|
+
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"}`,
|
|
994
|
+
children: pageNumber
|
|
995
|
+
},
|
|
996
|
+
pageNumber
|
|
997
|
+
)),
|
|
998
|
+
/* @__PURE__ */ jsx12("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" })
|
|
999
|
+
] })
|
|
1000
|
+
] });
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
// src/components/assignment-rule/Popup.js
|
|
1004
|
+
import React13, { useState as useState7 } from "react";
|
|
1005
|
+
import { jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1006
|
+
function Popup2({ isOpen, onClose, onSave }) {
|
|
1007
|
+
if (!isOpen) return null;
|
|
1008
|
+
const [workflowStepId, setWorkflowStepId] = useState7("");
|
|
1009
|
+
const [assignmentType, setAssignmentType] = useState7("");
|
|
1010
|
+
const [hierarchyNodeType, setHierarchyNodeType] = useState7("");
|
|
1011
|
+
const [dynamicFunctionId, setDynamicFunctionId] = useState7("");
|
|
1012
|
+
const [isPoolEnabled, setIsPoolEnabled] = useState7(false);
|
|
1013
|
+
const handleSubmit = (e) => {
|
|
1014
|
+
e.preventDefault();
|
|
1015
|
+
if (!workflowStepId || !assignmentType || !hierarchyNodeType) {
|
|
1016
|
+
alert("Please fill out all required fields!");
|
|
1017
|
+
return;
|
|
1018
|
+
}
|
|
1019
|
+
onSave({
|
|
1020
|
+
workflowStepId,
|
|
1021
|
+
assignmentType,
|
|
1022
|
+
hierarchyNodeType,
|
|
1023
|
+
dynamicFunctionId: dynamicFunctionId || "N/A",
|
|
1024
|
+
isPoolEnabled
|
|
1025
|
+
});
|
|
1026
|
+
setWorkflowStepId("");
|
|
1027
|
+
setAssignmentType("");
|
|
1028
|
+
setHierarchyNodeType("");
|
|
1029
|
+
setDynamicFunctionId("");
|
|
1030
|
+
setIsPoolEnabled(false);
|
|
1031
|
+
onClose();
|
|
1032
|
+
};
|
|
1033
|
+
return /* @__PURE__ */ jsxs13("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
1034
|
+
/* @__PURE__ */ jsx13("div", { className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity", onClick: onClose }),
|
|
1035
|
+
/* @__PURE__ */ jsxs13("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: [
|
|
1036
|
+
/* @__PURE__ */ jsxs13("div", { className: "flex justify-between items-center px-8 py-5 border-b border-slate-100", children: [
|
|
1037
|
+
/* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-3", children: [
|
|
1038
|
+
/* @__PURE__ */ jsx13("div", { className: "w-10 h-10 bg-blue-50 text-blue-600 rounded-xl flex items-center justify-center text-lg", children: "\u2696\uFE0F" }),
|
|
1039
|
+
/* @__PURE__ */ jsxs13("div", { children: [
|
|
1040
|
+
/* @__PURE__ */ jsx13("h2", { className: "text-lg font-extrabold text-slate-800", children: "Add Assignment Rule" }),
|
|
1041
|
+
/* @__PURE__ */ jsx13("p", { className: "text-[10px] text-slate-400", children: "Configure core task routing constraints" })
|
|
1042
|
+
] })
|
|
1043
|
+
] }),
|
|
1044
|
+
/* @__PURE__ */ jsx13("button", { type: "button", onClick: onClose, className: "text-slate-400 hover:text-slate-600 font-semibold text-sm", children: "\u2715" })
|
|
1045
|
+
] }),
|
|
1046
|
+
/* @__PURE__ */ jsxs13("form", { onSubmit: handleSubmit, className: "flex flex-col overflow-hidden", children: [
|
|
1047
|
+
/* @__PURE__ */ jsxs13("div", { className: "p-6 space-y-4 overflow-y-auto bg-slate-50/30", children: [
|
|
1048
|
+
/* @__PURE__ */ jsxs13("div", { children: [
|
|
1049
|
+
/* @__PURE__ */ jsx13("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Workflow Step ID *" }),
|
|
1050
|
+
/* @__PURE__ */ jsx13("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" })
|
|
1051
|
+
] }),
|
|
1052
|
+
/* @__PURE__ */ jsxs13("div", { children: [
|
|
1053
|
+
/* @__PURE__ */ jsx13("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Assignment Type *" }),
|
|
1054
|
+
/* @__PURE__ */ jsxs13("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: [
|
|
1055
|
+
/* @__PURE__ */ jsx13("option", { value: "", children: "Select Assignment Engine Type" }),
|
|
1056
|
+
/* @__PURE__ */ jsx13("option", { value: "Hierarchy", children: "Hierarchy" }),
|
|
1057
|
+
/* @__PURE__ */ jsx13("option", { value: "Dynamic", children: "Dynamic" })
|
|
1058
|
+
] })
|
|
1059
|
+
] }),
|
|
1060
|
+
/* @__PURE__ */ jsxs13("div", { children: [
|
|
1061
|
+
/* @__PURE__ */ jsx13("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Hierarchy Node Type *" }),
|
|
1062
|
+
/* @__PURE__ */ jsxs13("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: [
|
|
1063
|
+
/* @__PURE__ */ jsx13("option", { value: "", children: "Select Node Level" }),
|
|
1064
|
+
/* @__PURE__ */ jsx13("option", { value: "Block", children: "Block" }),
|
|
1065
|
+
/* @__PURE__ */ jsx13("option", { value: "District", children: "District" })
|
|
1066
|
+
] })
|
|
1067
|
+
] }),
|
|
1068
|
+
/* @__PURE__ */ jsxs13("div", { children: [
|
|
1069
|
+
/* @__PURE__ */ jsx13("label", { className: "block text-xs font-bold text-slate-700 mb-1", children: "Dynamic Function ID" }),
|
|
1070
|
+
/* @__PURE__ */ jsx13("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" })
|
|
1071
|
+
] }),
|
|
1072
|
+
/* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-2 pt-1", children: [
|
|
1073
|
+
/* @__PURE__ */ jsx13("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" }),
|
|
1074
|
+
/* @__PURE__ */ jsx13("label", { htmlFor: "isPoolEnabled", className: "text-xs font-bold text-slate-700 select-none cursor-pointer", children: "Enable Task Pooling" })
|
|
1075
|
+
] })
|
|
1076
|
+
] }),
|
|
1077
|
+
/* @__PURE__ */ jsxs13("div", { className: "p-4 bg-white border-t border-slate-100 flex items-center justify-end gap-2.5 px-6", children: [
|
|
1078
|
+
/* @__PURE__ */ jsx13("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" }),
|
|
1079
|
+
/* @__PURE__ */ jsx13("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" })
|
|
1080
|
+
] })
|
|
1081
|
+
] })
|
|
1082
|
+
] })
|
|
1083
|
+
] });
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
// src/components/assignment-rule/AddButton.js
|
|
1087
|
+
import React14 from "react";
|
|
1088
|
+
import { jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1089
|
+
function AddButton3({ onOpen }) {
|
|
1090
|
+
return /* @__PURE__ */ jsxs14(
|
|
1091
|
+
"button",
|
|
1092
|
+
{
|
|
1093
|
+
onClick: onOpen,
|
|
1094
|
+
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",
|
|
1095
|
+
children: [
|
|
1096
|
+
/* @__PURE__ */ jsx14("svg", { className: "w-4 h-4 stroke-[2.5]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) }),
|
|
1097
|
+
"Add Assignment Rule"
|
|
1098
|
+
]
|
|
1099
|
+
}
|
|
1100
|
+
);
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
// src/pages/AssignmentRulePage.js
|
|
1104
|
+
import { jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1105
|
+
function AssignmentRulePage() {
|
|
1106
|
+
const [modalOpen, setModalOpen] = useState8(false);
|
|
1107
|
+
const [pageSize, setPageSize] = useState8(10);
|
|
1108
|
+
const [searchQuery, setSearchQuery] = useState8("");
|
|
1109
|
+
const [currentPage, setCurrentPage] = useState8(1);
|
|
1110
|
+
const [totalEntries, setTotalEntries] = useState8(0);
|
|
1111
|
+
const handlePageSizeChange = (e) => {
|
|
1112
|
+
setPageSize(Number(e.target.value));
|
|
1113
|
+
setCurrentPage(1);
|
|
1114
|
+
};
|
|
1115
|
+
return /* @__PURE__ */ jsxs15("div", { className: "min-h-screen bg-slate-50 p-4 md:p-6", children: [
|
|
1116
|
+
/* @__PURE__ */ jsxs15("div", { className: "w-full space-y-5", children: [
|
|
1117
|
+
/* @__PURE__ */ jsxs15("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: [
|
|
1118
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
1119
|
+
/* @__PURE__ */ jsx15("h1", { className: "text-2xl font-extrabold text-slate-900 tracking-tight", children: "Assignment Rule" }),
|
|
1120
|
+
/* @__PURE__ */ jsxs15("p", { className: "text-xs text-slate-400 mt-1", children: [
|
|
1121
|
+
"Dashboard > Settings > ",
|
|
1122
|
+
/* @__PURE__ */ jsx15("span", { className: "text-blue-600 font-semibold", children: "Assignment Rule Master" })
|
|
1123
|
+
] })
|
|
1124
|
+
] }),
|
|
1125
|
+
/* @__PURE__ */ jsx15(AddButton3, { onOpen: () => setModalOpen(true) })
|
|
1126
|
+
] }),
|
|
1127
|
+
/* @__PURE__ */ jsxs15("div", { className: "bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm space-y-5", children: [
|
|
1128
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
1129
|
+
/* @__PURE__ */ jsx15("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ jsx15(SearchBar3, { searchQuery, setSearchQuery, setCurrentPage }) }),
|
|
1130
|
+
/* @__PURE__ */ jsx15("div", { children: /* @__PURE__ */ jsxs15(
|
|
1131
|
+
"select",
|
|
1132
|
+
{
|
|
1133
|
+
value: pageSize,
|
|
1134
|
+
onChange: handlePageSizeChange,
|
|
1135
|
+
className: "border border-slate-200 rounded-lg px-3 py-2 text-sm bg-white cursor-pointer outline-none shadow-sm text-slate-700",
|
|
1136
|
+
children: [
|
|
1137
|
+
/* @__PURE__ */ jsx15("option", { value: 5, children: "5 Rows" }),
|
|
1138
|
+
/* @__PURE__ */ jsx15("option", { value: 10, children: "10 Rows" }),
|
|
1139
|
+
/* @__PURE__ */ jsx15("option", { value: 20, children: "20 Rows" }),
|
|
1140
|
+
/* @__PURE__ */ jsx15("option", { value: 25, children: "25 Rows" })
|
|
1141
|
+
]
|
|
1142
|
+
}
|
|
1143
|
+
) })
|
|
1144
|
+
] }),
|
|
1145
|
+
/* @__PURE__ */ jsx15(
|
|
1146
|
+
Table2,
|
|
1147
|
+
{
|
|
1148
|
+
pageSize,
|
|
1149
|
+
searchQuery,
|
|
1150
|
+
currentPage,
|
|
1151
|
+
setCurrentPage,
|
|
1152
|
+
setTotalEntries
|
|
1153
|
+
}
|
|
1154
|
+
)
|
|
1155
|
+
] })
|
|
1156
|
+
] }),
|
|
1157
|
+
/* @__PURE__ */ jsx15(Popup2, { isOpen: modalOpen, onClose: () => setModalOpen(false) })
|
|
1158
|
+
] });
|
|
1159
|
+
}
|
|
1160
|
+
|
|
501
1161
|
// src/components/Sidebar.jsx
|
|
502
|
-
import { useState as
|
|
1162
|
+
import { useState as useState13 } from "react";
|
|
503
1163
|
import {
|
|
504
1164
|
RiMenuLine,
|
|
505
1165
|
RiGitMergeLine,
|
|
@@ -525,21 +1185,21 @@ import {
|
|
|
525
1185
|
import { useRouter } from "next/router";
|
|
526
1186
|
|
|
527
1187
|
// src/components/WorkflowType/WorkflowTypeMains.js
|
|
528
|
-
import
|
|
1188
|
+
import React20, { useState as useState10 } from "react";
|
|
529
1189
|
|
|
530
1190
|
// src/components/WorkflowType/SearchBar.jsx
|
|
531
|
-
import
|
|
532
|
-
import { jsx as
|
|
533
|
-
function
|
|
1191
|
+
import React16 from "react";
|
|
1192
|
+
import { jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1193
|
+
function SearchBar4({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
534
1194
|
const handleChange = (e) => {
|
|
535
1195
|
setSearchQuery(e.target.value);
|
|
536
1196
|
if (setCurrentPage) {
|
|
537
1197
|
setCurrentPage(1);
|
|
538
1198
|
}
|
|
539
1199
|
};
|
|
540
|
-
return /* @__PURE__ */
|
|
541
|
-
/* @__PURE__ */
|
|
542
|
-
/* @__PURE__ */
|
|
1200
|
+
return /* @__PURE__ */ jsxs16("div", { className: "relative w-full", children: [
|
|
1201
|
+
/* @__PURE__ */ jsx16("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-slate-400", children: /* @__PURE__ */ jsx16("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx16("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
1202
|
+
/* @__PURE__ */ jsx16(
|
|
543
1203
|
"input",
|
|
544
1204
|
{
|
|
545
1205
|
type: "text",
|
|
@@ -549,7 +1209,7 @@ function SearchBar2({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
|
549
1209
|
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"
|
|
550
1210
|
}
|
|
551
1211
|
),
|
|
552
|
-
searchQuery && /* @__PURE__ */
|
|
1212
|
+
searchQuery && /* @__PURE__ */ jsx16(
|
|
553
1213
|
"button",
|
|
554
1214
|
{
|
|
555
1215
|
onClick: () => {
|
|
@@ -564,8 +1224,8 @@ function SearchBar2({ searchQuery, setSearchQuery, setCurrentPage }) {
|
|
|
564
1224
|
}
|
|
565
1225
|
|
|
566
1226
|
// src/components/WorkflowType/WorkflowTypeTable.jsx
|
|
567
|
-
import
|
|
568
|
-
import { jsx as
|
|
1227
|
+
import React17, { useState as useState9, useEffect as useEffect3 } from "react";
|
|
1228
|
+
import { jsx as jsx17, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
569
1229
|
function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrentPage, setTotalEntries }) {
|
|
570
1230
|
const initialData = [
|
|
571
1231
|
{ id: 1, workflowName: "Citizen Petition Workflow", workflowCode: "PET-001", workflowType: "Petition", version: 1, published: true, status: true },
|
|
@@ -594,9 +1254,9 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
594
1254
|
{ id: 24, workflowName: "Seismic Clearance Flow", workflowCode: "ENV-001", workflowType: "Environment", version: 1, published: false, status: false },
|
|
595
1255
|
{ id: 25, workflowName: "Tree Cutting Permission", workflowCode: "ENV-002", workflowType: "Environment", version: 2, published: true, status: true }
|
|
596
1256
|
];
|
|
597
|
-
const [data, setData] =
|
|
598
|
-
const [sortOrder, setSortOrder] =
|
|
599
|
-
const [sortKey, setSortKey] =
|
|
1257
|
+
const [data, setData] = useState9(initialData);
|
|
1258
|
+
const [sortOrder, setSortOrder] = useState9("asc");
|
|
1259
|
+
const [sortKey, setSortKey] = useState9("workflowName");
|
|
600
1260
|
const handleSort = (columnKey) => {
|
|
601
1261
|
const isAsc = sortKey === columnKey && sortOrder === "asc";
|
|
602
1262
|
setSortOrder(isAsc ? "desc" : "asc");
|
|
@@ -612,7 +1272,7 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
612
1272
|
const query = (searchQuery || "").toLowerCase();
|
|
613
1273
|
return item.workflowName.toLowerCase().includes(query) || item.workflowCode.toLowerCase().includes(query) || item.workflowType.toLowerCase().includes(query);
|
|
614
1274
|
});
|
|
615
|
-
|
|
1275
|
+
useEffect3(() => {
|
|
616
1276
|
if (setTotalEntries) setTotalEntries(filteredData.length);
|
|
617
1277
|
}, [filteredData.length, setTotalEntries]);
|
|
618
1278
|
const totalPages = Math.ceil(filteredData.length / pageSize) || 1;
|
|
@@ -622,46 +1282,46 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
622
1282
|
const toggleStatus = (id) => {
|
|
623
1283
|
setData((prev) => prev.map((item) => item.id === id ? __spreadProps(__spreadValues({}, item), { status: !item.status }) : item));
|
|
624
1284
|
};
|
|
625
|
-
return /* @__PURE__ */
|
|
626
|
-
/* @__PURE__ */
|
|
627
|
-
/* @__PURE__ */
|
|
628
|
-
/* @__PURE__ */
|
|
629
|
-
/* @__PURE__ */
|
|
1285
|
+
return /* @__PURE__ */ jsxs17("div", { className: "space-y-5", children: [
|
|
1286
|
+
/* @__PURE__ */ jsx17("div", { className: "w-full overflow-x-auto border border-slate-200 rounded-2xl shadow-sm max-h-[420px] overflow-y-auto", children: /* @__PURE__ */ jsxs17("table", { className: "w-full text-left border-collapse bg-white table-auto", children: [
|
|
1287
|
+
/* @__PURE__ */ jsx17("thead", { className: "sticky top-0 z-10 bg-slate-50 shadow-[0_1px_0_0_rgba(226,232,240,1)]", children: /* @__PURE__ */ jsxs17("tr", { className: "text-xs font-bold uppercase tracking-wider text-slate-500", children: [
|
|
1288
|
+
/* @__PURE__ */ jsx17("th", { className: "py-4 px-4 w-16 text-center bg-slate-50", children: "S.NO" }),
|
|
1289
|
+
/* @__PURE__ */ jsxs17("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: [
|
|
630
1290
|
"WORKFLOW NAME ",
|
|
631
1291
|
sortKey === "workflowName" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
632
1292
|
] }),
|
|
633
|
-
/* @__PURE__ */
|
|
1293
|
+
/* @__PURE__ */ jsxs17("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: [
|
|
634
1294
|
"WORKFLOW CODE ",
|
|
635
1295
|
sortKey === "workflowCode" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
636
1296
|
] }),
|
|
637
|
-
/* @__PURE__ */
|
|
1297
|
+
/* @__PURE__ */ jsxs17("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: [
|
|
638
1298
|
"WORKFLOW TYPE ",
|
|
639
1299
|
sortKey === "workflowType" ? sortOrder === "asc" ? "\u25B2" : "\u25BC" : "\u25B2"
|
|
640
1300
|
] }),
|
|
641
|
-
/* @__PURE__ */
|
|
642
|
-
/* @__PURE__ */
|
|
643
|
-
/* @__PURE__ */
|
|
1301
|
+
/* @__PURE__ */ jsx17("th", { className: "py-4 px-5 text-sm bg-slate-50 whitespace-nowrap text-center", children: "VERSION" }),
|
|
1302
|
+
/* @__PURE__ */ jsx17("th", { className: "py-4 px-5 text-sm bg-slate-50 whitespace-nowrap text-center", children: "PUBLISHED" }),
|
|
1303
|
+
/* @__PURE__ */ jsx17("th", { className: "py-4 px-5 text-sm bg-slate-50 text-center whitespace-nowrap", children: "STATUS" })
|
|
644
1304
|
] }) }),
|
|
645
|
-
/* @__PURE__ */
|
|
646
|
-
/* @__PURE__ */
|
|
647
|
-
/* @__PURE__ */
|
|
648
|
-
/* @__PURE__ */
|
|
649
|
-
/* @__PURE__ */
|
|
650
|
-
/* @__PURE__ */
|
|
651
|
-
/* @__PURE__ */
|
|
652
|
-
/* @__PURE__ */
|
|
1305
|
+
/* @__PURE__ */ jsx17("tbody", { className: "divide-y divide-slate-100 text-sm text-slate-600", children: visibleData.map((item, index) => /* @__PURE__ */ jsxs17("tr", { className: "hover:bg-slate-50/50 transition-colors", children: [
|
|
1306
|
+
/* @__PURE__ */ jsx17("td", { className: "py-4 px-4 text-center font-medium text-slate-400", children: startIndex + index + 1 }),
|
|
1307
|
+
/* @__PURE__ */ jsx17("td", { className: "py-4 px-5 font-bold text-slate-900 text-[14px] whitespace-nowrap", children: item.workflowName }),
|
|
1308
|
+
/* @__PURE__ */ jsx17("td", { className: "py-4 px-5 text-slate-500 font-mono text-xs whitespace-nowrap", children: item.workflowCode }),
|
|
1309
|
+
/* @__PURE__ */ jsx17("td", { className: "py-4 px-5 text-slate-600 font-medium whitespace-nowrap", children: item.workflowType }),
|
|
1310
|
+
/* @__PURE__ */ jsx17("td", { className: "py-4 px-5 font-bold text-slate-800 text-center whitespace-nowrap", children: item.version }),
|
|
1311
|
+
/* @__PURE__ */ jsx17("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ jsx17("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" }) }),
|
|
1312
|
+
/* @__PURE__ */ jsx17("td", { className: "py-4 px-5 text-center whitespace-nowrap", children: /* @__PURE__ */ jsx17(
|
|
653
1313
|
"button",
|
|
654
1314
|
{
|
|
655
1315
|
onClick: () => toggleStatus(item.id),
|
|
656
1316
|
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"}`,
|
|
657
|
-
children: /* @__PURE__ */
|
|
1317
|
+
children: /* @__PURE__ */ jsx17("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"}` })
|
|
658
1318
|
}
|
|
659
1319
|
) })
|
|
660
1320
|
] }, item.id)) })
|
|
661
1321
|
] }) }),
|
|
662
|
-
/* @__PURE__ */
|
|
663
|
-
/* @__PURE__ */
|
|
664
|
-
pageNumbers.map((pageNumber) => /* @__PURE__ */
|
|
1322
|
+
/* @__PURE__ */ jsxs17("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: [
|
|
1323
|
+
/* @__PURE__ */ jsx17("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" }),
|
|
1324
|
+
pageNumbers.map((pageNumber) => /* @__PURE__ */ jsx17(
|
|
665
1325
|
"button",
|
|
666
1326
|
{
|
|
667
1327
|
onClick: () => setCurrentPage(pageNumber),
|
|
@@ -670,34 +1330,34 @@ function WorkflowTypeTable({ pageSize, searchQuery = "", currentPage, setCurrent
|
|
|
670
1330
|
},
|
|
671
1331
|
pageNumber
|
|
672
1332
|
)),
|
|
673
|
-
/* @__PURE__ */
|
|
1333
|
+
/* @__PURE__ */ jsx17("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" })
|
|
674
1334
|
] })
|
|
675
1335
|
] });
|
|
676
1336
|
}
|
|
677
1337
|
|
|
678
1338
|
// src/components/WorkflowType/AddWorkflowTypeModal.jsx
|
|
679
|
-
import
|
|
680
|
-
import { jsx as
|
|
1339
|
+
import React18 from "react";
|
|
1340
|
+
import { jsx as jsx18, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
681
1341
|
function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
682
1342
|
if (!isOpen) return null;
|
|
683
|
-
return /* @__PURE__ */
|
|
684
|
-
/* @__PURE__ */
|
|
1343
|
+
return /* @__PURE__ */ jsxs18("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
1344
|
+
/* @__PURE__ */ jsx18(
|
|
685
1345
|
"div",
|
|
686
1346
|
{
|
|
687
1347
|
className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity duration-200",
|
|
688
1348
|
onClick: onClose
|
|
689
1349
|
}
|
|
690
1350
|
),
|
|
691
|
-
/* @__PURE__ */
|
|
692
|
-
/* @__PURE__ */
|
|
693
|
-
/* @__PURE__ */
|
|
694
|
-
/* @__PURE__ */
|
|
695
|
-
/* @__PURE__ */
|
|
696
|
-
/* @__PURE__ */
|
|
697
|
-
/* @__PURE__ */
|
|
1351
|
+
/* @__PURE__ */ jsxs18("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: [
|
|
1352
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex justify-between items-center px-8 py-6 border-b border-slate-100", children: [
|
|
1353
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-4", children: [
|
|
1354
|
+
/* @__PURE__ */ jsx18("div", { className: "w-12 h-12 bg-indigo-50 text-indigo-600 rounded-xl flex items-center justify-center shadow-sm", children: /* @__PURE__ */ jsx18("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", strokeWidth: "2", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx18("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" }) }) }),
|
|
1355
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1356
|
+
/* @__PURE__ */ jsx18("h2", { className: "text-xl font-extrabold text-slate-800", children: "Add Workflow" }),
|
|
1357
|
+
/* @__PURE__ */ jsx18("p", { className: "text-xs text-slate-400 mt-0.5", children: "Create a new workflow and configure its details" })
|
|
698
1358
|
] })
|
|
699
1359
|
] }),
|
|
700
|
-
/* @__PURE__ */
|
|
1360
|
+
/* @__PURE__ */ jsx18(
|
|
701
1361
|
"button",
|
|
702
1362
|
{
|
|
703
1363
|
onClick: onClose,
|
|
@@ -706,32 +1366,32 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
706
1366
|
}
|
|
707
1367
|
)
|
|
708
1368
|
] }),
|
|
709
|
-
/* @__PURE__ */
|
|
710
|
-
/* @__PURE__ */
|
|
711
|
-
/* @__PURE__ */
|
|
712
|
-
/* @__PURE__ */
|
|
713
|
-
/* @__PURE__ */
|
|
1369
|
+
/* @__PURE__ */ jsxs18("div", { className: "p-8 space-y-8 overflow-y-auto max-h-[calc(92vh-170px)] bg-slate-50/30", children: [
|
|
1370
|
+
/* @__PURE__ */ jsxs18("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1371
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1372
|
+
/* @__PURE__ */ jsx18("span", { children: "\u{1F4CB}" }),
|
|
1373
|
+
/* @__PURE__ */ jsx18("span", { children: "Workflow Information" })
|
|
714
1374
|
] }),
|
|
715
|
-
/* @__PURE__ */
|
|
716
|
-
/* @__PURE__ */
|
|
717
|
-
/* @__PURE__ */
|
|
1375
|
+
/* @__PURE__ */ jsxs18("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1376
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1377
|
+
/* @__PURE__ */ jsxs18("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
718
1378
|
"Workflow Type ",
|
|
719
|
-
/* @__PURE__ */
|
|
1379
|
+
/* @__PURE__ */ jsx18("span", { className: "text-red-500", children: "*" })
|
|
720
1380
|
] }),
|
|
721
|
-
/* @__PURE__ */
|
|
722
|
-
/* @__PURE__ */
|
|
723
|
-
/* @__PURE__ */
|
|
724
|
-
/* @__PURE__ */
|
|
725
|
-
/* @__PURE__ */
|
|
1381
|
+
/* @__PURE__ */ jsxs18("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: [
|
|
1382
|
+
/* @__PURE__ */ jsx18("option", { value: "", children: "Select workflow type" }),
|
|
1383
|
+
/* @__PURE__ */ jsx18("option", { value: "petition", children: "Petition" }),
|
|
1384
|
+
/* @__PURE__ */ jsx18("option", { value: "building", children: "Building Permission" }),
|
|
1385
|
+
/* @__PURE__ */ jsx18("option", { value: "leave", children: "Leave" })
|
|
726
1386
|
] }),
|
|
727
|
-
/* @__PURE__ */
|
|
1387
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400 mt-1", children: "Choose the category this workflow belongs to" })
|
|
728
1388
|
] }),
|
|
729
|
-
/* @__PURE__ */
|
|
730
|
-
/* @__PURE__ */
|
|
1389
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1390
|
+
/* @__PURE__ */ jsxs18("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
731
1391
|
"Workflow Code ",
|
|
732
|
-
/* @__PURE__ */
|
|
1392
|
+
/* @__PURE__ */ jsx18("span", { className: "text-red-500", children: "*" })
|
|
733
1393
|
] }),
|
|
734
|
-
/* @__PURE__ */
|
|
1394
|
+
/* @__PURE__ */ jsx18(
|
|
735
1395
|
"input",
|
|
736
1396
|
{
|
|
737
1397
|
type: "text",
|
|
@@ -739,15 +1399,15 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
739
1399
|
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"
|
|
740
1400
|
}
|
|
741
1401
|
),
|
|
742
|
-
/* @__PURE__ */
|
|
1402
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400 mt-1", children: "Unique code for this workflow (e.g., PET-001)" })
|
|
743
1403
|
] })
|
|
744
1404
|
] }),
|
|
745
|
-
/* @__PURE__ */
|
|
746
|
-
/* @__PURE__ */
|
|
1405
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1406
|
+
/* @__PURE__ */ jsxs18("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
747
1407
|
"Workflow Name ",
|
|
748
|
-
/* @__PURE__ */
|
|
1408
|
+
/* @__PURE__ */ jsx18("span", { className: "text-red-500", children: "*" })
|
|
749
1409
|
] }),
|
|
750
|
-
/* @__PURE__ */
|
|
1410
|
+
/* @__PURE__ */ jsx18(
|
|
751
1411
|
"input",
|
|
752
1412
|
{
|
|
753
1413
|
type: "text",
|
|
@@ -755,15 +1415,15 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
755
1415
|
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"
|
|
756
1416
|
}
|
|
757
1417
|
),
|
|
758
|
-
/* @__PURE__ */
|
|
1418
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter a descriptive name for this workflow" })
|
|
759
1419
|
] }),
|
|
760
|
-
/* @__PURE__ */
|
|
761
|
-
/* @__PURE__ */
|
|
762
|
-
/* @__PURE__ */
|
|
1420
|
+
/* @__PURE__ */ jsxs18("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1421
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1422
|
+
/* @__PURE__ */ jsxs18("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
763
1423
|
"Version ",
|
|
764
|
-
/* @__PURE__ */
|
|
1424
|
+
/* @__PURE__ */ jsx18("span", { className: "text-red-500", children: "*" })
|
|
765
1425
|
] }),
|
|
766
|
-
/* @__PURE__ */
|
|
1426
|
+
/* @__PURE__ */ jsx18(
|
|
767
1427
|
"input",
|
|
768
1428
|
{
|
|
769
1429
|
type: "text",
|
|
@@ -771,27 +1431,27 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
771
1431
|
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"
|
|
772
1432
|
}
|
|
773
1433
|
),
|
|
774
|
-
/* @__PURE__ */
|
|
1434
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400 mt-1", children: "Workflow version number" })
|
|
775
1435
|
] }),
|
|
776
|
-
/* @__PURE__ */
|
|
777
|
-
/* @__PURE__ */
|
|
1436
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1437
|
+
/* @__PURE__ */ jsxs18("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
778
1438
|
"Published ",
|
|
779
|
-
/* @__PURE__ */
|
|
1439
|
+
/* @__PURE__ */ jsx18("span", { className: "text-red-500", children: "*" })
|
|
780
1440
|
] }),
|
|
781
|
-
/* @__PURE__ */
|
|
782
|
-
/* @__PURE__ */
|
|
783
|
-
/* @__PURE__ */
|
|
1441
|
+
/* @__PURE__ */ jsxs18("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: [
|
|
1442
|
+
/* @__PURE__ */ jsx18("option", { value: "false", children: "No" }),
|
|
1443
|
+
/* @__PURE__ */ jsx18("option", { value: "true", children: "Yes" })
|
|
784
1444
|
] }),
|
|
785
|
-
/* @__PURE__ */
|
|
1445
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400 mt-1", children: "Make workflow active for use" })
|
|
786
1446
|
] })
|
|
787
1447
|
] })
|
|
788
1448
|
] }),
|
|
789
|
-
/* @__PURE__ */
|
|
790
|
-
/* @__PURE__ */
|
|
791
|
-
/* @__PURE__ */
|
|
792
|
-
/* @__PURE__ */
|
|
1449
|
+
/* @__PURE__ */ jsxs18("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-3", children: [
|
|
1450
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex justify-between items-center", children: [
|
|
1451
|
+
/* @__PURE__ */ jsx18("label", { className: "block text-xs font-bold text-slate-700", children: "Description" }),
|
|
1452
|
+
/* @__PURE__ */ jsx18("span", { className: "text-[10px] text-slate-400", children: "0 / 500" })
|
|
793
1453
|
] }),
|
|
794
|
-
/* @__PURE__ */
|
|
1454
|
+
/* @__PURE__ */ jsx18(
|
|
795
1455
|
"textarea",
|
|
796
1456
|
{
|
|
797
1457
|
rows: 3,
|
|
@@ -799,86 +1459,86 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
799
1459
|
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"
|
|
800
1460
|
}
|
|
801
1461
|
),
|
|
802
|
-
/* @__PURE__ */
|
|
1462
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400", children: "Provide additional information about this workflow" })
|
|
803
1463
|
] }),
|
|
804
|
-
/* @__PURE__ */
|
|
805
|
-
/* @__PURE__ */
|
|
806
|
-
/* @__PURE__ */
|
|
807
|
-
/* @__PURE__ */
|
|
1464
|
+
/* @__PURE__ */ jsxs18("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1465
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1466
|
+
/* @__PURE__ */ jsx18("span", { children: "\u2699\uFE0F" }),
|
|
1467
|
+
/* @__PURE__ */ jsx18("span", { children: "Status & Settings" })
|
|
808
1468
|
] }),
|
|
809
|
-
/* @__PURE__ */
|
|
810
|
-
/* @__PURE__ */
|
|
811
|
-
/* @__PURE__ */
|
|
1469
|
+
/* @__PURE__ */ jsxs18("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1470
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1471
|
+
/* @__PURE__ */ jsxs18("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
812
1472
|
"Status ",
|
|
813
|
-
/* @__PURE__ */
|
|
1473
|
+
/* @__PURE__ */ jsx18("span", { className: "text-red-500", children: "*" })
|
|
814
1474
|
] }),
|
|
815
|
-
/* @__PURE__ */
|
|
816
|
-
/* @__PURE__ */
|
|
817
|
-
/* @__PURE__ */
|
|
1475
|
+
/* @__PURE__ */ jsxs18("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: [
|
|
1476
|
+
/* @__PURE__ */ jsx18("option", { value: "active", children: "Active" }),
|
|
1477
|
+
/* @__PURE__ */ jsx18("option", { value: "inactive", children: "Inactive" })
|
|
818
1478
|
] }),
|
|
819
|
-
/* @__PURE__ */
|
|
1479
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400 mt-1", children: "Set the initial status of this workflow" })
|
|
820
1480
|
] }),
|
|
821
|
-
/* @__PURE__ */
|
|
822
|
-
/* @__PURE__ */
|
|
823
|
-
/* @__PURE__ */
|
|
824
|
-
/* @__PURE__ */
|
|
825
|
-
/* @__PURE__ */
|
|
826
|
-
/* @__PURE__ */
|
|
1481
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1482
|
+
/* @__PURE__ */ jsx18("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: "Default Priority" }),
|
|
1483
|
+
/* @__PURE__ */ jsxs18("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: [
|
|
1484
|
+
/* @__PURE__ */ jsx18("option", { value: "medium", children: "Medium" }),
|
|
1485
|
+
/* @__PURE__ */ jsx18("option", { value: "high", children: "High" }),
|
|
1486
|
+
/* @__PURE__ */ jsx18("option", { value: "low", children: "Low" })
|
|
827
1487
|
] }),
|
|
828
|
-
/* @__PURE__ */
|
|
1488
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[10px] text-slate-400 mt-1", children: "Default priority for tasks in this workflow" })
|
|
829
1489
|
] })
|
|
830
1490
|
] })
|
|
831
1491
|
] }),
|
|
832
|
-
/* @__PURE__ */
|
|
833
|
-
/* @__PURE__ */
|
|
834
|
-
/* @__PURE__ */
|
|
835
|
-
/* @__PURE__ */
|
|
1492
|
+
/* @__PURE__ */ jsxs18("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1493
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1494
|
+
/* @__PURE__ */ jsx18("span", { children: "\u{1F6E0}\uFE0F" }),
|
|
1495
|
+
/* @__PURE__ */ jsx18("span", { children: "Additional Settings" })
|
|
836
1496
|
] }),
|
|
837
|
-
/* @__PURE__ */
|
|
838
|
-
/* @__PURE__ */
|
|
839
|
-
/* @__PURE__ */
|
|
840
|
-
/* @__PURE__ */
|
|
841
|
-
/* @__PURE__ */
|
|
842
|
-
/* @__PURE__ */
|
|
843
|
-
/* @__PURE__ */
|
|
1497
|
+
/* @__PURE__ */ jsxs18("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [
|
|
1498
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1499
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-3", children: [
|
|
1500
|
+
/* @__PURE__ */ jsx18("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u23F1\uFE0F" }),
|
|
1501
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1502
|
+
/* @__PURE__ */ jsx18("p", { className: "text-xs font-bold text-slate-700", children: "Enable SLA" }),
|
|
1503
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[9px] text-slate-400", children: "Enable SLA for workflow" })
|
|
844
1504
|
] })
|
|
845
1505
|
] }),
|
|
846
|
-
/* @__PURE__ */
|
|
847
|
-
/* @__PURE__ */
|
|
848
|
-
/* @__PURE__ */
|
|
1506
|
+
/* @__PURE__ */ jsxs18("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1507
|
+
/* @__PURE__ */ jsx18("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1508
|
+
/* @__PURE__ */ jsx18("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" })
|
|
849
1509
|
] })
|
|
850
1510
|
] }),
|
|
851
|
-
/* @__PURE__ */
|
|
852
|
-
/* @__PURE__ */
|
|
853
|
-
/* @__PURE__ */
|
|
854
|
-
/* @__PURE__ */
|
|
855
|
-
/* @__PURE__ */
|
|
856
|
-
/* @__PURE__ */
|
|
1511
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1512
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-3", children: [
|
|
1513
|
+
/* @__PURE__ */ jsx18("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F504}" }),
|
|
1514
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1515
|
+
/* @__PURE__ */ jsx18("p", { className: "text-xs font-bold text-slate-700", children: "Allow Rework" }),
|
|
1516
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[9px] text-slate-400", children: "Allow files to be sent back" })
|
|
857
1517
|
] })
|
|
858
1518
|
] }),
|
|
859
|
-
/* @__PURE__ */
|
|
860
|
-
/* @__PURE__ */
|
|
861
|
-
/* @__PURE__ */
|
|
1519
|
+
/* @__PURE__ */ jsxs18("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1520
|
+
/* @__PURE__ */ jsx18("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1521
|
+
/* @__PURE__ */ jsx18("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" })
|
|
862
1522
|
] })
|
|
863
1523
|
] }),
|
|
864
|
-
/* @__PURE__ */
|
|
865
|
-
/* @__PURE__ */
|
|
866
|
-
/* @__PURE__ */
|
|
867
|
-
/* @__PURE__ */
|
|
868
|
-
/* @__PURE__ */
|
|
869
|
-
/* @__PURE__ */
|
|
1524
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1525
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-3", children: [
|
|
1526
|
+
/* @__PURE__ */ jsx18("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F465}" }),
|
|
1527
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1528
|
+
/* @__PURE__ */ jsx18("p", { className: "text-xs font-bold text-slate-700", children: "Allow File Delegation" }),
|
|
1529
|
+
/* @__PURE__ */ jsx18("p", { className: "text-[9px] text-slate-400", children: "Allow users to delegate tasks" })
|
|
870
1530
|
] })
|
|
871
1531
|
] }),
|
|
872
|
-
/* @__PURE__ */
|
|
873
|
-
/* @__PURE__ */
|
|
874
|
-
/* @__PURE__ */
|
|
1532
|
+
/* @__PURE__ */ jsxs18("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1533
|
+
/* @__PURE__ */ jsx18("input", { type: "checkbox", className: "sr-only peer" }),
|
|
1534
|
+
/* @__PURE__ */ jsx18("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" })
|
|
875
1535
|
] })
|
|
876
1536
|
] })
|
|
877
1537
|
] })
|
|
878
1538
|
] })
|
|
879
1539
|
] }),
|
|
880
|
-
/* @__PURE__ */
|
|
881
|
-
/* @__PURE__ */
|
|
1540
|
+
/* @__PURE__ */ jsxs18("div", { className: "p-5 bg-white border-t border-slate-100 flex items-center justify-end gap-3 px-8", children: [
|
|
1541
|
+
/* @__PURE__ */ jsx18(
|
|
882
1542
|
"button",
|
|
883
1543
|
{
|
|
884
1544
|
onClick: onClose,
|
|
@@ -886,7 +1546,7 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
886
1546
|
children: "\u2715 Cancel"
|
|
887
1547
|
}
|
|
888
1548
|
),
|
|
889
|
-
/* @__PURE__ */
|
|
1549
|
+
/* @__PURE__ */ jsx18(
|
|
890
1550
|
"button",
|
|
891
1551
|
{
|
|
892
1552
|
type: "button",
|
|
@@ -900,16 +1560,16 @@ function AddWorkflowTypeModal({ isOpen, onClose }) {
|
|
|
900
1560
|
}
|
|
901
1561
|
|
|
902
1562
|
// src/components/WorkflowType/AddButton.jsx
|
|
903
|
-
import
|
|
904
|
-
import { jsx as
|
|
905
|
-
function
|
|
906
|
-
return /* @__PURE__ */
|
|
1563
|
+
import React19 from "react";
|
|
1564
|
+
import { jsx as jsx19, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1565
|
+
function AddButton4({ onOpen }) {
|
|
1566
|
+
return /* @__PURE__ */ jsxs19(
|
|
907
1567
|
"button",
|
|
908
1568
|
{
|
|
909
1569
|
onClick: onOpen,
|
|
910
1570
|
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",
|
|
911
1571
|
children: [
|
|
912
|
-
/* @__PURE__ */
|
|
1572
|
+
/* @__PURE__ */ jsx19("svg", { className: "w-4 h-4 stroke-[2.5]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx19("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) }),
|
|
913
1573
|
"Add Workflow Type"
|
|
914
1574
|
]
|
|
915
1575
|
}
|
|
@@ -917,48 +1577,48 @@ function AddButton2({ onOpen }) {
|
|
|
917
1577
|
}
|
|
918
1578
|
|
|
919
1579
|
// src/components/WorkflowType/WorkflowTypeMains.js
|
|
920
|
-
import { jsx as
|
|
1580
|
+
import { jsx as jsx20, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
921
1581
|
function WorkflowTypeMains() {
|
|
922
|
-
const [modalOpen, setModalOpen] =
|
|
923
|
-
const [pageSize, setPageSize] =
|
|
924
|
-
const [searchQuery, setSearchQuery] =
|
|
925
|
-
const [currentPage, setCurrentPage] =
|
|
926
|
-
const [totalEntries, setTotalEntries] =
|
|
1582
|
+
const [modalOpen, setModalOpen] = useState10(false);
|
|
1583
|
+
const [pageSize, setPageSize] = useState10(10);
|
|
1584
|
+
const [searchQuery, setSearchQuery] = useState10("");
|
|
1585
|
+
const [currentPage, setCurrentPage] = useState10(1);
|
|
1586
|
+
const [totalEntries, setTotalEntries] = useState10(0);
|
|
927
1587
|
const handlePageSizeChange = (e) => {
|
|
928
1588
|
setPageSize(Number(e.target.value));
|
|
929
1589
|
setCurrentPage(1);
|
|
930
1590
|
};
|
|
931
|
-
return /* @__PURE__ */
|
|
932
|
-
/* @__PURE__ */
|
|
933
|
-
/* @__PURE__ */
|
|
934
|
-
/* @__PURE__ */
|
|
935
|
-
/* @__PURE__ */
|
|
936
|
-
/* @__PURE__ */
|
|
1591
|
+
return /* @__PURE__ */ jsxs20("div", { className: "min-h-screen bg-slate-50 p-4 md:p-6", children: [
|
|
1592
|
+
/* @__PURE__ */ jsxs20("div", { className: "w-full space-y-5", children: [
|
|
1593
|
+
/* @__PURE__ */ jsxs20("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: [
|
|
1594
|
+
/* @__PURE__ */ jsxs20("div", { children: [
|
|
1595
|
+
/* @__PURE__ */ jsx20("h1", { className: "text-2xl font-extrabold text-slate-900 tracking-tight", children: "Workflow Type" }),
|
|
1596
|
+
/* @__PURE__ */ jsxs20("p", { className: "text-xs text-slate-400 mt-1", children: [
|
|
937
1597
|
"Dashboard > Types > ",
|
|
938
|
-
/* @__PURE__ */
|
|
1598
|
+
/* @__PURE__ */ jsx20("span", { className: "text-blue-600 font-semibold", children: "Workflow Type" })
|
|
939
1599
|
] })
|
|
940
1600
|
] }),
|
|
941
|
-
/* @__PURE__ */
|
|
1601
|
+
/* @__PURE__ */ jsx20(AddButton4, { onOpen: () => setModalOpen(true) })
|
|
942
1602
|
] }),
|
|
943
|
-
/* @__PURE__ */
|
|
944
|
-
/* @__PURE__ */
|
|
945
|
-
/* @__PURE__ */
|
|
946
|
-
/* @__PURE__ */
|
|
1603
|
+
/* @__PURE__ */ jsxs20("div", { className: "bg-white p-6 rounded-2xl border border-slate-200/80 shadow-sm space-y-5", children: [
|
|
1604
|
+
/* @__PURE__ */ jsxs20("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
1605
|
+
/* @__PURE__ */ jsx20("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ jsx20(SearchBar4, { searchQuery, setSearchQuery, setCurrentPage }) }),
|
|
1606
|
+
/* @__PURE__ */ jsx20("div", { children: /* @__PURE__ */ jsxs20(
|
|
947
1607
|
"select",
|
|
948
1608
|
{
|
|
949
1609
|
value: pageSize,
|
|
950
1610
|
onChange: handlePageSizeChange,
|
|
951
1611
|
className: "border border-slate-200 rounded-lg px-3 py-2 text-sm bg-white cursor-pointer outline-none shadow-sm text-slate-700",
|
|
952
1612
|
children: [
|
|
953
|
-
/* @__PURE__ */
|
|
954
|
-
/* @__PURE__ */
|
|
955
|
-
/* @__PURE__ */
|
|
956
|
-
/* @__PURE__ */
|
|
1613
|
+
/* @__PURE__ */ jsx20("option", { value: 5, children: "5 Rows" }),
|
|
1614
|
+
/* @__PURE__ */ jsx20("option", { value: 10, children: "10 Rows" }),
|
|
1615
|
+
/* @__PURE__ */ jsx20("option", { value: 20, children: "20 Rows" }),
|
|
1616
|
+
/* @__PURE__ */ jsx20("option", { value: 25, children: "25 Rows" })
|
|
957
1617
|
]
|
|
958
1618
|
}
|
|
959
1619
|
) })
|
|
960
1620
|
] }),
|
|
961
|
-
/* @__PURE__ */
|
|
1621
|
+
/* @__PURE__ */ jsx20(
|
|
962
1622
|
WorkflowTypeTable,
|
|
963
1623
|
{
|
|
964
1624
|
pageSize,
|
|
@@ -970,7 +1630,7 @@ function WorkflowTypeMains() {
|
|
|
970
1630
|
)
|
|
971
1631
|
] })
|
|
972
1632
|
] }),
|
|
973
|
-
/* @__PURE__ */
|
|
1633
|
+
/* @__PURE__ */ jsx20(
|
|
974
1634
|
AddWorkflowTypeModal,
|
|
975
1635
|
{
|
|
976
1636
|
isOpen: modalOpen,
|
|
@@ -981,21 +1641,21 @@ function WorkflowTypeMains() {
|
|
|
981
1641
|
}
|
|
982
1642
|
|
|
983
1643
|
// src/components/WorkflowStep/main.js
|
|
984
|
-
import
|
|
1644
|
+
import React24, { useState as useState11 } from "react";
|
|
985
1645
|
|
|
986
1646
|
// src/components/Common/footer.js
|
|
987
|
-
import
|
|
988
|
-
import { jsx as
|
|
1647
|
+
import React21 from "react";
|
|
1648
|
+
import { jsx as jsx21, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
989
1649
|
function Footer() {
|
|
990
|
-
return /* @__PURE__ */
|
|
991
|
-
/* @__PURE__ */
|
|
992
|
-
/* @__PURE__ */
|
|
993
|
-
/* @__PURE__ */
|
|
994
|
-
/* @__PURE__ */
|
|
995
|
-
/* @__PURE__ */
|
|
996
|
-
/* @__PURE__ */
|
|
997
|
-
/* @__PURE__ */
|
|
998
|
-
/* @__PURE__ */
|
|
1650
|
+
return /* @__PURE__ */ jsxs21("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: [
|
|
1651
|
+
/* @__PURE__ */ jsx21("div", { className: "text-sm text-slate-500", children: "Showing 1 to 5 entries" }),
|
|
1652
|
+
/* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-2", children: [
|
|
1653
|
+
/* @__PURE__ */ jsx21("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" }),
|
|
1654
|
+
/* @__PURE__ */ jsx21("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" }),
|
|
1655
|
+
/* @__PURE__ */ jsx21("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" }),
|
|
1656
|
+
/* @__PURE__ */ jsx21("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" }),
|
|
1657
|
+
/* @__PURE__ */ jsx21("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" }),
|
|
1658
|
+
/* @__PURE__ */ jsx21("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" })
|
|
999
1659
|
] })
|
|
1000
1660
|
] });
|
|
1001
1661
|
}
|
|
@@ -1004,27 +1664,27 @@ function Footer() {
|
|
|
1004
1664
|
import Link2 from "next/link";
|
|
1005
1665
|
|
|
1006
1666
|
// src/components/WorkflowStep/AddWorkflowStepModal.js
|
|
1007
|
-
import
|
|
1008
|
-
import { jsx as
|
|
1667
|
+
import React22 from "react";
|
|
1668
|
+
import { jsx as jsx22, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1009
1669
|
function AddWorkflowStepModal({ onClose }) {
|
|
1010
|
-
return /* @__PURE__ */
|
|
1011
|
-
/* @__PURE__ */
|
|
1670
|
+
return /* @__PURE__ */ jsxs22("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
1671
|
+
/* @__PURE__ */ jsx22(
|
|
1012
1672
|
"div",
|
|
1013
1673
|
{
|
|
1014
1674
|
className: "fixed inset-0 bg-slate-900/50 backdrop-blur-sm transition-opacity duration-200",
|
|
1015
1675
|
onClick: onClose
|
|
1016
1676
|
}
|
|
1017
1677
|
),
|
|
1018
|
-
/* @__PURE__ */
|
|
1019
|
-
/* @__PURE__ */
|
|
1020
|
-
/* @__PURE__ */
|
|
1021
|
-
/* @__PURE__ */
|
|
1022
|
-
/* @__PURE__ */
|
|
1023
|
-
/* @__PURE__ */
|
|
1024
|
-
/* @__PURE__ */
|
|
1678
|
+
/* @__PURE__ */ jsxs22("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: [
|
|
1679
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex justify-between items-center px-8 py-6 border-b border-slate-100", children: [
|
|
1680
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-4", children: [
|
|
1681
|
+
/* @__PURE__ */ jsx22("div", { className: "w-12 h-12 bg-indigo-50 text-indigo-600 rounded-xl flex items-center justify-center shadow-sm", children: /* @__PURE__ */ jsx22("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", strokeWidth: "2", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx22("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" }) }) }),
|
|
1682
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1683
|
+
/* @__PURE__ */ jsx22("h2", { className: "text-xl font-extrabold text-slate-800", children: "Add WorkflowStep" }),
|
|
1684
|
+
/* @__PURE__ */ jsx22("p", { className: "text-xs text-slate-400 mt-0.5", children: "Create a new workflowStep and configure its details" })
|
|
1025
1685
|
] })
|
|
1026
1686
|
] }),
|
|
1027
|
-
/* @__PURE__ */
|
|
1687
|
+
/* @__PURE__ */ jsx22(
|
|
1028
1688
|
"button",
|
|
1029
1689
|
{
|
|
1030
1690
|
onClick: onClose,
|
|
@@ -1033,31 +1693,31 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1033
1693
|
}
|
|
1034
1694
|
)
|
|
1035
1695
|
] }),
|
|
1036
|
-
/* @__PURE__ */
|
|
1037
|
-
/* @__PURE__ */
|
|
1038
|
-
/* @__PURE__ */
|
|
1039
|
-
/* @__PURE__ */
|
|
1040
|
-
/* @__PURE__ */
|
|
1696
|
+
/* @__PURE__ */ jsxs22("div", { className: "p-8 space-y-8 overflow-y-auto max-h-[calc(92vh-170px)] bg-slate-50/30", children: [
|
|
1697
|
+
/* @__PURE__ */ jsxs22("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1698
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1699
|
+
/* @__PURE__ */ jsx22("span", { children: "\u{1F4CB}" }),
|
|
1700
|
+
/* @__PURE__ */ jsx22("span", { children: "WorkflowStep Information" })
|
|
1041
1701
|
] }),
|
|
1042
|
-
/* @__PURE__ */
|
|
1043
|
-
/* @__PURE__ */
|
|
1044
|
-
/* @__PURE__ */
|
|
1702
|
+
/* @__PURE__ */ jsxs22("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1703
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1704
|
+
/* @__PURE__ */ jsxs22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1045
1705
|
"SLA Type ",
|
|
1046
|
-
/* @__PURE__ */
|
|
1706
|
+
/* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1047
1707
|
] }),
|
|
1048
|
-
/* @__PURE__ */
|
|
1049
|
-
/* @__PURE__ */
|
|
1050
|
-
/* @__PURE__ */
|
|
1051
|
-
/* @__PURE__ */
|
|
1708
|
+
/* @__PURE__ */ jsxs22("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: [
|
|
1709
|
+
/* @__PURE__ */ jsx22("option", { value: "", children: "Select SLA type" }),
|
|
1710
|
+
/* @__PURE__ */ jsx22("option", { value: "petition", children: "Hours" }),
|
|
1711
|
+
/* @__PURE__ */ jsx22("option", { value: "building", children: "Days" })
|
|
1052
1712
|
] }),
|
|
1053
|
-
/* @__PURE__ */
|
|
1713
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "Choose the category this workflowStep belongs to" })
|
|
1054
1714
|
] }),
|
|
1055
|
-
/* @__PURE__ */
|
|
1056
|
-
/* @__PURE__ */
|
|
1715
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1716
|
+
/* @__PURE__ */ jsxs22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1057
1717
|
"Step Code ",
|
|
1058
|
-
/* @__PURE__ */
|
|
1718
|
+
/* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1059
1719
|
] }),
|
|
1060
|
-
/* @__PURE__ */
|
|
1720
|
+
/* @__PURE__ */ jsx22(
|
|
1061
1721
|
"input",
|
|
1062
1722
|
{
|
|
1063
1723
|
type: "text",
|
|
@@ -1065,15 +1725,15 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1065
1725
|
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"
|
|
1066
1726
|
}
|
|
1067
1727
|
),
|
|
1068
|
-
/* @__PURE__ */
|
|
1728
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "Unique code for this workflowStep (e.g., APR,SCR)" })
|
|
1069
1729
|
] })
|
|
1070
1730
|
] }),
|
|
1071
|
-
/* @__PURE__ */
|
|
1072
|
-
/* @__PURE__ */
|
|
1731
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1732
|
+
/* @__PURE__ */ jsxs22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1073
1733
|
"StepName ",
|
|
1074
|
-
/* @__PURE__ */
|
|
1734
|
+
/* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1075
1735
|
] }),
|
|
1076
|
-
/* @__PURE__ */
|
|
1736
|
+
/* @__PURE__ */ jsx22(
|
|
1077
1737
|
"input",
|
|
1078
1738
|
{
|
|
1079
1739
|
type: "text",
|
|
@@ -1081,15 +1741,15 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1081
1741
|
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"
|
|
1082
1742
|
}
|
|
1083
1743
|
),
|
|
1084
|
-
/* @__PURE__ */
|
|
1744
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter a descriptive name for this workflowStep" })
|
|
1085
1745
|
] }),
|
|
1086
|
-
/* @__PURE__ */
|
|
1087
|
-
/* @__PURE__ */
|
|
1088
|
-
/* @__PURE__ */
|
|
1746
|
+
/* @__PURE__ */ jsxs22("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [
|
|
1747
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1748
|
+
/* @__PURE__ */ jsxs22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1089
1749
|
"ReminderBefore",
|
|
1090
|
-
/* @__PURE__ */
|
|
1750
|
+
/* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1091
1751
|
] }),
|
|
1092
|
-
/* @__PURE__ */
|
|
1752
|
+
/* @__PURE__ */ jsx22(
|
|
1093
1753
|
"input",
|
|
1094
1754
|
{
|
|
1095
1755
|
type: "text",
|
|
@@ -1097,14 +1757,14 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1097
1757
|
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"
|
|
1098
1758
|
}
|
|
1099
1759
|
),
|
|
1100
|
-
/* @__PURE__ */
|
|
1760
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "WorkflowStep Reminder" })
|
|
1101
1761
|
] }),
|
|
1102
|
-
/* @__PURE__ */
|
|
1103
|
-
/* @__PURE__ */
|
|
1762
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1763
|
+
/* @__PURE__ */ jsxs22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1104
1764
|
"EscalationAfter",
|
|
1105
|
-
/* @__PURE__ */
|
|
1765
|
+
/* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1106
1766
|
] }),
|
|
1107
|
-
/* @__PURE__ */
|
|
1767
|
+
/* @__PURE__ */ jsx22(
|
|
1108
1768
|
"input",
|
|
1109
1769
|
{
|
|
1110
1770
|
type: "text",
|
|
@@ -1112,14 +1772,14 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1112
1772
|
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
1773
|
}
|
|
1114
1774
|
),
|
|
1115
|
-
/* @__PURE__ */
|
|
1775
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "WorkflowStep Escalation" })
|
|
1116
1776
|
] }),
|
|
1117
|
-
/* @__PURE__ */
|
|
1118
|
-
/* @__PURE__ */
|
|
1777
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1778
|
+
/* @__PURE__ */ jsxs22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1119
1779
|
"Working Hours Only",
|
|
1120
|
-
/* @__PURE__ */
|
|
1780
|
+
/* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1121
1781
|
] }),
|
|
1122
|
-
/* @__PURE__ */
|
|
1782
|
+
/* @__PURE__ */ jsx22(
|
|
1123
1783
|
"input",
|
|
1124
1784
|
{
|
|
1125
1785
|
type: "text",
|
|
@@ -1127,14 +1787,14 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1127
1787
|
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
1788
|
}
|
|
1129
1789
|
),
|
|
1130
|
-
/* @__PURE__ */
|
|
1790
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter Working Hours" })
|
|
1131
1791
|
] }),
|
|
1132
|
-
/* @__PURE__ */
|
|
1133
|
-
/* @__PURE__ */
|
|
1792
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1793
|
+
/* @__PURE__ */ jsxs22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: [
|
|
1134
1794
|
"Exclude Holidays",
|
|
1135
|
-
/* @__PURE__ */
|
|
1795
|
+
/* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1136
1796
|
] }),
|
|
1137
|
-
/* @__PURE__ */
|
|
1797
|
+
/* @__PURE__ */ jsx22(
|
|
1138
1798
|
"input",
|
|
1139
1799
|
{
|
|
1140
1800
|
type: "text",
|
|
@@ -1142,16 +1802,16 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1142
1802
|
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
1803
|
}
|
|
1144
1804
|
),
|
|
1145
|
-
/* @__PURE__ */
|
|
1805
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "Enter Holidays" })
|
|
1146
1806
|
] })
|
|
1147
1807
|
] })
|
|
1148
1808
|
] }),
|
|
1149
|
-
/* @__PURE__ */
|
|
1150
|
-
/* @__PURE__ */
|
|
1151
|
-
/* @__PURE__ */
|
|
1152
|
-
/* @__PURE__ */
|
|
1809
|
+
/* @__PURE__ */ jsxs22("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-3", children: [
|
|
1810
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex justify-between items-center", children: [
|
|
1811
|
+
/* @__PURE__ */ jsx22("label", { className: "block text-xs font-bold text-slate-700", children: "Description" }),
|
|
1812
|
+
/* @__PURE__ */ jsx22("span", { className: "text-[10px] text-slate-400", children: "0 / 500" })
|
|
1153
1813
|
] }),
|
|
1154
|
-
/* @__PURE__ */
|
|
1814
|
+
/* @__PURE__ */ jsx22(
|
|
1155
1815
|
"textarea",
|
|
1156
1816
|
{
|
|
1157
1817
|
rows: 3,
|
|
@@ -1159,73 +1819,73 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1159
1819
|
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"
|
|
1160
1820
|
}
|
|
1161
1821
|
),
|
|
1162
|
-
/* @__PURE__ */
|
|
1822
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400", children: "Provide additional information about this WorkflowStep" })
|
|
1163
1823
|
] }),
|
|
1164
|
-
/* @__PURE__ */
|
|
1165
|
-
/* @__PURE__ */
|
|
1166
|
-
/* @__PURE__ */
|
|
1167
|
-
/* @__PURE__ */
|
|
1824
|
+
/* @__PURE__ */ jsxs22("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1825
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1826
|
+
/* @__PURE__ */ jsx22("span", { children: "\u2699\uFE0F" }),
|
|
1827
|
+
/* @__PURE__ */ jsx22("span", { children: "Status & Settings" })
|
|
1168
1828
|
] }),
|
|
1169
|
-
/* @__PURE__ */
|
|
1170
|
-
/* @__PURE__ */
|
|
1171
|
-
/* @__PURE__ */
|
|
1172
|
-
/* @__PURE__ */
|
|
1173
|
-
/* @__PURE__ */
|
|
1174
|
-
/* @__PURE__ */
|
|
1829
|
+
/* @__PURE__ */ jsx22("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: /* @__PURE__ */ jsxs22("div", { children: [
|
|
1830
|
+
/* @__PURE__ */ jsx22("label", { className: "block text-xs font-bold text-slate-700 mb-1.5", children: "Default Priority" }),
|
|
1831
|
+
/* @__PURE__ */ jsxs22("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: [
|
|
1832
|
+
/* @__PURE__ */ jsx22("option", { value: "medium", children: "Medium" }),
|
|
1833
|
+
/* @__PURE__ */ jsx22("option", { value: "high", children: "High" }),
|
|
1834
|
+
/* @__PURE__ */ jsx22("option", { value: "low", children: "Low" })
|
|
1175
1835
|
] }),
|
|
1176
|
-
/* @__PURE__ */
|
|
1836
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[10px] text-slate-400 mt-1", children: "Default priority for tasks in this WorkflowStep" })
|
|
1177
1837
|
] }) })
|
|
1178
1838
|
] }),
|
|
1179
|
-
/* @__PURE__ */
|
|
1180
|
-
/* @__PURE__ */
|
|
1181
|
-
/* @__PURE__ */
|
|
1182
|
-
/* @__PURE__ */
|
|
1839
|
+
/* @__PURE__ */ jsxs22("div", { className: "bg-white p-6 rounded-2xl border border-slate-100/80 shadow-sm space-y-5", children: [
|
|
1840
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2 text-indigo-600 text-sm font-bold border-b border-slate-50 pb-3", children: [
|
|
1841
|
+
/* @__PURE__ */ jsx22("span", { children: "\u{1F6E0}\uFE0F" }),
|
|
1842
|
+
/* @__PURE__ */ jsx22("span", { children: "Additional Settings" })
|
|
1183
1843
|
] }),
|
|
1184
|
-
/* @__PURE__ */
|
|
1185
|
-
/* @__PURE__ */
|
|
1186
|
-
/* @__PURE__ */
|
|
1187
|
-
/* @__PURE__ */
|
|
1188
|
-
/* @__PURE__ */
|
|
1189
|
-
/* @__PURE__ */
|
|
1190
|
-
/* @__PURE__ */
|
|
1844
|
+
/* @__PURE__ */ jsxs22("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [
|
|
1845
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1846
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-3", children: [
|
|
1847
|
+
/* @__PURE__ */ jsx22("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u23F1\uFE0F" }),
|
|
1848
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1849
|
+
/* @__PURE__ */ jsx22("p", { className: "text-xs font-bold text-slate-700", children: "Enable SLA" }),
|
|
1850
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[9px] text-slate-400", children: "Enable SLA for workflow" })
|
|
1191
1851
|
] })
|
|
1192
1852
|
] }),
|
|
1193
|
-
/* @__PURE__ */
|
|
1194
|
-
/* @__PURE__ */
|
|
1195
|
-
/* @__PURE__ */
|
|
1853
|
+
/* @__PURE__ */ jsxs22("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1854
|
+
/* @__PURE__ */ jsx22("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1855
|
+
/* @__PURE__ */ jsx22("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" })
|
|
1196
1856
|
] })
|
|
1197
1857
|
] }),
|
|
1198
|
-
/* @__PURE__ */
|
|
1199
|
-
/* @__PURE__ */
|
|
1200
|
-
/* @__PURE__ */
|
|
1201
|
-
/* @__PURE__ */
|
|
1202
|
-
/* @__PURE__ */
|
|
1203
|
-
/* @__PURE__ */
|
|
1858
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1859
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-3", children: [
|
|
1860
|
+
/* @__PURE__ */ jsx22("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F504}" }),
|
|
1861
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1862
|
+
/* @__PURE__ */ jsx22("p", { className: "text-xs font-bold text-slate-700", children: "Allow Rework" }),
|
|
1863
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[9px] text-slate-400", children: "Allow files to be sent back" })
|
|
1204
1864
|
] })
|
|
1205
1865
|
] }),
|
|
1206
|
-
/* @__PURE__ */
|
|
1207
|
-
/* @__PURE__ */
|
|
1208
|
-
/* @__PURE__ */
|
|
1866
|
+
/* @__PURE__ */ jsxs22("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1867
|
+
/* @__PURE__ */ jsx22("input", { type: "checkbox", defaultChecked: true, className: "sr-only peer" }),
|
|
1868
|
+
/* @__PURE__ */ jsx22("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" })
|
|
1209
1869
|
] })
|
|
1210
1870
|
] }),
|
|
1211
|
-
/* @__PURE__ */
|
|
1212
|
-
/* @__PURE__ */
|
|
1213
|
-
/* @__PURE__ */
|
|
1214
|
-
/* @__PURE__ */
|
|
1215
|
-
/* @__PURE__ */
|
|
1216
|
-
/* @__PURE__ */
|
|
1871
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center justify-between p-4 bg-slate-50/50 border border-slate-100 rounded-2xl", children: [
|
|
1872
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-3", children: [
|
|
1873
|
+
/* @__PURE__ */ jsx22("div", { className: "w-8 h-8 rounded-lg bg-indigo-50 text-indigo-600 flex items-center justify-center text-sm", children: "\u{1F465}" }),
|
|
1874
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1875
|
+
/* @__PURE__ */ jsx22("p", { className: "text-xs font-bold text-slate-700", children: "Allow File Delegation" }),
|
|
1876
|
+
/* @__PURE__ */ jsx22("p", { className: "text-[9px] text-slate-400", children: "Allow users to delegate tasks" })
|
|
1217
1877
|
] })
|
|
1218
1878
|
] }),
|
|
1219
|
-
/* @__PURE__ */
|
|
1220
|
-
/* @__PURE__ */
|
|
1221
|
-
/* @__PURE__ */
|
|
1879
|
+
/* @__PURE__ */ jsxs22("label", { className: "relative inline-flex items-center cursor-pointer", children: [
|
|
1880
|
+
/* @__PURE__ */ jsx22("input", { type: "checkbox", className: "sr-only peer" }),
|
|
1881
|
+
/* @__PURE__ */ jsx22("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" })
|
|
1222
1882
|
] })
|
|
1223
1883
|
] })
|
|
1224
1884
|
] })
|
|
1225
1885
|
] })
|
|
1226
1886
|
] }),
|
|
1227
|
-
/* @__PURE__ */
|
|
1228
|
-
/* @__PURE__ */
|
|
1887
|
+
/* @__PURE__ */ jsxs22("div", { className: "p-5 bg-white border-t border-slate-100 flex items-center justify-end gap-3 px-8", children: [
|
|
1888
|
+
/* @__PURE__ */ jsx22(
|
|
1229
1889
|
"button",
|
|
1230
1890
|
{
|
|
1231
1891
|
onClick: onClose,
|
|
@@ -1233,7 +1893,7 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1233
1893
|
children: "\u2715 Cancel"
|
|
1234
1894
|
}
|
|
1235
1895
|
),
|
|
1236
|
-
/* @__PURE__ */
|
|
1896
|
+
/* @__PURE__ */ jsx22(
|
|
1237
1897
|
"button",
|
|
1238
1898
|
{
|
|
1239
1899
|
type: "button",
|
|
@@ -1247,7 +1907,7 @@ function AddWorkflowStepModal({ onClose }) {
|
|
|
1247
1907
|
}
|
|
1248
1908
|
|
|
1249
1909
|
// src/components/Common/commonheader.js
|
|
1250
|
-
import
|
|
1910
|
+
import React23 from "react";
|
|
1251
1911
|
import Link from "next/link";
|
|
1252
1912
|
import {
|
|
1253
1913
|
FolderKanban,
|
|
@@ -1255,36 +1915,36 @@ import {
|
|
|
1255
1915
|
ChevronRight,
|
|
1256
1916
|
Plus
|
|
1257
1917
|
} from "lucide-react";
|
|
1258
|
-
import { jsx as
|
|
1918
|
+
import { jsx as jsx23, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
1259
1919
|
function CommonHeader({
|
|
1260
1920
|
title,
|
|
1261
1921
|
breadcrumbs = [],
|
|
1262
1922
|
buttonText,
|
|
1263
1923
|
onButtonClick
|
|
1264
1924
|
}) {
|
|
1265
|
-
return /* @__PURE__ */
|
|
1266
|
-
/* @__PURE__ */
|
|
1267
|
-
/* @__PURE__ */
|
|
1268
|
-
/* @__PURE__ */
|
|
1269
|
-
/* @__PURE__ */
|
|
1270
|
-
/* @__PURE__ */
|
|
1271
|
-
/* @__PURE__ */
|
|
1272
|
-
/* @__PURE__ */
|
|
1273
|
-
/* @__PURE__ */
|
|
1274
|
-
/* @__PURE__ */
|
|
1275
|
-
/* @__PURE__ */
|
|
1276
|
-
/* @__PURE__ */
|
|
1925
|
+
return /* @__PURE__ */ jsxs23("div", { className: "relative overflow-hidden rounded-2xl border border-slate-200 bg-white/90 backdrop-blur-xl shadow-lg mb-6", children: [
|
|
1926
|
+
/* @__PURE__ */ jsx23("div", { className: "absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-blue-500 via-cyan-400 to-indigo-500" }),
|
|
1927
|
+
/* @__PURE__ */ jsx23("div", { className: "absolute -top-12 -right-12 h-40 w-40 rounded-full bg-blue-200/20 blur-3xl" }),
|
|
1928
|
+
/* @__PURE__ */ jsx23("div", { className: "absolute -bottom-10 -left-10 h-32 w-32 rounded-full bg-cyan-200/20 blur-3xl" }),
|
|
1929
|
+
/* @__PURE__ */ jsxs23("div", { className: "relative flex items-center justify-between px-6 py-4", children: [
|
|
1930
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-4", children: [
|
|
1931
|
+
/* @__PURE__ */ jsx23("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__ */ jsx23(FolderKanban, { size: 22 }) }),
|
|
1932
|
+
/* @__PURE__ */ jsxs23("div", { children: [
|
|
1933
|
+
/* @__PURE__ */ jsx23("h1", { className: "text-2xl font-bold text-slate-800 tracking-tight", children: title }),
|
|
1934
|
+
/* @__PURE__ */ jsxs23("div", { className: "mt-2 flex items-center gap-2 flex-wrap", children: [
|
|
1935
|
+
/* @__PURE__ */ jsxs23("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: [
|
|
1936
|
+
/* @__PURE__ */ jsx23(Home, { size: 13 }),
|
|
1277
1937
|
"Home"
|
|
1278
1938
|
] }),
|
|
1279
|
-
breadcrumbs.map((item, index) => /* @__PURE__ */
|
|
1280
|
-
/* @__PURE__ */
|
|
1939
|
+
breadcrumbs.map((item, index) => /* @__PURE__ */ jsxs23(React23.Fragment, { children: [
|
|
1940
|
+
/* @__PURE__ */ jsx23(
|
|
1281
1941
|
ChevronRight,
|
|
1282
1942
|
{
|
|
1283
1943
|
size: 15,
|
|
1284
1944
|
className: "text-slate-300"
|
|
1285
1945
|
}
|
|
1286
1946
|
),
|
|
1287
|
-
index === breadcrumbs.length - 1 ? /* @__PURE__ */
|
|
1947
|
+
index === breadcrumbs.length - 1 ? /* @__PURE__ */ jsx23("span", { className: "rounded-full bg-blue-600 px-3 py-1 text-xs font-semibold text-white shadow-md", children: item.label }) : /* @__PURE__ */ jsx23(
|
|
1288
1948
|
Link,
|
|
1289
1949
|
{
|
|
1290
1950
|
href: item.href,
|
|
@@ -1296,15 +1956,15 @@ function CommonHeader({
|
|
|
1296
1956
|
] })
|
|
1297
1957
|
] })
|
|
1298
1958
|
] }),
|
|
1299
|
-
/* @__PURE__ */
|
|
1959
|
+
/* @__PURE__ */ jsxs23(
|
|
1300
1960
|
"button",
|
|
1301
1961
|
{
|
|
1302
1962
|
onClick: onButtonClick,
|
|
1303
1963
|
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",
|
|
1304
1964
|
children: [
|
|
1305
|
-
/* @__PURE__ */
|
|
1306
|
-
/* @__PURE__ */
|
|
1307
|
-
/* @__PURE__ */
|
|
1965
|
+
/* @__PURE__ */ jsx23("span", { className: "absolute inset-0 -translate-x-full skew-x-12 bg-white/20 transition-transform duration-1000 group-hover:translate-x-[250%]" }),
|
|
1966
|
+
/* @__PURE__ */ jsxs23("span", { className: "relative flex items-center gap-2", children: [
|
|
1967
|
+
/* @__PURE__ */ jsx23(
|
|
1308
1968
|
Plus,
|
|
1309
1969
|
{
|
|
1310
1970
|
size: 18,
|
|
@@ -1321,7 +1981,7 @@ function CommonHeader({
|
|
|
1321
1981
|
}
|
|
1322
1982
|
|
|
1323
1983
|
// src/components/WorkflowStep/main.js
|
|
1324
|
-
import { Fragment, jsx as
|
|
1984
|
+
import { Fragment, jsx as jsx24, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
1325
1985
|
var workflowSteps = [
|
|
1326
1986
|
{
|
|
1327
1987
|
workflowStepId: 1,
|
|
@@ -1455,9 +2115,9 @@ var workflowSteps = [
|
|
|
1455
2115
|
}
|
|
1456
2116
|
];
|
|
1457
2117
|
function WorkflowStep() {
|
|
1458
|
-
const [showModal, setShowModal] =
|
|
1459
|
-
const [pageSize, setPageSize] =
|
|
1460
|
-
const [sortConfig, setSortConfig] =
|
|
2118
|
+
const [showModal, setShowModal] = useState11(false);
|
|
2119
|
+
const [pageSize, setPageSize] = useState11(5);
|
|
2120
|
+
const [sortConfig, setSortConfig] = useState11({
|
|
1461
2121
|
key: "",
|
|
1462
2122
|
direction: "asc"
|
|
1463
2123
|
});
|
|
@@ -1468,9 +2128,9 @@ function WorkflowStep() {
|
|
|
1468
2128
|
}
|
|
1469
2129
|
setSortConfig({ key, direction });
|
|
1470
2130
|
};
|
|
1471
|
-
return /* @__PURE__ */
|
|
1472
|
-
/* @__PURE__ */
|
|
1473
|
-
/* @__PURE__ */
|
|
2131
|
+
return /* @__PURE__ */ jsxs24(Fragment, { children: [
|
|
2132
|
+
/* @__PURE__ */ jsxs24("div", { className: "p-5 bg-[#f5f7fb] min-h-screen font-sans text-slate-700 flex flex-col ", children: [
|
|
2133
|
+
/* @__PURE__ */ jsx24(
|
|
1474
2134
|
CommonHeader,
|
|
1475
2135
|
{
|
|
1476
2136
|
title: "Workflow",
|
|
@@ -1483,11 +2143,11 @@ function WorkflowStep() {
|
|
|
1483
2143
|
onButtonClick: () => setShowModal(true)
|
|
1484
2144
|
}
|
|
1485
2145
|
),
|
|
1486
|
-
/* @__PURE__ */
|
|
1487
|
-
/* @__PURE__ */
|
|
1488
|
-
/* @__PURE__ */
|
|
1489
|
-
/* @__PURE__ */
|
|
1490
|
-
/* @__PURE__ */
|
|
2146
|
+
/* @__PURE__ */ jsxs24("div", { className: "bg-white rounded-3xl shadow-sm border border-slate-100 p-6 flex flex-col gap-6", children: [
|
|
2147
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex justify-between items-center flex-wrap gap-3", children: [
|
|
2148
|
+
/* @__PURE__ */ jsxs24("div", { className: "relative max-w-xs w-full", children: [
|
|
2149
|
+
/* @__PURE__ */ jsx24("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ jsx24("svg", { className: "w-4 h-5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx24("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
2150
|
+
/* @__PURE__ */ jsx24(
|
|
1491
2151
|
"input",
|
|
1492
2152
|
{
|
|
1493
2153
|
type: "text",
|
|
@@ -1496,22 +2156,22 @@ function WorkflowStep() {
|
|
|
1496
2156
|
}
|
|
1497
2157
|
)
|
|
1498
2158
|
] }),
|
|
1499
|
-
/* @__PURE__ */
|
|
2159
|
+
/* @__PURE__ */ jsx24("div", { className: "flex items-center gap-2 text-xs text-slate-500 font-semibold", children: /* @__PURE__ */ jsxs24(
|
|
1500
2160
|
"select",
|
|
1501
2161
|
{
|
|
1502
2162
|
value: pageSize,
|
|
1503
2163
|
onChange: (e) => setPageSize(Number(e.target.value)),
|
|
1504
2164
|
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",
|
|
1505
2165
|
children: [
|
|
1506
|
-
/* @__PURE__ */
|
|
1507
|
-
/* @__PURE__ */
|
|
1508
|
-
/* @__PURE__ */
|
|
2166
|
+
/* @__PURE__ */ jsx24("option", { value: 5, children: "5 Rows" }),
|
|
2167
|
+
/* @__PURE__ */ jsx24("option", { value: 10, children: "10 Rows" }),
|
|
2168
|
+
/* @__PURE__ */ jsx24("option", { value: 25, children: "25 Rows" })
|
|
1509
2169
|
]
|
|
1510
2170
|
}
|
|
1511
2171
|
) })
|
|
1512
2172
|
] }),
|
|
1513
|
-
/* @__PURE__ */
|
|
1514
|
-
/* @__PURE__ */
|
|
2173
|
+
/* @__PURE__ */ jsx24("div", { className: "border border-slate-200 rounded-2xl overflow-hidden bg-white shadow-md", children: /* @__PURE__ */ jsx24("div", { className: "max-h-[350px] overflow-y-auto overflow-x-auto", children: /* @__PURE__ */ jsxs24("table", { className: "min-w-max w-full border-collapse", children: [
|
|
2174
|
+
/* @__PURE__ */ jsx24("thead", { className: "bg-slate-50 sticky top-0 z-10", children: /* @__PURE__ */ jsx24("tr", { className: "text-[11px] font-bold uppercase tracking-wider text-slate-400", children: [
|
|
1515
2175
|
{ label: "WorkflowStepId", key: "workflowStepId" },
|
|
1516
2176
|
{ label: "WorkflowId", key: "workflowId" },
|
|
1517
2177
|
{ label: "StepCode", key: "stepCode" },
|
|
@@ -1523,49 +2183,49 @@ function WorkflowStep() {
|
|
|
1523
2183
|
{ label: "Escalation After", key: "escalationAfter" },
|
|
1524
2184
|
{ label: "Working Hours Only", key: "workingHoursOnly" },
|
|
1525
2185
|
{ label: "Exclude Holidays", key: "excludeHolidays" }
|
|
1526
|
-
].map((column) => /* @__PURE__ */
|
|
2186
|
+
].map((column) => /* @__PURE__ */ jsx24(
|
|
1527
2187
|
"th",
|
|
1528
2188
|
{
|
|
1529
2189
|
onClick: () => handleSort(column.key),
|
|
1530
2190
|
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",
|
|
1531
|
-
children: /* @__PURE__ */
|
|
1532
|
-
/* @__PURE__ */
|
|
1533
|
-
/* @__PURE__ */
|
|
2191
|
+
children: /* @__PURE__ */ jsxs24("div", { className: "flex items-center justify-center gap-1.5", children: [
|
|
2192
|
+
/* @__PURE__ */ jsx24("span", { className: "truncate", children: column.label }),
|
|
2193
|
+
/* @__PURE__ */ jsx24("span", { className: "text-slate-300 text-[10px]", children: sortConfig.key === column.key ? sortConfig.direction === "asc" ? "\u25B2" : "\u25BC" : "\u2195" })
|
|
1534
2194
|
] })
|
|
1535
2195
|
},
|
|
1536
2196
|
column.key
|
|
1537
2197
|
)) }) }),
|
|
1538
|
-
/* @__PURE__ */
|
|
1539
|
-
/* @__PURE__ */
|
|
1540
|
-
/* @__PURE__ */
|
|
1541
|
-
/* @__PURE__ */
|
|
1542
|
-
/* @__PURE__ */
|
|
1543
|
-
/* @__PURE__ */
|
|
1544
|
-
/* @__PURE__ */
|
|
1545
|
-
/* @__PURE__ */
|
|
1546
|
-
/* @__PURE__ */
|
|
1547
|
-
/* @__PURE__ */
|
|
1548
|
-
/* @__PURE__ */
|
|
1549
|
-
/* @__PURE__ */
|
|
2198
|
+
/* @__PURE__ */ jsx24("tbody", { children: workflowSteps.slice(0, pageSize).map((item) => /* @__PURE__ */ jsxs24("tr", { className: "hover:bg-slate-50/80 transition-colors border-b border-slate-100 last:border-0", children: [
|
|
2199
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.workflowStepId }),
|
|
2200
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.workflowId }),
|
|
2201
|
+
/* @__PURE__ */ jsx24("td", { className: "px-2 py-4 text-center text-[14px]", children: /* @__PURE__ */ jsx24("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 }) }),
|
|
2202
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-500 font-semibold ", children: item.stepName }),
|
|
2203
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.sequenceNo }),
|
|
2204
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-500 font-semibold", children: item.slaType }),
|
|
2205
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.slaValue }),
|
|
2206
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.reminderBefore }),
|
|
2207
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.escalationAfter }),
|
|
2208
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.workingHoursOnly }),
|
|
2209
|
+
/* @__PURE__ */ jsx24("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.excludeHolidays })
|
|
1550
2210
|
] }, item.workflowStepId)) })
|
|
1551
2211
|
] }) }) }),
|
|
1552
|
-
/* @__PURE__ */
|
|
2212
|
+
/* @__PURE__ */ jsx24("div", { className: "rounded-xl bg-slate-50/50", children: /* @__PURE__ */ jsx24(Footer, {}) })
|
|
1553
2213
|
] })
|
|
1554
2214
|
] }),
|
|
1555
|
-
showModal && /* @__PURE__ */
|
|
2215
|
+
showModal && /* @__PURE__ */ jsx24(AddWorkflowStepModal, { onClose: () => setShowModal(false) })
|
|
1556
2216
|
] });
|
|
1557
2217
|
}
|
|
1558
2218
|
|
|
1559
2219
|
// src/components/WorkFlowTransition/Transitiontable.js
|
|
1560
|
-
import
|
|
2220
|
+
import React26, { useState as useState12 } from "react";
|
|
1561
2221
|
import Link3 from "next/link";
|
|
1562
2222
|
|
|
1563
2223
|
// src/components/WorkFlowTransition/AddWorkFlowTransitionModal.js
|
|
1564
|
-
import
|
|
1565
|
-
import { jsx as
|
|
2224
|
+
import React25 from "react";
|
|
2225
|
+
import { jsx as jsx25, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
1566
2226
|
|
|
1567
2227
|
// src/components/WorkFlowTransition/Transitiontable.js
|
|
1568
|
-
import { jsx as
|
|
2228
|
+
import { jsx as jsx26, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
1569
2229
|
var WorkflowTransition = [
|
|
1570
2230
|
{
|
|
1571
2231
|
TransitionId: 1,
|
|
@@ -1649,9 +2309,9 @@ var WorkflowTransition = [
|
|
|
1649
2309
|
}
|
|
1650
2310
|
];
|
|
1651
2311
|
function WorkFlowTransition() {
|
|
1652
|
-
const [showModal, setShowModal] =
|
|
1653
|
-
const [pageSize, setPageSize] =
|
|
1654
|
-
const [sortConfig, setSortConfig] =
|
|
2312
|
+
const [showModal, setShowModal] = useState12(false);
|
|
2313
|
+
const [pageSize, setPageSize] = useState12(5);
|
|
2314
|
+
const [sortConfig, setSortConfig] = useState12({
|
|
1655
2315
|
key: "",
|
|
1656
2316
|
direction: "asc"
|
|
1657
2317
|
});
|
|
@@ -1665,8 +2325,8 @@ function WorkFlowTransition() {
|
|
|
1665
2325
|
direction
|
|
1666
2326
|
});
|
|
1667
2327
|
};
|
|
1668
|
-
return /* @__PURE__ */
|
|
1669
|
-
/* @__PURE__ */
|
|
2328
|
+
return /* @__PURE__ */ jsx26("div", { className: "p-5 bg-[#f5f7fb] min-h-screen font-sans text-slate-700 flex flex-col ", children: /* @__PURE__ */ jsxs26("div", { className: "p-6", children: [
|
|
2329
|
+
/* @__PURE__ */ jsx26(
|
|
1670
2330
|
CommonHeader,
|
|
1671
2331
|
{
|
|
1672
2332
|
title: "WorkFlow Transition",
|
|
@@ -1688,11 +2348,11 @@ function WorkFlowTransition() {
|
|
|
1688
2348
|
onButtonClick: () => setShowModal(true)
|
|
1689
2349
|
}
|
|
1690
2350
|
),
|
|
1691
|
-
/* @__PURE__ */
|
|
1692
|
-
/* @__PURE__ */
|
|
1693
|
-
/* @__PURE__ */
|
|
1694
|
-
/* @__PURE__ */
|
|
1695
|
-
/* @__PURE__ */
|
|
2351
|
+
/* @__PURE__ */ jsxs26("div", { className: "bg-white rounded-3xl shadow-sm border border-slate-100 p-6 flex flex-col gap-6", children: [
|
|
2352
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex justify-between items-center flex-wrap gap-3", children: [
|
|
2353
|
+
/* @__PURE__ */ jsxs26("div", { className: "relative max-w-xs w-full", children: [
|
|
2354
|
+
/* @__PURE__ */ jsx26("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none", children: /* @__PURE__ */ jsx26("svg", { className: "w-4 h-5 text-slate-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx26("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
|
|
2355
|
+
/* @__PURE__ */ jsx26(
|
|
1696
2356
|
"input",
|
|
1697
2357
|
{
|
|
1698
2358
|
type: "text",
|
|
@@ -1701,51 +2361,51 @@ function WorkFlowTransition() {
|
|
|
1701
2361
|
}
|
|
1702
2362
|
)
|
|
1703
2363
|
] }),
|
|
1704
|
-
/* @__PURE__ */
|
|
2364
|
+
/* @__PURE__ */ jsx26("div", { className: "flex items-center gap-2 text-xs text-slate-500 font-semibold", children: /* @__PURE__ */ jsxs26(
|
|
1705
2365
|
"select",
|
|
1706
2366
|
{
|
|
1707
2367
|
value: pageSize,
|
|
1708
2368
|
onChange: (e) => setPageSize(Number(e.target.value)),
|
|
1709
2369
|
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",
|
|
1710
2370
|
children: [
|
|
1711
|
-
/* @__PURE__ */
|
|
1712
|
-
/* @__PURE__ */
|
|
1713
|
-
/* @__PURE__ */
|
|
2371
|
+
/* @__PURE__ */ jsx26("option", { value: 5, children: "5 Rows" }),
|
|
2372
|
+
/* @__PURE__ */ jsx26("option", { value: 10, children: "10 Rows" }),
|
|
2373
|
+
/* @__PURE__ */ jsx26("option", { value: 25, children: "25 Rows" })
|
|
1714
2374
|
]
|
|
1715
2375
|
}
|
|
1716
2376
|
) })
|
|
1717
2377
|
] }),
|
|
1718
|
-
/* @__PURE__ */
|
|
1719
|
-
/* @__PURE__ */
|
|
1720
|
-
/* @__PURE__ */
|
|
2378
|
+
/* @__PURE__ */ jsxs26("div", { className: "border border-slate-200 rounded-2xl overflow-hidden bg-white shadow-md", children: [
|
|
2379
|
+
/* @__PURE__ */ jsx26("div", { className: "max-h-[350px] overflow-y-auto overflow-x-auto", children: /* @__PURE__ */ jsxs26("table", { className: "min-w-max w-full border-collapse", children: [
|
|
2380
|
+
/* @__PURE__ */ jsx26("thead", { className: "bg-slate-50 sticky top-0 z-10", children: /* @__PURE__ */ jsx26("tr", { className: "text-[11px] font-bold uppercase tracking-wider text-slate-400", children: [
|
|
1721
2381
|
{ label: "TransitionId", key: "TransitionId" },
|
|
1722
2382
|
{ label: "WorkflowId", key: "workflowId" },
|
|
1723
2383
|
{ label: "FromStepId", key: "FromStepId" },
|
|
1724
2384
|
{ label: "ToStepId", key: "ToStepId" },
|
|
1725
2385
|
{ label: "ActionCode", key: "ActionCode" },
|
|
1726
2386
|
{ label: "ActionName", key: "ActionName" }
|
|
1727
|
-
].map((column) => /* @__PURE__ */
|
|
2387
|
+
].map((column) => /* @__PURE__ */ jsx26(
|
|
1728
2388
|
"th",
|
|
1729
2389
|
{
|
|
1730
2390
|
onClick: () => handleSort(column.key),
|
|
1731
2391
|
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",
|
|
1732
|
-
children: /* @__PURE__ */
|
|
1733
|
-
/* @__PURE__ */
|
|
1734
|
-
/* @__PURE__ */
|
|
2392
|
+
children: /* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-center gap-2", children: [
|
|
2393
|
+
/* @__PURE__ */ jsx26("span", { children: column.label }),
|
|
2394
|
+
/* @__PURE__ */ jsx26("span", { className: "text-gray-400 text-xs", children: sortConfig.key === column.key ? sortConfig.direction === "asc" ? "\u25B2" : "\u25BC" : "\u2195" })
|
|
1735
2395
|
] })
|
|
1736
2396
|
},
|
|
1737
2397
|
column.key
|
|
1738
2398
|
)) }) }),
|
|
1739
|
-
/* @__PURE__ */
|
|
2399
|
+
/* @__PURE__ */ jsx26("tbody", { children: WorkflowTransition.slice(0, pageSize).map((item) => /* @__PURE__ */ jsxs26(
|
|
1740
2400
|
"tr",
|
|
1741
2401
|
{
|
|
1742
2402
|
className: "hover:bg-slate-50/80 transition-colors border-b border-slate-100 last:border-0",
|
|
1743
2403
|
children: [
|
|
1744
|
-
/* @__PURE__ */
|
|
1745
|
-
/* @__PURE__ */
|
|
1746
|
-
/* @__PURE__ */
|
|
1747
|
-
/* @__PURE__ */
|
|
1748
|
-
/* @__PURE__ */
|
|
2404
|
+
/* @__PURE__ */ jsx26("td", { className: "px-6 p-4 text-center text-[14px] text-slate-600 font-bold", children: item.TransitionId }),
|
|
2405
|
+
/* @__PURE__ */ jsx26("td", { className: "px-6 py-4 text-center text-[14px] text-slate-600 font-bold", children: item.workflowId }),
|
|
2406
|
+
/* @__PURE__ */ jsx26("td", { className: "px-6 py-4 text-center text-[14px] text-slate-600 font-bold", children: item.FromStepId }),
|
|
2407
|
+
/* @__PURE__ */ jsx26("td", { className: "px-6 py-4 text-center text-align center text-[14px] text-slate-600 font-bold", children: item.ToStepId }),
|
|
2408
|
+
/* @__PURE__ */ jsx26("td", { className: "px-6 py-4 text-center ", children: /* @__PURE__ */ jsx26(
|
|
1749
2409
|
"span",
|
|
1750
2410
|
{
|
|
1751
2411
|
className: `inline-flex items-center rounded-full px-3 py-1 text-xs font-semibold
|
|
@@ -1753,7 +2413,7 @@ function WorkFlowTransition() {
|
|
|
1753
2413
|
children: item.ActionCode
|
|
1754
2414
|
}
|
|
1755
2415
|
) }),
|
|
1756
|
-
/* @__PURE__ */
|
|
2416
|
+
/* @__PURE__ */ jsx26("td", { className: "px-6 py-4 text-center ", children: /* @__PURE__ */ jsx26(
|
|
1757
2417
|
"span",
|
|
1758
2418
|
{
|
|
1759
2419
|
className: `inline-flex items-center rounded-full px-3 py-1 text-xs font-semibold
|
|
@@ -1768,8 +2428,8 @@ function WorkFlowTransition() {
|
|
|
1768
2428
|
] }) }),
|
|
1769
2429
|
" "
|
|
1770
2430
|
] }),
|
|
1771
|
-
/* @__PURE__ */
|
|
1772
|
-
/* @__PURE__ */
|
|
2431
|
+
/* @__PURE__ */ jsxs26("div", { className: "p-5 sticky bottom-0 bg-white z-10", children: [
|
|
2432
|
+
/* @__PURE__ */ jsx26(Footer, {}),
|
|
1773
2433
|
" "
|
|
1774
2434
|
] })
|
|
1775
2435
|
] })
|
|
@@ -1777,7 +2437,7 @@ function WorkFlowTransition() {
|
|
|
1777
2437
|
}
|
|
1778
2438
|
|
|
1779
2439
|
// src/components/Sidebar.jsx
|
|
1780
|
-
import { Fragment as Fragment2, jsx as
|
|
2440
|
+
import { Fragment as Fragment2, jsx as jsx27, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
1781
2441
|
var workflowItems = [
|
|
1782
2442
|
{ name: "Workflow Type", component: "workflowType", icon: RiGitMergeLine },
|
|
1783
2443
|
{ name: "Workflow", component: "workflow", icon: RiNodeTree },
|
|
@@ -1814,18 +2474,18 @@ var trackingItems = [
|
|
|
1814
2474
|
];
|
|
1815
2475
|
function Sidebar({ isOpen, onToggle, childrens }) {
|
|
1816
2476
|
const router = useRouter();
|
|
1817
|
-
const [workflowOpen, setWorkflowOpen] =
|
|
1818
|
-
const [permissionOpen, setPermissionOpen] =
|
|
1819
|
-
const [hierarchyOpen, setHierarchyOpen] =
|
|
1820
|
-
const [documentOpen, setDocumentOpen] =
|
|
1821
|
-
const [filesOpen, setFilesOpen] =
|
|
1822
|
-
const [tasksOpen, setTasksOpen] =
|
|
1823
|
-
const [trackingOpen, setTrackingOpen] =
|
|
1824
|
-
const [communicationOpen, setCommunicationOpen] =
|
|
1825
|
-
const [activeComponent, setActiveComponent] =
|
|
2477
|
+
const [workflowOpen, setWorkflowOpen] = useState13(false);
|
|
2478
|
+
const [permissionOpen, setPermissionOpen] = useState13(false);
|
|
2479
|
+
const [hierarchyOpen, setHierarchyOpen] = useState13(false);
|
|
2480
|
+
const [documentOpen, setDocumentOpen] = useState13(false);
|
|
2481
|
+
const [filesOpen, setFilesOpen] = useState13(false);
|
|
2482
|
+
const [tasksOpen, setTasksOpen] = useState13(false);
|
|
2483
|
+
const [trackingOpen, setTrackingOpen] = useState13(false);
|
|
2484
|
+
const [communicationOpen, setCommunicationOpen] = useState13(false);
|
|
2485
|
+
const [activeComponent, setActiveComponent] = useState13("workflowType");
|
|
1826
2486
|
const renderMenuItemold = (item) => {
|
|
1827
2487
|
const Icon = item.icon;
|
|
1828
|
-
return /* @__PURE__ */
|
|
2488
|
+
return /* @__PURE__ */ jsxs27(
|
|
1829
2489
|
"button",
|
|
1830
2490
|
{
|
|
1831
2491
|
type: "button",
|
|
@@ -1837,14 +2497,14 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1837
2497
|
`,
|
|
1838
2498
|
onClick: () => router.push(item.path),
|
|
1839
2499
|
children: [
|
|
1840
|
-
/* @__PURE__ */
|
|
2500
|
+
/* @__PURE__ */ jsx27(
|
|
1841
2501
|
"span",
|
|
1842
2502
|
{
|
|
1843
2503
|
className: "\r\n flex h-[20px] w-[20px] shrink-0\r\n items-center justify-center\r\n rounded-[6px] text-[#405170]\r\n ",
|
|
1844
|
-
children: /* @__PURE__ */
|
|
2504
|
+
children: /* @__PURE__ */ jsx27(Icon, { size: 17 })
|
|
1845
2505
|
}
|
|
1846
2506
|
),
|
|
1847
|
-
/* @__PURE__ */
|
|
2507
|
+
/* @__PURE__ */ jsx27("span", { className: "whitespace-nowrap text-[14px] font-medium leading-[22px]", children: item.name })
|
|
1848
2508
|
]
|
|
1849
2509
|
},
|
|
1850
2510
|
item.name
|
|
@@ -1861,7 +2521,7 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1861
2521
|
router.push(item.path);
|
|
1862
2522
|
}
|
|
1863
2523
|
};
|
|
1864
|
-
return /* @__PURE__ */
|
|
2524
|
+
return /* @__PURE__ */ jsxs27(
|
|
1865
2525
|
"button",
|
|
1866
2526
|
{
|
|
1867
2527
|
onClick: handleClick,
|
|
@@ -1871,8 +2531,8 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1871
2531
|
${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]"}
|
|
1872
2532
|
`,
|
|
1873
2533
|
children: [
|
|
1874
|
-
/* @__PURE__ */
|
|
1875
|
-
/* @__PURE__ */
|
|
2534
|
+
/* @__PURE__ */ jsx27(Icon, { size: 17 }),
|
|
2535
|
+
/* @__PURE__ */ jsx27("span", { children: item.name })
|
|
1876
2536
|
]
|
|
1877
2537
|
},
|
|
1878
2538
|
item.name
|
|
@@ -1881,36 +2541,36 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1881
2541
|
const renderContent = () => {
|
|
1882
2542
|
switch (activeComponent) {
|
|
1883
2543
|
case "workflowType":
|
|
1884
|
-
return /* @__PURE__ */
|
|
2544
|
+
return /* @__PURE__ */ jsx27(WorkflowTypeMains, {});
|
|
1885
2545
|
case "workflow":
|
|
1886
|
-
return /* @__PURE__ */
|
|
2546
|
+
return /* @__PURE__ */ jsx27(WorkflowPage, {});
|
|
1887
2547
|
case "workflowStep":
|
|
1888
|
-
return /* @__PURE__ */
|
|
2548
|
+
return /* @__PURE__ */ jsx27(WorkflowStep, {});
|
|
1889
2549
|
case "workflowTransition":
|
|
1890
|
-
return /* @__PURE__ */
|
|
2550
|
+
return /* @__PURE__ */ jsx27(WorkFlowTransition, {});
|
|
1891
2551
|
default:
|
|
1892
2552
|
return childrens;
|
|
1893
2553
|
}
|
|
1894
2554
|
};
|
|
1895
2555
|
const renderDropdown = (title, open, setOpen, items) => {
|
|
1896
|
-
return /* @__PURE__ */
|
|
1897
|
-
/* @__PURE__ */
|
|
2556
|
+
return /* @__PURE__ */ jsxs27("div", { className: "mb-2", children: [
|
|
2557
|
+
/* @__PURE__ */ jsxs27(
|
|
1898
2558
|
"button",
|
|
1899
2559
|
{
|
|
1900
2560
|
type: "button",
|
|
1901
2561
|
onClick: () => setOpen(!open),
|
|
1902
2562
|
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 ",
|
|
1903
2563
|
children: [
|
|
1904
|
-
/* @__PURE__ */
|
|
1905
|
-
open ? /* @__PURE__ */
|
|
2564
|
+
/* @__PURE__ */ jsx27("span", { className: "text-[16px] font-semibold", children: title }),
|
|
2565
|
+
open ? /* @__PURE__ */ jsx27(RiArrowDownSLine, { size: 18 }) : /* @__PURE__ */ jsx27(RiArrowRightSLine, { size: 18 })
|
|
1906
2566
|
]
|
|
1907
2567
|
}
|
|
1908
2568
|
),
|
|
1909
|
-
open && /* @__PURE__ */
|
|
2569
|
+
open && /* @__PURE__ */ jsx27("div", { className: "ml-[8px] border-l border-[#E5E9F1] pl-[4px]", children: items.map(renderMenuItem) })
|
|
1910
2570
|
] });
|
|
1911
2571
|
};
|
|
1912
|
-
return /* @__PURE__ */
|
|
1913
|
-
/* @__PURE__ */
|
|
2572
|
+
return /* @__PURE__ */ jsxs27(Fragment2, { children: [
|
|
2573
|
+
/* @__PURE__ */ jsxs27(
|
|
1914
2574
|
"aside",
|
|
1915
2575
|
{
|
|
1916
2576
|
className: `
|
|
@@ -1921,13 +2581,13 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1921
2581
|
${isOpen ? "w-[310px] min-w-[310px] translate-x-0 opacity-100" : "w-0 min-w-0 -translate-x-full opacity-0"}
|
|
1922
2582
|
`,
|
|
1923
2583
|
children: [
|
|
1924
|
-
/* @__PURE__ */
|
|
2584
|
+
/* @__PURE__ */ jsxs27(
|
|
1925
2585
|
"header",
|
|
1926
2586
|
{
|
|
1927
2587
|
className: "\r\n flex h-[84px] items-center justify-between\r\n border-b border-[#EDF0F5]\r\n px-[14px]\r\n ",
|
|
1928
2588
|
children: [
|
|
1929
|
-
/* @__PURE__ */
|
|
1930
|
-
/* @__PURE__ */
|
|
2589
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
|
|
2590
|
+
/* @__PURE__ */ jsxs27(
|
|
1931
2591
|
"svg",
|
|
1932
2592
|
{
|
|
1933
2593
|
width: "36",
|
|
@@ -1935,28 +2595,28 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1935
2595
|
viewBox: "0 0 48 56",
|
|
1936
2596
|
fill: "none",
|
|
1937
2597
|
children: [
|
|
1938
|
-
/* @__PURE__ */
|
|
2598
|
+
/* @__PURE__ */ jsx27(
|
|
1939
2599
|
"path",
|
|
1940
2600
|
{
|
|
1941
2601
|
d: "M24 2L45 12.5L24 23L3 12.5L24 2Z",
|
|
1942
2602
|
fill: "#356AF3"
|
|
1943
2603
|
}
|
|
1944
2604
|
),
|
|
1945
|
-
/* @__PURE__ */
|
|
2605
|
+
/* @__PURE__ */ jsx27(
|
|
1946
2606
|
"path",
|
|
1947
2607
|
{
|
|
1948
2608
|
d: "M24 8L34 13L24 18L14 13L24 8Z",
|
|
1949
2609
|
fill: "white"
|
|
1950
2610
|
}
|
|
1951
2611
|
),
|
|
1952
|
-
/* @__PURE__ */
|
|
2612
|
+
/* @__PURE__ */ jsx27(
|
|
1953
2613
|
"path",
|
|
1954
2614
|
{
|
|
1955
2615
|
d: "M3 20L24 30.5L45 20V27L24 37.5L3 27V20Z",
|
|
1956
2616
|
fill: "#356AF3"
|
|
1957
2617
|
}
|
|
1958
2618
|
),
|
|
1959
|
-
/* @__PURE__ */
|
|
2619
|
+
/* @__PURE__ */ jsx27(
|
|
1960
2620
|
"path",
|
|
1961
2621
|
{
|
|
1962
2622
|
d: "M3 33L24 43.5L45 33V40L24 50.5L3 40V33Z",
|
|
@@ -1966,36 +2626,36 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
1966
2626
|
]
|
|
1967
2627
|
}
|
|
1968
2628
|
),
|
|
1969
|
-
/* @__PURE__ */
|
|
1970
|
-
/* @__PURE__ */
|
|
1971
|
-
/* @__PURE__ */
|
|
2629
|
+
/* @__PURE__ */ jsxs27("div", { children: [
|
|
2630
|
+
/* @__PURE__ */ jsx27("h1", { className: "text-[18px] font-extrabold text-[#101318]", children: "FLOWCORE" }),
|
|
2631
|
+
/* @__PURE__ */ jsx27("p", { className: "text-[12px] text-[#344261]", children: "Workflow Engine" })
|
|
1972
2632
|
] })
|
|
1973
2633
|
] }),
|
|
1974
|
-
/* @__PURE__ */
|
|
2634
|
+
/* @__PURE__ */ jsx27(
|
|
1975
2635
|
"button",
|
|
1976
2636
|
{
|
|
1977
2637
|
type: "button",
|
|
1978
2638
|
onClick: onToggle,
|
|
1979
2639
|
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 ",
|
|
1980
|
-
children: /* @__PURE__ */
|
|
2640
|
+
children: /* @__PURE__ */ jsx27(RiMenuLine, { size: 18 })
|
|
1981
2641
|
}
|
|
1982
2642
|
)
|
|
1983
2643
|
]
|
|
1984
2644
|
}
|
|
1985
2645
|
),
|
|
1986
|
-
/* @__PURE__ */
|
|
2646
|
+
/* @__PURE__ */ jsxs27(
|
|
1987
2647
|
"div",
|
|
1988
2648
|
{
|
|
1989
2649
|
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 ",
|
|
1990
2650
|
children: [
|
|
1991
|
-
/* @__PURE__ */
|
|
2651
|
+
/* @__PURE__ */ jsx27(
|
|
1992
2652
|
"p",
|
|
1993
2653
|
{
|
|
1994
2654
|
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 ",
|
|
1995
2655
|
children: "Configuration Masters"
|
|
1996
2656
|
}
|
|
1997
2657
|
),
|
|
1998
|
-
/* @__PURE__ */
|
|
2658
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-[3px]", children: [
|
|
1999
2659
|
renderDropdown(
|
|
2000
2660
|
"Workflow",
|
|
2001
2661
|
workflowOpen,
|
|
@@ -2021,14 +2681,14 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
2021
2681
|
hierarchyItems
|
|
2022
2682
|
)
|
|
2023
2683
|
] }),
|
|
2024
|
-
/* @__PURE__ */
|
|
2684
|
+
/* @__PURE__ */ jsx27(
|
|
2025
2685
|
"p",
|
|
2026
2686
|
{
|
|
2027
2687
|
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 ",
|
|
2028
2688
|
children: "Runtime"
|
|
2029
2689
|
}
|
|
2030
2690
|
),
|
|
2031
|
-
/* @__PURE__ */
|
|
2691
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-[3px]", children: [
|
|
2032
2692
|
renderDropdown(
|
|
2033
2693
|
"Files",
|
|
2034
2694
|
filesOpen,
|
|
@@ -2057,18 +2717,18 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
2057
2717
|
]
|
|
2058
2718
|
}
|
|
2059
2719
|
),
|
|
2060
|
-
/* @__PURE__ */
|
|
2720
|
+
/* @__PURE__ */ jsx27(
|
|
2061
2721
|
"div",
|
|
2062
2722
|
{
|
|
2063
2723
|
className: "\r\n shrink-0\r\n bg-white\r\n px-[27px]\r\n pb-[34px]\r\n pt-[18px]\r\n ",
|
|
2064
|
-
children: /* @__PURE__ */
|
|
2724
|
+
children: /* @__PURE__ */ jsxs27(
|
|
2065
2725
|
"button",
|
|
2066
2726
|
{
|
|
2067
2727
|
type: "button",
|
|
2068
2728
|
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 ",
|
|
2069
2729
|
children: [
|
|
2070
|
-
/* @__PURE__ */
|
|
2071
|
-
/* @__PURE__ */
|
|
2730
|
+
/* @__PURE__ */ jsx27(RiSettings4Line, { size: 20 }),
|
|
2731
|
+
/* @__PURE__ */ jsx27("span", { children: "Settings" })
|
|
2072
2732
|
]
|
|
2073
2733
|
}
|
|
2074
2734
|
)
|
|
@@ -2077,15 +2737,15 @@ function Sidebar({ isOpen, onToggle, childrens }) {
|
|
|
2077
2737
|
]
|
|
2078
2738
|
}
|
|
2079
2739
|
),
|
|
2080
|
-
/* @__PURE__ */
|
|
2081
|
-
!isOpen && /* @__PURE__ */
|
|
2740
|
+
/* @__PURE__ */ jsx27("div", { className: "flex-1 overflow-auto bg-[#F5F7FB]", children: renderContent() }),
|
|
2741
|
+
!isOpen && /* @__PURE__ */ jsx27(
|
|
2082
2742
|
"button",
|
|
2083
2743
|
{
|
|
2084
2744
|
type: "button",
|
|
2085
2745
|
onClick: onToggle,
|
|
2086
2746
|
"aria-label": "Open sidebar",
|
|
2087
2747
|
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 ",
|
|
2088
|
-
children: /* @__PURE__ */
|
|
2748
|
+
children: /* @__PURE__ */ jsx27(RiMenuLine, { size: 18 })
|
|
2089
2749
|
}
|
|
2090
2750
|
)
|
|
2091
2751
|
] });
|
|
@@ -2107,11 +2767,11 @@ var ApiEndpointsProvider = ({ apiEndpoints: endpoints }) => {
|
|
|
2107
2767
|
var ApiEndpointsProvider_default = ApiEndpointsProvider;
|
|
2108
2768
|
|
|
2109
2769
|
// src/components/Layout.jsx
|
|
2110
|
-
import { useState as
|
|
2111
|
-
import { jsx as
|
|
2770
|
+
import { useState as useState14 } from "react";
|
|
2771
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
2112
2772
|
var Layout = ({ children }) => {
|
|
2113
|
-
const [isOpen, setIsOpen] =
|
|
2114
|
-
return /* @__PURE__ */
|
|
2773
|
+
const [isOpen, setIsOpen] = useState14(true);
|
|
2774
|
+
return /* @__PURE__ */ jsx28("div", { className: "flex min-h-screen", children: /* @__PURE__ */ jsx28(
|
|
2115
2775
|
Sidebar,
|
|
2116
2776
|
{
|
|
2117
2777
|
isOpen,
|
|
@@ -2123,7 +2783,9 @@ var Layout = ({ children }) => {
|
|
|
2123
2783
|
var Layout_default = Layout;
|
|
2124
2784
|
export {
|
|
2125
2785
|
ApiEndpointsProvider_default as ApiEndpointsProvider,
|
|
2786
|
+
AssignmentRulePage,
|
|
2126
2787
|
Layout_default as Layout,
|
|
2127
2788
|
Sidebar,
|
|
2789
|
+
TaskPermissionPage,
|
|
2128
2790
|
WorkflowPage
|
|
2129
2791
|
};
|