Files
bodyshop/client/src/components/job-remove-from-parst-queue/job-remove-from-parts-queue.component.jsx
Dave Richer 3690ea0332 - Merge client update into test-beta
Signed-off-by: Dave Richer <dave@imexsystems.ca>
2024-01-18 19:20:08 -05:00

38 lines
1.1 KiB
JavaScript

import {useMutation} from "@apollo/client";
import {Checkbox, notification, Space, Spin} from "antd";
import React, {useState} from "react";
import {useTranslation} from "react-i18next";
import {UPDATE_JOB} from "../../graphql/jobs.queries";
export default function JobRemoveFromPartsQueue({checked, jobId}) {
const [updateJob] = useMutation(UPDATE_JOB);
const {t} = useTranslation();
const [loading, setLoading] = useState(false);
const handleChange = async (e) => {
setLoading(true);
const result = await updateJob({
variables: {jobId: jobId, job: {queued_for_parts: e.target.checked}},
});
if (!!!result.errors) {
notification["success"]({message: t("jobs.successes.save")});
} else {
notification["error"]({
message: t("jobs.errors.saving", {
error: JSON.stringify(result.errors),
}),
});
}
setLoading(false);
};
return (
<Space>
<Checkbox checked={checked} onChange={handleChange}/>
{loading && <Spin size="small"/>}
</Space>
);
}