63 lines
2.1 KiB
JavaScript
63 lines
2.1 KiB
JavaScript
import { useQuery } from "@apollo/react-hooks";
|
|
import React, { useState } from "react";
|
|
|
|
import { GET_JOB_LINES_BY_PK } from "../../graphql/jobs-lines.queries";
|
|
import AlertComponent from "../alert/alert.component";
|
|
import JobLinesComponent from "./job-lines.component";
|
|
|
|
//export default Form.create({ name: "JobsDetailJobLines" })(
|
|
|
|
export default function JobLinesContainer({ jobId }) {
|
|
const { loading, error, data } = useQuery(GET_JOB_LINES_BY_PK, {
|
|
variables: { id: jobId },
|
|
fetchPolicy: "network-only"
|
|
});
|
|
|
|
const [searchText, setSearchText] = useState("");
|
|
const [selectedLines, setSelectedLines] = useState([]);
|
|
const partsOrderModalVisible = useState(false);
|
|
if (error) return <AlertComponent message={error.message} type="error" />;
|
|
|
|
return (
|
|
<JobLinesComponent
|
|
loading={loading}
|
|
jobLines={
|
|
data && data.joblines
|
|
? searchText
|
|
? data.joblines.filter(
|
|
jl =>
|
|
(jl.unq_seq || "")
|
|
.toString()
|
|
.toLowerCase()
|
|
.includes(searchText.toLowerCase()) ||
|
|
(jl.line_desc || "")
|
|
.toLowerCase()
|
|
.includes(searchText.toLowerCase()) ||
|
|
(jl.part_type || "")
|
|
.toLowerCase()
|
|
.includes(searchText.toLowerCase()) ||
|
|
(jl.oem_partno || "")
|
|
.toLowerCase()
|
|
.includes(searchText.toLowerCase()) ||
|
|
(jl.op_code_desc || "")
|
|
.toLowerCase()
|
|
.includes(searchText.toLowerCase()) ||
|
|
(jl.db_price || "")
|
|
.toString()
|
|
.includes(searchText.toLowerCase()) ||
|
|
(jl.act_price || "")
|
|
.toString()
|
|
.includes(searchText.toLowerCase())
|
|
)
|
|
: data.joblines
|
|
: null
|
|
}
|
|
setSearchText={setSearchText}
|
|
selectedLines={selectedLines}
|
|
setSelectedLines={setSelectedLines}
|
|
partsOrderModalVisible={partsOrderModalVisible}
|
|
/>
|
|
);
|
|
}
|
|
//);
|