@ethlete/cdk 2.9.2 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/esm2022/lib/components/pagination/types/pagination.types.mjs +1 -1
- package/esm2022/lib/components/pagination/utils/pagination.util.mjs +60 -41
- package/fesm2022/ethlete-cdk.mjs +59 -40
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/lib/components/pagination/types/pagination.types.d.ts +16 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ethlete/cdk
|
|
2
2
|
|
|
3
|
+
## 2.11.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`089543e`](https://github.com/ethlete-io/ethdk/commit/089543e046c486ef62e22c51a0e0498d7a348723) Thanks [@TomTomB](https://github.com/TomTomB)! - Allow for setting the first page inside pagination util
|
|
8
|
+
|
|
9
|
+
## 2.10.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`a53aa52`](https://github.com/ethlete-io/ethdk/commit/a53aa524a2657c657b2e00d0379bf2cc45a92a88) Thanks [@TomTomB](https://github.com/TomTomB)! - Add additional config options to paginate util
|
|
14
|
+
|
|
3
15
|
## 2.9.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3R5cGVzL3BhZ2luYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGVPcHRpb25zIHtcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlQ291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIG9taXRGaXJzdExhc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgb21pdFByZXZpb3VzTmV4dD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHBhZ2VzQmVmb3JlQWZ0ZXI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIGZpcnN0UGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uSXRlbSB7XG4gIGN1cnJlbnQ6IGJvb2xlYW47XG4gIHBhZ2U6IG51bWJlcjtcbiAgYXJpYUxhYmVsOiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICB0eXBlOiAncGFnZScgfCAnaG90TGluayc7XG4gIGV4cGxpY2l0VHlwZTogJ2ZpcnN0JyB8ICdsYXN0JyB8ICdwcmV2aW91cycgfCAnbmV4dCcgfCAnY3VycmVudCcgfCAncGFnZS1udW1iZXItY2xvc2UnIHwgJ3BhZ2UtbnVtYmVyLWZhcic7XG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25IZWFkU2VydmljZUNvbmZpZyB7XG4gIGZpcnN0UGFnZVRpdGxlOiBzdHJpbmcgfCBudWxsO1xuICB0aXRsZVRlbXBsYXRlOiBzdHJpbmcgfCBudWxsO1xuICBhZGRDYW5vbmljYWxUYWc6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -3,8 +3,9 @@ export const paginate = (value) => {
|
|
|
3
3
|
if (!value) {
|
|
4
4
|
return null;
|
|
5
5
|
}
|
|
6
|
+
const { omitFirstLast = false, omitPreviousNext = false, pagesBeforeAfter = 2, firstPage = 1 } = value;
|
|
6
7
|
const pages = [];
|
|
7
|
-
const activePage = clamp(value.currentPage,
|
|
8
|
+
const activePage = clamp(value.currentPage, firstPage, value.totalPageCount);
|
|
8
9
|
if (value.totalPageCount === 0) {
|
|
9
10
|
return null;
|
|
10
11
|
}
|
|
@@ -19,27 +20,41 @@ export const paginate = (value) => {
|
|
|
19
20
|
}
|
|
20
21
|
return url.toString();
|
|
21
22
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
23
|
+
if (!omitFirstLast) {
|
|
24
|
+
pages.push({
|
|
25
|
+
page: firstPage,
|
|
26
|
+
current: false,
|
|
27
|
+
ariaLabel: 'First page',
|
|
28
|
+
disabled: activePage === firstPage,
|
|
29
|
+
type: 'hotLink',
|
|
30
|
+
explicitType: 'first',
|
|
31
|
+
url: createUrl(firstPage),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (!omitPreviousNext) {
|
|
35
|
+
pages.push({
|
|
36
|
+
page: activePage - 1,
|
|
37
|
+
current: false,
|
|
38
|
+
ariaLabel: `Previous page`,
|
|
39
|
+
disabled: activePage === 1,
|
|
40
|
+
type: 'hotLink',
|
|
41
|
+
explicitType: 'previous',
|
|
42
|
+
url: createUrl(activePage - 1),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
let pagesBefore = activePage - pagesBeforeAfter;
|
|
46
|
+
let pagesAfter = activePage + pagesBeforeAfter;
|
|
47
|
+
if (pagesBefore < firstPage) {
|
|
48
|
+
pagesAfter += firstPage - pagesBefore;
|
|
49
|
+
pagesBefore = firstPage;
|
|
50
|
+
}
|
|
51
|
+
if (pagesAfter > value.totalPageCount) {
|
|
52
|
+
pagesBefore -= pagesAfter - value.totalPageCount;
|
|
53
|
+
pagesAfter = value.totalPageCount;
|
|
54
|
+
}
|
|
55
|
+
// add N pages before and after active page
|
|
56
|
+
for (let i = pagesBefore; i <= pagesAfter; i++) {
|
|
57
|
+
if (i > firstPage - 1 && i <= value.totalPageCount) {
|
|
43
58
|
const explicitType = i === activePage
|
|
44
59
|
? 'current'
|
|
45
60
|
: i === activePage - 1 || i === activePage + 1
|
|
@@ -56,24 +71,28 @@ export const paginate = (value) => {
|
|
|
56
71
|
});
|
|
57
72
|
}
|
|
58
73
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
if (!omitPreviousNext) {
|
|
75
|
+
pages.push({
|
|
76
|
+
page: activePage + 1,
|
|
77
|
+
current: false,
|
|
78
|
+
ariaLabel: `Next page`,
|
|
79
|
+
disabled: activePage === value.totalPageCount,
|
|
80
|
+
type: 'hotLink',
|
|
81
|
+
explicitType: 'next',
|
|
82
|
+
url: createUrl(activePage + 1),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
if (!omitFirstLast) {
|
|
86
|
+
pages.push({
|
|
87
|
+
page: value.totalPageCount,
|
|
88
|
+
current: false,
|
|
89
|
+
ariaLabel: `Last page`,
|
|
90
|
+
disabled: activePage === value.totalPageCount,
|
|
91
|
+
type: 'hotLink',
|
|
92
|
+
explicitType: 'last',
|
|
93
|
+
url: createUrl(value.totalPageCount),
|
|
94
|
+
});
|
|
95
|
+
}
|
|
77
96
|
return pages;
|
|
78
97
|
};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vdXRpbHMvcGFnaW5hdGlvbi51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFO0lBQ3pELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxFQUFFLGFBQWEsR0FBRyxLQUFLLEVBQUUsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLGdCQUFnQixHQUFHLENBQUMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXZHLE1BQU0sS0FBSyxHQUFxQixFQUFFLENBQUM7SUFDbkMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3RSxJQUFJLEtBQUssQ0FBQyxjQUFjLEtBQUssQ0FBQyxFQUFFO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpELE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNkLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxHQUFHLENB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LEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDVCxJQUFJLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDMUIsT0FBTyxFQUFFLEtBQUs7WUFDZCxTQUFTLEVBQUUsV0FBVztZQUN0QixRQUFRLEVBQUUsVUFBVSxLQUFLLEtBQUssQ0FBQyxjQUFjO1lBQzdDLElBQUksRUFBRSxTQUFTO1lBQ2YsWUFBWSxFQUFFLE1BQU07WUFDcEIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1NBQ3JDLENBQUMsQ0FBQztLQUNKO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbGFtcCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgUGFnaW5hdGVPcHRpb25zLCBQYWdpbmF0aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHBhZ2luYXRlID0gKHZhbHVlPzogUGFnaW5hdGVPcHRpb25zIHwgbnVsbCkgPT4ge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IG9taXRGaXJzdExhc3QgPSBmYWxzZSwgb21pdFByZXZpb3VzTmV4dCA9IGZhbHNlLCBwYWdlc0JlZm9yZUFmdGVyID0gMiwgZmlyc3RQYWdlID0gMSB9ID0gdmFsdWU7XG5cbiAgY29uc3QgcGFnZXM6IFBhZ2luYXRpb25JdGVtW10gPSBbXTtcbiAgY29uc3QgYWN0aXZlUGFnZSA9IGNsYW1wKHZhbHVlLmN1cnJlbnRQYWdlLCBmaXJzdFBhZ2UsIHZhbHVlLnRvdGFsUGFnZUNvdW50KTtcblxuICBpZiAodmFsdWUudG90YWxQYWdlQ291bnQgPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRVcmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcblxuICBjb25zdCBjcmVhdGVVcmwgPSAocGFnZTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChjdXJyZW50VXJsLmhyZWYpO1xuXG4gICAgaWYgKHBhZ2UgPT09IDEpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuZGVsZXRlKCdwYWdlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsLnRvU3RyaW5nKCk7XG4gIH07XG5cbiAgaWYgKCFvbWl0Rmlyc3RMYXN0KSB7XG4gICAgcGFnZXMucHVzaCh7XG4gICAgICBwYWdlOiBmaXJzdFBhZ2UsXG4gICAgICBjdXJyZW50OiBmYWxzZSxcbiAgICAgIGFyaWFMYWJlbDogJ0ZpcnN0IHBhZ2UnLFxuICAgICAgZGlzYWJsZWQ6IGFjdGl2ZVBhZ2UgPT09IGZpcnN0UGFnZSxcbiAgICAgIHR5cGU6ICdob3RMaW5rJyxcbiAgICAgIGV4cGxpY2l0VHlwZTogJ2ZpcnN0JyxcbiAgICAgIHVybDogY3JlYXRlVXJsKGZpcnN0UGFnZSksXG4gICAgfSk7XG4gIH1cblxuICBpZiAoIW9taXRQcmV2aW91c05leHQpIHtcbiAgICBwYWdlcy5wdXNoKHtcbiAgICAgIHBhZ2U6IGFjdGl2ZVBhZ2UgLSAxLFxuICAgICAgY3VycmVudDogZmFsc2UsXG4gICAgICBhcmlhTGFiZWw6IGBQcmV2aW91cyBwYWdlYCxcbiAgICAgIGRpc2FibGVkOiBhY3RpdmVQYWdlID09PSAxLFxuICAgICAgdHlwZTogJ2hvdExpbmsnLFxuICAgICAgZXhwbGljaXRUeXBlOiAncHJldmlvdXMnLFxuICAgICAgdXJsOiBjcmVhdGVVcmwoYWN0aXZlUGFnZSAtIDEpLFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IHBhZ2VzQmVmb3JlID0gYWN0aXZlUGFnZSAtIHBhZ2VzQmVmb3JlQWZ0ZXI7XG4gIGxldCBwYWdlc0FmdGVyID0gYWN0aXZlUGFnZSArIHBhZ2VzQmVmb3JlQWZ0ZXI7XG5cbiAgaWYgKHBhZ2VzQmVmb3JlIDwgZmlyc3RQYWdlKSB7XG4gICAgcGFnZXNBZnRlciArPSBmaXJzdFBhZ2UgLSBwYWdlc0JlZm9yZTtcbiAgICBwYWdlc0JlZm9yZSA9IGZpcnN0UGFnZTtcbiAgfVxuXG4gIGlmIChwYWdlc0FmdGVyID4gdmFsdWUudG90YWxQYWdlQ291bnQpIHtcbiAgICBwYWdlc0JlZm9yZSAtPSBwYWdlc0FmdGVyIC0gdmFsdWUudG90YWxQYWdlQ291bnQ7XG4gICAgcGFnZXNBZnRlciA9IHZhbHVlLnRvdGFsUGFnZUNvdW50O1xuICB9XG5cbiAgLy8gYWRkIE4gcGFnZXMgYmVmb3JlIGFuZCBhZnRlciBhY3RpdmUgcGFnZVxuICBmb3IgKGxldCBpID0gcGFnZXNCZWZvcmU7IGkgPD0gcGFnZXNBZnRlcjsgaSsrKSB7XG4gICAgaWYgKGkgPiBmaXJzdFBhZ2UgLSAxICYmIGkgPD0gdmFsdWUudG90YWxQYWdlQ291bnQpIHtcbiAgICAgIGNvbnN0IGV4cGxpY2l0VHlwZSA9XG4gICAgICAgIGkgPT09IGFjdGl2ZVBhZ2VcbiAgICAgICAgICA/ICdjdXJyZW50J1xuICAgICAgICAgIDogaSA9PT0gYWN0aXZlUGFnZSAtIDEgfHwgaSA9PT0gYWN0aXZlUGFnZSArIDFcbiAgICAgICAgICA/ICdwYWdlLW51bWJlci1jbG9zZSdcbiAgICAgICAgICA6ICdwYWdlLW51bWJlci1mYXInO1xuXG4gICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgcGFnZTogaSxcbiAgICAgICAgY3VycmVudDogaSA9PT0gYWN0aXZlUGFnZSxcbiAgICAgICAgYXJpYUxhYmVsOiBgUGFnZSAke2l9YCxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICB0eXBlOiAncGFnZScsXG4gICAgICAgIGV4cGxpY2l0VHlwZSxcbiAgICAgICAgdXJsOiBjcmVhdGVVcmwoaSksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW9taXRQcmV2aW91c05leHQpIHtcbiAgICBwYWdlcy5wdXNoKHtcbiAgICAgIHBhZ2U6IGFjdGl2ZVBhZ2UgKyAxLFxuICAgICAgY3VycmVudDogZmFsc2UsXG4gICAgICBhcmlhTGFiZWw6IGBOZXh0IHBhZ2VgLFxuICAgICAgZGlzYWJsZWQ6IGFjdGl2ZVBhZ2UgPT09IHZhbHVlLnRvdGFsUGFnZUNvdW50LFxuICAgICAgdHlwZTogJ2hvdExpbmsnLFxuICAgICAgZXhwbGljaXRUeXBlOiAnbmV4dCcsXG4gICAgICB1cmw6IGNyZWF0ZVVybChhY3RpdmVQYWdlICsgMSksXG4gICAgfSk7XG4gIH1cblxuICBpZiAoIW9taXRGaXJzdExhc3QpIHtcbiAgICBwYWdlcy5wdXNoKHtcbiAgICAgIHBhZ2U6IHZhbHVlLnRvdGFsUGFnZUNvdW50LFxuICAgICAgY3VycmVudDogZmFsc2UsXG4gICAgICBhcmlhTGFiZWw6IGBMYXN0IHBhZ2VgLFxuICAgICAgZGlzYWJsZWQ6IGFjdGl2ZVBhZ2UgPT09IHZhbHVlLnRvdGFsUGFnZUNvdW50LFxuICAgICAgdHlwZTogJ2hvdExpbmsnLFxuICAgICAgZXhwbGljaXRUeXBlOiAnbGFzdCcsXG4gICAgICB1cmw6IGNyZWF0ZVVybCh2YWx1ZS50b3RhbFBhZ2VDb3VudCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcGFnZXM7XG59O1xuIl19
|
package/fesm2022/ethlete-cdk.mjs
CHANGED
|
@@ -8658,8 +8658,9 @@ const paginate = (value) => {
|
|
|
8658
8658
|
if (!value) {
|
|
8659
8659
|
return null;
|
|
8660
8660
|
}
|
|
8661
|
+
const { omitFirstLast = false, omitPreviousNext = false, pagesBeforeAfter = 2, firstPage = 1 } = value;
|
|
8661
8662
|
const pages = [];
|
|
8662
|
-
const activePage = clamp(value.currentPage,
|
|
8663
|
+
const activePage = clamp(value.currentPage, firstPage, value.totalPageCount);
|
|
8663
8664
|
if (value.totalPageCount === 0) {
|
|
8664
8665
|
return null;
|
|
8665
8666
|
}
|
|
@@ -8674,27 +8675,41 @@ const paginate = (value) => {
|
|
|
8674
8675
|
}
|
|
8675
8676
|
return url.toString();
|
|
8676
8677
|
};
|
|
8677
|
-
|
|
8678
|
-
|
|
8679
|
-
|
|
8680
|
-
|
|
8681
|
-
|
|
8682
|
-
|
|
8683
|
-
|
|
8684
|
-
|
|
8685
|
-
|
|
8686
|
-
|
|
8687
|
-
|
|
8688
|
-
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
|
|
8692
|
-
|
|
8693
|
-
|
|
8694
|
-
|
|
8695
|
-
|
|
8696
|
-
|
|
8697
|
-
|
|
8678
|
+
if (!omitFirstLast) {
|
|
8679
|
+
pages.push({
|
|
8680
|
+
page: firstPage,
|
|
8681
|
+
current: false,
|
|
8682
|
+
ariaLabel: 'First page',
|
|
8683
|
+
disabled: activePage === firstPage,
|
|
8684
|
+
type: 'hotLink',
|
|
8685
|
+
explicitType: 'first',
|
|
8686
|
+
url: createUrl(firstPage),
|
|
8687
|
+
});
|
|
8688
|
+
}
|
|
8689
|
+
if (!omitPreviousNext) {
|
|
8690
|
+
pages.push({
|
|
8691
|
+
page: activePage - 1,
|
|
8692
|
+
current: false,
|
|
8693
|
+
ariaLabel: `Previous page`,
|
|
8694
|
+
disabled: activePage === 1,
|
|
8695
|
+
type: 'hotLink',
|
|
8696
|
+
explicitType: 'previous',
|
|
8697
|
+
url: createUrl(activePage - 1),
|
|
8698
|
+
});
|
|
8699
|
+
}
|
|
8700
|
+
let pagesBefore = activePage - pagesBeforeAfter;
|
|
8701
|
+
let pagesAfter = activePage + pagesBeforeAfter;
|
|
8702
|
+
if (pagesBefore < firstPage) {
|
|
8703
|
+
pagesAfter += firstPage - pagesBefore;
|
|
8704
|
+
pagesBefore = firstPage;
|
|
8705
|
+
}
|
|
8706
|
+
if (pagesAfter > value.totalPageCount) {
|
|
8707
|
+
pagesBefore -= pagesAfter - value.totalPageCount;
|
|
8708
|
+
pagesAfter = value.totalPageCount;
|
|
8709
|
+
}
|
|
8710
|
+
// add N pages before and after active page
|
|
8711
|
+
for (let i = pagesBefore; i <= pagesAfter; i++) {
|
|
8712
|
+
if (i > firstPage - 1 && i <= value.totalPageCount) {
|
|
8698
8713
|
const explicitType = i === activePage
|
|
8699
8714
|
? 'current'
|
|
8700
8715
|
: i === activePage - 1 || i === activePage + 1
|
|
@@ -8711,24 +8726,28 @@ const paginate = (value) => {
|
|
|
8711
8726
|
});
|
|
8712
8727
|
}
|
|
8713
8728
|
}
|
|
8714
|
-
|
|
8715
|
-
|
|
8716
|
-
|
|
8717
|
-
|
|
8718
|
-
|
|
8719
|
-
|
|
8720
|
-
|
|
8721
|
-
|
|
8722
|
-
|
|
8723
|
-
|
|
8724
|
-
|
|
8725
|
-
|
|
8726
|
-
|
|
8727
|
-
|
|
8728
|
-
|
|
8729
|
-
|
|
8730
|
-
|
|
8731
|
-
|
|
8729
|
+
if (!omitPreviousNext) {
|
|
8730
|
+
pages.push({
|
|
8731
|
+
page: activePage + 1,
|
|
8732
|
+
current: false,
|
|
8733
|
+
ariaLabel: `Next page`,
|
|
8734
|
+
disabled: activePage === value.totalPageCount,
|
|
8735
|
+
type: 'hotLink',
|
|
8736
|
+
explicitType: 'next',
|
|
8737
|
+
url: createUrl(activePage + 1),
|
|
8738
|
+
});
|
|
8739
|
+
}
|
|
8740
|
+
if (!omitFirstLast) {
|
|
8741
|
+
pages.push({
|
|
8742
|
+
page: value.totalPageCount,
|
|
8743
|
+
current: false,
|
|
8744
|
+
ariaLabel: `Last page`,
|
|
8745
|
+
disabled: activePage === value.totalPageCount,
|
|
8746
|
+
type: 'hotLink',
|
|
8747
|
+
explicitType: 'last',
|
|
8748
|
+
url: createUrl(value.totalPageCount),
|
|
8749
|
+
});
|
|
8750
|
+
}
|
|
8732
8751
|
return pages;
|
|
8733
8752
|
};
|
|
8734
8753
|
|