import { useLazyQuery, useQuery } from "@apollo/client"; import { useSplitTreatments } from "@splitsoftware/splitio-react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { QUERY_OUTSTANDING_INVENTORY } from "../../graphql/inventory.queries"; import { GET_JOB_LINES_TO_ENTER_BILL } from "../../graphql/jobs-lines.queries"; import { QUERY_UNRECEIVED_LINES } from "../../graphql/parts-orders.queries"; import { SEARCH_VENDOR_AUTOCOMPLETE } from "../../graphql/vendors.queries"; import { selectBodyshop } from "../../redux/user/user.selectors"; import BillCmdReturnsTableComponent from "../bill-cm-returns-table/bill-cm-returns-table.component"; import BillInventoryTable from "../bill-inventory-table/bill-inventory-table.component"; import BillFormComponent from "./bill-form.component"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop }); export function BillFormContainer({ bodyshop, form, billEdit, disabled, disableInvNumber, disableInHouse }) { const { treatments: { Simple_Inventory } } = useSplitTreatments({ attributes: {}, names: ["Simple_Inventory"], splitKey: bodyshop && bodyshop.imexshopid }); const { data: VendorAutoCompleteData } = useQuery(SEARCH_VENDOR_AUTOCOMPLETE, { fetchPolicy: "network-only", nextFetchPolicy: "network-only" }); const [loadLines, { data: lineData }] = useLazyQuery(GET_JOB_LINES_TO_ENTER_BILL); const [loadOutstandingReturns, { loading: returnLoading, data: returnData }] = useLazyQuery(QUERY_UNRECEIVED_LINES); const [loadInventory, { loading: inventoryLoading, data: inventoryData }] = useLazyQuery(QUERY_OUTSTANDING_INVENTORY); return ( <> {!billEdit && } {Simple_Inventory.treatment === "on" && ( )} ); } export default connect(mapStateToProps, null)(BillFormContainer);