Refactored some of the job detail form to use context. Created claims component.

This commit is contained in:
Patrick Fic
2020-01-27 18:18:55 -08:00
parent b5e9c65aee
commit 265bc7d486
9 changed files with 169 additions and 81 deletions

View File

@@ -5,11 +5,12 @@ import { useTranslation } from "react-i18next";
import AlertComponent from "../../components/alert/alert.component";
import SpinComponent from "../../components/loading-spinner/loading-spinner.component";
import {
CONVERT_JOB_TO_RO,
GET_JOB_BY_PK,
UPDATE_JOB,
CONVERT_JOB_TO_RO
UPDATE_JOB
} from "../../graphql/jobs.queries";
import JobsDetailPage from "./jobs-detail.page.component";
import JobDetailFormContext from "./jobs-detail.page.context";
function JobsDetailPageContainer({ match, form }) {
const { jobId } = match.params;
@@ -44,32 +45,30 @@ function JobsDetailPageContainer({ match, form }) {
if (!err) {
mutationUpdateJob({
variables: { jobId: data.jobs_by_pk.id, job: values }
}).then(r =>
}).then(r => {
notification["success"]({
message: t("jobs.successes.savetitle")
})
);
});
//TODO: Better way to reset the field decorators?
refetch().then(r => form.resetFields());
});
}
});
};
const handleChange = event => {
//const { name, value } = event.target ? event.target : event;
//setJobContext({ ...jobContext, [name]: value });
};
if (loading) return <SpinComponent />;
if (error) return <AlertComponent message={error.message} type='error' />;
return data.jobs_by_pk ? (
<JobsDetailPage
job={data.jobs_by_pk}
mutationUpdateJob={mutationUpdateJob}
mutationConvertJob={mutationConvertJob}
handleSubmit={handleSubmit}
handleChange={handleChange}
getFieldDecorator={form.getFieldDecorator}
refetch={refetch}
/>
<JobDetailFormContext.Provider value={form}>
<JobsDetailPage
job={data.jobs_by_pk}
mutationUpdateJob={mutationUpdateJob}
mutationConvertJob={mutationConvertJob}
handleSubmit={handleSubmit}
getFieldDecorator={form.getFieldDecorator}
refetch={refetch}
/>
</JobDetailFormContext.Provider>
) : (
<AlertComponent message={t("jobs.errors.noaccess")} type='error' />
);