From c4c646ba35b04212a1823a8cd017532e9c1a7013 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 9 Sep 2020 12:16:03 -0700 Subject: [PATCH] Fixed remove from production button not closing drawer. BOD-315 --- .../components/barcode-popup/barcode-popup.component.jsx | 7 ++++--- .../parts-status-pie/parts-status-pie.component.jsx | 2 +- .../production-list-detail.component.jsx | 4 ++-- .../production-remove-button.component.jsx | 8 ++++++++ client/src/graphql/jobs.queries.js | 5 +++++ 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/client/src/components/barcode-popup/barcode-popup.component.jsx b/client/src/components/barcode-popup/barcode-popup.component.jsx index 6e990ce9f..cd59a4a7c 100644 --- a/client/src/components/barcode-popup/barcode-popup.component.jsx +++ b/client/src/components/barcode-popup/barcode-popup.component.jsx @@ -9,11 +9,12 @@ export default function BarcodePopupComponent({ value, children }) { - }> + } + > {children ? children : {t("general.labels.barcode")}} diff --git a/client/src/components/parts-status-pie/parts-status-pie.component.jsx b/client/src/components/parts-status-pie/parts-status-pie.component.jsx index ee574c527..d5f75190e 100644 --- a/client/src/components/parts-status-pie/parts-status-pie.component.jsx +++ b/client/src/components/parts-status-pie/parts-status-pie.component.jsx @@ -37,7 +37,7 @@ export function PartsStatusPie({ bodyshop, joblines_status }) { const Calculatedata = useCallback( (data) => { - if (data.length > 0) { + if (data && data.length > 0) { const statusMapping = {}; data.map((i) => { if (!statusMapping[i.status]) diff --git a/client/src/components/production-list-detail/production-list-detail.component.jsx b/client/src/components/production-list-detail/production-list-detail.component.jsx index 147105d3e..aeafda94a 100644 --- a/client/src/components/production-list-detail/production-list-detail.component.jsx +++ b/client/src/components/production-list-detail/production-list-detail.component.jsx @@ -3,7 +3,7 @@ import { Descriptions, Drawer } from "antd"; import { useTranslation } from "react-i18next"; import CurrencyFormatter from "../../utils/CurrencyFormatter"; import { DateFormatter } from "../../utils/DateFormatter"; -import PartsPieGraph from "../parts-status-pie/parts-status-pie.component"; +import PartsStatusPie from "../parts-status-pie/parts-status-pie.component"; import Barcode from "react-barcode"; import ProductionRemoveButton from "../production-remove-button/production-remove-button.component"; import queryString from "query-string"; @@ -62,7 +62,7 @@ export default function ProductionListDetail({ jobs }) { {theJob.scheduled_completion} - + diff --git a/client/src/components/production-remove-button/production-remove-button.component.jsx b/client/src/components/production-remove-button/production-remove-button.component.jsx index 83d67cd5d..60d27006b 100644 --- a/client/src/components/production-remove-button/production-remove-button.component.jsx +++ b/client/src/components/production-remove-button/production-remove-button.component.jsx @@ -4,11 +4,16 @@ import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { logImEXEvent } from "../../firebase/firebase.utils"; import { UPDATE_JOB } from "../../graphql/jobs.queries"; +import queryString from "query-string"; +import { useHistory, useLocation } from "react-router-dom"; export default function ProductionRemoveButton({ jobId }) { const [removeJobFromProduction] = useMutation(UPDATE_JOB); const { t } = useTranslation(); const [loading, setLoading] = useState(false); + const search = queryString.parse(useLocation().search); + const history = useHistory(); + const { selected } = search; const handleRemoveFromProd = async () => { logImEXEvent("production_remove_job"); @@ -19,6 +24,8 @@ export default function ProductionRemoveButton({ jobId }) { if (!!!result.errors) { notification["success"]({ message: t("production.successes.removed") }); + delete search.selected; + history.push({ search: queryString.stringify(search) }); } else { notification["error"]({ message: t("production.errors.removing", { @@ -26,6 +33,7 @@ export default function ProductionRemoveButton({ jobId }) { }), }); } + setLoading(false); }; diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index 698b38f04..b0a5325aa 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -74,6 +74,11 @@ export const SUBSCRIPTION_JOBS_IN_PRODUCTION = gql` special_coverage_policy production_vars kanbanparent + joblines_status { + part_type + count + status + } employee_body employee_body_rel { id