From bf4d2495a1f8c1081468b5d14fbb66a80fcc2709 Mon Sep 17 00:00:00 2001 From: Gabriel L Martinez Date: Fri, 10 Apr 2020 09:28:12 -0400 Subject: [PATCH] Reset pagination when guest change sorting --- src/config.ts | 7 ++++++- src/products/views/ProductList/ProductList.tsx | 9 +++++---- src/utils/handlers/sortHandler.ts | 4 +++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/config.ts b/src/config.ts index 283db79a2..92bfdbf6b 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,6 +1,6 @@ import packageInfo from "../package.json"; import { SearchVariables } from "./hooks/makeSearch"; -import { ListSettings, ListViews } from "./types"; +import { ListSettings, ListViews, Pagination } from "./types"; export const APP_MOUNT_URI = process.env.APP_MOUNT_URI || "/"; export const API_URI = process.env.API_URI; @@ -11,6 +11,11 @@ export const DEFAULT_INITIAL_SEARCH_DATA: SearchVariables = { query: "" }; +export const DEFAULT_INITIAL_PAGINATION_DATA: Pagination = { + after: undefined, + before: undefined +}; + export const PAGINATE_BY = 20; export type ProductListColumns = "productType" | "isPublished" | "price"; diff --git a/src/products/views/ProductList/ProductList.tsx b/src/products/views/ProductList/ProductList.tsx index e30d0cb3d..e572e6245 100644 --- a/src/products/views/ProductList/ProductList.tsx +++ b/src/products/views/ProductList/ProductList.tsx @@ -13,7 +13,8 @@ import SaveFilterTabDialog, { import { defaultListSettings, ProductListColumns, - DEFAULT_INITIAL_SEARCH_DATA + DEFAULT_INITIAL_SEARCH_DATA, + DEFAULT_INITIAL_PAGINATION_DATA } from "@saleor/config"; import useBulkActions from "@saleor/hooks/useBulkActions"; import useListSettings from "@saleor/hooks/useListSettings"; @@ -112,8 +113,7 @@ export const ProductList: React.FC = ({ params }) => { navigate( productListUrl({ ...params, - after: undefined, - before: undefined + ...DEFAULT_INITIAL_PAGINATION_DATA }), true ), @@ -172,7 +172,8 @@ export const ProductList: React.FC = ({ params }) => { productListUrl({ ...params, ...getSortUrlVariables(field, params), - attributeId + attributeId, + ...DEFAULT_INITIAL_PAGINATION_DATA }) ); diff --git a/src/utils/handlers/sortHandler.ts b/src/utils/handlers/sortHandler.ts index c9656e960..206bccf3a 100644 --- a/src/utils/handlers/sortHandler.ts +++ b/src/utils/handlers/sortHandler.ts @@ -1,5 +1,6 @@ import { UseNavigatorResult } from "@saleor/hooks/useNavigator"; import { Sort } from "@saleor/types"; +import { DEFAULT_INITIAL_PAGINATION_DATA } from "@saleor/config"; import { getSortUrlVariables } from "../sort"; type CreateUrl = (params: Sort) => string; @@ -13,7 +14,8 @@ function createSortHandler( navigate( createUrl({ ...params, - ...getSortUrlVariables(field, params) + ...getSortUrlVariables(field, params), + ...DEFAULT_INITIAL_PAGINATION_DATA }), true );