Merge branch 'dev-sabda-v2' of https://gitlab.com/hanifsalafi/mediahub_redesign
This commit is contained in:
commit
2b8f7b724e
|
|
@ -68,7 +68,7 @@ export default function TaskTaTable() {
|
||||||
const [totalData, setTotalData] = React.useState<number>(1);
|
const [totalData, setTotalData] = React.useState<number>(1);
|
||||||
const [sorting, setSorting] = React.useState<SortingState>([]);
|
const [sorting, setSorting] = React.useState<SortingState>([]);
|
||||||
const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(
|
const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(
|
||||||
[]
|
[],
|
||||||
);
|
);
|
||||||
const [columnVisibility, setColumnVisibility] =
|
const [columnVisibility, setColumnVisibility] =
|
||||||
React.useState<VisibilityState>({});
|
React.useState<VisibilityState>({});
|
||||||
|
|
@ -81,7 +81,7 @@ export default function TaskTaTable() {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [activeTab, setActiveTab] = React.useState<ActiveTab>(
|
const [activeTab, setActiveTab] = React.useState<ActiveTab>(
|
||||||
isMabesApprover ? "mabes-koor" : "ta"
|
isMabesApprover ? "mabes-koor" : "ta",
|
||||||
);
|
);
|
||||||
const [statusFilter, setStatusFilter] = React.useState<number[]>([]);
|
const [statusFilter, setStatusFilter] = React.useState<number[]>([]);
|
||||||
const [dateFilter, setDateFilter] = React.useState("");
|
const [dateFilter, setDateFilter] = React.useState("");
|
||||||
|
|
@ -91,6 +91,8 @@ export default function TaskTaTable() {
|
||||||
const [page, setPage] = React.useState(1);
|
const [page, setPage] = React.useState(1);
|
||||||
const [totalPage, setTotalPage] = React.useState(1);
|
const [totalPage, setTotalPage] = React.useState(1);
|
||||||
|
|
||||||
|
const KOOR_KURATOR_USER_ID = "464";
|
||||||
|
|
||||||
// ✅ columns based on tab
|
// ✅ columns based on tab
|
||||||
const columns = useTableColumns(activeTab);
|
const columns = useTableColumns(activeTab);
|
||||||
|
|
||||||
|
|
@ -133,6 +135,8 @@ export default function TaskTaTable() {
|
||||||
activeTab,
|
activeTab,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const isKoorKurator = String(userId) === KOOR_KURATOR_USER_ID;
|
||||||
|
|
||||||
async function fetchData() {
|
async function fetchData() {
|
||||||
const formattedStartDate = dateFilter
|
const formattedStartDate = dateFilter
|
||||||
? format(new Date(dateFilter), "yyyy-MM-dd")
|
? format(new Date(dateFilter), "yyyy-MM-dd")
|
||||||
|
|
@ -149,7 +153,7 @@ export default function TaskTaTable() {
|
||||||
filterByCode,
|
filterByCode,
|
||||||
formattedStartDate,
|
formattedStartDate,
|
||||||
"atensi-khusus",
|
"atensi-khusus",
|
||||||
statusFilter
|
statusFilter,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -161,7 +165,7 @@ export default function TaskTaTable() {
|
||||||
filterByCode,
|
filterByCode,
|
||||||
formattedStartDate,
|
formattedStartDate,
|
||||||
"tugas-harian",
|
"tugas-harian",
|
||||||
statusFilter
|
statusFilter,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,21 +177,20 @@ export default function TaskTaTable() {
|
||||||
filterByCode,
|
filterByCode,
|
||||||
formattedStartDate,
|
formattedStartDate,
|
||||||
"atensi-khusus",
|
"atensi-khusus",
|
||||||
statusFilter
|
statusFilter,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ✅ TAB BARU: khusus Mabes Approver
|
// ✅ TAB BARU: khusus Mabes Approver
|
||||||
if (activeTab === "mabes-koor") {
|
if (activeTab === "mabes-koor") {
|
||||||
// kalau bukan Mabes Approver, jangan fetch
|
// hanya blok kalau BUKAN Mabes Approver DAN BUKAN Koor Kurator
|
||||||
if (!isMabesApprover) {
|
if (!isMabesApprover && !isKoorKurator) {
|
||||||
setDataTable([]);
|
setDataTable([]);
|
||||||
setTotalData(0);
|
setTotalData(0);
|
||||||
setTotalPage(0);
|
setTotalPage(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: backend endpoint harus return tasks mabes -> koorkurator
|
|
||||||
res = await listTaskTa(
|
res = await listTaskTa(
|
||||||
page - 1,
|
page - 1,
|
||||||
search,
|
search,
|
||||||
|
|
@ -195,12 +198,20 @@ export default function TaskTaTable() {
|
||||||
filterByCode,
|
filterByCode,
|
||||||
formattedStartDate,
|
formattedStartDate,
|
||||||
"atensi-khusus",
|
"atensi-khusus",
|
||||||
statusFilter
|
statusFilter,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let contentData = res?.data?.data?.content || [];
|
let contentData = res?.data?.data?.content || [];
|
||||||
|
|
||||||
|
// 🚫 TAB TA: SEMBUNYIKAN TASK MABES → KOOR
|
||||||
|
if (activeTab === "ta") {
|
||||||
|
contentData = contentData.filter((item: any) => {
|
||||||
|
const assignedUsers = String(item?.assignedToUsers || "");
|
||||||
|
return !assignedUsers.split(",").includes(KOOR_KURATOR_USER_ID);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// ⛔ blok task baru kalau upload belum selesai (fitur kamu)
|
// ⛔ blok task baru kalau upload belum selesai (fitur kamu)
|
||||||
const isUploadingTA =
|
const isUploadingTA =
|
||||||
localStorage.getItem("TA_UPLOAD_IN_PROGRESS") === "true";
|
localStorage.getItem("TA_UPLOAD_IN_PROGRESS") === "true";
|
||||||
|
|
@ -235,13 +246,14 @@ export default function TaskTaTable() {
|
||||||
// }
|
// }
|
||||||
if (activeTab === "mabes-koor") {
|
if (activeTab === "mabes-koor") {
|
||||||
contentData = contentData.filter((item: any) => {
|
contentData = contentData.filter((item: any) => {
|
||||||
const createdByLevel = item?.createdBy?.userLevel?.name || "";
|
const createdByLevel =
|
||||||
|
item?.createdBy?.userLevel?.name || item?.createdByLevelName || "";
|
||||||
|
|
||||||
const assignedUsers = String(item?.assignedToUsers || "");
|
const assignedUsers = String(item?.assignedToUsers || "");
|
||||||
|
|
||||||
return (
|
return (
|
||||||
/MABES/i.test(createdByLevel) &&
|
/MABES/i.test(createdByLevel) &&
|
||||||
assignedUsers.split(",").includes("464")
|
assignedUsers.split(",").includes(KOOR_KURATOR_USER_ID)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -270,7 +282,7 @@ export default function TaskTaTable() {
|
||||||
|
|
||||||
function handleStatusCheckboxChange(value: number) {
|
function handleStatusCheckboxChange(value: number) {
|
||||||
setStatusFilter((prev) =>
|
setStatusFilter((prev) =>
|
||||||
prev.includes(value) ? prev.filter((s) => s !== value) : [...prev, value]
|
prev.includes(value) ? prev.filter((s) => s !== value) : [...prev, value],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -463,7 +475,7 @@ export default function TaskTaTable() {
|
||||||
? null
|
? null
|
||||||
: flexRender(
|
: flexRender(
|
||||||
header.column.columnDef.header,
|
header.column.columnDef.header,
|
||||||
header.getContext()
|
header.getContext(),
|
||||||
)}
|
)}
|
||||||
</TableHead>
|
</TableHead>
|
||||||
))}
|
))}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue