feat:sorting according to the prio of dept
This commit is contained in:
@@ -110,17 +110,36 @@ export default function DoctorPage() {
|
|||||||
fetchAll();
|
fetchAll();
|
||||||
}, [fetchAll]);
|
}, [fetchAll]);
|
||||||
|
|
||||||
const filteredDoctors = doctors.filter((doc) => {
|
const filteredDoctors = doctors
|
||||||
const matchesSearch =
|
.filter((doc) => {
|
||||||
doc.name.toLowerCase().includes(searchText.toLowerCase()) ||
|
const matchesSearch =
|
||||||
doc.doctorId.toLowerCase().includes(searchText.toLowerCase());
|
doc.name.toLowerCase().includes(searchText.toLowerCase()) ||
|
||||||
|
doc.doctorId.toLowerCase().includes(searchText.toLowerCase());
|
||||||
|
|
||||||
const matchesDepartment = filterDepartment
|
const matchesDepartment = filterDepartment
|
||||||
? doc.departments?.some((d: any) => d.departmentId === filterDepartment)
|
? doc.departments?.some((d: any) => d.departmentId === filterDepartment)
|
||||||
: true;
|
: true;
|
||||||
|
|
||||||
return matchesSearch && matchesDepartment;
|
return matchesSearch && matchesDepartment;
|
||||||
});
|
})
|
||||||
|
.sort((a, b) => {
|
||||||
|
if (!filterDepartment) {
|
||||||
|
return a.globalSortOrder - b.globalSortOrder;
|
||||||
|
}
|
||||||
|
|
||||||
|
const aDept = a.departments.find(
|
||||||
|
(d: any) => d.departmentId === filterDepartment,
|
||||||
|
);
|
||||||
|
|
||||||
|
const bDept = b.departments.find(
|
||||||
|
(d: any) => d.departmentId === filterDepartment,
|
||||||
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
(aDept?.deptSortOrder ?? Number.MAX_SAFE_INTEGER) -
|
||||||
|
(bDept?.deptSortOrder ?? Number.MAX_SAFE_INTEGER)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setCurrentPage(1);
|
setCurrentPage(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user