Fixed deleting of jobs and added more detail to error result atoms. RPS-23

This commit is contained in:
Patrick Fic
2020-10-27 10:50:53 -07:00
parent 4852e325ee
commit 08ae22eef4
6 changed files with 36 additions and 7 deletions

View File

@@ -25,6 +25,8 @@ export function DeleteJobAtom({ setSelectedJobId, jobId }) {
});
const result = await deleteJob({
variables: { jobId: jobId },
refetchQueries: ["QUERY_ALL_JOBS_PAGINATED"],
awaitRefetchQueries: true,
});
if (result.errors) {

View File

@@ -37,7 +37,13 @@ export default function JobPartsGraphAtom({
}, [job, price]);
if (loading) return <Skeleton active />;
if (!job) return <ErrorResultAtom title="Error displaying job data." />;
if (!job)
return (
<ErrorResultAtom
title="Error displaying parts graphs."
errorMessage="It looks like this job doesn't exist."
/>
);
return (
<div

View File

@@ -10,7 +10,13 @@ import DeleteJobAtom from "../../atoms/delete-job/delete-job.atom";
export default function JobsDetailDescriptionMolecule({ loading, job }) {
if (loading) return <Skeleton active />;
if (!job) return <ErrorResultAtom title="Error displaying job data." />;
if (!job)
return (
<ErrorResultAtom
title="Error displaying job header data."
errorMessage="It looks like this job doesn't exist."
/>
);
return (
<div>

View File

@@ -4,6 +4,7 @@ import React, { useState } from "react";
import ipcTypes from "../../../ipc.types";
import { alphaSort } from "../../../util/sorters";
import CurrencyFormatterAtom from "../../atoms/currency-formatter/currency-formatter.atom";
import ErrorResultAtom from "../../atoms/error-result/error-result.atom";
import IgnoreJobLine from "../../atoms/ignore-job-line/ignore-job-line.atom";
import partTypeConverterAtom from "../../atoms/part-type-converter/part-type-converter.atom";
import PriceDiffPcFormatterAtom from "../../atoms/price-diff-pc-formatter/price-diff-pc-formatter.atom";
@@ -13,6 +14,14 @@ export default function JobLinesTableMolecule({ loading, job }) {
const [searchText, setSearchText] = useState("");
const [filters, setFilters] = useState({ ignore: ["false"] });
if (!job) {
return (
<ErrorResultAtom
title="Error Displaying Job Lines"
errorMessage="It looks like this job doesn't exist."
/>
);
}
const { joblines } = job;
const columns = [
{

View File

@@ -5,7 +5,7 @@ import { createStructuredSelector } from "reselect";
import { selectSelectedJobTargetPc } from "../../../redux/application/application.selectors";
import {
CalculateJobRpsDollars,
CalculateJobRpsPc
CalculateJobRpsPc,
} from "../../../util/CalculateJobRps";
import ErrorResultAtom from "../../atoms/error-result/error-result.atom";
@@ -38,7 +38,13 @@ export function JobsTargetsStatsMolecule({
);
if (loading) return <Skeleton active />;
if (!job) return <ErrorResultAtom title="Error displaying job data." />;
if (!job)
return (
<ErrorResultAtom
title="Error displaying job totals."
errorMessage="It looks like this job doesn't exist."
/>
);
return (
<div
style={{

View File

@@ -29,10 +29,10 @@ export function JobsDetailOrganism({ selectedJobId, setSelectedJobTargetPc }) {
});
useEffect(() => {
if (data)
if (data && data.jobs_by_pk)
setSelectedJobTargetPc({
group: data.jobs_by_pk.group,
v_age: data.jobs_by_pk.v_age,
group: data.jobs_by_pk && data.jobs_by_pk.group,
v_age: data.jobs_by_pk && data.jobs_by_pk.v_age,
});
}, [data, setSelectedJobTargetPc]);