42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
import React, { useState } from "react";
|
|
import AllocationsAssignmentComponent from "./allocations-assignment.component";
|
|
import { useMutation } from "react-apollo";
|
|
import { INSERT_ALLOCATION } from "../../graphql/allocations.queries";
|
|
import { useTranslation } from "react-i18next";
|
|
import { notification } from "antd";
|
|
|
|
export default function AllocationsAssignmentContainer({
|
|
jobLineId,
|
|
hours,
|
|
refetch
|
|
}) {
|
|
const visibilityState = useState(false);
|
|
const { t } = useTranslation();
|
|
const [assignment, setAssignment] = useState({
|
|
joblineid: jobLineId,
|
|
hours: parseFloat(hours),
|
|
employeeid: null
|
|
});
|
|
const [insertAllocation] = useMutation(INSERT_ALLOCATION);
|
|
|
|
const handleAssignment = () => {
|
|
insertAllocation({ variables: { alloc: { ...assignment } } }).then(r => {
|
|
notification["success"]({
|
|
message: t("employees.successes.save")
|
|
});
|
|
visibilityState[1](false);
|
|
if (refetch) refetch();
|
|
});
|
|
};
|
|
|
|
return (
|
|
<AllocationsAssignmentComponent
|
|
handleAssignment={handleAssignment}
|
|
maxHours={hours}
|
|
assignment={assignment}
|
|
setAssignment={setAssignment}
|
|
visibilityState={visibilityState}
|
|
/>
|
|
);
|
|
}
|