Skip to content
This repository was archived by the owner on Jun 4, 2024. It is now read-only.

Commit 31a562e

Browse files
author
Shammamah Hossain
committed
Move loadFirst, loadPrevious, and hasPrevious out of FE/BE.
These functions are exactly the same in both implementations.
1 parent 0510659 commit 31a562e

File tree

1 file changed

+24
-30
lines changed

1 file changed

+24
-30
lines changed

src/dash-table/derived/paginator.ts

+24-30
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,24 @@ export function lastPage(data: Data, page_size: number) {
2424
return Math.max(Math.ceil(data.length / page_size) - 1, 0);
2525
}
2626

27+
export function loadPrevious(page_current: number, setProps: SetProps) {
28+
if (page_current <= 0) {
29+
return;
30+
}
31+
32+
page_current--;
33+
setProps({ page_current, ...clearSelection });
34+
}
35+
36+
export function loadFirst(page_current: number, setProps: SetProps) {
37+
page_current = 0;
38+
setProps({ page_current, ...clearSelection });
39+
}
40+
41+
export function hasPrevious(page_current: number) {
42+
return (page_current !== 0);
43+
}
44+
2745
function getBackEndPagination(
2846
page_current: number,
2947
setProps: SetProps,
@@ -40,18 +58,8 @@ function getBackEndPagination(
4058
page_current++;
4159
setProps({ page_current, ...clearSelection });
4260
},
43-
loadPrevious: () => {
44-
if (page_current <= 0) {
45-
return;
46-
}
47-
48-
page_current--;
49-
setProps({ page_current, ...clearSelection });
50-
},
51-
loadFirst: () => {
52-
page_current = 0;
53-
setProps({ page_current, ...clearSelection });
54-
},
61+
loadPrevious: () => loadPrevious(page_current, setProps),
62+
loadFirst: () => loadFirst(page_current, setProps),
5563
loadLast: () => {
5664
if (page_count) {
5765
page_current = page_count;
@@ -76,9 +84,7 @@ function getBackEndPagination(
7684

7785
setProps({ page_current, ...clearSelection });
7886
},
79-
hasPrevious: () => {
80-
return page_current !== 0;
81-
},
87+
hasPrevious: () => hasPrevious(page_current),
8288
hasNext: () => {
8389
return page_count === undefined || page_current !== page_count;
8490
},
@@ -105,18 +111,8 @@ function getFrontEndPagination(
105111
page_current++;
106112
setProps({ page_current, ...clearSelection });
107113
},
108-
loadPrevious: () => {
109-
if (page_current <= 0) {
110-
return;
111-
}
112-
113-
page_current--;
114-
setProps({ page_current, ...clearSelection });
115-
},
116-
loadFirst: () => {
117-
page_current = 0;
118-
setProps({ page_current, ...clearSelection });
119-
},
114+
loadPrevious: () => loadPrevious(page_current, setProps),
115+
loadFirst: () => loadFirst(page_current, setProps),
120116
loadLast: () => {
121117
page_current = lastPage(data, page_size);
122118
setProps({ page_current, ...clearSelection });
@@ -138,9 +134,7 @@ function getFrontEndPagination(
138134

139135
setProps({ page_current, ...clearSelection });
140136
},
141-
hasPrevious: () => {
142-
return (page_current !== 0);
143-
},
137+
hasPrevious: () => hasPrevious(page_current),
144138
hasNext: () => {
145139
return (page_current !== lastPage(data, page_size));
146140
},

0 commit comments

Comments
 (0)