react-firebase-pagination 1.1.16 → 2.0.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/README.md +86 -80
- package/dist/{cjs/App.d.ts → App.d.ts} +9 -2
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +174 -0
- package/dist/App.js.map +1 -0
- package/dist/{esm/index.d.ts → index.d.ts} +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/package.json +70 -61
- package/dist/cjs/App.js +0 -83
- package/dist/cjs/App.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/index.js +0 -6
- package/dist/cjs/index.js.map +0 -1
- package/dist/esm/App.d.ts +0 -23
- package/dist/esm/App.js +0 -81
- package/dist/esm/App.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/test.d.ts +0 -3
- package/dist/esm/test.js +0 -58
- package/dist/esm/test.js.map +0 -1
- /package/dist/{esm/index.js → index.js} +0 -0
package/README.md
CHANGED
|
@@ -1,80 +1,86 @@
|
|
|
1
|
-
[](https://badge.fury.io/js/react-firebase-pagination)
|
|
2
|
-
|
|
3
|
-
# react-firebase-pagination
|
|
4
|
-
|
|
5
|
-
A React Hook that makes it easy to paginate Firestore collections.
|
|
6
|
-
This hook provides _cumulative_ pagination and maintains references to previous documents, so it might not be suitable for large document sets.
|
|
7
|
-
|
|
8
|
-
## Support for Firebase 9
|
|
9
|
-
|
|
10
|
-
support for Firebase 9 and are backwards _incompatible_ with previous versions of Firebase.
|
|
11
|
-
|
|
12
|
-
## Install
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
npm install react-firebase-pagination
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
OR
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
yarn add react-firebase-pagination
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### Options
|
|
25
|
-
|
|
26
|
-
| **prop** | **Type** | **Default** | **description** | **Required** |
|
|
27
|
-
| ---------- | --------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
|
|
28
|
-
| query | `Query` |
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
import
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
1
|
+
[](https://badge.fury.io/js/react-firebase-pagination)
|
|
2
|
+
|
|
3
|
+
# react-firebase-pagination
|
|
4
|
+
|
|
5
|
+
A React Hook that makes it easy to paginate Firestore collections.
|
|
6
|
+
This hook provides _cumulative_ pagination and maintains references to previous documents, so it might not be suitable for large document sets.
|
|
7
|
+
|
|
8
|
+
## Support for Firebase 9
|
|
9
|
+
|
|
10
|
+
support for Firebase 9 and are backwards _incompatible_ with previous versions of Firebase.
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
npm install react-firebase-pagination
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
OR
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
yarn add react-firebase-pagination
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Options
|
|
25
|
+
|
|
26
|
+
| **prop** | **Type** | **Default** | **description** | **Required** |
|
|
27
|
+
| ---------- | --------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
|
|
28
|
+
| query | `Query` | — | The Firestore query. Safe to create inline each render; identity is driven by `queryKey`. | ✔ |
|
|
29
|
+
| queryKey | `unknown[]` | — | Stable key for the logical query (sorts, filters, collection). Change it when the query meaning changes — pagination resets to page 1. | ✔ |
|
|
30
|
+
| pageSize | `Number` | 10 | The number of items per page. | |
|
|
31
|
+
| pageByPage | `Boolean` | false | When this option is True, data is loaded page by page like Google search, and when it's not, it loads data on a single page and appends new data on the bottom of current data like a Facebook feed. | |
|
|
32
|
+
| liveUpdate | `Boolean` | false | Add Firebase snapshot listener to update data live | |
|
|
33
|
+
|
|
34
|
+
### State
|
|
35
|
+
|
|
36
|
+
| **prop** | **value** | **description** |
|
|
37
|
+
| ----------- | ---------- | ----------------------------------------------------------------------------------------------------------- |
|
|
38
|
+
| loading | `Boolean` | Is true when a page is loading. |
|
|
39
|
+
| data | `Object` | [Data Object](#data-object-contain) |
|
|
40
|
+
| getNext | `Function` | W'll render the next page when called. (Take no arguments) |
|
|
41
|
+
| getPrevious | `Function` | W'll render the previous page when called. (Take no arguments and work only in [pageByPage](#options) mode) |
|
|
42
|
+
| hasNext | `Boolean` | It's true when the next page has data. |
|
|
43
|
+
| hasPrevious | `Boolean` | It's true when a previous page has data. (Work only in [pageByPage](#options) mode) |
|
|
44
|
+
|
|
45
|
+
### Data Object Contain
|
|
46
|
+
|
|
47
|
+
| **prop** | **value** | **description** |
|
|
48
|
+
| ----------- | ----------- | -------------------------------------------------------------------------------------------------- |
|
|
49
|
+
| docs | `Documents` | Document Array. |
|
|
50
|
+
| totalDocs | `Number` | Total Document count. |
|
|
51
|
+
| totalPages | `Number` | Total Page count. |
|
|
52
|
+
| currentPage | `Number` | Current Page Number in [pageByPage](#options) mode or how may time's data load on the current page |
|
|
53
|
+
|
|
54
|
+
## Example Use
|
|
55
|
+
|
|
56
|
+
This is an example of a [Firestore](https://firebase.google.com/docs/firestore/) query. You can rebuild `query(...)` every render — pass a `queryKey` so the hook only resets when sorts/filters actually change:
|
|
57
|
+
|
|
58
|
+
```jsx
|
|
59
|
+
import usePagination from 'react-firebase-pagination'
|
|
60
|
+
import { query, orderBy, collection } from 'firebase/firestore'
|
|
61
|
+
import db from './your/database/path'
|
|
62
|
+
|
|
63
|
+
const App = () => {
|
|
64
|
+
const [sort, setSort] = useState('newest') // 'newest' | 'oldest' | ...
|
|
65
|
+
|
|
66
|
+
const mainQuery = query(
|
|
67
|
+
collection(db, '[collection]'),
|
|
68
|
+
sort === 'oldest'
|
|
69
|
+
? orderBy('created_timestamp', 'asc')
|
|
70
|
+
: orderBy('created_timestamp', 'desc'),
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
const { getNext, getPrevious, data, loading } = usePagination({
|
|
74
|
+
pageSize: 10,
|
|
75
|
+
pageByPage: true,
|
|
76
|
+
query: mainQuery,
|
|
77
|
+
queryKey: ['[collection]', sort],
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
if (loading) {
|
|
81
|
+
return <LoadingComponent />
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
...
|
|
85
|
+
}
|
|
86
|
+
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Query, QueryDocumentSnapshot } from 'firebase/firestore';
|
|
1
|
+
import type { Query, QueryDocumentSnapshot } from 'firebase/firestore';
|
|
2
2
|
type data = {
|
|
3
3
|
totalDocs: number;
|
|
4
4
|
totalPages: number;
|
|
@@ -11,13 +11,20 @@ type hookReturnValue = {
|
|
|
11
11
|
loading: boolean;
|
|
12
12
|
getNext: () => void;
|
|
13
13
|
getPrevious: () => void;
|
|
14
|
+
hasNext: boolean;
|
|
15
|
+
hasPrevious: boolean;
|
|
14
16
|
};
|
|
17
|
+
/** Primitive-friendly key that identifies the logical Firestore query. */
|
|
18
|
+
export type QueryKey = readonly unknown[];
|
|
15
19
|
type hookProps = {
|
|
16
20
|
query: Query;
|
|
17
|
-
|
|
21
|
+
/** Stable identity for `query`. Change this when sorts/filters change to reset pagination. */
|
|
22
|
+
queryKey: QueryKey;
|
|
23
|
+
pageSize?: number;
|
|
18
24
|
pageByPage?: boolean;
|
|
19
25
|
liveUpdate?: boolean;
|
|
20
26
|
};
|
|
21
27
|
type usePaginateType = (props: hookProps) => hookReturnValue;
|
|
22
28
|
declare const usePagination: usePaginateType;
|
|
23
29
|
export default usePagination;
|
|
30
|
+
//# sourceMappingURL=App.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAA+B,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAGnG,KAAK,IAAI,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAA;AAEzG,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,QAAQ,GAAG,SAAS,OAAO,EAAE,CAAA;AAEzC,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,KAAK,CAAA;IACZ,8FAA8F;IAC9F,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAID,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,eAAe,CAAA;AAI5D,QAAA,MAAM,aAAa,EAAE,eAkLpB,CAAA;eAEc,aAAa"}
|
package/dist/App.js
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { query, limit, getDocs, startAfter, onSnapshot, getCountFromServer } from 'firebase/firestore';
|
|
3
|
+
const addQuery = (q, fun, value) => (value ? query(q, fun(value)) : q);
|
|
4
|
+
const usePagination = ({ pageSize = 10, query: mainQuery, queryKey, pageByPage = false, liveUpdate = false }) => {
|
|
5
|
+
const [error, setError] = useState();
|
|
6
|
+
const [loading, setLoading] = useState(true);
|
|
7
|
+
const [docs, setDocs] = useState([]);
|
|
8
|
+
/** Last document of each loaded page. Length === current page number. */
|
|
9
|
+
const [pageCursors, setPageCursors] = useState([]);
|
|
10
|
+
const [activeQuery, setActiveQuery] = useState(() => addQuery(mainQuery, limit, pageSize));
|
|
11
|
+
const [totals, setTotals] = useState({ totalDocs: 0, totalPages: 0 });
|
|
12
|
+
const mainQueryRef = useRef(mainQuery);
|
|
13
|
+
const navKindRef = useRef('reset');
|
|
14
|
+
const pageByPageRef = useRef(pageByPage);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
mainQueryRef.current = mainQuery;
|
|
17
|
+
}, [mainQuery]);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
pageByPageRef.current = pageByPage;
|
|
20
|
+
}, [pageByPage]);
|
|
21
|
+
const queryKeySignature = JSON.stringify(queryKey);
|
|
22
|
+
const applySnapshot = useCallback((res) => {
|
|
23
|
+
const lastDoc = res.docs[res.docs.length - 1];
|
|
24
|
+
const kind = navKindRef.current;
|
|
25
|
+
if (kind === 'reset') {
|
|
26
|
+
setDocs(res.docs);
|
|
27
|
+
setPageCursors(lastDoc ? [lastDoc] : []);
|
|
28
|
+
}
|
|
29
|
+
else if (kind === 'next') {
|
|
30
|
+
if (pageByPageRef.current) {
|
|
31
|
+
setDocs(res.docs);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
setDocs((prev) => [...prev, ...res.docs]);
|
|
35
|
+
}
|
|
36
|
+
if (lastDoc) {
|
|
37
|
+
setPageCursors((prev) => [...prev, lastDoc]);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else if (kind === 'previous') {
|
|
41
|
+
setDocs(res.docs);
|
|
42
|
+
if (lastDoc) {
|
|
43
|
+
setPageCursors((prev) => [...prev, lastDoc]);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (pageByPageRef.current) {
|
|
48
|
+
setDocs(res.docs);
|
|
49
|
+
if (lastDoc) {
|
|
50
|
+
setPageCursors((prev) => (prev.length === 0 ? [lastDoc] : [...prev.slice(0, -1), lastDoc]));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
navKindRef.current = 'idle';
|
|
55
|
+
setLoading(false);
|
|
56
|
+
}, []);
|
|
57
|
+
const onErr = useCallback((err) => {
|
|
58
|
+
setError(err);
|
|
59
|
+
setLoading(false);
|
|
60
|
+
}, []);
|
|
61
|
+
const refreshTotals = useCallback(() => {
|
|
62
|
+
return getCountFromServer(mainQueryRef.current).then((res) => {
|
|
63
|
+
setTotals({ totalDocs: res.data().count, totalPages: Math.ceil(res.data().count / pageSize) || 0 });
|
|
64
|
+
});
|
|
65
|
+
}, [pageSize]);
|
|
66
|
+
// Reset when the logical query (queryKey) or page size changes — not on Query identity
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
let cancelled = false;
|
|
69
|
+
navKindRef.current = 'reset';
|
|
70
|
+
setLoading(true);
|
|
71
|
+
setError(undefined);
|
|
72
|
+
setDocs([]);
|
|
73
|
+
setPageCursors([]);
|
|
74
|
+
setActiveQuery(addQuery(mainQueryRef.current, limit, pageSize));
|
|
75
|
+
refreshTotals().catch((err) => {
|
|
76
|
+
if (cancelled)
|
|
77
|
+
return;
|
|
78
|
+
onErr(err);
|
|
79
|
+
});
|
|
80
|
+
return () => {
|
|
81
|
+
cancelled = true;
|
|
82
|
+
};
|
|
83
|
+
}, [queryKeySignature, pageSize, refreshTotals, onErr]);
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
let cancelled = false;
|
|
86
|
+
setLoading(true);
|
|
87
|
+
if (liveUpdate) {
|
|
88
|
+
const unsubscribe = onSnapshot(activeQuery, { includeMetadataChanges: true }, (res) => {
|
|
89
|
+
if (cancelled)
|
|
90
|
+
return;
|
|
91
|
+
// Skip pure metadata echoes for docs; still apply when docs/pending state matter.
|
|
92
|
+
// Recount only after local writes are acknowledged so getCountFromServer is accurate.
|
|
93
|
+
if (!res.metadata.hasPendingWrites) {
|
|
94
|
+
applySnapshot(res);
|
|
95
|
+
refreshTotals().catch((err) => {
|
|
96
|
+
if (cancelled)
|
|
97
|
+
return;
|
|
98
|
+
onErr(err);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else if (res.docChanges().length > 0) {
|
|
102
|
+
// Optimistic UI for local adds/removes; count updates on the follow-up snapshot.
|
|
103
|
+
applySnapshot(res);
|
|
104
|
+
}
|
|
105
|
+
}, (err) => {
|
|
106
|
+
if (cancelled)
|
|
107
|
+
return;
|
|
108
|
+
onErr(err);
|
|
109
|
+
});
|
|
110
|
+
return () => {
|
|
111
|
+
cancelled = true;
|
|
112
|
+
unsubscribe();
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
getDocs(activeQuery)
|
|
116
|
+
.then((res) => {
|
|
117
|
+
if (cancelled)
|
|
118
|
+
return;
|
|
119
|
+
applySnapshot(res);
|
|
120
|
+
})
|
|
121
|
+
.catch((err) => {
|
|
122
|
+
if (cancelled)
|
|
123
|
+
return;
|
|
124
|
+
onErr(err);
|
|
125
|
+
});
|
|
126
|
+
return () => {
|
|
127
|
+
cancelled = true;
|
|
128
|
+
};
|
|
129
|
+
}, [activeQuery, liveUpdate, applySnapshot, onErr, refreshTotals]);
|
|
130
|
+
const currentPage = pageCursors.length;
|
|
131
|
+
const hasNext = currentPage > 0 && currentPage < totals.totalPages;
|
|
132
|
+
const hasPrevious = pageByPage && currentPage > 1;
|
|
133
|
+
const getNext = useCallback(() => {
|
|
134
|
+
if (!hasNext)
|
|
135
|
+
return;
|
|
136
|
+
const cursor = pageCursors[pageCursors.length - 1];
|
|
137
|
+
if (!cursor)
|
|
138
|
+
return;
|
|
139
|
+
navKindRef.current = 'next';
|
|
140
|
+
setLoading(true);
|
|
141
|
+
setActiveQuery(addQuery(addQuery(mainQueryRef.current, startAfter, cursor), limit, pageSize));
|
|
142
|
+
}, [hasNext, pageCursors, pageSize]);
|
|
143
|
+
const getPrevious = useCallback(() => {
|
|
144
|
+
if (!hasPrevious)
|
|
145
|
+
return;
|
|
146
|
+
const newCursors = pageCursors.slice(0, -2);
|
|
147
|
+
const cursor = newCursors[newCursors.length - 1];
|
|
148
|
+
navKindRef.current = 'previous';
|
|
149
|
+
setPageCursors(newCursors.length ? newCursors : []);
|
|
150
|
+
setLoading(true);
|
|
151
|
+
if (cursor) {
|
|
152
|
+
setActiveQuery(addQuery(addQuery(mainQueryRef.current, startAfter, cursor), limit, pageSize));
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
navKindRef.current = 'reset';
|
|
156
|
+
setActiveQuery(addQuery(mainQueryRef.current, limit, pageSize));
|
|
157
|
+
}
|
|
158
|
+
}, [hasPrevious, pageCursors, pageSize]);
|
|
159
|
+
return {
|
|
160
|
+
error,
|
|
161
|
+
loading,
|
|
162
|
+
getNext,
|
|
163
|
+
getPrevious,
|
|
164
|
+
hasNext,
|
|
165
|
+
hasPrevious,
|
|
166
|
+
data: {
|
|
167
|
+
docs,
|
|
168
|
+
...totals,
|
|
169
|
+
currentPage,
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
export default usePagination;
|
|
174
|
+
//# sourceMappingURL=App.js.map
|
package/dist/App.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,OAAO,CAAA;eAElB,aAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,OAAO,CAAA;AAEjC,eAAe,aAAa,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,61 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "react-firebase-pagination",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"expo
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"react
|
|
59
|
-
"
|
|
60
|
-
|
|
61
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "react-firebase-pagination",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"author": "Chirag Patel",
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/Chirag7096/react-firebase-pagination.git"
|
|
20
|
+
},
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc",
|
|
23
|
+
"lint": "eslint .",
|
|
24
|
+
"prettier": "prettier --write \"src/**/*.{js,ts,jsx,tsx}\"",
|
|
25
|
+
"prepare": "bun run build",
|
|
26
|
+
"prepublishOnly": "bun prettier && bun lint",
|
|
27
|
+
"typecheck": "tsc --noEmit"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"firebase": ">=9",
|
|
31
|
+
"react": ">=16"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"dist",
|
|
35
|
+
"LICENSE",
|
|
36
|
+
"README.md"
|
|
37
|
+
],
|
|
38
|
+
"keywords": [
|
|
39
|
+
"expo",
|
|
40
|
+
"next",
|
|
41
|
+
"react",
|
|
42
|
+
"firebase",
|
|
43
|
+
"pagination",
|
|
44
|
+
"firebase pagination",
|
|
45
|
+
"firebase-pagination",
|
|
46
|
+
"expo firebase pagination",
|
|
47
|
+
"expo-firebase-pagination",
|
|
48
|
+
"next-firebase-pagination",
|
|
49
|
+
"next firebase pagination",
|
|
50
|
+
"react firebase pagination",
|
|
51
|
+
"react-firebase-pagination"
|
|
52
|
+
],
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@babel/core": "^8.0.6",
|
|
55
|
+
"@babel/eslint-parser": "^7.29.9",
|
|
56
|
+
"@babel/preset-typescript": "^8.0.1",
|
|
57
|
+
"@eslint/js": "^10.0.1",
|
|
58
|
+
"@types/react": "^19.3.0",
|
|
59
|
+
"eslint": "^9",
|
|
60
|
+
"eslint-config-prettier": "^10.1.8",
|
|
61
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
62
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
63
|
+
"firebase": "^12.19.0",
|
|
64
|
+
"globals": "^17.12.0",
|
|
65
|
+
"prettier": "^3.9.8",
|
|
66
|
+
"react": "^19.3.0",
|
|
67
|
+
"react-dom": "^19.3.0",
|
|
68
|
+
"typescript": "7.0.2"
|
|
69
|
+
}
|
|
70
|
+
}
|
package/dist/cjs/App.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
|
-
var react_1 = require("react");
|
|
5
|
-
var firestore_1 = require("firebase/firestore");
|
|
6
|
-
var addQuery = function (q, fun, value) {
|
|
7
|
-
return value ? (0, firestore_1.query)(q, fun(value)) : q;
|
|
8
|
-
};
|
|
9
|
-
var usePagination = function (_a) {
|
|
10
|
-
var _b = _a.pageSize, pageSize = _b === void 0 ? 10 : _b, mainQuery = _a.query, _c = _a.pageByPage, pageByPage = _c === void 0 ? false : _c, _d = _a.liveUpdate, liveUpdate = _d === void 0 ? false : _d;
|
|
11
|
-
var _e = (0, react_1.useState)(), error = _e[0], setError = _e[1];
|
|
12
|
-
var _f = (0, react_1.useState)(false), loading = _f[0], setLoading = _f[1];
|
|
13
|
-
var _g = (0, react_1.useState)([]), docs = _g[0], setDocs = _g[1];
|
|
14
|
-
var _h = (0, react_1.useState)([]), lastSnap = _h[0], setLastSnap = _h[1];
|
|
15
|
-
var _j = (0, react_1.useState)(addQuery(mainQuery, firestore_1.limit, pageSize)), query = _j[0], setQuery = _j[1];
|
|
16
|
-
var _k = (0, react_1.useState)({
|
|
17
|
-
totalDocs: 0,
|
|
18
|
-
totalPages: 0,
|
|
19
|
-
}), totals = _k[0], setTotals = _k[1];
|
|
20
|
-
var onRes = function (res) {
|
|
21
|
-
if (res.docs.length) {
|
|
22
|
-
setLastSnap(function (e) { return tslib_1.__spreadArray(tslib_1.__spreadArray([], e, true), [res.docs[pageSize - 1]], false); });
|
|
23
|
-
setDocs(function (e) { return (pageByPage ? res.docs : tslib_1.__spreadArray(tslib_1.__spreadArray([], e, true), res.docs, true)); });
|
|
24
|
-
}
|
|
25
|
-
setLoading(false);
|
|
26
|
-
};
|
|
27
|
-
var onErr = function (err) {
|
|
28
|
-
setError(err);
|
|
29
|
-
setLoading(false);
|
|
30
|
-
};
|
|
31
|
-
(0, react_1.useEffect)(function () {
|
|
32
|
-
setLoading(true);
|
|
33
|
-
if (liveUpdate) {
|
|
34
|
-
var unsubscribe = (0, firestore_1.onSnapshot)(query, onRes, onErr);
|
|
35
|
-
return unsubscribe;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
(0, firestore_1.getDocs)(query).then(onRes).catch(onErr);
|
|
39
|
-
return function () { return null; };
|
|
40
|
-
}
|
|
41
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
|
-
}, [query]);
|
|
43
|
-
(0, react_1.useEffect)(function () {
|
|
44
|
-
setLoading(true);
|
|
45
|
-
(0, firestore_1.getCountFromServer)(mainQuery).then(function (res) {
|
|
46
|
-
setQuery(addQuery(mainQuery, firestore_1.limit, pageSize));
|
|
47
|
-
setTotals({
|
|
48
|
-
totalDocs: res.data().count,
|
|
49
|
-
totalPages: Math.ceil(res.data().count / pageSize),
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
}, [mainQuery, pageSize, pageByPage]);
|
|
53
|
-
var getLastEle = function (array) { return array[array.length - 1]; };
|
|
54
|
-
var getNext = function () {
|
|
55
|
-
if (lastSnap.length < totals.totalPages) {
|
|
56
|
-
var q = addQuery(mainQuery, firestore_1.startAfter, getLastEle(lastSnap));
|
|
57
|
-
q = addQuery(q, firestore_1.limit, pageSize);
|
|
58
|
-
setQuery(q);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
var getPrevious = function () {
|
|
62
|
-
if (pageByPage && lastSnap.length > 1) {
|
|
63
|
-
var newArray = lastSnap.slice(0, -2);
|
|
64
|
-
setLastSnap(newArray);
|
|
65
|
-
var q = addQuery(mainQuery, firestore_1.startAfter, getLastEle(newArray));
|
|
66
|
-
q = addQuery(q, firestore_1.limit, pageSize);
|
|
67
|
-
setQuery(q);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
return (0, react_1.useMemo)(function () { return ({
|
|
71
|
-
error: error,
|
|
72
|
-
loading: loading,
|
|
73
|
-
getNext: getNext,
|
|
74
|
-
getPrevious: getPrevious,
|
|
75
|
-
hasNext: lastSnap.length < totals.totalPages,
|
|
76
|
-
hasPrevious: pageByPage ? 1 < lastSnap.length : false,
|
|
77
|
-
data: tslib_1.__assign(tslib_1.__assign({ docs: docs }, totals), { currentPage: lastSnap.length }),
|
|
78
|
-
}); },
|
|
79
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
80
|
-
[docs]);
|
|
81
|
-
};
|
|
82
|
-
exports.default = usePagination;
|
|
83
|
-
//# sourceMappingURL=App.js.map
|
package/dist/cjs/App.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/App.tsx"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
DELETED
package/dist/cjs/index.js
DELETED
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAAiC;AAEjC,kBAAe,aAAa,CAAA"}
|
package/dist/esm/App.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Query, QueryDocumentSnapshot } from 'firebase/firestore';
|
|
2
|
-
type data = {
|
|
3
|
-
totalDocs: number;
|
|
4
|
-
totalPages: number;
|
|
5
|
-
currentPage: number;
|
|
6
|
-
docs: QueryDocumentSnapshot[];
|
|
7
|
-
};
|
|
8
|
-
type hookReturnValue = {
|
|
9
|
-
data: data;
|
|
10
|
-
error?: Error;
|
|
11
|
-
loading: boolean;
|
|
12
|
-
getNext: () => void;
|
|
13
|
-
getPrevious: () => void;
|
|
14
|
-
};
|
|
15
|
-
type hookProps = {
|
|
16
|
-
query: Query;
|
|
17
|
-
pageSize: number;
|
|
18
|
-
pageByPage?: boolean;
|
|
19
|
-
liveUpdate?: boolean;
|
|
20
|
-
};
|
|
21
|
-
type usePaginateType = (props: hookProps) => hookReturnValue;
|
|
22
|
-
declare const usePagination: usePaginateType;
|
|
23
|
-
export default usePagination;
|
package/dist/esm/App.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { __assign, __spreadArray } from "tslib";
|
|
2
|
-
import { useState, useEffect, useMemo } from 'react';
|
|
3
|
-
import { query, limit, getDocs, startAfter, onSnapshot, getCountFromServer, } from 'firebase/firestore';
|
|
4
|
-
var addQuery = function (q, fun, value) {
|
|
5
|
-
return value ? query(q, fun(value)) : q;
|
|
6
|
-
};
|
|
7
|
-
var usePagination = function (_a) {
|
|
8
|
-
var _b = _a.pageSize, pageSize = _b === void 0 ? 10 : _b, mainQuery = _a.query, _c = _a.pageByPage, pageByPage = _c === void 0 ? false : _c, _d = _a.liveUpdate, liveUpdate = _d === void 0 ? false : _d;
|
|
9
|
-
var _e = useState(), error = _e[0], setError = _e[1];
|
|
10
|
-
var _f = useState(false), loading = _f[0], setLoading = _f[1];
|
|
11
|
-
var _g = useState([]), docs = _g[0], setDocs = _g[1];
|
|
12
|
-
var _h = useState([]), lastSnap = _h[0], setLastSnap = _h[1];
|
|
13
|
-
var _j = useState(addQuery(mainQuery, limit, pageSize)), query = _j[0], setQuery = _j[1];
|
|
14
|
-
var _k = useState({
|
|
15
|
-
totalDocs: 0,
|
|
16
|
-
totalPages: 0,
|
|
17
|
-
}), totals = _k[0], setTotals = _k[1];
|
|
18
|
-
var onRes = function (res) {
|
|
19
|
-
if (res.docs.length) {
|
|
20
|
-
setLastSnap(function (e) { return __spreadArray(__spreadArray([], e, true), [res.docs[pageSize - 1]], false); });
|
|
21
|
-
setDocs(function (e) { return (pageByPage ? res.docs : __spreadArray(__spreadArray([], e, true), res.docs, true)); });
|
|
22
|
-
}
|
|
23
|
-
setLoading(false);
|
|
24
|
-
};
|
|
25
|
-
var onErr = function (err) {
|
|
26
|
-
setError(err);
|
|
27
|
-
setLoading(false);
|
|
28
|
-
};
|
|
29
|
-
useEffect(function () {
|
|
30
|
-
setLoading(true);
|
|
31
|
-
if (liveUpdate) {
|
|
32
|
-
var unsubscribe = onSnapshot(query, onRes, onErr);
|
|
33
|
-
return unsubscribe;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
getDocs(query).then(onRes).catch(onErr);
|
|
37
|
-
return function () { return null; };
|
|
38
|
-
}
|
|
39
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
40
|
-
}, [query]);
|
|
41
|
-
useEffect(function () {
|
|
42
|
-
setLoading(true);
|
|
43
|
-
getCountFromServer(mainQuery).then(function (res) {
|
|
44
|
-
setQuery(addQuery(mainQuery, limit, pageSize));
|
|
45
|
-
setTotals({
|
|
46
|
-
totalDocs: res.data().count,
|
|
47
|
-
totalPages: Math.ceil(res.data().count / pageSize),
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
}, [mainQuery, pageSize, pageByPage]);
|
|
51
|
-
var getLastEle = function (array) { return array[array.length - 1]; };
|
|
52
|
-
var getNext = function () {
|
|
53
|
-
if (lastSnap.length < totals.totalPages) {
|
|
54
|
-
var q = addQuery(mainQuery, startAfter, getLastEle(lastSnap));
|
|
55
|
-
q = addQuery(q, limit, pageSize);
|
|
56
|
-
setQuery(q);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
var getPrevious = function () {
|
|
60
|
-
if (pageByPage && lastSnap.length > 1) {
|
|
61
|
-
var newArray = lastSnap.slice(0, -2);
|
|
62
|
-
setLastSnap(newArray);
|
|
63
|
-
var q = addQuery(mainQuery, startAfter, getLastEle(newArray));
|
|
64
|
-
q = addQuery(q, limit, pageSize);
|
|
65
|
-
setQuery(q);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
return useMemo(function () { return ({
|
|
69
|
-
error: error,
|
|
70
|
-
loading: loading,
|
|
71
|
-
getNext: getNext,
|
|
72
|
-
getPrevious: getPrevious,
|
|
73
|
-
hasNext: lastSnap.length < totals.totalPages,
|
|
74
|
-
hasPrevious: pageByPage ? 1 < lastSnap.length : false,
|
|
75
|
-
data: __assign(__assign({ docs: docs }, totals), { currentPage: lastSnap.length }),
|
|
76
|
-
}); },
|
|
77
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
78
|
-
[docs]);
|
|
79
|
-
};
|
|
80
|
-
export default usePagination;
|
|
81
|
-
//# sourceMappingURL=App.js.map
|
package/dist/esm/App.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/App.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,OAAO,CAAA;AAEjC,eAAe,aAAa,CAAA"}
|
package/dist/esm/test.d.ts
DELETED
package/dist/esm/test.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { collection, query, limit } from 'firebase/firestore';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { db } from '../../../firebase';
|
|
5
|
-
import usePagination from 'react-firebase-pagination';
|
|
6
|
-
var mainQuery = query(collection(db, 'formData'), limit(5));
|
|
7
|
-
var Page = function () {
|
|
8
|
-
var _a;
|
|
9
|
-
var _b = usePagination({
|
|
10
|
-
pageSize: 6,
|
|
11
|
-
pageByPage: true,
|
|
12
|
-
query: mainQuery
|
|
13
|
-
}), getNext = _b.getNext, getPrevious = _b.getPrevious, data = _b.data, loading = _b.loading;
|
|
14
|
-
console.log("this is data -----> ", data);
|
|
15
|
-
if (loading) {
|
|
16
|
-
return React.createElement("div", { className: 'flex w-screen h-screen items-center justify-center' }, "Loading...");
|
|
17
|
-
}
|
|
18
|
-
return (
|
|
19
|
-
// loading ? <span>Loading...</span> : <div className='flex flex-col ' >
|
|
20
|
-
React.createElement("div", { className: 'flex flex-col' },
|
|
21
|
-
React.createElement("div", { className: 'flex w-full h-12' }, ['username',
|
|
22
|
-
'firstName ',
|
|
23
|
-
'lastName ',
|
|
24
|
-
'email ',
|
|
25
|
-
'about ',
|
|
26
|
-
'address ',
|
|
27
|
-
'city ',
|
|
28
|
-
'region ',
|
|
29
|
-
'country ',
|
|
30
|
-
'pinCode ',
|
|
31
|
-
'candidate ',
|
|
32
|
-
'everything ',
|
|
33
|
-
].map(function (e) {
|
|
34
|
-
return React.createElement("div", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, e);
|
|
35
|
-
})),
|
|
36
|
-
React.createElement("div", { className: 'flex flex-col w-full h-full' }, (_a = data === null || data === void 0 ? void 0 : data.docs) === null || _a === void 0 ? void 0 :
|
|
37
|
-
_a.map(function (e) {
|
|
38
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
39
|
-
return (React.createElement(React.Fragment, null,
|
|
40
|
-
React.createElement("div", { key: (_a = e.data()) === null || _a === void 0 ? void 0 : _a.id, className: 'flex w-full' },
|
|
41
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_b = e.data()) === null || _b === void 0 ? void 0 : _b.userName),
|
|
42
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_c = e.data()) === null || _c === void 0 ? void 0 : _c.firstName),
|
|
43
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_d = e.data()) === null || _d === void 0 ? void 0 : _d.lastName),
|
|
44
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_e = e.data()) === null || _e === void 0 ? void 0 : _e.email),
|
|
45
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_f = e.data()) === null || _f === void 0 ? void 0 : _f.about),
|
|
46
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_g = e.data()) === null || _g === void 0 ? void 0 : _g.address),
|
|
47
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_h = e.data()) === null || _h === void 0 ? void 0 : _h.city),
|
|
48
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_j = e.data()) === null || _j === void 0 ? void 0 : _j.region),
|
|
49
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_k = e.data()) === null || _k === void 0 ? void 0 : _k.country),
|
|
50
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, (_l = e.data()) === null || _l === void 0 ? void 0 : _l.pinCode),
|
|
51
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, String((_m = e.data()) === null || _m === void 0 ? void 0 : _m.candidate)),
|
|
52
|
-
React.createElement("span", { className: 'w-32 text-ellipsis overflow-hidden whitespace-nowrap text-center border-x' }, String((_o = e.data()) === null || _o === void 0 ? void 0 : _o.everything)))));
|
|
53
|
-
}),
|
|
54
|
-
React.createElement("button", { className: 'bg-transparent w-32 hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded', onClick: function () { return getNext(); } }, "Next"),
|
|
55
|
-
React.createElement("button", { className: 'bg-transparent w-32 hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded', onClick: function () { return getPrevious(); } }, "Previous"))));
|
|
56
|
-
};
|
|
57
|
-
export default Page;
|
|
58
|
-
//# sourceMappingURL=test.js.map
|
package/dist/esm/test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/test.tsx"],"names":[],"mappings":"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"}
|
|
File without changes
|