@ngrx-traits/common 18.4.2 → 19.0.0-beta.2
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/fesm2022/ngrx-traits-common.mjs +12 -12
- package/fesm2022/ngrx-traits-common.mjs.map +1 -1
- package/package.json +7 -9
- package/reset/reset.trait.d.ts +1 -1
- package/esm2022/async-action/async-action.model.mjs +0 -2
- package/esm2022/async-action/async-action.trait.mjs +0 -116
- package/esm2022/async-action/index.mjs +0 -3
- package/esm2022/crud-entities/crud-entities.model.mjs +0 -8
- package/esm2022/crud-entities/crud-entities.trait.actions.mjs +0 -20
- package/esm2022/crud-entities/crud-entities.trait.mjs +0 -58
- package/esm2022/crud-entities/crud-entities.trait.mutators.mjs +0 -121
- package/esm2022/crud-entities/crud-entities.trait.reducer.mjs +0 -17
- package/esm2022/crud-entities/crud-entities.trait.selectors.mjs +0 -54
- package/esm2022/crud-entities/index.mjs +0 -3
- package/esm2022/entities-pagination/entities-pagination.model.internal.mjs +0 -2
- package/esm2022/entities-pagination/entities-pagination.model.mjs +0 -2
- package/esm2022/entities-pagination/entities-pagination.trait.actions.mjs +0 -20
- package/esm2022/entities-pagination/entities-pagination.trait.effects.mjs +0 -63
- package/esm2022/entities-pagination/entities-pagination.trait.mjs +0 -94
- package/esm2022/entities-pagination/entities-pagination.trait.mutators.mjs +0 -66
- package/esm2022/entities-pagination/entities-pagination.trait.reducer.mjs +0 -79
- package/esm2022/entities-pagination/entities-pagination.trait.selectors.mjs +0 -84
- package/esm2022/entities-pagination/index.mjs +0 -3
- package/esm2022/entities-sync-to-route-query-params/entities-sync-to-route-query-params.mjs +0 -127
- package/esm2022/entities-sync-to-route-query-params/index.mjs +0 -2
- package/esm2022/filter-entities/filter-entities.model.internal.mjs +0 -2
- package/esm2022/filter-entities/filter-entities.model.mjs +0 -2
- package/esm2022/filter-entities/filter-entities.trait.actions.mjs +0 -16
- package/esm2022/filter-entities/filter-entities.trait.effect.mjs +0 -59
- package/esm2022/filter-entities/filter-entities.trait.mjs +0 -74
- package/esm2022/filter-entities/filter-entities.trait.mutators.mjs +0 -10
- package/esm2022/filter-entities/filter-entities.trait.reducer.mjs +0 -11
- package/esm2022/filter-entities/filter-entities.trait.selectors.mjs +0 -9
- package/esm2022/filter-entities/index.mjs +0 -3
- package/esm2022/index.mjs +0 -13
- package/esm2022/load-entities/index.mjs +0 -3
- package/esm2022/load-entities/load-entities.model.mjs +0 -2
- package/esm2022/load-entities/load-entities.mutators.mjs +0 -7
- package/esm2022/load-entities/load-entities.trait.actions.mjs +0 -10
- package/esm2022/load-entities/load-entities.trait.mjs +0 -62
- package/esm2022/load-entities/load-entities.trait.reducer.mjs +0 -27
- package/esm2022/load-entities/load-entities.trait.selectors.mjs +0 -38
- package/esm2022/load-entities/load-entities.utils.mjs +0 -10
- package/esm2022/load-entity/index.mjs +0 -3
- package/esm2022/load-entity/load-entity.model.mjs +0 -2
- package/esm2022/load-entity/load-entity.traits.mjs +0 -78
- package/esm2022/ngrx-traits-common.mjs +0 -5
- package/esm2022/reset/index.mjs +0 -2
- package/esm2022/reset/reset.trait.mjs +0 -37
- package/esm2022/select-entities/index.mjs +0 -4
- package/esm2022/select-entities/select-entities.model.mjs +0 -2
- package/esm2022/select-entities/select-entities.trait.actions.mjs +0 -11
- package/esm2022/select-entities/select-entities.trait.mjs +0 -55
- package/esm2022/select-entities/select-entities.trait.mutators.mjs +0 -27
- package/esm2022/select-entities/select-entities.trait.reducer.mjs +0 -42
- package/esm2022/select-entities/select-entities.trait.selectors.mjs +0 -28
- package/esm2022/select-entities/select-entities.utils.mjs +0 -30
- package/esm2022/select-entity/index.mjs +0 -3
- package/esm2022/select-entity/select-entity.model.mjs +0 -2
- package/esm2022/select-entity/select-entity.trait.actions.mjs +0 -9
- package/esm2022/select-entity/select-entity.trait.mjs +0 -52
- package/esm2022/select-entity/select-entity.trait.mutators.mjs +0 -26
- package/esm2022/select-entity/select-entity.trait.reducer.mjs +0 -35
- package/esm2022/select-entity/select-entity.trait.selectors.mjs +0 -13
- package/esm2022/set-entity/index.mjs +0 -3
- package/esm2022/set-entity/set-entity.model.mjs +0 -2
- package/esm2022/set-entity/set-entity.trait.mjs +0 -62
- package/esm2022/sort-entities/index.mjs +0 -4
- package/esm2022/sort-entities/sort-entities.model.mjs +0 -2
- package/esm2022/sort-entities/sort-entities.trait.actions.mjs +0 -8
- package/esm2022/sort-entities/sort-entities.trait.effect.mjs +0 -28
- package/esm2022/sort-entities/sort-entities.trait.mjs +0 -61
- package/esm2022/sort-entities/sort-entities.trait.mutators.mjs +0 -24
- package/esm2022/sort-entities/sort-entities.trait.reducer.mjs +0 -15
- package/esm2022/sort-entities/sort-entities.trait.selectors.mjs +0 -9
- package/esm2022/sort-entities/sort-entities.utils.mjs +0 -63
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TraitEffect } from '@ngrx-traits/core';
|
|
3
|
-
import { createEffect, ofType } from '@ngrx/effects';
|
|
4
|
-
import { concatLatestFrom } from '@ngrx/operators';
|
|
5
|
-
import { concatMap, concatMapTo, filter, first, map, } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export function createPaginationTraitEffects(allActions, allSelectors) {
|
|
8
|
-
class PaginationEffect extends TraitEffect {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.loadPage$ = createEffect(() => {
|
|
12
|
-
return this.actions$.pipe(ofType(allActions.loadEntitiesPage), concatLatestFrom(() => this.store.select(allSelectors
|
|
13
|
-
.isEntitiesCurrentPageInCache)), map(([{ forceLoad }, isInCache]) => !forceLoad && isInCache
|
|
14
|
-
? allActions.loadEntitiesPageSuccess()
|
|
15
|
-
: allActions.loadEntities()));
|
|
16
|
-
});
|
|
17
|
-
this.preloadNextPage$ = createEffect(() => {
|
|
18
|
-
return this.actions$.pipe(ofType(allActions.loadEntitiesPageSuccess), concatMapTo(this.store
|
|
19
|
-
.select(allSelectors.selectEntitiesCurrentPageInfo)
|
|
20
|
-
.pipe(first())), filter((pageInfo) => !!pageInfo.total &&
|
|
21
|
-
pageInfo.hasNext &&
|
|
22
|
-
pageInfo.cacheType !== 'full'), concatMap((pageInfo) => this.store
|
|
23
|
-
.select(allSelectors
|
|
24
|
-
.isEntitiesNextPageInCache)
|
|
25
|
-
.pipe(first(), map((isInCache) => (!isInCache && pageInfo) || undefined))), filter((pageInfo) => !!pageInfo), concatMap((pageInfo) => [
|
|
26
|
-
allActions.setEntitiesRequestPage({ index: pageInfo.pageIndex + 1 }),
|
|
27
|
-
allActions.loadEntities(),
|
|
28
|
-
]));
|
|
29
|
-
});
|
|
30
|
-
this.loadFirstPage$ = createEffect(() => {
|
|
31
|
-
return this.actions$.pipe(ofType(allActions.loadEntitiesFirstPage), map(() => allActions.loadEntitiesPage({ index: 0 })));
|
|
32
|
-
});
|
|
33
|
-
this.loadPreviousPage$ = createEffect(() => {
|
|
34
|
-
return this.actions$.pipe(ofType(allActions.loadEntitiesPreviousPage), concatMapTo(this.store
|
|
35
|
-
.select(allSelectors.selectEntitiesCurrentPageInfo)
|
|
36
|
-
.pipe(first())), map((page) => page.hasPrevious
|
|
37
|
-
? allActions.loadEntitiesPage({ index: page.pageIndex - 1 })
|
|
38
|
-
: allActions.loadEntitiesPageFail()));
|
|
39
|
-
});
|
|
40
|
-
this.loadNextPage$ = createEffect(() => {
|
|
41
|
-
return this.actions$.pipe(ofType(allActions.loadEntitiesNextPage), concatMapTo(this.store
|
|
42
|
-
.select(allSelectors.selectEntitiesCurrentPageInfo)
|
|
43
|
-
.pipe(first())), map((page) => page.hasNext
|
|
44
|
-
? allActions.loadEntitiesPage({ index: page.pageIndex + 1 })
|
|
45
|
-
: allActions.loadEntitiesPageFail()));
|
|
46
|
-
});
|
|
47
|
-
this.loadLastPage$ = createEffect(() => {
|
|
48
|
-
return this.actions$.pipe(ofType(allActions.loadEntitiesLastPage), concatMapTo(this.store
|
|
49
|
-
.select(allSelectors.selectEntitiesCurrentPageInfo)
|
|
50
|
-
.pipe(first())), map((page) => page.hasNext && page.pagesCount
|
|
51
|
-
? allActions.loadEntitiesPage({ index: page.pagesCount - 1 })
|
|
52
|
-
: allActions.loadEntitiesPageFail()));
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: PaginationEffect, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
56
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: PaginationEffect }); }
|
|
57
|
-
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: PaginationEffect, decorators: [{
|
|
59
|
-
type: Injectable
|
|
60
|
-
}] });
|
|
61
|
-
return [PaginationEffect];
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9lbnRpdGllcy1wYWdpbmF0aW9uL2VudGl0aWVzLXBhZ2luYXRpb24udHJhaXQuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLEdBQUcsR0FFSixNQUFNLGdCQUFnQixDQUFDOztBQVd4QixNQUFNLFVBQVUsNEJBQTRCLENBQzFDLFVBRzZCLEVBQzdCLFlBQ3FDO0lBRXJDLE1BQ00sZ0JBQWlCLFNBQVEsV0FBVztRQUQxQzs7WUFFRSxjQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtnQkFDNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNuQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2QsWUFBZ0U7cUJBQzlELDRCQUE0QixDQUNoQyxDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FDakMsQ0FBQyxTQUFTLElBQUksU0FBUztvQkFDckIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtv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RUFBRSxDQUNYLElBQUksQ0FBQyxPQUFPO29CQUNWLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDNUQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxDQUN0QyxDQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILGtCQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtnQkFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUN2QyxXQUFXLENBQ1QsSUFBSSxDQUFDLEtBQUs7cUJBQ1AsTUFBTSxDQUFDLFlBQVksQ0FBQyw2QkFBNkIsQ0FBQztxQkFDbEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ2pCLEVBQ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDWCxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVO29CQUM3QixDQUFDLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzdELENBQUMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FDdEMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtrSEF6R0ssZ0JBQWdCO3NIQUFoQixnQkFBZ0I7OytGQUFoQixnQkFBZ0I7c0JBRHJCLFVBQVU7O0lBMkdYLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0NBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhaXRFZmZlY3QgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IGNvbmNhdExhdGVzdEZyb20gfSBmcm9tICdAbmdyeC9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgY29uY2F0TWFwLFxuICBjb25jYXRNYXBUbyxcbiAgZmlsdGVyLFxuICBmaXJzdCxcbiAgbWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ3J1ZEVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4uL2NydWQtZW50aXRpZXMvY3J1ZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IExvYWRFbnRpdGllc0FjdGlvbnMsIExvYWRFbnRpdGllc1NlbGVjdG9ycyB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuaW1wb3J0IHsgRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzIH0gZnJvbSAnLi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsJztcbmltcG9ydCB7XG4gIMafRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzLFxuICDGn1BhZ2luYXRpb25BY3Rpb25zLFxufSBmcm9tICcuL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwuaW50ZXJuYWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGFnaW5hdGlvblRyYWl0RWZmZWN0czxFbnRpdHk+KFxuICBhbGxBY3Rpb25zOiDGn1BhZ2luYXRpb25BY3Rpb25zICZcbiAgICBGaWx0ZXJFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4sXG4gIGFsbFNlbGVjdG9yczogTG9hZEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4gJlxuICAgIEVudGl0aWVzUGFnaW5hdGlvblNlbGVjdG9yczxFbnRpdHk+LFxuKTogVHlwZTxUcmFpdEVmZmVjdD5bXSB7XG4gIEBJbmplY3RhYmxlKClcbiAgY2xhc3MgUGFnaW5hdGlvbkVmZmVjdCBleHRlbmRzIFRyYWl0RWZmZWN0IHtcbiAgICBsb2FkUGFnZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZSksXG4gICAgICAgIGNvbmNhdExhdGVzdEZyb20oKCkgPT5cbiAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChcbiAgICAgICAgICAgIChhbGxTZWxlY3RvcnMgYXMgdW5rbm93biBhcyDGn0VudGl0aWVzUGFnaW5hdGlvblNlbGVjdG9yczxFbnRpdHk+KVxuICAgICAgICAgICAgICAuaXNFbnRpdGllc0N1cnJlbnRQYWdlSW5DYWNoZSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBtYXAoKFt7IGZvcmNlTG9hZCB9LCBpc0luQ2FjaGVdKSA9PlxuICAgICAgICAgICFmb3JjZUxvYWQgJiYgaXNJbkNhY2hlXG4gICAgICAgICAgICA/IGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MoKVxuICAgICAgICAgICAgOiBhbGxBY3Rpb25zLmxvYWRFbnRpdGllcygpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHByZWxvYWROZXh0UGFnZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MpLFxuICAgICAgICBjb25jYXRNYXBUbyhcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAuc2VsZWN0KGFsbFNlbGVjdG9ycy5zZWxlY3RFbnRpdGllc0N1cnJlbnRQYWdlSW5mbylcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpLFxuICAgICAgICApLFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgKHBhZ2VJbmZvKSA9PlxuICAgICAgICAgICAgISFwYWdlSW5mby50b3RhbCAmJlxuICAgICAgICAgICAgcGFnZUluZm8uaGFzTmV4dCAmJlxuICAgICAgICAgICAgcGFnZUluZm8uY2FjaGVUeXBlICE9PSAnZnVsbCcsXG4gICAgICAgICksXG4gICAgICAgIGNvbmNhdE1hcCgocGFnZUluZm8pID0+XG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnNlbGVjdChcbiAgICAgICAgICAgICAgKGFsbFNlbGVjdG9ycyBhcyB1bmtub3duIGFzIMafRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzPEVudGl0eT4pXG4gICAgICAgICAgICAgICAgLmlzRW50aXRpZXNOZXh0UGFnZUluQ2FjaGUsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgbWFwKChpc0luQ2FjaGUpID0+ICghaXNJbkNhY2hlICYmIHBhZ2VJbmZvKSB8fCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgZmlsdGVyKChwYWdlSW5mbykgPT4gISFwYWdlSW5mbyksXG4gICAgICAgIGNvbmNhdE1hcCgocGFnZUluZm8pID0+IFtcbiAgICAgICAgICBhbGxBY3Rpb25zLnNldEVudGl0aWVzUmVxdWVzdFBhZ2UoeyBpbmRleDogcGFnZUluZm8hLnBhZ2VJbmRleCArIDEgfSksXG4gICAgICAgICAgYWxsQWN0aW9ucy5sb2FkRW50aXRpZXMoKSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgbG9hZEZpcnN0UGFnZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzRmlyc3RQYWdlKSxcbiAgICAgICAgbWFwKCgpID0+IGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZSh7IGluZGV4OiAwIH0pKSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBsb2FkUHJldmlvdXNQYWdlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNQcmV2aW91c1BhZ2UpLFxuICAgICAgICBjb25jYXRNYXBUbyhcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAuc2VsZWN0KGFsbFNlbGVjdG9ycy5zZWxlY3RFbnRpdGllc0N1cnJlbnRQYWdlSW5mbylcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpLFxuICAgICAgICApLFxuICAgICAgICBtYXAoKHBhZ2UpID0+XG4gICAgICAgICAgcGFnZS5oYXNQcmV2aW91c1xuICAgICAgICAgICAgPyBhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2UoeyBpbmRleDogcGFnZS5wYWdlSW5kZXggLSAxIH0pXG4gICAgICAgICAgICA6IGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZUZhaWwoKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBsb2FkTmV4dFBhZ2UkID0gY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShhbGxBY3Rpb25zLmxvYWRFbnRpdGllc05leHRQYWdlKSxcbiAgICAgICAgY29uY2F0TWFwVG8oXG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnNlbGVjdChhbGxTZWxlY3RvcnMuc2VsZWN0RW50aXRpZXNDdXJyZW50UGFnZUluZm8pXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKSxcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChwYWdlKSA9PlxuICAgICAgICAgIHBhZ2UuaGFzTmV4dFxuICAgICAgICAgICAgPyBhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2UoeyBpbmRleDogcGFnZS5wYWdlSW5kZXggKyAxIH0pXG4gICAgICAgICAgICA6IGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZUZhaWwoKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBsb2FkTGFzdFBhZ2UkID0gY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShhbGxBY3Rpb25zLmxvYWRFbnRpdGllc0xhc3RQYWdlKSxcbiAgICAgICAgY29uY2F0TWFwVG8oXG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnNlbGVjdChhbGxTZWxlY3RvcnMuc2VsZWN0RW50aXRpZXNDdXJyZW50UGFnZUluZm8pXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKSxcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChwYWdlKSA9PlxuICAgICAgICAgIHBhZ2UuaGFzTmV4dCAmJiBwYWdlLnBhZ2VzQ291bnRcbiAgICAgICAgICAgID8gYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNQYWdlKHsgaW5kZXg6IHBhZ2UucGFnZXNDb3VudCAtIDEgfSlcbiAgICAgICAgICAgIDogYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNQYWdlRmFpbCgpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gW1BhZ2luYXRpb25FZmZlY3RdO1xufVxuIl19
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { entitiesPaginationTraitKey, } from './entities-pagination.model';
|
|
2
|
-
import { createPaginationTraitSelectors } from './entities-pagination.trait.selectors';
|
|
3
|
-
import { createPaginationTraitActions } from './entities-pagination.trait.actions';
|
|
4
|
-
import { loadEntitiesTraitKey, } from '../load-entities/load-entities.model';
|
|
5
|
-
import { createPaginationInitialState, createPaginationTraitReducer, } from './entities-pagination.trait.reducer';
|
|
6
|
-
import { createPaginationTraitEffects } from './entities-pagination.trait.effects';
|
|
7
|
-
import { createTraitFactory } from '@ngrx-traits/core';
|
|
8
|
-
import { createPaginationTraitMutators } from './entities-pagination.trait.mutators';
|
|
9
|
-
/**
|
|
10
|
-
* Generates ngrx code to paginate a list of entities, this has 3 cache `cacheType`
|
|
11
|
-
* - 'full': The full result is cache in memory and split in pages to render, useful
|
|
12
|
-
* for small result but not so small that requires been render in pages
|
|
13
|
-
* - 'partial': Backend returns partial results because is are to big, this has a cache a few pages forward
|
|
14
|
-
* to avoid calling the backend on each page, the cache is clean when a new loadEntities is required
|
|
15
|
-
* - 'grow': Similar to partial that the backend returns partial result, but in this case the cache grows,
|
|
16
|
-
* after each loadEntities the cache is appended to the previous cache, this mode is ideal for infinite scrolls,
|
|
17
|
-
* where you will only call loadNextPage.
|
|
18
|
-
* To make the pagination experience smoother the loadEntities action is fired when the current page is equal
|
|
19
|
-
* to the last cached page, so while the user is reading the page more pages are being loading in the background.
|
|
20
|
-
* @param config
|
|
21
|
-
* @param config.cacheType - Default to 'partial', change the cache mode
|
|
22
|
-
* @param config.pageSize - Default to 10, number of entities on each page
|
|
23
|
-
* @param config.currentPage - Default to 0, starting page
|
|
24
|
-
* @param config.pagesToCache - Default to 3, used in partial and grow cache mode, is the number of
|
|
25
|
-
* extra pages kept in cache to avoid calling the backend on each page
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* // The following trait config
|
|
29
|
-
*
|
|
30
|
-
* export interface TestState
|
|
31
|
-
* extends EntityAndStatusState<Todo>,EntitiesPaginationState{}
|
|
32
|
-
*
|
|
33
|
-
* const traits = createEntityFeatureFactory(
|
|
34
|
-
* {entityName: 'Todo'},
|
|
35
|
-
* addLoadEntitiesTrait<Todo>(),
|
|
36
|
-
* addEntitiesPaginationTrait<Todo>()
|
|
37
|
-
* )({
|
|
38
|
-
* actionsGroupKey: '[Todos]',
|
|
39
|
-
* featureSelector: createFeatureSelector<TestState>>(
|
|
40
|
-
* 'todos',
|
|
41
|
-
* ),
|
|
42
|
-
* });
|
|
43
|
-
*
|
|
44
|
-
* // adds following props to the state:
|
|
45
|
-
* // pagination: {
|
|
46
|
-
* // currentPage: number;
|
|
47
|
-
* // requestPage: number;
|
|
48
|
-
* // pageSize: number;
|
|
49
|
-
* // total?: number;
|
|
50
|
-
* // pagesToCache: number;
|
|
51
|
-
* // cache: {
|
|
52
|
-
* // type: 'full' | 'partial' | 'grow';
|
|
53
|
-
* // start: number;
|
|
54
|
-
* // end: number;
|
|
55
|
-
* // }
|
|
56
|
-
* // }
|
|
57
|
-
*
|
|
58
|
-
* // generated actions
|
|
59
|
-
* traits.actions.loadTodosPage({index})
|
|
60
|
-
* traits.actions.loadTodosPageSuccess()
|
|
61
|
-
* traits.actions.loadTodosPageFail()
|
|
62
|
-
* traits.actions.loadTodosNextPage()
|
|
63
|
-
* traits.actions.loadTodosPreviousPage()
|
|
64
|
-
* traits.actions.loadTodosFirstPage()
|
|
65
|
-
* traits.actions.loadTodosLastPage()
|
|
66
|
-
* traits.actions.clearTodosPagesCache()
|
|
67
|
-
* // generated selectors
|
|
68
|
-
* traits.selectors.selectTodosCurrentPageList()
|
|
69
|
-
* traits.selectors.isLoadingTodosCurrentPage()
|
|
70
|
-
* // use isLoadingTodosPage over isLoadingTodos (which will return true even
|
|
71
|
-
* // if the page loading is not the current one)
|
|
72
|
-
* traits.selectors.selectTodosCurrentPage()
|
|
73
|
-
* traits.selectors.selectTodosPagedRequest()// use in effects to get paging parameter
|
|
74
|
-
* traits.selectors.selectTodosCurrentPageInfo()
|
|
75
|
-
*/
|
|
76
|
-
export function addEntitiesPaginationTrait({ cacheType = 'partial', pageSize = 10, currentPage = 0, pagesToCache = 3, } = {}) {
|
|
77
|
-
return createTraitFactory({
|
|
78
|
-
key: entitiesPaginationTraitKey,
|
|
79
|
-
depends: [loadEntitiesTraitKey],
|
|
80
|
-
config: {
|
|
81
|
-
cacheType,
|
|
82
|
-
pageSize,
|
|
83
|
-
currentPage,
|
|
84
|
-
pagesToCache,
|
|
85
|
-
},
|
|
86
|
-
actions: ({ actionsGroupKey, entitiesName }) => createPaginationTraitActions(actionsGroupKey, entitiesName),
|
|
87
|
-
selectors: ({ previousSelectors, allConfigs, }) => createPaginationTraitSelectors(previousSelectors, allConfigs),
|
|
88
|
-
mutators: ({ allSelectors, allConfigs }) => createPaginationTraitMutators(allSelectors, allConfigs),
|
|
89
|
-
initialState: ({ previousInitialState, allConfigs, }) => createPaginationInitialState(previousInitialState, allConfigs),
|
|
90
|
-
reducer: ({ initialState, allActions, allSelectors, allMutators, allConfigs, }) => createPaginationTraitReducer(initialState, allActions, allSelectors, allMutators, allConfigs),
|
|
91
|
-
effects: ({ allActions, allSelectors }) => createPaginationTraitEffects(allActions, allSelectors),
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvZW50aXRpZXMtcGFnaW5hdGlvbi9lbnRpdGllcy1wYWdpbmF0aW9uLnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCwwQkFBMEIsR0FDM0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUtuRixPQUFPLEVBS0wsb0JBQW9CLEdBQ3JCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw0QkFBNEIsR0FDN0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVlyRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0VHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFTLEVBQ2pELFNBQVMsR0FBRyxTQUFTLEVBQ3JCLFFBQVEsR0FBRyxFQUFFLEVBQ2IsV0FBVyxHQUFHLENBQUMsRUFDZixZQUFZLEdBQUcsQ0FBQyxNQUNZLEVBQUU7SUFDOUIsT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixHQUFHLEVBQUUsMEJBQTBCO1FBQy9CLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQy9CLE1BQU0sRUFBRTtZQUNOLFNBQVM7WUFDVCxRQUFRO1lBQ1IsV0FBVztZQUNYLFlBQVk7U0FDZTtRQUM3QixPQUFPLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQTZCLEVBQUUsRUFBRSxDQUN4RSw0QkFBNEIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDO1FBQzdELFNBQVMsRUFBRSxDQUFDLEVBQ1YsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDa0IsRUFBRSxFQUFFLENBQ2hDLDhCQUE4QixDQUM1QixpQkFBa0QsRUFDbEQsVUFDNEMsQ0FDN0M7UUFDSCxRQUFRLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQ3pDLDZCQUE2QixDQUMzQixZQUMrQixFQUMvQixVQUNpQyxDQUNsQztRQUNILFlBQVksRUFBRSxDQUFDLEVBQ2Isb0JBQW9CLEVBQ3BCLFVBQVUsR0FDcUIsRUFBRSxFQUFFLENBQ25DLDRCQUE0QixDQUMxQixvQkFBb0IsRUFDcEIsVUFBMkMsQ0FDNUM7UUFDSCxPQUFPLEVBQUUsQ0FBQyxFQUNSLFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxVQUFVLEdBQ1gsRUFBRSxFQUFFLENBQ0gsNEJBQTRCLENBQzFCLFlBQVksRUFDWixVQUc2QixFQUM3QixZQUMrQixFQUMvQixXQUM4QixFQUM5QixVQUUrQixDQUNoQztRQUNILE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FDeEMsNEJBQTRCLENBQzFCLFVBRzZCLEVBQzdCLFlBQytCLENBQ2hDO0tBQ0osQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0aWVzUGFnaW5hdGlvbkNvbmZpZyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcsXG4gIEVudGl0aWVzUGFnaW5hdGlvbk11dGF0b3JzLFxuICBFbnRpdGllc1BhZ2luYXRpb25TZWxlY3RvcnMsXG4gIGVudGl0aWVzUGFnaW5hdGlvblRyYWl0S2V5LFxufSBmcm9tICcuL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgY3JlYXRlUGFnaW5hdGlvblRyYWl0U2VsZWN0b3JzIH0gZnJvbSAnLi9lbnRpdGllcy1wYWdpbmF0aW9uLnRyYWl0LnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVQYWdpbmF0aW9uVHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9lbnRpdGllcy1wYWdpbmF0aW9uLnRyYWl0LmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgRmlsdGVyRW50aXRpZXNBY3Rpb25zLFxuICBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnLFxufSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNNdXRhdG9ycyxcbiAgTG9hZEVudGl0aWVzU2VsZWN0b3JzLFxuICBsb2FkRW50aXRpZXNUcmFpdEtleSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIGNyZWF0ZVBhZ2luYXRpb25Jbml0aWFsU3RhdGUsXG4gIGNyZWF0ZVBhZ2luYXRpb25UcmFpdFJlZHVjZXIsXG59IGZyb20gJy4vZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdC5yZWR1Y2VyJztcbmltcG9ydCB7IGNyZWF0ZVBhZ2luYXRpb25UcmFpdEVmZmVjdHMgfSBmcm9tICcuL2VudGl0aWVzLXBhZ2luYXRpb24udHJhaXQuZWZmZWN0cyc7XG5pbXBvcnQgeyBjcmVhdGVUcmFpdEZhY3RvcnkgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBDcnVkRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vY3J1ZC1lbnRpdGllcy9jcnVkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IGNyZWF0ZVBhZ2luYXRpb25UcmFpdE11dGF0b3JzIH0gZnJvbSAnLi9lbnRpdGllcy1wYWdpbmF0aW9uLnRyYWl0Lm11dGF0b3JzJztcbmltcG9ydCB7XG4gIMafRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzLFxuICDGn1BhZ2luYXRpb25BY3Rpb25zLFxufSBmcm9tICcuL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwuaW50ZXJuYWwnO1xuaW1wb3J0IHtcbiAgVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnLFxuICBUcmFpdFNlbGVjdG9yc0ZhY3RvcnlDb25maWcsXG59IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IMafRmlsdGVyRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyLWVudGl0aWVzL2ZpbHRlci1lbnRpdGllcy5tb2RlbC5pbnRlcm5hbCc7XG5cbi8qKlxuICogR2VuZXJhdGVzIG5ncnggY29kZSB0byBwYWdpbmF0ZSBhIGxpc3Qgb2YgZW50aXRpZXMsIHRoaXMgaGFzIDMgY2FjaGUgYGNhY2hlVHlwZWBcbiAqIC0gJ2Z1bGwnOiBUaGUgZnVsbCByZXN1bHQgaXMgY2FjaGUgaW4gbWVtb3J5IGFuZCBzcGxpdCBpbiBwYWdlcyB0byByZW5kZXIsIHVzZWZ1bFxuICogZm9yIHNtYWxsIHJlc3VsdCBidXQgbm90IHNvIHNtYWxsIHRoYXQgcmVxdWlyZXMgYmVlbiByZW5kZXIgaW4gcGFnZXNcbiAqIC0gJ3BhcnRpYWwnOiBCYWNrZW5kIHJldHVybnMgcGFydGlhbCByZXN1bHRzIGJlY2F1c2UgaXMgYXJlIHRvIGJpZywgdGhpcyBoYXMgYSBjYWNoZSBhIGZldyBwYWdlcyBmb3J3YXJkXG4gKiB0byBhdm9pZCBjYWxsaW5nIHRoZSBiYWNrZW5kIG9uIGVhY2ggcGFnZSwgdGhlIGNhY2hlIGlzIGNsZWFuIHdoZW4gYSBuZXcgbG9hZEVudGl0aWVzIGlzIHJlcXVpcmVkXG4gKiAtICdncm93JzogU2ltaWxhciB0byBwYXJ0aWFsIHRoYXQgdGhlIGJhY2tlbmQgcmV0dXJucyBwYXJ0aWFsIHJlc3VsdCwgYnV0IGluIHRoaXMgY2FzZSB0aGUgY2FjaGUgZ3Jvd3MsXG4gKiBhZnRlciBlYWNoIGxvYWRFbnRpdGllcyB0aGUgY2FjaGUgaXMgYXBwZW5kZWQgdG8gdGhlIHByZXZpb3VzIGNhY2hlLCB0aGlzIG1vZGUgaXMgaWRlYWwgZm9yIGluZmluaXRlIHNjcm9sbHMsXG4gKiB3aGVyZSB5b3Ugd2lsbCBvbmx5IGNhbGwgbG9hZE5leHRQYWdlLlxuICogVG8gbWFrZSB0aGUgcGFnaW5hdGlvbiBleHBlcmllbmNlIHNtb290aGVyIHRoZSBsb2FkRW50aXRpZXMgYWN0aW9uIGlzIGZpcmVkIHdoZW4gdGhlIGN1cnJlbnQgcGFnZSBpcyBlcXVhbFxuICogdG8gdGhlIGxhc3QgY2FjaGVkIHBhZ2UsIHNvIHdoaWxlIHRoZSB1c2VyIGlzIHJlYWRpbmcgdGhlIHBhZ2UgbW9yZSBwYWdlcyBhcmUgYmVpbmcgbG9hZGluZyBpbiB0aGUgYmFja2dyb3VuZC5cbiAqIEBwYXJhbSBjb25maWdcbiAqIEBwYXJhbSBjb25maWcuY2FjaGVUeXBlIC0gRGVmYXVsdCB0byAncGFydGlhbCcsIGNoYW5nZSB0aGUgY2FjaGUgbW9kZVxuICogQHBhcmFtIGNvbmZpZy5wYWdlU2l6ZSAtIERlZmF1bHQgdG8gMTAsIG51bWJlciBvZiBlbnRpdGllcyBvbiAgZWFjaCBwYWdlXG4gKiBAcGFyYW0gY29uZmlnLmN1cnJlbnRQYWdlIC0gRGVmYXVsdCB0byAwLCBzdGFydGluZyBwYWdlXG4gKiBAcGFyYW0gY29uZmlnLnBhZ2VzVG9DYWNoZSAtIERlZmF1bHQgdG8gMywgdXNlZCBpbiBwYXJ0aWFsIGFuZCBncm93IGNhY2hlIG1vZGUsIGlzIHRoZSBudW1iZXIgb2ZcbiAqIGV4dHJhIHBhZ2VzIGtlcHQgaW4gY2FjaGUgdG8gYXZvaWQgY2FsbGluZyB0aGUgYmFja2VuZCBvbiBlYWNoIHBhZ2VcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIGZvbGxvd2luZyB0cmFpdCBjb25maWdcbiAqXG4gKiBleHBvcnQgaW50ZXJmYWNlIFRlc3RTdGF0ZVxuICogZXh0ZW5kcyBFbnRpdHlBbmRTdGF0dXNTdGF0ZTxUb2RvPixFbnRpdGllc1BhZ2luYXRpb25TdGF0ZXt9XG4gKlxuICogICAgY29uc3QgdHJhaXRzID0gY3JlYXRlRW50aXR5RmVhdHVyZUZhY3RvcnkoXG4gKiAgICAgIHtlbnRpdHlOYW1lOiAnVG9kbyd9LFxuICogICAgICBhZGRMb2FkRW50aXRpZXNUcmFpdDxUb2RvPigpLFxuICogICAgICBhZGRFbnRpdGllc1BhZ2luYXRpb25UcmFpdDxUb2RvPigpXG4gKiAgICApKHtcbiAqICAgICAgYWN0aW9uc0dyb3VwS2V5OiAnW1RvZG9zXScsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFRlc3RTdGF0ZT4+KFxuICogICAgICAgICd0b2RvcycsXG4gKiAgICAgICksXG4gKiAgICB9KTtcbiAqXG4gKiAvLyAgIGFkZHMgZm9sbG93aW5nIHByb3BzIHRvIHRoZSBzdGF0ZTpcbiAqIC8vICAgIHBhZ2luYXRpb246IHtcbiAqIC8vICAgICAgIGN1cnJlbnRQYWdlOiBudW1iZXI7XG4gKiAvLyAgICAgICByZXF1ZXN0UGFnZTogbnVtYmVyO1xuICogLy8gICAgICAgcGFnZVNpemU6IG51bWJlcjtcbiAqIC8vICAgICAgIHRvdGFsPzogbnVtYmVyO1xuICogLy8gICAgICAgcGFnZXNUb0NhY2hlOiBudW1iZXI7XG4gKiAvLyAgICAgICBjYWNoZToge1xuICogLy8gICAgICAgICB0eXBlOiAnZnVsbCcgfCAncGFydGlhbCcgfCAnZ3Jvdyc7XG4gKiAvLyAgICAgICAgIHN0YXJ0OiBudW1iZXI7XG4gKiAvLyAgICAgICAgIGVuZDogbnVtYmVyO1xuICogLy8gICAgICAgfVxuICogLy8gICAgIH1cbiAqXG4gKiAvLyBnZW5lcmF0ZWQgYWN0aW9uc1xuICogdHJhaXRzLmFjdGlvbnMubG9hZFRvZG9zUGFnZSh7aW5kZXh9KVxuICogdHJhaXRzLmFjdGlvbnMubG9hZFRvZG9zUGFnZVN1Y2Nlc3MoKVxuICogdHJhaXRzLmFjdGlvbnMubG9hZFRvZG9zUGFnZUZhaWwoKVxuICogdHJhaXRzLmFjdGlvbnMubG9hZFRvZG9zTmV4dFBhZ2UoKVxuICogdHJhaXRzLmFjdGlvbnMubG9hZFRvZG9zUHJldmlvdXNQYWdlKClcbiAqIHRyYWl0cy5hY3Rpb25zLmxvYWRUb2Rvc0ZpcnN0UGFnZSgpXG4gKiB0cmFpdHMuYWN0aW9ucy5sb2FkVG9kb3NMYXN0UGFnZSgpXG4gKiB0cmFpdHMuYWN0aW9ucy5jbGVhclRvZG9zUGFnZXNDYWNoZSgpXG4gKiAvLyBnZW5lcmF0ZWQgc2VsZWN0b3JzXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdFRvZG9zQ3VycmVudFBhZ2VMaXN0KClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuaXNMb2FkaW5nVG9kb3NDdXJyZW50UGFnZSgpXG4gKiAvLyB1c2UgaXNMb2FkaW5nVG9kb3NQYWdlIG92ZXIgaXNMb2FkaW5nVG9kb3MgKHdoaWNoIHdpbGwgcmV0dXJuIHRydWUgZXZlblxuICogLy8gaWYgdGhlIHBhZ2UgbG9hZGluZyBpcyBub3QgdGhlIGN1cnJlbnQgb25lKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2Rvc0N1cnJlbnRQYWdlKClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NQYWdlZFJlcXVlc3QoKS8vIHVzZSBpbiBlZmZlY3RzIHRvIGdldCBwYWdpbmcgcGFyYW1ldGVyXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdFRvZG9zQ3VycmVudFBhZ2VJbmZvKClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEVudGl0aWVzUGFnaW5hdGlvblRyYWl0PEVudGl0eT4oe1xuICBjYWNoZVR5cGUgPSAncGFydGlhbCcsXG4gIHBhZ2VTaXplID0gMTAsXG4gIGN1cnJlbnRQYWdlID0gMCxcbiAgcGFnZXNUb0NhY2hlID0gMyxcbn06IEVudGl0aWVzUGFnaW5hdGlvbkNvbmZpZyA9IHt9KSB7XG4gIHJldHVybiBjcmVhdGVUcmFpdEZhY3Rvcnkoe1xuICAgIGtleTogZW50aXRpZXNQYWdpbmF0aW9uVHJhaXRLZXksXG4gICAgZGVwZW5kczogW2xvYWRFbnRpdGllc1RyYWl0S2V5XSxcbiAgICBjb25maWc6IHtcbiAgICAgIGNhY2hlVHlwZSxcbiAgICAgIHBhZ2VTaXplLFxuICAgICAgY3VycmVudFBhZ2UsXG4gICAgICBwYWdlc1RvQ2FjaGUsXG4gICAgfSBhcyBFbnRpdGllc1BhZ2luYXRpb25Db25maWcsXG4gICAgYWN0aW9uczogKHsgYWN0aW9uc0dyb3VwS2V5LCBlbnRpdGllc05hbWUgfTogVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVBhZ2luYXRpb25UcmFpdEFjdGlvbnMoYWN0aW9uc0dyb3VwS2V5LCBlbnRpdGllc05hbWUpLFxuICAgIHNlbGVjdG9yczogKHtcbiAgICAgIHByZXZpb3VzU2VsZWN0b3JzLFxuICAgICAgYWxsQ29uZmlncyxcbiAgICB9OiBUcmFpdFNlbGVjdG9yc0ZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVQYWdpbmF0aW9uVHJhaXRTZWxlY3RvcnM8RW50aXR5PihcbiAgICAgICAgcHJldmlvdXNTZWxlY3RvcnMgYXMgTG9hZEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4sXG4gICAgICAgIGFsbENvbmZpZ3MgYXMgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcgJlxuICAgICAgICAgIEZpbHRlckVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5LCB1bmtub3duPlxuICAgICAgKSxcbiAgICBtdXRhdG9yczogKHsgYWxsU2VsZWN0b3JzLCBhbGxDb25maWdzIH0pID0+XG4gICAgICBjcmVhdGVQYWdpbmF0aW9uVHJhaXRNdXRhdG9yczxFbnRpdHk+KFxuICAgICAgICBhbGxTZWxlY3RvcnMgYXMgRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzPEVudGl0eT4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+LFxuICAgICAgICBhbGxDb25maWdzIGFzIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnICZcbiAgICAgICAgICBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+XG4gICAgICApLFxuICAgIGluaXRpYWxTdGF0ZTogKHtcbiAgICAgIHByZXZpb3VzSW5pdGlhbFN0YXRlLFxuICAgICAgYWxsQ29uZmlncyxcbiAgICB9OiBUcmFpdEluaXRpYWxTdGF0ZUZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVQYWdpbmF0aW9uSW5pdGlhbFN0YXRlPEVudGl0eT4oXG4gICAgICAgIHByZXZpb3VzSW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxDb25maWdzIGFzIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnXG4gICAgICApLFxuICAgIHJlZHVjZXI6ICh7XG4gICAgICBpbml0aWFsU3RhdGUsXG4gICAgICBhbGxBY3Rpb25zLFxuICAgICAgYWxsU2VsZWN0b3JzLFxuICAgICAgYWxsTXV0YXRvcnMsXG4gICAgICBhbGxDb25maWdzLFxuICAgIH0pID0+XG4gICAgICBjcmVhdGVQYWdpbmF0aW9uVHJhaXRSZWR1Y2VyKFxuICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgIGFsbEFjdGlvbnMgYXMgxp9QYWdpbmF0aW9uQWN0aW9ucyAmXG4gICAgICAgICAgxp9GaWx0ZXJFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4sXG4gICAgICAgIGFsbFNlbGVjdG9ycyBhcyDGn0VudGl0aWVzUGFnaW5hdGlvblNlbGVjdG9yczxFbnRpdHk+ICZcbiAgICAgICAgICBMb2FkRW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PixcbiAgICAgICAgYWxsTXV0YXRvcnMgYXMgRW50aXRpZXNQYWdpbmF0aW9uTXV0YXRvcnM8RW50aXR5PiAmXG4gICAgICAgICAgTG9hZEVudGl0aWVzTXV0YXRvcnM8RW50aXR5PixcbiAgICAgICAgYWxsQ29uZmlncyBhcyBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eSwgdW5rbm93bj4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJlxuICAgICAgICAgIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnXG4gICAgICApLFxuICAgIGVmZmVjdHM6ICh7IGFsbEFjdGlvbnMsIGFsbFNlbGVjdG9ycyB9KSA9PlxuICAgICAgY3JlYXRlUGFnaW5hdGlvblRyYWl0RWZmZWN0cyhcbiAgICAgICAgYWxsQWN0aW9ucyBhcyDGn1BhZ2luYXRpb25BY3Rpb25zICZcbiAgICAgICAgICBGaWx0ZXJFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4sXG4gICAgICAgIGFsbFNlbGVjdG9ycyBhcyDGn0VudGl0aWVzUGFnaW5hdGlvblNlbGVjdG9yczxFbnRpdHk+ICZcbiAgICAgICAgICBMb2FkRW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PlxuICAgICAgKSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
export function createPaginationTraitMutators(allSelectors, allConfigs) {
|
|
2
|
-
const adapter = allConfigs.loadEntities.adapter;
|
|
3
|
-
function mergePaginatedEntities(entities, total = undefined, state) {
|
|
4
|
-
const cacheType = state.pagination.cache.type;
|
|
5
|
-
switch (cacheType) {
|
|
6
|
-
case 'full':
|
|
7
|
-
return adapter.setAll(entities, {
|
|
8
|
-
...state,
|
|
9
|
-
pagination: {
|
|
10
|
-
...state.pagination,
|
|
11
|
-
total: entities.length,
|
|
12
|
-
cache: {
|
|
13
|
-
...state.pagination.cache,
|
|
14
|
-
start: 0,
|
|
15
|
-
end: entities.length,
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
case 'partial': {
|
|
20
|
-
const isPreloadNextPages = state.pagination.currentPage + 1 === state.pagination.requestPage;
|
|
21
|
-
const start = state.pagination.currentPage * state.pagination.pageSize;
|
|
22
|
-
const newEntities = isPreloadNextPages
|
|
23
|
-
? [...allSelectors.selectEntitiesCurrentPageList(state), ...entities]
|
|
24
|
-
: entities;
|
|
25
|
-
return adapter.setAll(newEntities, {
|
|
26
|
-
...state,
|
|
27
|
-
pagination: {
|
|
28
|
-
...state.pagination,
|
|
29
|
-
total,
|
|
30
|
-
cache: {
|
|
31
|
-
...state.pagination.cache,
|
|
32
|
-
start,
|
|
33
|
-
end: start + entities.length,
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
case 'grow':
|
|
39
|
-
return adapter.addMany(entities, {
|
|
40
|
-
...state,
|
|
41
|
-
pagination: {
|
|
42
|
-
...state.pagination,
|
|
43
|
-
total,
|
|
44
|
-
cache: {
|
|
45
|
-
...state.pagination.cache,
|
|
46
|
-
end: state.ids.length + entities.length,
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return state;
|
|
52
|
-
}
|
|
53
|
-
function setEntitiesPage(state, index) {
|
|
54
|
-
return {
|
|
55
|
-
...state,
|
|
56
|
-
pagination: {
|
|
57
|
-
...state.pagination,
|
|
58
|
-
currentPage: index,
|
|
59
|
-
requestPage: index,
|
|
60
|
-
},
|
|
61
|
-
status: 'loading',
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
return { mergePaginatedEntities, setEntitiesPage };
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdC5tdXRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvZW50aXRpZXMtcGFnaW5hdGlvbi9lbnRpdGllcy1wYWdpbmF0aW9uLnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsWUFBaUQsRUFDakQsVUFBMkM7SUFFM0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFlBQWEsQ0FBQyxPQUFPLENBQUM7SUFFakQsU0FBUyxzQkFBc0IsQ0FFN0IsUUFBa0IsRUFBRSxLQUFLLEdBQUcsU0FBUyxFQUFFLEtBQVE7UUFDL0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBRTlDLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDbEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7b0JBQzlCLEdBQUcsS0FBSztvQkFDUixVQUFVLEVBQUU7d0JBQ1YsR0FBRyxLQUFLLENBQUMsVUFBVTt3QkFDbkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO3dCQUN0QixLQUFLLEVBQUU7NEJBQ0wsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUs7NEJBQ3pCLEtBQUssRUFBRSxDQUFDOzRCQUNSLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTTt5QkFDckI7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNmLE1BQU0sa0JBQWtCLEdBQ3RCLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztnQkFFcEUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZFLE1BQU0sV0FBVyxHQUFHLGtCQUFrQjtvQkFDcEMsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUM7b0JBQ3JFLENBQUMsQ0FBQyxRQUFRLENBQUM7Z0JBQ2IsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtvQkFDakMsR0FBRyxLQUFLO29CQUNSLFVBQVUsRUFBRTt3QkFDVixHQUFHLEtBQUssQ0FBQyxVQUFVO3dCQUNuQixLQUFLO3dCQUNMLEtBQUssRUFBRTs0QkFDTCxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSzs0QkFDekIsS0FBSzs0QkFDTCxHQUFHLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNO3lCQUM3QjtxQkFDRjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxNQUFNO2dCQUNULE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7b0JBQy9CLEdBQUcsS0FBSztvQkFDUixVQUFVLEVBQUU7d0JBQ1YsR0FBRyxLQUFLLENBQUMsVUFBVTt3QkFDbkIsS0FBSzt3QkFDTCxLQUFLLEVBQUU7NEJBQ0wsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUs7NEJBQ3pCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTTt5QkFDeEM7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELFNBQVMsZUFBZSxDQUd0QixLQUFRLEVBQUUsS0FBYTtRQUN2QixPQUFPO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsVUFBVSxFQUFFO2dCQUNWLEdBQUcsS0FBSyxDQUFDLFVBQVU7Z0JBQ25CLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixXQUFXLEVBQUUsS0FBSzthQUNuQjtZQUNELE1BQU0sRUFBRSxTQUFTO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdGllc1BhZ2luYXRpb25NdXRhdG9ycyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzLFxuICBFbnRpdGllc1BhZ2luYXRpb25TdGF0ZSxcbn0gZnJvbSAnLi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsJztcbmltcG9ydCB7IExvYWRFbnRpdGllc0tleWVkQ29uZmlnLCBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGFnaW5hdGlvblRyYWl0TXV0YXRvcnM8RW50aXR5PihcbiAgYWxsU2VsZWN0b3JzOiBFbnRpdGllc1BhZ2luYXRpb25TZWxlY3RvcnM8RW50aXR5PixcbiAgYWxsQ29uZmlnczogTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PlxuKTogRW50aXRpZXNQYWdpbmF0aW9uTXV0YXRvcnM8RW50aXR5PiB7XG4gIGNvbnN0IGFkYXB0ZXIgPSBhbGxDb25maWdzLmxvYWRFbnRpdGllcyEuYWRhcHRlcjtcblxuICBmdW5jdGlvbiBtZXJnZVBhZ2luYXRlZEVudGl0aWVzPFxuICAgIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgRW50aXRpZXNQYWdpbmF0aW9uU3RhdGVcbiAgPihlbnRpdGllczogRW50aXR5W10sIHRvdGFsID0gdW5kZWZpbmVkLCBzdGF0ZTogUyk6IFMge1xuICAgIGNvbnN0IGNhY2hlVHlwZSA9IHN0YXRlLnBhZ2luYXRpb24uY2FjaGUudHlwZTtcblxuICAgIHN3aXRjaCAoY2FjaGVUeXBlKSB7XG4gICAgICBjYXNlICdmdWxsJzpcbiAgICAgICAgcmV0dXJuIGFkYXB0ZXIuc2V0QWxsKGVudGl0aWVzLCB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgcGFnaW5hdGlvbjoge1xuICAgICAgICAgICAgLi4uc3RhdGUucGFnaW5hdGlvbixcbiAgICAgICAgICAgIHRvdGFsOiBlbnRpdGllcy5sZW5ndGgsXG4gICAgICAgICAgICBjYWNoZToge1xuICAgICAgICAgICAgICAuLi5zdGF0ZS5wYWdpbmF0aW9uLmNhY2hlLFxuICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgZW5kOiBlbnRpdGllcy5sZW5ndGgsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgY2FzZSAncGFydGlhbCc6IHtcbiAgICAgICAgY29uc3QgaXNQcmVsb2FkTmV4dFBhZ2VzID1cbiAgICAgICAgICBzdGF0ZS5wYWdpbmF0aW9uLmN1cnJlbnRQYWdlICsgMSA9PT0gc3RhdGUucGFnaW5hdGlvbi5yZXF1ZXN0UGFnZTtcblxuICAgICAgICBjb25zdCBzdGFydCA9IHN0YXRlLnBhZ2luYXRpb24uY3VycmVudFBhZ2UgKiBzdGF0ZS5wYWdpbmF0aW9uLnBhZ2VTaXplO1xuICAgICAgICBjb25zdCBuZXdFbnRpdGllcyA9IGlzUHJlbG9hZE5leHRQYWdlc1xuICAgICAgICAgID8gWy4uLmFsbFNlbGVjdG9ycy5zZWxlY3RFbnRpdGllc0N1cnJlbnRQYWdlTGlzdChzdGF0ZSksIC4uLmVudGl0aWVzXVxuICAgICAgICAgIDogZW50aXRpZXM7XG4gICAgICAgIHJldHVybiBhZGFwdGVyLnNldEFsbChuZXdFbnRpdGllcywge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgICAgIC4uLnN0YXRlLnBhZ2luYXRpb24sXG4gICAgICAgICAgICB0b3RhbCxcbiAgICAgICAgICAgIGNhY2hlOiB7XG4gICAgICAgICAgICAgIC4uLnN0YXRlLnBhZ2luYXRpb24uY2FjaGUsXG4gICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICBlbmQ6IHN0YXJ0ICsgZW50aXRpZXMubGVuZ3RoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2dyb3cnOlxuICAgICAgICByZXR1cm4gYWRhcHRlci5hZGRNYW55KGVudGl0aWVzLCB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgcGFnaW5hdGlvbjoge1xuICAgICAgICAgICAgLi4uc3RhdGUucGFnaW5hdGlvbixcbiAgICAgICAgICAgIHRvdGFsLFxuICAgICAgICAgICAgY2FjaGU6IHtcbiAgICAgICAgICAgICAgLi4uc3RhdGUucGFnaW5hdGlvbi5jYWNoZSxcbiAgICAgICAgICAgICAgZW5kOiBzdGF0ZS5pZHMubGVuZ3RoICsgZW50aXRpZXMubGVuZ3RoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbiAgZnVuY3Rpb24gc2V0RW50aXRpZXNQYWdlPFxuICAgIEVudGl0eSxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIEVudGl0aWVzUGFnaW5hdGlvblN0YXRlXG4gID4oc3RhdGU6IFMsIGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBwYWdpbmF0aW9uOiB7XG4gICAgICAgIC4uLnN0YXRlLnBhZ2luYXRpb24sXG4gICAgICAgIGN1cnJlbnRQYWdlOiBpbmRleCxcbiAgICAgICAgcmVxdWVzdFBhZ2U6IGluZGV4LFxuICAgICAgfSxcbiAgICAgIHN0YXR1czogJ2xvYWRpbmcnLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHsgbWVyZ2VQYWdpbmF0ZWRFbnRpdGllcywgc2V0RW50aXRpZXNQYWdlIH07XG59XG4iXX0=
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { createReducer, on } from '@ngrx/store';
|
|
2
|
-
import { insertIf } from '@ngrx-traits/core';
|
|
3
|
-
export function createPaginationInitialState(previousInitialState, allConfigs) {
|
|
4
|
-
const { currentPage, pageSize, cacheType, pagesToCache } = allConfigs.pagination;
|
|
5
|
-
return {
|
|
6
|
-
...previousInitialState,
|
|
7
|
-
pagination: {
|
|
8
|
-
pageSize,
|
|
9
|
-
currentPage,
|
|
10
|
-
requestPage: currentPage,
|
|
11
|
-
pagesToCache,
|
|
12
|
-
cache: {
|
|
13
|
-
type: cacheType,
|
|
14
|
-
start: 0,
|
|
15
|
-
end: 0,
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
export function createPaginationTraitReducer(initialState, allActions, allSelectors, allMutators, allConfigs) {
|
|
21
|
-
function addToCacheTotal(state, add) {
|
|
22
|
-
return {
|
|
23
|
-
...state,
|
|
24
|
-
pagination: {
|
|
25
|
-
...state.pagination,
|
|
26
|
-
total: (state.pagination.total ?? 0) + add,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function clearPagesCache(state) {
|
|
31
|
-
return {
|
|
32
|
-
...state,
|
|
33
|
-
entities: {},
|
|
34
|
-
ids: [],
|
|
35
|
-
pagination: {
|
|
36
|
-
...state.pagination,
|
|
37
|
-
currentPage: 0,
|
|
38
|
-
total: 0,
|
|
39
|
-
cache: { ...state.pagination.cache, start: 0, end: 0 },
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
function recalculateTotal(state) {
|
|
44
|
-
const total = allSelectors.selectEntitiesTotal(state);
|
|
45
|
-
return {
|
|
46
|
-
...state,
|
|
47
|
-
status: 'success',
|
|
48
|
-
pagination: {
|
|
49
|
-
...state.pagination,
|
|
50
|
-
currentPage: 0,
|
|
51
|
-
total,
|
|
52
|
-
cache: {
|
|
53
|
-
...state.pagination.cache,
|
|
54
|
-
start: 0,
|
|
55
|
-
end: total,
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
const filterRemote = !allConfigs?.filter?.filterFn;
|
|
61
|
-
return createReducer(initialState, on(allActions.loadEntitiesPage, (state, { index }) => allMutators.setEntitiesPage(state, index)), on(allActions.setEntitiesRequestPage, (state, { index }) => ({
|
|
62
|
-
...state,
|
|
63
|
-
pagination: {
|
|
64
|
-
...state.pagination,
|
|
65
|
-
requestPage: index,
|
|
66
|
-
},
|
|
67
|
-
status: 'loading',
|
|
68
|
-
})), on(allActions.loadEntitiesPageSuccess, (state) => ({
|
|
69
|
-
...state,
|
|
70
|
-
status: 'success',
|
|
71
|
-
})), on(allActions.loadEntitiesPageFail, (state) => ({
|
|
72
|
-
...state,
|
|
73
|
-
status: 'fail',
|
|
74
|
-
})), on(allActions.clearEntitiesPagesCache, (state) => clearPagesCache(state)), on(allActions.loadEntitiesSuccess, (state, { entities, total }) => allMutators.mergePaginatedEntities(entities, total, {
|
|
75
|
-
...state,
|
|
76
|
-
status: 'success',
|
|
77
|
-
})), ...insertIf(allActions.addEntities, () => on(allActions.addEntities, (state, { entities }) => addToCacheTotal(state, entities.length))), ...insertIf(allActions.removeEntities, () => on(allActions.removeEntities, (state, { keys }) => addToCacheTotal(state, -keys.length))), ...insertIf(allActions.storeEntitiesFilter, () => on(allActions.storeEntitiesFilter, (state) => recalculateTotal(state))), ...insertIf(allActions.removeAllEntities, () => on(allActions.removeAllEntities, (state) => clearPagesCache(state))));
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9lbnRpdGllcy1wYWdpbmF0aW9uL2VudGl0aWVzLXBhZ2luYXRpb24udHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWdCaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzdDLE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsb0JBQXlCLEVBQ3pCLFVBQXlDO0lBRXpDLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FDdEQsVUFBVSxDQUFDLFVBQVcsQ0FBQztJQUV6QixPQUFPO1FBQ0wsR0FBRyxvQkFBb0I7UUFDdkIsVUFBVSxFQUFFO1lBQ1YsUUFBUTtZQUNSLFdBQVc7WUFDWCxXQUFXLEVBQUUsV0FBVztZQUN4QixZQUFZO1lBQ1osS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxTQUFTO2dCQUNmLEtBQUssRUFBRSxDQUFDO2dCQUNSLEdBQUcsRUFBRSxDQUFDO2FBQ1A7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUkxQyxZQUFlLEVBQ2YsVUFHNkIsRUFDN0IsWUFBMkMsRUFDM0MsV0FDOEIsRUFDOUIsVUFFK0I7SUFFL0IsU0FBUyxlQUFlLENBRXRCLEtBQVEsRUFBRSxHQUFXO1FBQ3JCLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixVQUFVLEVBQUU7Z0JBQ1YsR0FBRyxLQUFLLENBQUMsVUFBVTtnQkFDbkIsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FB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QUFjLEVBQUUsR0FBRyxFQUFFLENBQzdDLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUNoRCxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUNyQyxDQUNGLEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUNsRCxFQUFFLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN2RSxFQUNELEdBQUcsUUFBUSxDQUFJLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FDaEQsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3BFLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWx0ZXJFbnRpdGllc0FjdGlvbnMsXG4gIEZpbHRlckVudGl0aWVzS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL2ZpbHRlci1lbnRpdGllcy9maWx0ZXItZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNNdXRhdG9ycyxcbiAgTG9hZEVudGl0aWVzU2VsZWN0b3JzLFxuICBMb2FkRW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnLFxuICBFbnRpdGllc1BhZ2luYXRpb25NdXRhdG9ycyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uU3RhdGUsXG59IGZyb20gJy4vZW50aXRpZXMtcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDcnVkRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vY3J1ZC1lbnRpdGllcyc7XG5pbXBvcnQgeyDGn1BhZ2luYXRpb25BY3Rpb25zIH0gZnJvbSAnLi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsLmludGVybmFsJztcbmltcG9ydCB7IGluc2VydElmIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgxp9GaWx0ZXJFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLm1vZGVsLmludGVybmFsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBhZ2luYXRpb25Jbml0aWFsU3RhdGU8RW50aXR5PihcbiAgcHJldmlvdXNJbml0aWFsU3RhdGU6IGFueSxcbiAgYWxsQ29uZmlnczogRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWdcbik6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBFbnRpdGllc1BhZ2luYXRpb25TdGF0ZSB7XG4gIGNvbnN0IHsgY3VycmVudFBhZ2UsIHBhZ2VTaXplLCBjYWNoZVR5cGUsIHBhZ2VzVG9DYWNoZSB9ID1cbiAgICBhbGxDb25maWdzLnBhZ2luYXRpb24hO1xuXG4gIHJldHVybiB7XG4gICAgLi4ucHJldmlvdXNJbml0aWFsU3RhdGUsXG4gICAgcGFnaW5hdGlvbjoge1xuICAgICAgcGFnZVNpemUsXG4gICAgICBjdXJyZW50UGFnZSxcbiAgICAgIHJlcXVlc3RQYWdlOiBjdXJyZW50UGFnZSxcbiAgICAgIHBhZ2VzVG9DYWNoZSxcbiAgICAgIGNhY2hlOiB7XG4gICAgICAgIHR5cGU6IGNhY2hlVHlwZSxcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIGVuZDogMCxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBhZ2luYXRpb25UcmFpdFJlZHVjZXI8XG4gIEVudGl0eSxcbiAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBFbnRpdGllc1BhZ2luYXRpb25TdGF0ZVxuPihcbiAgaW5pdGlhbFN0YXRlOiBTLFxuICBhbGxBY3Rpb25zOiDGn1BhZ2luYXRpb25BY3Rpb25zICZcbiAgICDGn0ZpbHRlckVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICBMb2FkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgIENydWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PixcbiAgYWxsU2VsZWN0b3JzOiBMb2FkRW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PixcbiAgYWxsTXV0YXRvcnM6IEVudGl0aWVzUGFnaW5hdGlvbk11dGF0b3JzPEVudGl0eT4gJlxuICAgIExvYWRFbnRpdGllc011dGF0b3JzPEVudGl0eT4sXG4gIGFsbENvbmZpZ3M6IEZpbHRlckVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5LCB1bmtub3duPiAmXG4gICAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmXG4gICAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWdcbikge1xuICBmdW5jdGlvbiBhZGRUb0NhY2hlVG90YWw8XG4gICAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBFbnRpdGllc1BhZ2luYXRpb25TdGF0ZVxuICA+KHN0YXRlOiBTLCBhZGQ6IG51bWJlcikge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgLi4uc3RhdGUucGFnaW5hdGlvbixcbiAgICAgICAgdG90YWw6IChzdGF0ZS5wYWdpbmF0aW9uLnRvdGFsID8/IDApICsgYWRkLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gY2xlYXJQYWdlc0NhY2hlPFxuICAgIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgRW50aXRpZXNQYWdpbmF0aW9uU3RhdGVcbiAgPihzdGF0ZTogUyk6IFMge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGVudGl0aWVzOiB7fSxcbiAgICAgIGlkczogW10sXG4gICAgICBwYWdpbmF0aW9uOiB7XG4gICAgICAgIC4uLnN0YXRlLnBhZ2luYXRpb24sXG4gICAgICAgIGN1cnJlbnRQYWdlOiAwLFxuICAgICAgICB0b3RhbDogMCxcbiAgICAgICAgY2FjaGU6IHsgLi4uc3RhdGUucGFnaW5hdGlvbi5jYWNoZSwgc3RhcnQ6IDAsIGVuZDogMCB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjYWxjdWxhdGVUb3RhbDxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIEVudGl0aWVzUGFnaW5hdGlvblN0YXRlXG4gID4oc3RhdGU6IFMpOiBTIHtcbiAgICBjb25zdCB0b3RhbCA9IGFsbFNlbGVjdG9ycy5zZWxlY3RFbnRpdGllc1RvdGFsKHN0YXRlKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgLi4uc3RhdGUucGFnaW5hdGlvbixcbiAgICAgICAgY3VycmVudFBhZ2U6IDAsXG4gICAgICAgIHRvdGFsLFxuICAgICAgICBjYWNoZToge1xuICAgICAgICAgIC4uLnN0YXRlLnBhZ2luYXRpb24uY2FjaGUsXG4gICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgZW5kOiB0b3RhbCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGZpbHRlclJlbW90ZSA9ICFhbGxDb25maWdzPy5maWx0ZXI/LmZpbHRlckZuO1xuXG4gIHJldHVybiBjcmVhdGVSZWR1Y2VyKFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBvbihhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2UsIChzdGF0ZSwgeyBpbmRleCB9KSA9PlxuICAgICAgYWxsTXV0YXRvcnMuc2V0RW50aXRpZXNQYWdlKHN0YXRlLCBpbmRleClcbiAgICApLFxuICAgIG9uKGFsbEFjdGlvbnMuc2V0RW50aXRpZXNSZXF1ZXN0UGFnZSwgKHN0YXRlLCB7IGluZGV4IH0pID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgLi4uc3RhdGUucGFnaW5hdGlvbixcbiAgICAgICAgcmVxdWVzdFBhZ2U6IGluZGV4LFxuICAgICAgfSxcbiAgICAgIHN0YXR1czogJ2xvYWRpbmcnLFxuICAgIH0pKSxcbiAgICBvbihhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VTdWNjZXNzLCAoc3RhdGUpID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgIH0pKSxcbiAgICBvbihhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VGYWlsLCAoc3RhdGUpID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHN0YXR1czogJ2ZhaWwnLFxuICAgIH0pKSxcbiAgICBvbihhbGxBY3Rpb25zLmNsZWFyRW50aXRpZXNQYWdlc0NhY2hlLCAoc3RhdGUpID0+IGNsZWFyUGFnZXNDYWNoZShzdGF0ZSkpLFxuICAgIG9uKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzU3VjY2VzcywgKHN0YXRlLCB7IGVudGl0aWVzLCB0b3RhbCB9KSA9PlxuICAgICAgYWxsTXV0YXRvcnMubWVyZ2VQYWdpbmF0ZWRFbnRpdGllcyhlbnRpdGllcywgdG90YWwsIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgfSlcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KGFsbEFjdGlvbnMuYWRkRW50aXRpZXMsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLmFkZEVudGl0aWVzLCAoc3RhdGUsIHsgZW50aXRpZXMgfSkgPT5cbiAgICAgICAgYWRkVG9DYWNoZVRvdGFsKHN0YXRlLCBlbnRpdGllcy5sZW5ndGgpXG4gICAgICApXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVFbnRpdGllcywgKHN0YXRlLCB7IGtleXMgfSkgPT5cbiAgICAgICAgYWRkVG9DYWNoZVRvdGFsKHN0YXRlLCAta2V5cy5sZW5ndGgpXG4gICAgICApXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnN0b3JlRW50aXRpZXNGaWx0ZXIsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnN0b3JlRW50aXRpZXNGaWx0ZXIsIChzdGF0ZSkgPT4gcmVjYWxjdWxhdGVUb3RhbChzdGF0ZSkpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUFsbEVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVBbGxFbnRpdGllcywgKHN0YXRlKSA9PiBjbGVhclBhZ2VzQ2FjaGUoc3RhdGUpKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { createSelector } from '@ngrx/store';
|
|
2
|
-
export function createPaginationTraitSelectors(previousSelectors, allConfigs) {
|
|
3
|
-
const { selectEntitiesList, isEntitiesLoading } = previousSelectors;
|
|
4
|
-
const filterFunction = allConfigs?.filter?.filterFn;
|
|
5
|
-
function selectPagination(state) {
|
|
6
|
-
return state.pagination;
|
|
7
|
-
}
|
|
8
|
-
const selectPaginationFiltered = filterFunction
|
|
9
|
-
? createSelector(selectEntitiesList, selectPagination, (entities, pagination) => {
|
|
10
|
-
return {
|
|
11
|
-
...pagination,
|
|
12
|
-
total: entities.length,
|
|
13
|
-
cache: {
|
|
14
|
-
...pagination.cache,
|
|
15
|
-
start: 0,
|
|
16
|
-
end: entities.length,
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
})
|
|
20
|
-
: selectPagination;
|
|
21
|
-
const selectEntitiesCurrentPageList = createSelector(selectEntitiesList, selectPaginationFiltered, (entities, pagination) => {
|
|
22
|
-
const page = pagination.currentPage;
|
|
23
|
-
const startIndex = page * pagination.pageSize - pagination.cache.start;
|
|
24
|
-
let endIndex = startIndex + pagination.pageSize;
|
|
25
|
-
endIndex =
|
|
26
|
-
endIndex < pagination.cache.end ? endIndex : pagination.cache.end;
|
|
27
|
-
return entities.slice(startIndex, endIndex);
|
|
28
|
-
});
|
|
29
|
-
const selectEntitiesCurrentPageInfo = createSelector(selectPaginationFiltered, (pagination) => {
|
|
30
|
-
const pagesCount = pagination.total && pagination.total > 0
|
|
31
|
-
? Math.ceil(pagination.total / pagination.pageSize)
|
|
32
|
-
: undefined;
|
|
33
|
-
return {
|
|
34
|
-
pageIndex: pagination.currentPage,
|
|
35
|
-
total: pagination.total,
|
|
36
|
-
pageSize: pagination.pageSize,
|
|
37
|
-
pagesCount,
|
|
38
|
-
hasPrevious: pagination.currentPage - 1 >= 0,
|
|
39
|
-
hasNext: pagesCount && pagination.total && pagination.total > 0
|
|
40
|
-
? pagination.currentPage + 1 < pagesCount
|
|
41
|
-
: true,
|
|
42
|
-
cacheType: pagination.cache.type,
|
|
43
|
-
};
|
|
44
|
-
});
|
|
45
|
-
function isEntitiesPageInCache(page, pagination) {
|
|
46
|
-
const startIndex = page * pagination.pageSize;
|
|
47
|
-
let endIndex = startIndex + pagination.pageSize - 1;
|
|
48
|
-
endIndex =
|
|
49
|
-
pagination.total && endIndex > pagination.total
|
|
50
|
-
? pagination.total - 1
|
|
51
|
-
: endIndex;
|
|
52
|
-
return (startIndex >= pagination.cache.start && endIndex <= pagination.cache.end);
|
|
53
|
-
}
|
|
54
|
-
const isEntitiesCurrentPageInCache = createSelector(selectPaginationFiltered, (pagination) => {
|
|
55
|
-
const page = pagination.currentPage;
|
|
56
|
-
return isEntitiesPageInCache(page, pagination);
|
|
57
|
-
});
|
|
58
|
-
const isEntitiesNextPageInCache = createSelector(selectPaginationFiltered, (pagination) => {
|
|
59
|
-
const page = pagination.currentPage + 1;
|
|
60
|
-
return isEntitiesPageInCache(page, pagination);
|
|
61
|
-
});
|
|
62
|
-
const isLoadingEntitiesCurrentPage = createSelector(isEntitiesLoading, selectPagination, (isLoading, pagination) => isLoading && pagination.requestPage === pagination.currentPage);
|
|
63
|
-
const selectEntitiesCurrentPage = createSelector(selectEntitiesCurrentPageList, selectEntitiesCurrentPageInfo, isLoadingEntitiesCurrentPage, (entities, pageInfo, isLoading) => ({
|
|
64
|
-
entities,
|
|
65
|
-
isLoading,
|
|
66
|
-
...pageInfo,
|
|
67
|
-
}));
|
|
68
|
-
const selectEntitiesPagedRequest = createSelector(selectPagination, (pagination) => ({
|
|
69
|
-
startIndex: pagination.pageSize * pagination.requestPage,
|
|
70
|
-
size: pagination.pageSize * pagination.pagesToCache,
|
|
71
|
-
page: pagination.requestPage,
|
|
72
|
-
}));
|
|
73
|
-
const selectors = {
|
|
74
|
-
selectEntitiesCurrentPageList,
|
|
75
|
-
isEntitiesNextPageInCache,
|
|
76
|
-
isEntitiesCurrentPageInCache,
|
|
77
|
-
selectEntitiesCurrentPage,
|
|
78
|
-
selectEntitiesPagedRequest,
|
|
79
|
-
selectEntitiesCurrentPageInfo,
|
|
80
|
-
isLoadingEntitiesCurrentPage,
|
|
81
|
-
};
|
|
82
|
-
return selectors;
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2VudGl0aWVzLXBhZ2luYXRpb24vZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWE3QyxNQUFNLFVBQVUsOEJBQThCLENBQzVDLGlCQUFnRCxFQUNoRCxVQUFzRDtJQUV0RCxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztJQUVwRSxNQUFNLGNBQWMsR0FBRyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztJQUVwRCxTQUFTLGdCQUFnQixDQUN2QixLQUEwRDtRQUUxRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDMUIsQ0FBQztJQUNELE1BQU0sd0JBQXdCLEdBRWUsY0FBYztRQUN6RCxDQUFDLENBQUMsY0FBYyxDQUNaLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUU7WUFDdkIsT0FBTztnQkFDTCxHQUFHLFVBQVU7Z0JBQ2IsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUU7b0JBQ0wsR0FBRyxVQUFVLENBQUMsS0FBSztvQkFDbkIsS0FBSyxFQUFFLENBQUM7b0JBQ1IsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNO2lCQUNyQjthQUNGLENBQUM7UUFDSixDQUFDLENBQ0Y7UUFDSCxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFFckIsTUFBTSw2QkFBNkIsR0FBRyxjQUFjLENBQ2xELGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsQ0FBQyxRQUFrQixFQUFFLFVBQVUsRUFBRSxF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UyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQ3hCLFNBQVMsSUFBSSxVQUFVLENBQUMsV0FBVyxLQUFLLFVBQVUsQ0FBQyxXQUFXLENBQ2pFLENBQUM7SUFFRixNQUFNLHlCQUF5QixHQUFHLGNBQWMsQ0FDOUMsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQ2hDLENBQUM7UUFDQyxRQUFRO1FBQ1IsU0FBUztRQUNULEdBQUcsUUFBUTtLQUNVLENBQUEsQ0FDMUIsQ0FBQztJQUVGLE1BQU0sMEJBQTBCLEdBQUcsY0FBYyxDQUMvQyxnQkFBZ0IsRUFDaEIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDZixVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsV0FBVztRQUN4RCxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsWUFBWTtRQUNuRCxJQUFJLEVBQUUsVUFBVSxDQUFDLFdBQVc7S0FDN0IsQ0FBQyxDQUNILENBQUM7SUFFRixNQUFNLFNBQVMsR0FBRztRQUNoQiw2QkFBNkI7UUFDN0IseUJBQXlCO1FBQ3pCLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7S0FDN0IsQ0FBQztJQUNGLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENhY2hlVHlwZSxcbiAgRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzLFxuICBFbnRpdGllc1BhZ2luYXRpb25TdGF0ZSxcbiAgUGFnZU1vZGVsLFxufSBmcm9tICcuL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzU2VsZWN0b3JzLFxuICBMb2FkRW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckVudGl0aWVzS2V5ZWRDb25maWcgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBhZ2luYXRpb25UcmFpdFNlbGVjdG9yczxFbnRpdHk+KFxuICBwcmV2aW91c1NlbGVjdG9yczogTG9hZEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4sXG4gIGFsbENvbmZpZ3M6IEZpbHRlckVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5LCB1bmtub3duPlxuKTogRW50aXRpZXNQYWdpbmF0aW9uU2VsZWN0b3JzPEVudGl0eT4ge1xuICBjb25zdCB7IHNlbGVjdEVudGl0aWVzTGlzdCwgaXNFbnRpdGllc0xvYWRpbmcgfSA9IHByZXZpb3VzU2VsZWN0b3JzO1xuXG4gIGNvbnN0IGZpbHRlckZ1bmN0aW9uID0gYWxsQ29uZmlncz8uZmlsdGVyPy5maWx0ZXJGbjtcblxuICBmdW5jdGlvbiBzZWxlY3RQYWdpbmF0aW9uKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgRW50aXRpZXNQYWdpbmF0aW9uU3RhdGVcbiAgKSB7XG4gICAgcmV0dXJuIHN0YXRlLnBhZ2luYXRpb247XG4gIH1cbiAgY29uc3Qgc2VsZWN0UGFnaW5hdGlvbkZpbHRlcmVkOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBFbnRpdGllc1BhZ2luYXRpb25TdGF0ZVxuICApID0+IEVudGl0aWVzUGFnaW5hdGlvblN0YXRlWydwYWdpbmF0aW9uJ10gPSBmaWx0ZXJGdW5jdGlvblxuICAgID8gY3JlYXRlU2VsZWN0b3IoXG4gICAgICAgIHNlbGVjdEVudGl0aWVzTGlzdCxcbiAgICAgICAgc2VsZWN0UGFnaW5hdGlvbixcbiAgICAgICAgKGVudGl0aWVzLCBwYWdpbmF0aW9uKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnBhZ2luYXRpb24sXG4gICAgICAgICAgICB0b3RhbDogZW50aXRpZXMubGVuZ3RoLFxuICAgICAgICAgICAgY2FjaGU6IHtcbiAgICAgICAgICAgICAgLi4ucGFnaW5hdGlvbi5jYWNoZSxcbiAgICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICAgIGVuZDogZW50aXRpZXMubGVuZ3RoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICApXG4gICAgOiBzZWxlY3RQYWdpbmF0aW9uO1xuXG4gIGNvbnN0IHNlbGVjdEVudGl0aWVzQ3VycmVudFBhZ2VMaXN0ID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0RW50aXRpZXNMaXN0LFxuICAgIHNlbGVjdFBhZ2luYXRpb25GaWx0ZXJlZCxcbiAgICAoZW50aXRpZXM6IEVudGl0eVtdLCBwYWdpbmF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBwYWdlID0gcGFnaW5hdGlvbi5jdXJyZW50UGFnZTtcbiAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBwYWdlICogcGFnaW5hdGlvbi5wYWdlU2l6ZSAtIHBhZ2luYXRpb24uY2FjaGUuc3RhcnQ7XG4gICAgICBsZXQgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgcGFnaW5hdGlvbi5wYWdlU2l6ZTtcbiAgICAgIGVuZEluZGV4ID1cbiAgICAgICAgZW5kSW5kZXggPCBwYWdpbmF0aW9uLmNhY2hlLmVuZCA/IGVuZEluZGV4IDogcGFnaW5hdGlvbi5jYWNoZS5lbmQ7XG4gICAgICByZXR1cm4gZW50aXRpZXMuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuICAgIH1cbiAgKTtcblxuICBjb25zdCBzZWxlY3RFbnRpdGllc0N1cnJlbnRQYWdlSW5mbyA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdFBhZ2luYXRpb25GaWx0ZXJlZCxcbiAgICAocGFnaW5hdGlvbikgPT4ge1xuICAgICAgY29uc3QgcGFnZXNDb3VudCA9XG4gICAgICAgIHBhZ2luYXRpb24udG90YWwgJiYgcGFnaW5hdGlvbi50b3RhbCA+IDBcbiAgICAgICAgICA/IE1hdGguY2VpbChwYWdpbmF0aW9uLnRvdGFsIC8gcGFnaW5hdGlvbi5wYWdlU2l6ZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VJbmRleDogcGFnaW5hdGlvbi5jdXJyZW50UGFnZSxcbiAgICAgICAgdG90YWw6IHBhZ2luYXRpb24udG90YWwsXG4gICAgICAgIHBhZ2VTaXplOiBwYWdpbmF0aW9uLnBhZ2VTaXplLFxuICAgICAgICBwYWdlc0NvdW50LFxuICAgICAgICBoYXNQcmV2aW91czogcGFnaW5hdGlvbi5jdXJyZW50UGFnZSAtIDEgPj0gMCxcbiAgICAgICAgaGFzTmV4dDpcbiAgICAgICAgICBwYWdlc0NvdW50ICYmIHBhZ2luYXRpb24udG90YWwgJiYgcGFnaW5hdGlvbi50b3RhbCA+IDBcbiAgICAgICAgICAgID8gcGFnaW5hdGlvbi5jdXJyZW50UGFnZSArIDEgPCBwYWdlc0NvdW50XG4gICAgICAgICAgICA6IHRydWUsXG4gICAgICAgIGNhY2hlVHlwZTogcGFnaW5hdGlvbi5jYWNoZS50eXBlLFxuICAgICAgfTtcbiAgICB9XG4gICk7XG5cbiAgZnVuY3Rpb24gaXNFbnRpdGllc1BhZ2VJbkNhY2hlKFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdpbmF0aW9uOiB7XG4gICAgICBjdXJyZW50UGFnZTogbnVtYmVyO1xuICAgICAgcmVxdWVzdFBhZ2U6IG51bWJlcjtcbiAgICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgICB0b3RhbD86IG51bWJlcjtcbiAgICAgIHBhZ2VzVG9DYWNoZTogbnVtYmVyO1xuICAgICAgY2FjaGU6IHsgdHlwZTogQ2FjaGVUeXBlOyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9O1xuICAgIH1cbiAgKSB7XG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IHBhZ2UgKiBwYWdpbmF0aW9uLnBhZ2VTaXplO1xuICAgIGxldCBlbmRJbmRleCA9IHN0YXJ0SW5kZXggKyBwYWdpbmF0aW9uLnBhZ2VTaXplIC0gMTtcbiAgICBlbmRJbmRleCA9XG4gICAgICBwYWdpbmF0aW9uLnRvdGFsICYmIGVuZEluZGV4ID4gcGFnaW5hdGlvbi50b3RhbFxuICAgICAgICA/IHBhZ2luYXRpb24udG90YWwgLSAxXG4gICAgICAgIDogZW5kSW5kZXg7XG4gICAgcmV0dXJuIChcbiAgICAgIHN0YXJ0SW5kZXggPj0gcGFnaW5hdGlvbi5jYWNoZS5zdGFydCAmJiBlbmRJbmRleCA8PSBwYWdpbmF0aW9uLmNhY2hlLmVuZFxuICAgICk7XG4gIH1cblxuICBjb25zdCBpc0VudGl0aWVzQ3VycmVudFBhZ2VJbkNhY2hlID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0UGFnaW5hdGlvbkZpbHRlcmVkLFxuICAgIChwYWdpbmF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBwYWdlID0gcGFnaW5hdGlvbi5jdXJyZW50UGFnZTtcbiAgICAgIHJldHVybiBpc0VudGl0aWVzUGFnZUluQ2FjaGUocGFnZSwgcGFnaW5hdGlvbik7XG4gICAgfVxuICApO1xuICBjb25zdCBpc0VudGl0aWVzTmV4dFBhZ2VJbkNhY2hlID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0UGFnaW5hdGlvbkZpbHRlcmVkLFxuICAgIChwYWdpbmF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBwYWdlID0gcGFnaW5hdGlvbi5jdXJyZW50UGFnZSArIDE7XG4gICAgICByZXR1cm4gaXNFbnRpdGllc1BhZ2VJbkNhY2hlKHBhZ2UsIHBhZ2luYXRpb24pO1xuICAgIH1cbiAgKTtcbiAgY29uc3QgaXNMb2FkaW5nRW50aXRpZXNDdXJyZW50UGFnZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIGlzRW50aXRpZXNMb2FkaW5nLFxuICAgIHNlbGVjdFBhZ2luYXRpb24sXG4gICAgKGlzTG9hZGluZywgcGFnaW5hdGlvbikgPT5cbiAgICAgIGlzTG9hZGluZyAmJiBwYWdpbmF0aW9uLnJlcXVlc3RQYWdlID09PSBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0RW50aXRpZXNDdXJyZW50UGFnZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdEVudGl0aWVzQ3VycmVudFBhZ2VMaXN0LFxuICAgIHNlbGVjdEVudGl0aWVzQ3VycmVudFBhZ2VJbmZvLFxuICAgIGlzTG9hZGluZ0VudGl0aWVzQ3VycmVudFBhZ2UsXG4gICAgKGVudGl0aWVzLCBwYWdlSW5mbywgaXNMb2FkaW5nKSA9PlxuICAgICAgKHtcbiAgICAgICAgZW50aXRpZXMsXG4gICAgICAgIGlzTG9hZGluZyxcbiAgICAgICAgLi4ucGFnZUluZm8sXG4gICAgICB9IGFzIFBhZ2VNb2RlbDxFbnRpdHk+KVxuICApO1xuXG4gIGNvbnN0IHNlbGVjdEVudGl0aWVzUGFnZWRSZXF1ZXN0ID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0UGFnaW5hdGlvbixcbiAgICAocGFnaW5hdGlvbikgPT4gKHtcbiAgICAgIHN0YXJ0SW5kZXg6IHBhZ2luYXRpb24ucGFnZVNpemUgKiBwYWdpbmF0aW9uLnJlcXVlc3RQYWdlLFxuICAgICAgc2l6ZTogcGFnaW5hdGlvbi5wYWdlU2l6ZSAqIHBhZ2luYXRpb24ucGFnZXNUb0NhY2hlLFxuICAgICAgcGFnZTogcGFnaW5hdGlvbi5yZXF1ZXN0UGFnZSxcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0IHNlbGVjdG9ycyA9IHtcbiAgICBzZWxlY3RFbnRpdGllc0N1cnJlbnRQYWdlTGlzdCxcbiAgICBpc0VudGl0aWVzTmV4dFBhZ2VJbkNhY2hlLFxuICAgIGlzRW50aXRpZXNDdXJyZW50UGFnZUluQ2FjaGUsXG4gICAgc2VsZWN0RW50aXRpZXNDdXJyZW50UGFnZSxcbiAgICBzZWxlY3RFbnRpdGllc1BhZ2VkUmVxdWVzdCxcbiAgICBzZWxlY3RFbnRpdGllc0N1cnJlbnRQYWdlSW5mbyxcbiAgICBpc0xvYWRpbmdFbnRpdGllc0N1cnJlbnRQYWdlLFxuICB9O1xuICByZXR1cm4gc2VsZWN0b3JzO1xufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './entities-pagination.model';
|
|
2
|
-
export * from './entities-pagination.trait';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2VudGl0aWVzLXBhZ2luYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXRpZXMtcGFnaW5hdGlvbi50cmFpdCc7XG4iXX0=
|