saleor-dashboard/src/orders/components/OrderBulkCancelDialog/OrderBulkCancelDialog.tsx

52 lines
1.6 KiB
TypeScript
Raw Normal View History

2019-06-19 14:40:52 +00:00
import DialogContentText from "@material-ui/core/DialogContentText";
2019-08-09 10:26:22 +00:00
import React from "react";
2019-06-19 14:40:52 +00:00
import ActionDialog from "@saleor/components/ActionDialog";
import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton";
import ControlledCheckbox from "@saleor/components/ControlledCheckbox";
import i18n from "../../../i18n";
export interface OrderBulkCancelDialogProps {
confirmButtonState: ConfirmButtonTransitionState;
numberOfOrders: string;
open: boolean;
onClose: () => void;
onConfirm: (restock: boolean) => void;
}
const OrderBulkCancelDialog: React.StatelessComponent<
OrderBulkCancelDialogProps
> = ({ confirmButtonState, numberOfOrders, open, onClose, onConfirm }) => {
const [restock, setRestock] = React.useState(true);
return (
<ActionDialog
confirmButtonState={confirmButtonState}
open={open}
variant="delete"
title={i18n.t("Cancel Orders")}
onClose={onClose}
onConfirm={() => onConfirm(restock)}
>
<DialogContentText
dangerouslySetInnerHTML={{
__html: i18n.t(
"Are you sure you want to cancel <strong>{{ number }}</strong> orders?",
{
number: numberOfOrders
}
)
}}
/>
<ControlledCheckbox
checked={restock}
label={i18n.t("Release all stock allocated to these orders")}
name="restock"
onChange={event => setRestock(event.target.value)}
/>
</ActionDialog>
);
};
OrderBulkCancelDialog.displayName = "OrderBulkCancelDialog";
export default OrderBulkCancelDialog;