feature/IO-3255-simplified-parts-management - Cleanup
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { Card, Table } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
import { Link } from "react-router-dom";
|
||||
@@ -10,12 +10,15 @@ import { DateTimeFormatter } from "../../utils/DateFormatter";
|
||||
import { alphaSort, dateSort, statusSort } from "../../utils/sorters";
|
||||
import OwnerNameDisplay, { OwnerNameDisplayFunction } from "../owner-name-display/owner-name-display.component";
|
||||
import VehicleDetailUpdateJobsComponent from "../vehicle-detail-update-jobs/vehicle-detail-update-jobs.component";
|
||||
import { selectIsPartsEntry } from "../../redux/application/application.selectors";
|
||||
import getPartsBasePath from "../../utils/getPartsBasePath.js";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
bodyshop: selectBodyshop
|
||||
bodyshop: selectBodyshop,
|
||||
isPartsEntry: selectIsPartsEntry
|
||||
});
|
||||
|
||||
export function VehicleDetailJobsComponent({ vehicle, bodyshop }) {
|
||||
export function VehicleDetailJobsComponent({ vehicle, bodyshop, isPartsEntry }) {
|
||||
const { t } = useTranslation();
|
||||
const [selectedJobs, setSelectedJobs] = useState([]);
|
||||
const [state, setState] = useState({
|
||||
@@ -23,6 +26,8 @@ export function VehicleDetailJobsComponent({ vehicle, bodyshop }) {
|
||||
filteredInfo: { text: "" }
|
||||
});
|
||||
|
||||
const basePath = getPartsBasePath(isPartsEntry);
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
setState({ ...state, filteredInfo: filters, sortedInfo: sorter });
|
||||
};
|
||||
@@ -34,7 +39,7 @@ export function VehicleDetailJobsComponent({ vehicle, bodyshop }) {
|
||||
key: "ro_number",
|
||||
ellipsis: true,
|
||||
render: (text, record) => (
|
||||
<Link to={`/manage/jobs/${record.id}`}>{record.ro_number || t("general.labels.na")}</Link>
|
||||
<Link to={`${basePath}/jobs/${record.id}`}>{record.ro_number || t("general.labels.na")}</Link>
|
||||
),
|
||||
sorter: (a, b) => alphaSort(a.ro_number, b.ro_number),
|
||||
sortOrder: state.sortedInfo.columnKey === "ro_number" && state.sortedInfo.order
|
||||
@@ -45,11 +50,14 @@ export function VehicleDetailJobsComponent({ vehicle, bodyshop }) {
|
||||
key: "owner",
|
||||
sorter: (a, b) => alphaSort(OwnerNameDisplayFunction(a), OwnerNameDisplayFunction(b)),
|
||||
sortOrder: state.sortedInfo.columnKey === "owner" && state.sortedInfo.order,
|
||||
render: (text, record) => (
|
||||
<Link to={`/manage/owners/${record.owner.id}`}>
|
||||
render: (text, record) =>
|
||||
!isPartsEntry ? (
|
||||
<Link to={`${basePath}/owners/${record.owner.id}`}>
|
||||
<OwnerNameDisplay ownerObject={record} />
|
||||
</Link>
|
||||
) : (
|
||||
<OwnerNameDisplay ownerObject={record} />
|
||||
</Link>
|
||||
)
|
||||
)
|
||||
},
|
||||
{
|
||||
title: t("jobs.fields.clm_no"),
|
||||
@@ -68,19 +76,15 @@ export function VehicleDetailJobsComponent({ vehicle, bodyshop }) {
|
||||
text: status,
|
||||
value: status
|
||||
})),
|
||||
onFilter: (value, record) => value.includes(record.status),
|
||||
onFilter: (value, record) => value.includes(record.status)
|
||||
},
|
||||
{
|
||||
title: t("jobs.fields.actual_completion"),
|
||||
dataIndex: "actual_completion",
|
||||
key: "actual_completion",
|
||||
render: (text, record) => (
|
||||
<DateTimeFormatter>{record.actual_completion}</DateTimeFormatter>
|
||||
),
|
||||
render: (text, record) => <DateTimeFormatter>{record.actual_completion}</DateTimeFormatter>,
|
||||
sorter: (a, b) => dateSort(a.actual_completion, b.actual_completion),
|
||||
sortOrder:
|
||||
state.sortedInfo.columnKey === "actual_completion" &&
|
||||
state.sortedInfo.order,
|
||||
sortOrder: state.sortedInfo.columnKey === "actual_completion" && state.sortedInfo.order
|
||||
},
|
||||
{
|
||||
title: t("jobs.fields.clm_total"),
|
||||
|
||||
Reference in New Issue
Block a user