@@ -3,13 +3,21 @@ import { useDataFetcherStore } from '../stores/data-fetcher-store';
3
3
import { lagBeslutterOversiktSok } from '../utils/sok-utils' ;
4
4
import { useSokStore } from '../stores/sok-store' ;
5
5
import { hasFinishedWithData } from '../rest/utils' ;
6
+ import { usePrevious } from '../utils' ;
6
7
7
8
export const SokSync = ( ) => {
8
9
const { brukereFetcher } = useDataFetcherStore ( ) ;
9
- const { filters, currentPage, pageSize, orderByDirection, orderByField, seeAll, setTotalPages } = useSokStore ( ) ;
10
+ const { filters, currentPage, pageSize, orderByDirection, orderByField, seeAll, setTotalPages, setCurrentPage } = useSokStore ( ) ;
11
+ const previousFilters = usePrevious ( filters ) ;
10
12
11
13
useEffect ( ( ) => {
12
- const sok = lagBeslutterOversiktSok ( filters , currentPage , pageSize , seeAll , orderByDirection , orderByField ) ;
14
+ let curPage = currentPage ;
15
+ if ( previousFilters !== filters ) {
16
+ curPage = 1 ; // When filters change, start from first page
17
+ setCurrentPage ( curPage ) ;
18
+ }
19
+
20
+ const sok = lagBeslutterOversiktSok ( filters , curPage , pageSize , seeAll , orderByDirection , orderByField ) ;
13
21
brukereFetcher . fetch ( { sok } ) ;
14
22
// eslint-disable-next-line react-hooks/exhaustive-deps
15
23
} , [ filters , currentPage , orderByDirection , orderByField , seeAll ] ) ;
0 commit comments