@nl-rvo/css-page-number-navigation 1.3.1 → 1.5.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 +18 -0
- package/README.md +39 -38
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# `@nl-rvo/css-pagination`
|
|
2
2
|
|
|
3
|
+
## 1.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- fa36e07: Project structure updates
|
|
8
|
+
|
|
9
|
+
- Moved all Storybook stories to the /stories directory.
|
|
10
|
+
- Moved all documentation files to the /docs directory.
|
|
11
|
+
- Removed React components from library-component-react and moved them into this package.
|
|
12
|
+
- Update all .stories imports to the right react package "component-library-react"
|
|
13
|
+
- Fix all Redundant / PascalCase lint warnings for .stories files.
|
|
14
|
+
|
|
15
|
+
## 1.4.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- 8b8710c: Update page number navigation: always show 5 items from page 1 and 5 items before the last page (with ellipses between ranges when needed).
|
|
20
|
+
|
|
3
21
|
## 1.3.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -21,58 +21,59 @@
|
|
|
21
21
|
|
|
22
22
|
## Voor ontwikkelaars
|
|
23
23
|
|
|
24
|
-
De
|
|
24
|
+
De logica voor het genereren van paginanummers met ellipsen kan als volgt worden geïmplementeerd.
|
|
25
25
|
|
|
26
26
|
```js
|
|
27
|
-
const generatePageNumberMarkup = () =>
|
|
28
|
-
|
|
27
|
+
const generatePageNumberMarkup = (page, activePage) => {
|
|
28
|
+
return page === activePage ? `[${page}]` : `${page}`;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const generateEllipsisMarkup = () => "…";
|
|
29
32
|
|
|
30
33
|
const generatePageNumbers = (totalPages, activePage) => {
|
|
31
34
|
const pages = [];
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// Add the page before the active page if it's more than 2
|
|
45
|
-
if (activePage > 2) {
|
|
46
|
-
pages.push(generatePageNumberMarkup(activePage - 1, activePage));
|
|
35
|
+
const windowSize = 5;
|
|
36
|
+
|
|
37
|
+
const addRange = (from, to) => {
|
|
38
|
+
for (let i = from; i <= to; i++) {
|
|
39
|
+
pages.push(generatePageNumberMarkup(i, activePage));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// Toon alle pagina's als het totaal klein is
|
|
44
|
+
if (totalPages <= windowSize) {
|
|
45
|
+
addRange(1, totalPages);
|
|
46
|
+
return pages;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
//
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
// Add the page after the active page if it's less than total pages minus 1 and not the last page
|
|
55
|
-
if (activePage < totalPages - 1 && activePage !== totalPages - 2) {
|
|
56
|
-
pages.push(generatePageNumberMarkup(activePage + 1, activePage));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Add ellipses if the active page is less than the total pages minus 3
|
|
60
|
-
if (activePage < totalPages - 3) {
|
|
49
|
+
// Begin van de paginering
|
|
50
|
+
// Voorbeeld: [1] 2 3 4 5 … 100
|
|
51
|
+
if (activePage <= 4) {
|
|
52
|
+
addRange(1, 5);
|
|
61
53
|
pages.push(generateEllipsisMarkup());
|
|
54
|
+
pages.push(generatePageNumberMarkup(totalPages, activePage));
|
|
55
|
+
return pages;
|
|
62
56
|
}
|
|
63
57
|
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
|
|
58
|
+
// Einde van de paginering
|
|
59
|
+
// Voorbeeld: 1 … 96 97 98 [99] 100
|
|
60
|
+
if (activePage >= totalPages - 3) {
|
|
61
|
+
pages.push(generatePageNumberMarkup(1, activePage));
|
|
62
|
+
pages.push(generateEllipsisMarkup());
|
|
63
|
+
addRange(totalPages - 4, totalPages);
|
|
64
|
+
return pages;
|
|
67
65
|
}
|
|
68
66
|
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
// Midden van de paginering
|
|
68
|
+
// Voorbeeld: 1 … 4 [5] 6 … 100
|
|
69
|
+
pages.push(generatePageNumberMarkup(1, activePage));
|
|
70
|
+
pages.push(generateEllipsisMarkup());
|
|
71
|
+
addRange(activePage - 1, activePage + 1);
|
|
72
|
+
pages.push(generateEllipsisMarkup());
|
|
73
|
+
pages.push(generatePageNumberMarkup(totalPages, activePage));
|
|
73
74
|
|
|
74
75
|
return pages;
|
|
75
76
|
};
|
|
76
77
|
|
|
77
|
-
generatePageNumbers(
|
|
78
|
+
generatePageNumbers(100, 1);
|
|
78
79
|
```
|
package/package.json
CHANGED