From 8651e03de1f239f2e715939ef2752b53f7ec376c Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Tue, 9 Mar 2021 09:51:38 -0800 Subject: [PATCH] IO-751 Resolve job close hang with unsaved changes --- .../contract-jobs/contract-jobs.component.jsx | 3 +-- .../src/pages/jobs-close/jobs-close.component.jsx | 14 ++++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/client/src/components/contract-jobs/contract-jobs.component.jsx b/client/src/components/contract-jobs/contract-jobs.component.jsx index 909faac30..6eba90164 100644 --- a/client/src/components/contract-jobs/contract-jobs.component.jsx +++ b/client/src/components/contract-jobs/contract-jobs.component.jsx @@ -1,5 +1,5 @@ import { Input, Table } from "antd"; -import React, { useState, useMemo } from "react"; +import React, { useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { alphaSort } from "../../utils/sorters"; import LoadingSkeleton from "../loading-skeleton/loading-skeleton.component"; @@ -164,7 +164,6 @@ export default function ContractsJobsComponent({ Math.floor( (filteredData.findIndex((v) => v.id === selectedJob) || 0) / 3 ) + 1; - console.log("Page", page); return page; }, [filteredData, selectedJob]); diff --git a/client/src/pages/jobs-close/jobs-close.component.jsx b/client/src/pages/jobs-close/jobs-close.component.jsx index 34ae0ca2c..a76adc926 100644 --- a/client/src/pages/jobs-close/jobs-close.component.jsx +++ b/client/src/pages/jobs-close/jobs-close.component.jsx @@ -1,6 +1,6 @@ +import { useApolloClient, useMutation } from "@apollo/client"; import { Button, Form, notification, Popconfirm, Space } from "antd"; import React, { useState } from "react"; -import { useApolloClient, useMutation } from "@apollo/client"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { useHistory } from "react-router-dom"; @@ -34,6 +34,8 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) { setLoading(true); const result = await client.mutate({ mutation: generateJobLinesUpdatesForInvoicing(values.joblines), + refetchQueries: ["QUERY_JOB_CLOSE_DETAILS"], + awaitRefetchQueries: true, }); if (!!!result.errors) { notification["success"]({ message: t("jobs.successes.save") }); @@ -45,8 +47,8 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) { }), }); } - // form.resetFields(); - // form.resetFields(); + form.resetFields(); + form.resetFields(); setLoading(false); }; @@ -63,7 +65,11 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) { }); if (!!!result.errors) { - notification["success"]({ message: t("job.successes.closed") }); + setLoading(false); + + notification["success"]({ + message: t("jobs.successes.closed"), + }); history.push(`/manage/jobs/${job.id}`); } else { setLoading(false);