diff --git a/.changeset/odd-cycles-tell.md b/.changeset/odd-cycles-tell.md new file mode 100644 index 000000000..9879603ca --- /dev/null +++ b/.changeset/odd-cycles-tell.md @@ -0,0 +1,5 @@ +--- +"saleor-dashboard": minor +--- + +Fix clear row selection and show delete button after bulk deletion in categories, cllections and order drafts list diff --git a/src/categories/views/CategoryList/CategoryList.tsx b/src/categories/views/CategoryList/CategoryList.tsx index eb14a9299..edef04895 100644 --- a/src/categories/views/CategoryList/CategoryList.tsx +++ b/src/categories/views/CategoryList/CategoryList.tsx @@ -114,7 +114,9 @@ export const CategoryList: React.FC = ({ params }) => { ); }; - const handleCategoryBulkDelete = (data: CategoryBulkDeleteMutation) => { + const handleCategoryBulkDeleteOnComplete = ( + data: CategoryBulkDeleteMutation, + ) => { if (data.categoryBulkDelete.errors.length === 0) { navigate(categoryListUrl(), { replace: true }); refetch(); @@ -147,9 +149,18 @@ export const CategoryList: React.FC = ({ params }) => { const [categoryBulkDelete, categoryBulkDeleteOpts] = useCategoryBulkDeleteMutation({ - onCompleted: handleCategoryBulkDelete, + onCompleted: handleCategoryBulkDeleteOnComplete, }); + const handleCategoryBulkDelete = useCallback(async () => { + await categoryBulkDelete({ + variables: { + ids: selectedRowIds, + }, + }); + clearRowSelection(); + }, [selectedRowIds]); + return ( = ({ params }) => { }), ) } - onConfirm={() => - categoryBulkDelete({ - variables: { - ids: selectedRowIds, - }, - }) - } + onConfirm={handleCategoryBulkDelete} open={params.action === "delete"} title={intl.formatMessage({ id: "sG0w22", diff --git a/src/collections/views/CollectionList/CollectionList.tsx b/src/collections/views/CollectionList/CollectionList.tsx index e8ed992b2..2a2b793f2 100644 --- a/src/collections/views/CollectionList/CollectionList.tsx +++ b/src/collections/views/CollectionList/CollectionList.tsx @@ -184,6 +184,15 @@ export const CollectionList: React.FC = ({ params }) => { ], ); + const handleCollectionBulkDelete = useCallback(async () => { + await collectionBulkDelete({ + variables: { + ids: selectedRowIds, + }, + }); + clearRowSelection(); + }, [selectedRowIds]); + return ( = ({ params }) => { } onClose={closeModal} confirmButtonState={collectionBulkDeleteOpts.status} - onConfirm={() => - collectionBulkDelete({ - variables: { - ids: selectedRowIds, - }, - }) - } + onConfirm={handleCollectionBulkDelete} variant="delete" title={intl.formatMessage({ id: "Ykw8k5", diff --git a/src/orders/views/OrderDraftList/OrderDraftList.tsx b/src/orders/views/OrderDraftList/OrderDraftList.tsx index 0c094575a..78900b6f4 100644 --- a/src/orders/views/OrderDraftList/OrderDraftList.tsx +++ b/src/orders/views/OrderDraftList/OrderDraftList.tsx @@ -164,12 +164,14 @@ export const OrderDraftList: React.FC = ({ params }) => { const handleSort = createSortHandler(navigate, orderDraftListUrl, params); - const onOrderDraftBulkDelete = () => - orderDraftBulkDelete({ + const onOrderDraftBulkDelete = useCallback(async () => { + await orderDraftBulkDelete({ variables: { ids: selectedRowIds, }, }); + clearRowSelection(); + }, []); const handleSetSelectedOrderDraftIds = useCallback( (rows: number[], clearSelection: () => void) => {