37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
import { useLazyQuery, useQuery } from "@apollo/react-hooks";
|
|
import React from "react";
|
|
import { connect } from "react-redux";
|
|
import { createStructuredSelector } from "reselect";
|
|
import { GET_JOB_LINES_TO_ENTER_INVOICE } from "../../graphql/jobs-lines.queries";
|
|
import { SEARCH_VENDOR_AUTOCOMPLETE } from "../../graphql/vendors.queries";
|
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
|
import InvoiceFormComponent from "./invoice-form.component";
|
|
|
|
const mapStateToProps = createStructuredSelector({
|
|
bodyshop: selectBodyshop,
|
|
});
|
|
|
|
export function InvoiceFormContainer({ bodyshop, form, invoiceEdit }) {
|
|
const { data: VendorAutoCompleteData } = useQuery(SEARCH_VENDOR_AUTOCOMPLETE);
|
|
|
|
const [loadLines, { data: lineData }] = useLazyQuery(
|
|
GET_JOB_LINES_TO_ENTER_INVOICE
|
|
);
|
|
|
|
return (
|
|
<div>
|
|
<InvoiceFormComponent
|
|
form={form}
|
|
invoiceEdit={invoiceEdit}
|
|
vendorAutoCompleteOptions={
|
|
VendorAutoCompleteData && VendorAutoCompleteData.vendors
|
|
}
|
|
loadLines={loadLines}
|
|
lineData={lineData ? lineData.joblines : []}
|
|
responsibilityCenters={bodyshop.md_responsibility_centers || null}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|
|
export default connect(mapStateToProps, null)(InvoiceFormContainer);
|