@promoboxx/use-filter 1.6.0 → 1.7.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/dist/useFilter.d.ts +3 -0
- package/dist/useFilter.js +11 -1
- package/dist/useSimpleFilter.d.ts +4 -0
- package/dist/useSimpleFilter.js +4 -0
- package/package.json +1 -1
package/dist/useFilter.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ declare function useFilter<TFilter, TResult>(namespace: string, options: UseFilt
|
|
|
16
16
|
setPage: (page: number | string, shouldRunImmediately?: boolean) => void;
|
|
17
17
|
setPageSize: (pageSize: number | string, shouldRunImmediately?: boolean) => void;
|
|
18
18
|
setSort: (sort: string | undefined, shouldRunImmediately?: boolean) => void;
|
|
19
|
+
setCursor: (cursor: string | null | undefined, shouldRunImmediately?: boolean) => void;
|
|
19
20
|
forceRefresh: (shouldRunImmediately?: boolean) => void;
|
|
20
21
|
};
|
|
21
22
|
export default useFilter;
|
|
@@ -29,6 +30,8 @@ export interface FilterInfo<TFilter> {
|
|
|
29
30
|
totalResults: number;
|
|
30
31
|
totalPages: number;
|
|
31
32
|
shouldRunImmediately: boolean;
|
|
33
|
+
cursor?: string | null;
|
|
34
|
+
nextCursor?: string | null;
|
|
32
35
|
}
|
|
33
36
|
declare type UseFilterOnChangeResult<TFilter, TResult> = void | {
|
|
34
37
|
filterInfo?: Partial<Omit<FilterInfo<TFilter>, 'totalResults' | 'offset' | 'pageSize'> & {
|
package/dist/useFilter.js
CHANGED
|
@@ -98,7 +98,7 @@ function useFilter(namespace, options) {
|
|
|
98
98
|
invariant(!!response.filterInfo, '');
|
|
99
99
|
invariant(previous != null, 'handleResponse called without filterInfo');
|
|
100
100
|
var extra = {};
|
|
101
|
-
var _a = response.filterInfo, page = _a.page, offset = _a.offset, totalResults = _a.totalResults, pageSize = _a.pageSize, filterInfoFromResponse = __rest(_a, ["page", "offset", "totalResults", "pageSize"]);
|
|
101
|
+
var _a = response.filterInfo, page = _a.page, offset = _a.offset, totalResults = _a.totalResults, pageSize = _a.pageSize, nextCursor = _a.nextCursor, filterInfoFromResponse = __rest(_a, ["page", "offset", "totalResults", "pageSize", "nextCursor"]);
|
|
102
102
|
var pageSizeNumber = Number(pageSize || previous.pageSize);
|
|
103
103
|
if (page != null && offset == null) {
|
|
104
104
|
extra.offset = getOffsetFromPage_1.default(page, pageSizeNumber);
|
|
@@ -114,6 +114,9 @@ function useFilter(namespace, options) {
|
|
|
114
114
|
extra.totalResults = Number(totalResults);
|
|
115
115
|
extra.totalPages = Math.ceil(extra.totalResults / pageSizeNumber);
|
|
116
116
|
}
|
|
117
|
+
if (nextCursor) {
|
|
118
|
+
extra.nextCursor = nextCursor;
|
|
119
|
+
}
|
|
117
120
|
return __assign(__assign(__assign({}, previous), filterInfoFromResponse), extra);
|
|
118
121
|
});
|
|
119
122
|
}
|
|
@@ -198,6 +201,13 @@ function useFilter(namespace, options) {
|
|
|
198
201
|
return __assign(__assign({}, previous), { sort: sort, lastRefreshAt: new Date().getTime(), shouldRunImmediately: shouldRunImmediately });
|
|
199
202
|
});
|
|
200
203
|
}, []),
|
|
204
|
+
setCursor: react_1.useCallback(function (cursor, shouldRunImmediately) {
|
|
205
|
+
if (shouldRunImmediately === void 0) { shouldRunImmediately = false; }
|
|
206
|
+
setFilterInfoState(function (previous) {
|
|
207
|
+
invariant(previous != null, 'setCursor called without filterInfo');
|
|
208
|
+
return __assign(__assign({}, previous), { cursor: cursor, lastRefreshAt: new Date().getTime(), shouldRunImmediately: shouldRunImmediately });
|
|
209
|
+
});
|
|
210
|
+
}, []),
|
|
201
211
|
forceRefresh: react_1.useCallback(function (shouldRunImmediately) {
|
|
202
212
|
if (shouldRunImmediately === void 0) { shouldRunImmediately = false; }
|
|
203
213
|
setFilterInfoState(function (previous) {
|
|
@@ -5,6 +5,7 @@ export interface SimpleFilterInfo<TFilter> {
|
|
|
5
5
|
page: number;
|
|
6
6
|
pageSize: number;
|
|
7
7
|
lastRefreshAt: number;
|
|
8
|
+
cursor?: string | null;
|
|
8
9
|
shouldRunImmediately: boolean;
|
|
9
10
|
}
|
|
10
11
|
interface UseSimpleFilterOptions<TFilter> {
|
|
@@ -21,6 +22,7 @@ declare function useSimpleFilter<TFilter>(namespace: string, options: UseSimpleF
|
|
|
21
22
|
page: number;
|
|
22
23
|
pageSize: number;
|
|
23
24
|
lastRefreshAt: number;
|
|
25
|
+
cursor?: string | null | undefined;
|
|
24
26
|
};
|
|
25
27
|
debouncedFilterInfo: {
|
|
26
28
|
shouldRunImmediately: boolean;
|
|
@@ -30,6 +32,7 @@ declare function useSimpleFilter<TFilter>(namespace: string, options: UseSimpleF
|
|
|
30
32
|
page: number;
|
|
31
33
|
pageSize: number;
|
|
32
34
|
lastRefreshAt: number;
|
|
35
|
+
cursor?: string | null | undefined;
|
|
33
36
|
};
|
|
34
37
|
updateFilter: (filter: Partial<TFilter>, shouldRunImmediately?: any) => void;
|
|
35
38
|
pagingInfo: (total: string | number | null | undefined) => {
|
|
@@ -41,6 +44,7 @@ declare function useSimpleFilter<TFilter>(namespace: string, options: UseSimpleF
|
|
|
41
44
|
setPage: (page: number | string, shouldRunImmediately?: boolean) => void;
|
|
42
45
|
setPageSize: (pageSize: number | string, shouldRunImmediately?: boolean) => void;
|
|
43
46
|
setSort: (sort: string, shouldRunImmediately?: boolean) => void;
|
|
47
|
+
setCursor: (cursor: string | null | undefined, shouldRunImmediately?: boolean) => void;
|
|
44
48
|
forceRefresh: (shouldRunImmediately?: boolean) => void;
|
|
45
49
|
};
|
|
46
50
|
export default useSimpleFilter;
|
package/dist/useSimpleFilter.js
CHANGED
|
@@ -117,6 +117,10 @@ function useSimpleFilter(namespace, options) {
|
|
|
117
117
|
if (shouldRunImmediately === void 0) { shouldRunImmediately = false; }
|
|
118
118
|
setFilterInfoState(function (previous) { return (__assign(__assign({}, previous), { sort: sort, lastRefreshAt: new Date().getTime(), shouldRunImmediately: shouldRunImmediately })); });
|
|
119
119
|
}, []),
|
|
120
|
+
setCursor: react_1.useCallback(function (cursor, shouldRunImmediately) {
|
|
121
|
+
if (shouldRunImmediately === void 0) { shouldRunImmediately = false; }
|
|
122
|
+
setFilterInfoState(function (previous) { return (__assign(__assign({}, previous), { cursor: cursor, lastRefreshAt: new Date().getTime(), shouldRunImmediately: shouldRunImmediately })); });
|
|
123
|
+
}, []),
|
|
120
124
|
forceRefresh: react_1.useCallback(function (shouldRunImmediately) {
|
|
121
125
|
if (shouldRunImmediately === void 0) { shouldRunImmediately = false; }
|
|
122
126
|
setFilterInfoState(function (previous) { return (__assign(__assign({}, previous), { lastRefreshAt: new Date().getTime(), shouldRunImmediately: shouldRunImmediately })); });
|