From f66be95b57e593d2b34bedf1ec264f16c4378409 Mon Sep 17 00:00:00 2001 From: Tomasz Szymanski Date: Tue, 20 Oct 2020 15:19:58 +0200 Subject: [PATCH] Remove the finalization dialog --- .../OrderDraftFinalizeDialog.tsx | 124 ------------------ .../OrderDraftFinalizeDialog/index.ts | 2 - src/orders/views/OrderDetails/index.tsx | 50 +------ .../orders/OrderDraftFinalizeDialog.tsx | 46 ------- 4 files changed, 3 insertions(+), 219 deletions(-) delete mode 100644 src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx delete mode 100644 src/orders/components/OrderDraftFinalizeDialog/index.ts delete mode 100644 src/storybook/stories/orders/OrderDraftFinalizeDialog.tsx diff --git a/src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx b/src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx deleted file mode 100644 index ba8ab3482..000000000 --- a/src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import DialogContentText from "@material-ui/core/DialogContentText"; -import ActionDialog from "@saleor/components/ActionDialog"; -import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; -import FormSpacer from "@saleor/components/FormSpacer"; -import { OrderErrorFragment } from "@saleor/fragments/types/OrderErrorFragment"; -import useModalDialogErrors from "@saleor/hooks/useModalDialogErrors"; -import getOrderErrorMessage from "@saleor/utils/errors/order"; -import React from "react"; -import { FormattedMessage, IntlShape, useIntl } from "react-intl"; - -export enum OrderDraftFinalizeWarning { - NO_SHIPPING, - NO_BILLING, - NO_USER, - NO_SHIPPING_METHOD, - UNNECESSARY_SHIPPING_METHOD -} - -export interface OrderDraftFinalizeDialogProps { - confirmButtonState: ConfirmButtonTransitionState; - errors: OrderErrorFragment[]; - open: boolean; - orderNumber: string; - warnings: OrderDraftFinalizeWarning[]; - onClose: () => void; - onConfirm: () => void; -} - -function translateWarnings( - intl: IntlShape -): Record { - return { - [OrderDraftFinalizeWarning.NO_BILLING]: intl.formatMessage({ - defaultMessage: "No billing address" - }), - [OrderDraftFinalizeWarning.NO_SHIPPING]: intl.formatMessage({ - defaultMessage: "No shipping address" - }), - [OrderDraftFinalizeWarning.NO_SHIPPING_METHOD]: intl.formatMessage({ - defaultMessage: "Some products require shipping, but no method provided" - }), - [OrderDraftFinalizeWarning.NO_USER]: intl.formatMessage({ - defaultMessage: "No user information" - }), - [OrderDraftFinalizeWarning.UNNECESSARY_SHIPPING_METHOD]: intl.formatMessage( - { - defaultMessage: "Shipping method provided, but no product requires it" - } - ) - }; -} - -const OrderDraftFinalizeDialog: React.FC = ({ - confirmButtonState, - errors: apiErrors, - open, - warnings, - onClose, - onConfirm, - orderNumber -}) => { - const intl = useIntl(); - const errors = useModalDialogErrors(apiErrors, open); - - const translatedWarnings = translateWarnings(intl); - - return ( - 0 - ? intl.formatMessage({ - defaultMessage: "Finalize anyway", - description: "button" - }) - : intl.formatMessage({ - defaultMessage: "Finalize", - description: "button" - }) - } - confirmButtonState={confirmButtonState} - variant={warnings.length > 0 ? "delete" : "default"} - > - - {warnings.length > 0 && ( - <> -

- -

-
    - {warnings.map(warning => ( -
  • {translatedWarnings[warning]}
  • - ))} -
- - )} - - {errors.length > 0 && ( - <> - - {errors.map((err, index) => ( - - {getOrderErrorMessage(err, intl)} - - ))} - - )} -
-
- ); -}; -OrderDraftFinalizeDialog.displayName = "OrderDraftFinalize"; -export default OrderDraftFinalizeDialog; diff --git a/src/orders/components/OrderDraftFinalizeDialog/index.ts b/src/orders/components/OrderDraftFinalizeDialog/index.ts deleted file mode 100644 index 8867a8bca..000000000 --- a/src/orders/components/OrderDraftFinalizeDialog/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default } from "./OrderDraftFinalizeDialog"; -export * from "./OrderDraftFinalizeDialog"; diff --git a/src/orders/views/OrderDetails/index.tsx b/src/orders/views/OrderDetails/index.tsx index fa9f48385..92b646f42 100644 --- a/src/orders/views/OrderDetails/index.tsx +++ b/src/orders/views/OrderDetails/index.tsx @@ -39,9 +39,6 @@ import OrderAddressEditDialog from "../../components/OrderAddressEditDialog"; import OrderCancelDialog from "../../components/OrderCancelDialog"; import OrderDetailsPage from "../../components/OrderDetailsPage"; import OrderDraftCancelDialog from "../../components/OrderDraftCancelDialog/OrderDraftCancelDialog"; -import OrderDraftFinalizeDialog, { - OrderDraftFinalizeWarning -} from "../../components/OrderDraftFinalizeDialog"; import OrderDraftPage from "../../components/OrderDraftPage"; import OrderFulfillmentCancelDialog from "../../components/OrderFulfillmentCancelDialog"; import OrderFulfillmentTrackingDialog from "../../components/OrderFulfillmentTrackingDialog"; @@ -52,7 +49,6 @@ import OrderProductAddDialog from "../../components/OrderProductAddDialog"; import OrderShippingMethodEditDialog from "../../components/OrderShippingMethodEditDialog"; import OrderOperations from "../../containers/OrderOperations"; import { TypedOrderDetailsQuery, useOrderVariantSearch } from "../../queries"; -import { OrderDetails_order } from "../../types/OrderDetails"; import { orderDraftListUrl, orderFulfillUrl, @@ -63,36 +59,6 @@ import { } from "../../urls"; import { OrderDetailsMessages } from "./OrderDetailsMessages"; -const orderDraftFinalizeWarnings = (order: OrderDetails_order) => { - const warnings = [] as OrderDraftFinalizeWarning[]; - if (!(order && order.shippingAddress)) { - warnings.push(OrderDraftFinalizeWarning.NO_SHIPPING); - } - if (!(order && order.billingAddress)) { - warnings.push(OrderDraftFinalizeWarning.NO_BILLING); - } - if (!(order && (order.user || order.userEmail))) { - warnings.push(OrderDraftFinalizeWarning.NO_USER); - } - if ( - order && - order.lines && - order.lines.filter(line => line.isShippingRequired).length > 0 && - order.shippingMethod === null - ) { - warnings.push(OrderDraftFinalizeWarning.NO_SHIPPING_METHOD); - } - if ( - order && - order.lines && - order.lines.filter(line => line.isShippingRequired).length === 0 && - order.shippingMethod !== null - ) { - warnings.push(OrderDraftFinalizeWarning.UNNECESSARY_SHIPPING_METHOD); - } - return warnings; -}; - interface OrderDetailsProps { id: string; params: OrderUrlQueryParams; @@ -513,7 +479,9 @@ export const OrderDetails: React.FC = ({ id, params }) => { input: data }) } - onDraftFinalize={() => openModal("finalize")} + onDraftFinalize={() => + orderDraftFinalize.mutate({ id }) + } onDraftRemove={() => openModal("cancel")} onOrderLineAdd={() => openModal("add-order-line")} onBack={() => navigate(orderDraftListUrl())} @@ -561,18 +529,6 @@ export const OrderDetails: React.FC = ({ id, params }) => { open={params.action === "cancel"} orderNumber={getStringOrPlaceholder(order?.number)} /> - orderDraftFinalize.mutate({ id })} - open={params.action === "finalize"} - orderNumber={getStringOrPlaceholder(order?.number)} - warnings={orderDraftFinalizeWarnings(order)} - /> undefined, - onConfirm: () => undefined, - open: true, - orderNumber: "5", - warnings: [] -}; - -storiesOf("Orders / OrderDraftFinalizeDialog", module) - .addDecorator(Decorator) - .add("default", () => ) - .add("with warnings", () => ( - - )) - .add("with errors", () => ( - - ));