Skip to content

Commit ab627cc

Browse files
committed
KAIZEN-0: Fikset bug hvor paginering ikke ble nullstilt på filter endring
1 parent 52bad99 commit ab627cc

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/components/sok-sync.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,21 @@ import { useDataFetcherStore } from '../stores/data-fetcher-store';
33
import { lagBeslutterOversiktSok } from '../utils/sok-utils';
44
import { useSokStore } from '../stores/sok-store';
55
import { hasFinishedWithData } from '../rest/utils';
6+
import { usePrevious } from '../utils';
67

78
export const SokSync = () => {
89
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);
1012

1113
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);
1321
brukereFetcher.fetch({ sok });
1422
// eslint-disable-next-line react-hooks/exhaustive-deps
1523
}, [filters, currentPage, orderByDirection, orderByField, seeAll]);

src/utils/index.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
// tslint:disable-next-line:no-empty
22
import { UtkastStatus } from '../rest/data/bruker';
3+
import { useEffect, useRef } from 'react';
4+
5+
export function usePrevious<T> (value: T) {
6+
const ref = useRef<T>(value);
7+
8+
// Store current value in ref
9+
useEffect(() => {
10+
ref.current = value;
11+
}, [value]);
12+
13+
return ref.current;
14+
}
315

416
export function doNothing() {}
517

0 commit comments

Comments
 (0)