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