IO-1458 Production Board Sort Order

This commit is contained in:
Patrick Fic
2021-10-12 13:49:32 -07:00
parent 10654b7916
commit 0b98d04bac
8 changed files with 211 additions and 198 deletions

View File

@@ -3,7 +3,7 @@ import React from "react";
import { Link } from "react-router-dom";
import CurrencyFormatter from "../../utils/CurrencyFormatter";
import PhoneFormatter from "../../utils/PhoneFormatter";
import { alphaSort, dateSort } from "../../utils/sorters";
import { alphaSort, dateSort, statusSort } from "../../utils/sorters";
import JobAltTransportChange from "../job-at-change/job-at-change.component";
import ProductionSubletsManageComponent from "../production-sublets-manage/production-sublets-manage.component";
import ProductionListColumnAlert from "./production-list-columns.alert.component";
@@ -17,7 +17,7 @@ import ProductionListColumnStatus from "./production-list-columns.status.compone
import ProductionlistColumnTouchTime from "./prodution-list-columns.touchtime.component";
import ProductionListLastContacted from "./production-list-columns.lastcontacted.component";
const r = ({ technician, state }) => {
const r = ({ technician, state, activeStatuses }) => {
return [
{
title: i18n.t("jobs.actions.viewdetail"),
@@ -210,7 +210,7 @@ const r = ({ technician, state }) => {
dataIndex: "status",
key: "status",
ellipsis: true,
sorter: (a, b) => alphaSort(a.status, b.status),
sorter: (a, b) => statusSort(a.status, b.status, activeStatuses),
sortOrder:
state.sortedInfo.columnKey === "status" && state.sortedInfo.order,
render: (text, record) => <ProductionListColumnStatus record={record} />,

View File

@@ -37,9 +37,11 @@ export function ProductionListTable({
.filter((pc) => pc.name === value)[0]
.columns.columnKeys.map((k) => {
return {
...ProductionListColumns({ technician, state }).find(
(e) => e.key === k.key
),
...ProductionListColumns({
technician,
state,
activeStatuses: bodyshop.md_ro_statuses.active_statuses,
}).find((e) => e.key === k.key),
width: k.width,
};
})
@@ -88,9 +90,11 @@ export function ProductionListTable({
setColumns(
bodyshop.production_config[0].columns.columnKeys.map((k) => {
return {
...ProductionListColumns({ technician, state }).find(
(e) => e.key === k.key
),
...ProductionListColumns({
technician,
state,
activeStatuses: bodyshop.md_ro_statuses.active_statuses,
}).find((e) => e.key === k.key),
width: k.width,
};
})

View File

@@ -59,9 +59,11 @@ export function ProductionListTable({
matchingColumnConfig &&
matchingColumnConfig.columns.columnKeys.map((k) => {
return {
...ProductionListColumns({ technician, state }).find(
(e) => e.key === k.key
),
...ProductionListColumns({
technician,
state,
activeStatuses: bodyshop.md_ro_statuses.active_statuses,
}).find((e) => e.key === k.key),
width: k.width,
};
})) ||

View File

@@ -11,3 +11,10 @@ export function alphaSort(a, b) {
export function dateSort(a, b) {
return new Date(b) - new Date(a);
}
export function statusSort(a, b, statusList) {
return (
statusList.findIndex((x) => x === a) > statusList.findIndex((x) => x === b)
);
//return (a ? a.toLowerCase() : "").localeCompare(b ? b.toLowerCase() : "");
}