From 8f25e1b9edd8fa1c6bf380f6a8a4451c1853c238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dro=C5=84?= Date: Tue, 26 Apr 2022 15:32:09 +0200 Subject: [PATCH] Navigate to order draft list after canceling order draft (#2010) --- .../OrderDetails/OrderDraftDetails/index.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx b/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx index b8ab921f8..1745829dd 100644 --- a/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx +++ b/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx @@ -2,6 +2,8 @@ import { WindowTitle } from "@saleor/components/WindowTitle"; import { DEFAULT_INITIAL_SEARCH_DATA } from "@saleor/config"; import { OrderDetailsQuery, + OrderDraftCancelMutation, + OrderDraftCancelMutationVariables, OrderDraftUpdateMutation, OrderDraftUpdateMutationVariables, StockAvailability, @@ -56,7 +58,10 @@ interface OrderDraftDetailsProps { OrderDraftUpdateMutation, OrderDraftUpdateMutationVariables >; - orderDraftCancel: any; + orderDraftCancel: PartialMutationProviderOutput< + OrderDraftCancelMutation, + OrderDraftCancelMutationVariables + >; orderDraftFinalize: any; openModal: (action: OrderUrlDialog, newParams?: OrderUrlQueryParams) => void; closeModal: any; @@ -166,6 +171,14 @@ export const OrderDraftDetails: React.FC = ({ input: data }); + const handleOrderDraftCancel = async () => { + const errors = await extractMutationErrors(orderDraftCancel.mutate({ id })); + if (!errors.length) { + navigate(orderDraftListUrl()); + } + return errors; + }; + return ( <> = ({ confirmButtonState={orderDraftCancel.opts.status} errors={orderDraftCancel.opts.data?.draftOrderDelete.errors || []} onClose={closeModal} - onConfirm={() => orderDraftCancel.mutate({ id })} + onConfirm={handleOrderDraftCancel} open={params.action === "cancel"} orderNumber={getStringOrPlaceholder(order?.number)} />