CLEANUP Refactored parts order to use redux modals.

This commit is contained in:
Patrick Fic
2020-04-02 17:59:42 -07:00
parent 7254622f52
commit fe002b0dff
11 changed files with 306 additions and 177 deletions

View File

@@ -1,7 +1,9 @@
import { Button, Input, Table } from "antd";
import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { Link } from "react-router-dom";
import { setModalContext } from "../../redux/modals/modals.actions";
import CurrencyFormatter from "../../utils/CurrencyFormatter";
import { alphaSort } from "../../utils/sorters";
import AllocationsAssignmentContainer from "../allocations-assignment/allocations-assignment.container";
@@ -9,14 +11,19 @@ import AllocationsBulkAssignmentContainer from "../allocations-bulk-assignment/a
import AllocationsEmployeeLabelContainer from "../allocations-employee-label/allocations-employee-label.container";
import PartsOrderModalContainer from "../parts-order-modal/parts-order-modal.container";
export default function JobLinesComponent({
const mapDispatchToProps = dispatch => ({
setPartsOrderContext: context =>
dispatch(setModalContext({ context: context, modal: "partsOrder" }))
});
export function JobLinesComponent({
setPartsOrderContext,
loading,
refetch,
jobLines,
setSearchText,
selectedLines,
setSelectedLines,
partsOrderModalVisible,
jobId,
setJobLineEditContext
}) {
@@ -24,7 +31,7 @@ export default function JobLinesComponent({
sortedInfo: {}
});
const { t } = useTranslation();
const setPartsModalVisible = partsOrderModalVisible[1];
const columns = [
{
title: t("joblines.fields.unq_seq"),
@@ -205,13 +212,7 @@ export default function JobLinesComponent({
return (
<div>
<PartsOrderModalContainer
partsOrderModalVisible={partsOrderModalVisible}
linesToOrder={selectedLines}
refetch={refetch}
jobId={jobId}
/>
<PartsOrderModalContainer />
<Table
title={() => {
return (
@@ -225,7 +226,15 @@ export default function JobLinesComponent({
/>
<Button
disabled={selectedLines.length > 0 ? false : true}
onClick={() => setPartsModalVisible(true)}
onClick={() => {
setPartsOrderContext({
actions: { refetch: refetch },
context: {
jobId: jobId,
linesToOrder: selectedLines
}
});
}}
>
{t("parts.actions.order")}
</Button>
@@ -280,3 +289,4 @@ export default function JobLinesComponent({
</div>
);
}
export default connect(null, mapDispatchToProps)(JobLinesComponent);

View File

@@ -11,10 +11,8 @@ const mapDispatchToProps = dispatch => ({
setJobLineEditContext: context =>
dispatch(setModalContext({ context: context, modal: "jobLineEdit" }))
});
export default connect(
null,
mapDispatchToProps
)(function JobLinesContainer({ jobId, setJobLineEditContext }) {
export function JobLinesContainer({ jobId, setJobLineEditContext }) {
const { loading, error, data, refetch } = useQuery(GET_JOB_LINES_BY_PK, {
variables: { id: jobId },
fetchPolicy: "network-only"
@@ -22,7 +20,6 @@ export default connect(
const [searchText, setSearchText] = useState("");
const [selectedLines, setSelectedLines] = useState([]);
const partsOrderModalVisible = useState(false);
if (error) return <AlertComponent message={error.message} type="error" />;
@@ -64,9 +61,10 @@ export default connect(
setSearchText={setSearchText}
selectedLines={selectedLines}
setSelectedLines={setSelectedLines}
partsOrderModalVisible={partsOrderModalVisible}
jobId={jobId}
setJobLineEditContext={setJobLineEditContext}
/>
);
});
}
export default connect(null, mapDispatchToProps)(JobLinesContainer);