From 0ab019b9f7e8a8a30a91d5329301dc914686271d Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Tue, 9 Mar 2021 09:27:14 -0800 Subject: [PATCH 1/2] IO-747 Update CCC auto pagination --- .../contract-jobs/contract-jobs.component.jsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/client/src/components/contract-jobs/contract-jobs.component.jsx b/client/src/components/contract-jobs/contract-jobs.component.jsx index 8558109f9..909faac30 100644 --- a/client/src/components/contract-jobs/contract-jobs.component.jsx +++ b/client/src/components/contract-jobs/contract-jobs.component.jsx @@ -160,11 +160,13 @@ export default function ContractsJobsComponent({ ); const defaultCurrent = useMemo(() => { - return ( - Math.round( - ((filteredData.findIndex((v) => v.id === selectedJob) || 0) + 1) / 10 - ) + 1 - ); + const page = + Math.floor( + (filteredData.findIndex((v) => v.id === selectedJob) || 0) / 3 + ) + 1; + console.log("Page", page); + + return page; }, [filteredData, selectedJob]); if (loading) return ; @@ -181,6 +183,7 @@ export default function ContractsJobsComponent({ size="small" pagination={{ position: "top", + defaultPageSize: 3, defaultCurrent: defaultCurrent, }} columns={columns} From 8651e03de1f239f2e715939ef2752b53f7ec376c Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Tue, 9 Mar 2021 09:51:38 -0800 Subject: [PATCH 2/2] 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);