Skip to content

Commit 6da11ad

Browse files
author
Gianmarco Manni
committed
fix autoreset
1 parent 5ebaf50 commit 6da11ad

2 files changed

Lines changed: 29 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
- endless loop on `pagination` state when paginating client-side
1313

14+
## Added
15+
16+
- auto `pageIndex reset` when paginating server side
17+
1418
## [5.0.1] - 2024-03-27
1519

1620
### Fixed

src/lib/ReactDataTable/ReactDataTable.tsx

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
4343
} = props;
4444

4545
const { pagination } = table.getState();
46+
const {
47+
options: { manualPagination },
48+
resetPageIndex,
49+
} = table;
4650

4751
const loadingCss = `
4852
@-webkit-keyframes reloadingAnimation {
@@ -149,7 +153,12 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
149153
<FontAwesomeIcon
150154
style={{ cursor: "pointer", marginBottom: "4px", marginRight: "5px" }}
151155
icon={faSearch}
152-
onClick={() => onEnter(getModelFromColumnFilter(table.getState().columnFilters))}
156+
onClick={() => {
157+
if (manualPagination) {
158+
resetPageIndex(true);
159+
}
160+
onEnter(getModelFromColumnFilter(table.getState().columnFilters));
161+
}}
153162
/>
154163
)}
155164

@@ -162,6 +171,9 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
162171
}
163172

164173
table.setColumnFilters(table.initialState.columnFilters);
174+
if (manualPagination) {
175+
resetPageIndex(true);
176+
}
165177
}}
166178
/>
167179
</>
@@ -179,9 +191,15 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
179191
meta.dropdownFilter?.options[(e.target as any as HTMLSelectElement).selectedIndex]?.value ??
180192
e.target.value,
181193
);
194+
if (!onEnter && manualPagination) {
195+
resetPageIndex(true);
196+
}
182197
}}
183198
onKeyUp={({ key }) => {
184199
if (key === "Enter" && onEnter) {
200+
if (manualPagination) {
201+
resetPageIndex(true);
202+
}
185203
onEnter(getModelFromColumnFilter(table.getState().columnFilters));
186204
}
187205
}}
@@ -199,9 +217,15 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
199217
value={(header.column.getFilterValue() as string) ?? ""}
200218
onChange={(e) => {
201219
header.column.setFilterValue(e.target.value);
220+
if (!onEnter && manualPagination) {
221+
resetPageIndex(true);
222+
}
202223
}}
203224
onKeyUp={({ key }) => {
204225
if (key === "Enter" && onEnter) {
226+
if (manualPagination) {
227+
resetPageIndex(true);
228+
}
205229
onEnter(getModelFromColumnFilter(table.getState().columnFilters));
206230
}
207231
}}

0 commit comments

Comments
 (0)