@@ -28,7 +28,7 @@ const sortByParentId = (arr) => {
|
||||
};
|
||||
|
||||
// Function to create board data based on statuses and jobs, with optional filtering
|
||||
export const createBoardData = (statuses, Jobs, filter) => {
|
||||
export const createBoardData = ({ statuses, data, filter }) => {
|
||||
const { search, employeeId } = filter;
|
||||
|
||||
const lanes = statuses.map((status) => ({
|
||||
@@ -38,7 +38,7 @@ export const createBoardData = (statuses, Jobs, filter) => {
|
||||
}));
|
||||
|
||||
const filteredJobs =
|
||||
(search === "" || !search) && !employeeId ? Jobs : Jobs.filter((job) => checkFilter(search, employeeId, job));
|
||||
(search === "" || !search) && !employeeId ? data : data.filter((job) => checkFilter(search, employeeId, job));
|
||||
|
||||
const DataGroupedByStatus = groupBy(filteredJobs, "status");
|
||||
|
||||
@@ -67,26 +67,24 @@ export const createBoardData = (statuses, Jobs, filter) => {
|
||||
|
||||
// Function to check if a job matches the search and/or employeeId filter
|
||||
const checkFilter = (search, employeeId, job) => {
|
||||
const lowerSearch = search?.toLowerCase() || "";
|
||||
const lowerSearch = search?.toLowerCase() ?? "";
|
||||
|
||||
const matchesSearch =
|
||||
lowerSearch &&
|
||||
((job.ro_number || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.ownr_fn || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.ownr_co_nm || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.ownr_ln || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.status || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.v_make_desc || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.v_model_desc || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.clm_no || "").toLowerCase().includes(lowerSearch) ||
|
||||
(job.plate_no || "").toLowerCase().includes(lowerSearch));
|
||||
[
|
||||
job.ro_number,
|
||||
job.ownr_fn,
|
||||
job.ownr_co_nm,
|
||||
job.ownr_ln,
|
||||
job.status,
|
||||
job.v_make_desc,
|
||||
job.v_model_desc,
|
||||
job.clm_no,
|
||||
job.plate_no
|
||||
].some((field) => field?.toLowerCase().includes(lowerSearch));
|
||||
|
||||
const matchesEmployeeId =
|
||||
employeeId &&
|
||||
(job.employee_body === employeeId ||
|
||||
job.employee_prep === employeeId ||
|
||||
job.employee_csr === employeeId ||
|
||||
job.employee_refinish === employeeId);
|
||||
employeeId && [job.employee_body, job.employee_prep, job.employee_csr, job.employee_refinish].includes(employeeId);
|
||||
|
||||
return matchesSearch || matchesEmployeeId;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user