2019-08-09 10:26:22 +00:00
|
|
|
import React from "react";
|
2019-06-19 14:40:52 +00:00
|
|
|
|
|
|
|
import { getMutationProviderData } from "../../misc";
|
|
|
|
import { PartialMutationProviderOutput } from "../../types";
|
|
|
|
import {
|
|
|
|
TypedVariantDeleteMutation,
|
|
|
|
TypedVariantImageAssignMutation,
|
|
|
|
TypedVariantImageUnassignMutation,
|
|
|
|
TypedVariantUpdateMutation
|
|
|
|
} from "../mutations";
|
|
|
|
import { VariantDelete, VariantDeleteVariables } from "../types/VariantDelete";
|
|
|
|
import {
|
|
|
|
VariantImageAssign,
|
|
|
|
VariantImageAssignVariables
|
|
|
|
} from "../types/VariantImageAssign";
|
|
|
|
import {
|
|
|
|
VariantImageUnassign,
|
|
|
|
VariantImageUnassignVariables
|
|
|
|
} from "../types/VariantImageUnassign";
|
|
|
|
import { VariantUpdate, VariantUpdateVariables } from "../types/VariantUpdate";
|
|
|
|
|
|
|
|
interface VariantDeleteOperationsProps {
|
2019-11-07 11:34:54 +00:00
|
|
|
children: (props: {
|
|
|
|
deleteVariant: PartialMutationProviderOutput<
|
|
|
|
VariantDelete,
|
|
|
|
VariantDeleteVariables
|
|
|
|
>;
|
|
|
|
updateVariant: PartialMutationProviderOutput<
|
|
|
|
VariantUpdate,
|
|
|
|
VariantUpdateVariables
|
|
|
|
>;
|
|
|
|
assignImage: PartialMutationProviderOutput<
|
|
|
|
VariantImageAssign,
|
|
|
|
VariantImageAssignVariables
|
|
|
|
>;
|
|
|
|
unassignImage: PartialMutationProviderOutput<
|
|
|
|
VariantImageUnassign,
|
|
|
|
VariantImageUnassignVariables
|
|
|
|
>;
|
|
|
|
}) => React.ReactNode;
|
2019-06-19 14:40:52 +00:00
|
|
|
onDelete?: (data: VariantDelete) => void;
|
|
|
|
onImageAssign?: (data: VariantImageAssign) => void;
|
|
|
|
onImageUnassign?: (data: VariantImageUnassign) => void;
|
|
|
|
onUpdate?: (data: VariantUpdate) => void;
|
|
|
|
}
|
|
|
|
|
2019-11-07 11:34:54 +00:00
|
|
|
const VariantUpdateOperations: React.FC<VariantDeleteOperationsProps> = ({
|
|
|
|
children,
|
|
|
|
onDelete,
|
|
|
|
onUpdate,
|
|
|
|
onImageAssign,
|
|
|
|
onImageUnassign
|
2019-12-02 10:49:14 +00:00
|
|
|
}) => (
|
|
|
|
<TypedVariantImageAssignMutation onCompleted={onImageAssign}>
|
|
|
|
{(...assignImage) => (
|
|
|
|
<TypedVariantImageUnassignMutation onCompleted={onImageUnassign}>
|
|
|
|
{(...unassignImage) => (
|
|
|
|
<TypedVariantUpdateMutation onCompleted={onUpdate}>
|
|
|
|
{(...updateVariant) => (
|
|
|
|
<TypedVariantDeleteMutation onCompleted={onDelete}>
|
|
|
|
{(...deleteVariant) =>
|
|
|
|
children({
|
|
|
|
assignImage: getMutationProviderData(...assignImage),
|
|
|
|
deleteVariant: getMutationProviderData(...deleteVariant),
|
|
|
|
unassignImage: getMutationProviderData(...unassignImage),
|
|
|
|
updateVariant: getMutationProviderData(...updateVariant)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
</TypedVariantDeleteMutation>
|
|
|
|
)}
|
|
|
|
</TypedVariantUpdateMutation>
|
|
|
|
)}
|
|
|
|
</TypedVariantImageUnassignMutation>
|
|
|
|
)}
|
|
|
|
</TypedVariantImageAssignMutation>
|
|
|
|
);
|
2019-06-19 14:40:52 +00:00
|
|
|
export default VariantUpdateOperations;
|