import Button from "@material-ui/core/Button"; import Dialog from "@material-ui/core/Dialog"; import DialogActions from "@material-ui/core/DialogActions"; import DialogContent from "@material-ui/core/DialogContent"; import DialogTitle from "@material-ui/core/DialogTitle"; import { createStyles, Theme, withStyles, WithStyles } from "@material-ui/core/styles"; import * as React from "react"; import ConfirmButton, { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; import Form from "@saleor/components/Form"; import Money from "@saleor/components/Money"; import { SingleSelectField } from "@saleor/components/SingleSelectField"; import i18n from "../../../i18n"; import { OrderDetails_order_availableShippingMethods } from "../../types/OrderDetails"; export interface FormData { shippingMethod: string; } const styles = (theme: Theme) => createStyles({ dialog: { overflowY: "visible" }, menuItem: { display: "flex", width: "100%" }, root: { overflowY: "visible", width: theme.breakpoints.values.sm }, shippingMethodName: { flex: 1, overflowX: "hidden", textOverflow: "ellipsis" } }); interface OrderShippingMethodEditDialogProps extends WithStyles { confirmButtonState: ConfirmButtonTransitionState; open: boolean; shippingMethod: string; shippingMethods?: OrderDetails_order_availableShippingMethods[]; onClose(); onSubmit?(data: FormData); } const OrderShippingMethodEditDialog = withStyles(styles, { name: "OrderShippingMethodEditDialog" })( ({ classes, confirmButtonState, open, shippingMethod, shippingMethods, onClose, onSubmit }: OrderShippingMethodEditDialogProps) => { const choices = shippingMethods ? shippingMethods.map(s => ({ label: (
{s.name}  
), value: s.id })) : []; const initialForm: FormData = { shippingMethod }; return ( {i18n.t("Edit shipping method", { context: "title" })}
{({ change, data }) => ( <> {i18n.t("Confirm", { context: "button" })} )}
); } ); OrderShippingMethodEditDialog.displayName = "OrderShippingMethodEditDialog"; export default OrderShippingMethodEditDialog;