@ngdux/list 1.3.2 → 1.4.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.
Files changed (39) hide show
  1. package/esm2020/index.mjs +10 -8
  2. package/esm2020/lib/+state/effects.mjs +23 -0
  3. package/esm2020/lib/+state/state.service.mjs +55 -0
  4. package/esm2020/lib/models/list.model.mjs +4 -1
  5. package/esm2020/lib/ngdux-list-state.module.mjs +53 -0
  6. package/esm2020/lib/services/list-notification-service.mjs +21 -0
  7. package/esm2020/lib/state-generator/abstract-list-effects.mjs +66 -0
  8. package/esm2020/lib/state-generator/abstract-list-state.service.mjs +44 -0
  9. package/esm2020/lib/state-generator/abstract-list.facade.mjs +91 -0
  10. package/esm2020/lib/state-generator/list-actions.mjs +63 -0
  11. package/esm2020/lib/state-generator/list-reducer.mjs +104 -0
  12. package/esm2020/lib/state-generator/list-selectors.mjs +80 -0
  13. package/esm2020/lib/state-generator/list-state.mjs +18 -0
  14. package/fesm2015/ngdux-list.mjs +240 -107
  15. package/fesm2015/ngdux-list.mjs.map +1 -1
  16. package/fesm2020/ngdux-list.mjs +240 -105
  17. package/fesm2020/ngdux-list.mjs.map +1 -1
  18. package/index.d.ts +9 -7
  19. package/lib/+state/effects.d.ts +14 -0
  20. package/lib/+state/state.service.d.ts +22 -0
  21. package/lib/models/list.model.d.ts +18 -6
  22. package/lib/ngdux-list-state.module.d.ts +23 -0
  23. package/lib/services/list-notification-service.d.ts +13 -0
  24. package/lib/{+state → state-generator}/abstract-list-effects.d.ts +9 -11
  25. package/lib/{+state → state-generator}/abstract-list-state.service.d.ts +7 -7
  26. package/lib/{+state → state-generator}/abstract-list.facade.d.ts +20 -17
  27. package/lib/{+state → state-generator}/list-reducer.d.ts +2 -2
  28. package/lib/state-generator/list-selectors.d.ts +4 -0
  29. package/lib/{+state → state-generator}/list-state.d.ts +4 -4
  30. package/package.json +29 -13
  31. package/esm2020/lib/+state/abstract-list-effects.mjs +0 -71
  32. package/esm2020/lib/+state/abstract-list-state.service.mjs +0 -44
  33. package/esm2020/lib/+state/abstract-list.facade.mjs +0 -88
  34. package/esm2020/lib/+state/list-actions.mjs +0 -60
  35. package/esm2020/lib/+state/list-reducer.mjs +0 -97
  36. package/esm2020/lib/+state/list-selectors.mjs +0 -80
  37. package/esm2020/lib/+state/list-state.mjs +0 -18
  38. package/lib/+state/list-selectors.d.ts +0 -4
  39. /package/lib/{+state → state-generator}/list-actions.d.ts +0 -0
@@ -1,97 +0,0 @@
1
- import { DEFAULT_PAGE, DEFAULT_REQUEST_OPTIONS, RequestState } from '@ngdux/data-model-common';
2
- import { createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber } from '@ngdux/store-common';
3
- import { createEntityAdapter } from '@ngrx/entity';
4
- import { createReducer, on } from '@ngrx/store';
5
- export function createListEntityAdapter(idKey = 'id') {
6
- return createEntityAdapter({
7
- selectId: resource => resource[idKey]
8
- });
9
- }
10
- export function createListReducer(entityAdapter, actions, actionHandlers, initialListState) {
11
- const initialState = { ...createInitialListState(entityAdapter), ...initialListState };
12
- return createReducer(initialState, ...createListActionHandlers(initialState, entityAdapter, actions), ...(actionHandlers || []));
13
- }
14
- function createInitialListState(entityAdapter) {
15
- return entityAdapter.getInitialState({
16
- ...DEFAULT_REQUEST_OPTIONS,
17
- lastPageNumber: undefined,
18
- selectedResourceIds: [],
19
- loadingState: RequestState.IDLE,
20
- requestState: RequestState.IDLE,
21
- errors: undefined
22
- });
23
- }
24
- function createListActionHandlers(initialListState, entityAdapter, actions) {
25
- return [
26
- on(actions.reset, () => initialListState),
27
- on(actions.initialize, (state) => entityAdapter.removeAll({
28
- ...state,
29
- selectedResourceIds: [],
30
- pagingOptions: {
31
- ...state.pagingOptions,
32
- page: DEFAULT_PAGE
33
- },
34
- requestState: RequestState.IDLE
35
- })),
36
- on(actions.changePageSize, actions.setPageSize, (state, { pageSize }) => ({
37
- ...state,
38
- pagingOptions: { page: DEFAULT_PAGE, pageSize },
39
- lastPageNumber: undefined
40
- })),
41
- on(actions.changePageNumber, (state, { pageNumber }) => ({
42
- ...state,
43
- pagingOptions: { ...state.pagingOptions, page: pageNumber }
44
- })),
45
- on(actions.changeSorting, actions.setSorting, (state, { sortingOptions }) => ({
46
- ...state,
47
- sortingOptions,
48
- pagingOptions: { ...state.pagingOptions, page: DEFAULT_PAGE }
49
- })),
50
- on(actions.changeFiltering, actions.setFiltering, (state, { filteringOptions }) => ({
51
- ...state,
52
- filteringOptions,
53
- pagingOptions: { ...state.pagingOptions, page: DEFAULT_PAGE },
54
- lastPageNumber: undefined
55
- })),
56
- on(actions.changeRequestParams, actions.setRequestParams, (state, { params }) => ({
57
- ...state,
58
- requestParameters: params,
59
- pagingOptions: { ...state.pagingOptions, page: DEFAULT_PAGE }
60
- })),
61
- on(actions.changeSelectedResources, (state, { selectedResourceIds }) => ({
62
- ...state,
63
- selectedResourceIds
64
- })),
65
- on(actions.loadFirstPage, (state) => ({
66
- ...state,
67
- pagingOptions: { ...state.pagingOptions, page: 1 }
68
- })),
69
- on(actions.loadPageSuccess, (state, { resources, pagingOptions }) => {
70
- const lastPageNumber = getLastPageNumber(resources, pagingOptions) || state.lastPageNumber;
71
- if (lastPageNumber && pagingOptions.page > lastPageNumber) {
72
- return {
73
- ...state,
74
- pagingOptions: {
75
- ...state.pagingOptions,
76
- page: lastPageNumber
77
- },
78
- lastPageNumber,
79
- selectedResourceIds: []
80
- };
81
- }
82
- return entityAdapter.setAll(resources, {
83
- ...state,
84
- lastPageNumber,
85
- selectedResourceIds: []
86
- });
87
- }),
88
- on(actions.deleteSuccess, (state) => ({
89
- ...state,
90
- selectedResourceIds: []
91
- })),
92
- ...createLoadingStateActionHandlers(actions.loadPage, actions.loadPageSuccess, actions.loadPageFailure),
93
- ...createRequestStateActionHandlers(undefined, actions.delete, actions.deleteSuccess, actions.deleteFailure),
94
- ...createRequestStateActionHandlers(actions.resetRequestState, actions.patch, actions.patchSuccess, actions.patchFailure)
95
- ];
96
- }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2xpc3Qvc3JjL2xpYi8rc3RhdGUvbGlzdC1yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0YsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsaUJBQWlCLEVBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFpQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRSxPQUFPLEVBQStCLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLN0UsTUFBTSxVQUFVLHVCQUF1QixDQUFtQyxLQUFLLEdBQUcsSUFBSTtJQUNwRixPQUFPLG1CQUFtQixDQUFDO1FBQ3pCLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7S0FDdEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsYUFBK0IsRUFDL0IsT0FBNkIsRUFDN0IsY0FBaUUsRUFDakUsZ0JBQTZDO0lBRTdDLE1BQU0sWUFBWSxHQUFvQixFQUFFLEdBQUcsc0JBQXNCLENBQU8sYUFBYSxDQUFDLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlHLE9BQU8sYUFBYSxDQUNsQixZQUFZLEVBQ1osR0FBRyx3QkFBd0IsQ0FBVSxZQUFZLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUMxRSxHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUMxQixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQU8sYUFBK0I7SUFDbkUsT0FBTyxhQUFhLENBQUMsZUFBZSxD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dEI7UUFDRCxHQUFHLGdDQUFnQyxDQUNqQyxPQUFPLENBQUMsaUJBQWlCLEVBQ3pCLE9BQU8sQ0FBQyxLQUFLLEVBQ2IsT0FBTyxDQUFDLFlBQVksRUFDcEIsT0FBTyxDQUFDLFlBQVksQ0FDckI7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFRkFVTFRfUEFHRSwgREVGQVVMVF9SRVFVRVNUX09QVElPTlMsIFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnMsXHJcbiAgY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnMsXHJcbiAgZ2V0TGFzdFBhZ2VOdW1iZXJcclxufSBmcm9tICdAbmdkdXgvc3RvcmUtY29tbW9uJztcclxuaW1wb3J0IHsgRW50aXR5QWRhcHRlciwgY3JlYXRlRW50aXR5QWRhcHRlciB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XHJcbmltcG9ydCB7IEFjdGlvblJlZHVjZXIsIFJlZHVjZXJUeXBlcywgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcclxuXHJcbmltcG9ydCB7IExpc3RBY3Rpb25zLCBMaXN0U3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvbGlzdC5tb2RlbCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGlzdEVudGl0eUFkYXB0ZXI8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+KGlkS2V5ID0gJ2lkJyk6IEVudGl0eUFkYXB0ZXI8VD4ge1xyXG4gIHJldHVybiBjcmVhdGVFbnRpdHlBZGFwdGVyKHtcclxuICAgIHNlbGVjdElkOiByZXNvdXJjZSA9PiByZXNvdXJjZVtpZEtleV1cclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpc3RSZWR1Y2VyPFQsIEUsIFMgPSBUPihcclxuICBlbnRpdHlBZGFwdGVyOiBFbnRpdHlBZGFwdGVyPFM+LFxyXG4gIGFjdGlvbnM6IExpc3RBY3Rpb25zPFQsIEUsIFM+LFxyXG4gIGFjdGlvbkhhbmRsZXJzPzogUmVkdWNlclR5cGVzPExpc3RTdGF0ZTxTLCBFPiwgQWN0aW9uQ3JlYXRvcltdPltdLFxyXG4gIGluaXRpYWxMaXN0U3RhdGU/OiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfVxyXG4pOiBBY3Rpb25SZWR1Y2VyPExpc3RTdGF0ZTxTLCBFPj4ge1xyXG4gIGNvbnN0IGluaXRpYWxTdGF0ZTogTGlzdFN0YXRlPFMsIEU+ID0geyAuLi5jcmVhdGVJbml0aWFsTGlzdFN0YXRlPFMsIEU+KGVudGl0eUFkYXB0ZXIpLCAuLi5pbml0aWFsTGlzdFN0YXRlIH07XHJcbiAgcmV0dXJuIGNyZWF0ZVJlZHVjZXI8TGlzdFN0YXRlPFMsIEU+PihcclxuICAgIGluaXRpYWxTdGF0ZSxcclxuICAgIC4uLmNyZWF0ZUxpc3RBY3Rpb25IYW5kbGVyczxULCBFLCBTPihpbml0aWFsU3RhdGUsIGVudGl0eUFkYXB0ZXIsIGFjdGlvbnMpLFxyXG4gICAgLi4uKGFjdGlvbkhhbmRsZXJzIHx8IFtdKVxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxMaXN0U3RhdGU8VCwgRT4oZW50aXR5QWRhcHRlcjogRW50aXR5QWRhcHRlcjxUPik6IExpc3RTdGF0ZTxULCBFPiB7XHJcbiAgcmV0dXJuIGVudGl0eUFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKHtcclxuICAgIC4uLkRFRkFVTFRfUkVRVUVTVF9PUFRJT05TLFxyXG4gICAgbGFzdFBhZ2VOdW1iZXI6IHVuZGVmaW5lZCxcclxuICAgIHNlbGVjdGVkUmVzb3VyY2VJZHM6IFtdLFxyXG4gICAgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGUuSURMRSxcclxuICAgIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlLklETEUsXHJcbiAgICBlcnJvcnM6IHVuZGVmaW5lZFxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVMaXN0QWN0aW9uSGFuZGxlcnM8VCwgRSwgUz4oXHJcbiAgaW5pdGlhbExpc3RTdGF0ZTogTGlzdFN0YXRlPFMsIEU+LFxyXG4gIGVudGl0eUFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8Uz4sXHJcbiAgYWN0aW9uczogTGlzdEFjdGlvbnM8VCwgRSwgUz5cclxuKTogUmVkdWNlclR5cGVzPExpc3RTdGF0ZTxTLCBFPiwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICByZXR1cm4gW1xyXG4gICAgb24oYWN0aW9ucy5yZXNldCwgKCkgPT4gaW5pdGlhbExpc3RTdGF0ZSksXHJcbiAgICBvbihhY3Rpb25zLmluaXRpYWxpemUsIChzdGF0ZTogTGlzdFN0YXRlPFMsIEU+KSA9PlxyXG4gICAgICBlbnRpdHlBZGFwdGVyLnJlbW92ZUFsbCh7XHJcbiAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgc2VsZWN0ZWRSZXNvdXJjZUlkczogW10sXHJcbiAgICAgICAgcGFnaW5nT3B0aW9uczoge1xyXG4gICAgICAgICAgLi4uc3RhdGUucGFnaW5nT3B0aW9ucyxcclxuICAgICAgICAgIHBhZ2U6IERFRkFVTFRfUEFHRVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuSURMRVxyXG4gICAgICB9KVxyXG4gICAgKSxcclxuICAgIG9uKGFjdGlvbnMuY2hhbmdlUGFnZVNpemUsIGFjdGlvbnMuc2V0UGFnZVNpemUsIChzdGF0ZTogTGlzdFN0YXRlPFMsIEU+LCB7IHBhZ2VTaXplIH0pID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICBwYWdpbmdPcHRpb25zOiB7IHBhZ2U6IERFRkFVTFRfUEFHRSwgcGFnZVNpemUgfSxcclxuICAgICAgbGFzdFBhZ2VOdW1iZXI6IHVuZGVmaW5lZFxyXG4gICAgfSkpLFxyXG4gICAgb24oYWN0aW9ucy5jaGFuZ2VQYWdlTnVtYmVyLCAoc3RhdGU6IExpc3RTdGF0ZTxTLCBFPiwgeyBwYWdlTnVtYmVyIH0pID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICBwYWdpbmdPcHRpb25zOiB7IC4uLnN0YXRlLnBhZ2luZ09wdGlvbnMsIHBhZ2U6IHBhZ2VOdW1iZXIgfVxyXG4gICAgfSkpLFxyXG4gICAgb24oYWN0aW9ucy5jaGFuZ2VTb3J0aW5nLCBhY3Rpb25zLnNldFNvcnRpbmcsIChzdGF0ZTogTGlzdFN0YXRlPFMsIEU+LCB7IHNvcnRpbmdPcHRpb25zIH0pID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICBzb3J0aW5nT3B0aW9ucyxcclxuICAgICAgcGFnaW5nT3B0aW9uczogeyAuLi5zdGF0ZS5wYWdpbmdPcHRpb25zLCBwYWdlOiBERUZBVUxUX1BBR0UgfVxyXG4gICAgfSkpLFxyXG4gICAgb24oYWN0aW9ucy5jaGFuZ2VGaWx0ZXJpbmcsIGFjdGlvbnMuc2V0RmlsdGVyaW5nLCAoc3RhdGU6IExpc3RTdGF0ZTxTLCBFPiwgeyBmaWx0ZXJpbmdPcHRpb25zIH0pID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICBmaWx0ZXJpbmdPcHRpb25zLFxyXG4gICAgICBwYWdpbmdPcHRpb25zOiB7IC4uLnN0YXRlLnBhZ2luZ09wdGlvbnMsIHBhZ2U6IERFRkFVTFRfUEFHRSB9LFxyXG4gICAgICBsYXN0UGFnZU51bWJlcjogdW5kZWZpbmVkXHJcbiAgICB9KSksXHJcbiAgICBvbihcclxuICAgICAgYWN0aW9ucy5jaGFuZ2VSZXF1ZXN0UGFyYW1zLFxyXG4gICAgICBhY3Rpb25zLnNldFJlcXVlc3RQYXJhbXMsXHJcbiAgICAgIChzdGF0ZTogTGlzdFN0YXRlPFMsIEU+LCB7IHBhcmFtcyB9KTogTGlzdFN0YXRlPFMsIEU+ID0+ICh7XHJcbiAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgcmVxdWVzdFBhcmFtZXRlcnM6IHBhcmFtcyxcclxuICAgICAgICBwYWdpbmdPcHRpb25zOiB7IC4uLnN0YXRlLnBhZ2luZ09wdGlvbnMsIHBhZ2U6IERFRkFVTFRfUEFHRSB9XHJcbiAgICAgIH0pXHJcbiAgICApLFxyXG4gICAgb24oYWN0aW9ucy5jaGFuZ2VTZWxlY3RlZFJlc291cmNlcywgKHN0YXRlOiBMaXN0U3RhdGU8UywgRT4sIHsgc2VsZWN0ZWRSZXNvdXJjZUlkcyB9KSA9PiAoe1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgc2VsZWN0ZWRSZXNvdXJjZUlkc1xyXG4gICAgfSkpLFxyXG4gICAgb24oYWN0aW9ucy5sb2FkRmlyc3RQYWdlLCAoc3RhdGU6IExpc3RTdGF0ZTxTLCBFPikgPT4gKHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIHBhZ2luZ09wdGlvbnM6IHsgLi4uc3RhdGUucGFnaW5nT3B0aW9ucywgcGFnZTogMSB9XHJcbiAgICB9KSksXHJcbiAgICBvbihhY3Rpb25zLmxvYWRQYWdlU3VjY2VzcywgKHN0YXRlOiBMaXN0U3RhdGU8UywgRT4sIHsgcmVzb3VyY2VzLCBwYWdpbmdPcHRpb25zIH0pID0+IHtcclxuICAgICAgY29uc3QgbGFzdFBhZ2VOdW1iZXIgPSBnZXRMYXN0UGFnZU51bWJlcihyZXNvdXJjZXMsIHBhZ2luZ09wdGlvbnMpIHx8IHN0YXRlLmxhc3RQYWdlTnVtYmVyO1xyXG4gICAgICBpZiAobGFzdFBhZ2VOdW1iZXIgJiYgcGFnaW5nT3B0aW9ucy5wYWdlID4gbGFzdFBhZ2VOdW1iZXIpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICBwYWdpbmdPcHRpb25zOiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLnBhZ2luZ09wdGlvbnMsXHJcbiAgICAgICAgICAgIHBhZ2U6IGxhc3RQYWdlTnVtYmVyXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbGFzdFBhZ2VOdW1iZXIsXHJcbiAgICAgICAgICBzZWxlY3RlZFJlc291cmNlSWRzOiBbXVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBlbnRpdHlBZGFwdGVyLnNldEFsbChyZXNvdXJjZXMsIHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBsYXN0UGFnZU51bWJlcixcclxuICAgICAgICBzZWxlY3RlZFJlc291cmNlSWRzOiBbXVxyXG4gICAgICB9KTtcclxuICAgIH0pLFxyXG4gICAgb24oYWN0aW9ucy5kZWxldGVTdWNjZXNzLCAoc3RhdGU6IExpc3RTdGF0ZTxTLCBFPikgPT4gKHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIHNlbGVjdGVkUmVzb3VyY2VJZHM6IFtdIGFzIHN0cmluZ1tdXHJcbiAgICB9KSksXHJcbiAgICAuLi5jcmVhdGVMb2FkaW5nU3RhdGVBY3Rpb25IYW5kbGVyczxMaXN0U3RhdGU8UywgRT4+KFxyXG4gICAgICBhY3Rpb25zLmxvYWRQYWdlLFxyXG4gICAgICBhY3Rpb25zLmxvYWRQYWdlU3VjY2VzcyxcclxuICAgICAgYWN0aW9ucy5sb2FkUGFnZUZhaWx1cmVcclxuICAgICksXHJcbiAgICAuLi5jcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVyczxMaXN0U3RhdGU8UywgRT4sIEU+KFxyXG4gICAgICB1bmRlZmluZWQsXHJcbiAgICAgIGFjdGlvbnMuZGVsZXRlLFxyXG4gICAgICBhY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MsXHJcbiAgICAgIGFjdGlvbnMuZGVsZXRlRmFpbHVyZVxyXG4gICAgKSxcclxuICAgIC4uLmNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPExpc3RTdGF0ZTxTLCBFPiwgRT4oXHJcbiAgICAgIGFjdGlvbnMucmVzZXRSZXF1ZXN0U3RhdGUsXHJcbiAgICAgIGFjdGlvbnMucGF0Y2gsXHJcbiAgICAgIGFjdGlvbnMucGF0Y2hTdWNjZXNzLFxyXG4gICAgICBhY3Rpb25zLnBhdGNoRmFpbHVyZVxyXG4gICAgKVxyXG4gIF07XHJcbn1cclxuIl19
@@ -1,80 +0,0 @@
1
- /* eslint-disable @typescript-eslint/ban-types */
2
- import { RequestState } from '@ngdux/data-model-common';
3
- import { createSelector } from '@ngrx/store';
4
- export function createListSelectors(entityAdapter, getListState) {
5
- const getAll = createSelector(getListState, entityAdapter.getSelectors().selectAll);
6
- const getPagingOptions = createSelector(getListState, state => state.pagingOptions);
7
- const getRequestOptions = createSelector(getListState, (state) => ({
8
- pagingOptions: state.pagingOptions,
9
- sortingOptions: state.sortingOptions,
10
- filteringOptions: state.filteringOptions
11
- }));
12
- const getLastPageNumber = createSelector(getListState, state => state.lastPageNumber);
13
- const isLastPage = createSelector(getPagingOptions, getLastPageNumber, ({ page }, lastPageNumber) => {
14
- return lastPageNumber ? lastPageNumber <= page : false;
15
- });
16
- const getCurrentPageData = createSelector(getAll, resources => {
17
- return resources;
18
- });
19
- const getSortingOptions = createSelector(getListState, state => state.sortingOptions);
20
- const getRequestParameters = createSelector(getListState, state => state.requestParameters);
21
- const getFilteringOptions = createSelector(getListState, state => state.filteringOptions);
22
- const getCurrentPageNumber = createSelector(getPagingOptions, options => options?.page);
23
- const getSelectedResourceIds = createSelector(getListState, state => state.selectedResourceIds);
24
- const getLoadingState = createSelector(getListState, state => state.loadingState);
25
- const getSelectedItems = createSelector(getSelectedResourceIds, createSelector(getListState, entityAdapter.getSelectors().selectEntities), (selectedResourceIds, resources) => selectedResourceIds.reduce((acc, selectedResourceId) => {
26
- const resource = resources[selectedResourceId];
27
- if (resource) {
28
- acc.push(resource);
29
- }
30
- return acc;
31
- }, []));
32
- const getSelectionRecord = createSelector(getSelectedResourceIds, createSelector(getListState, entityAdapter.getSelectors().selectEntities), (selectedResourceIds, resources) => selectedResourceIds.reduce((selected, selectedResourceId) => {
33
- const resource = resources[selectedResourceId];
34
- if (resource) {
35
- selected[selectedResourceId] = resource;
36
- }
37
- return selected;
38
- }, {}));
39
- const getRequestState = createSelector(getListState, state => state.requestState);
40
- const getErrors = createSelector(getListState, state => state.errors);
41
- const isReady = createSelector(getAll, getLoadingState, (users, loadingState) => !!users && loadingState === RequestState.SUCCESS);
42
- const areSelectedReady = createSelector(getSelectedResourceIds, getSelectionRecord, getLoadingState, (selectedResourceIds, resources, loadingState) => {
43
- return selectedResourceIds.every(resourceId => !!resources[resourceId]) && loadingState === RequestState.SUCCESS;
44
- });
45
- const isDeleteDisabled = createSelector(getSelectedResourceIds, selectedResourceIds => !selectedResourceIds.length);
46
- const isCopyDisabled = createSelector(getSelectedResourceIds, selectedResourceIds => selectedResourceIds.length !== 1);
47
- const getTotalCount = createSelector(getPagingOptions, isLastPage, getCurrentPageData, (pagingOptions, isLastPage, currentPageData) => {
48
- if (!pagingOptions) {
49
- return 0;
50
- }
51
- if (isLastPage) {
52
- return (pagingOptions.page - 1) * pagingOptions.pageSize + currentPageData.length;
53
- }
54
- return (pagingOptions.page + 1) * pagingOptions.pageSize;
55
- });
56
- return {
57
- getAll,
58
- getRequestOptions,
59
- isLastPage,
60
- getCurrentPageData,
61
- getPagingOptions,
62
- getSortingOptions,
63
- getFilteringOptions,
64
- getRequestParameters,
65
- getCurrentPageNumber,
66
- getLastPageNumber,
67
- getLoadingState,
68
- getSelectedResourceIds,
69
- getSelectedItems,
70
- getSelectionRecord,
71
- getRequestState,
72
- getErrors,
73
- areSelectedReady,
74
- isReady,
75
- isDeleteDisabled,
76
- isCopyDisabled,
77
- getTotalCount
78
- };
79
- }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvbGlzdC9zcmMvbGliLytzdGF0ZS9saXN0LXNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpREFBaUQ7QUFDakQsT0FBTyxFQUFrQixZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RSxPQUFPLEVBQXdDLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUduRixNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLGFBQStCLEVBQy9CLFlBQTRGO0lBRTVGLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBGLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVwRixNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FDdEMsWUFBWSxFQUNaLENBQUMsS0FBSyxFQUFrQixFQUFFLENBQUMsQ0FBQztRQUMxQixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7UUFDbEMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1FBQ3BDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7S0FDekMsQ0FBQyxDQUNILENBQUM7SUFFRixNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFdEYsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRTtRQUNsRyxPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUMs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cEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsU0FBUztRQUNULGdCQUFnQjtRQUNoQixPQUFPO1FBQ1AsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxhQUFhO0tBQ2QsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzICovXHJcbmltcG9ydCB7IFJlcXVlc3RPcHRpb25zLCBSZXF1ZXN0U3RhdGUgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5pbXBvcnQgeyBFbnRpdHlBZGFwdGVyIH0gZnJvbSAnQG5ncngvZW50aXR5JztcclxuaW1wb3J0IHsgRGVmYXVsdFByb2plY3RvckZuLCBNZW1vaXplZFNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgTGlzdFNlbGVjdG9ycywgTGlzdFN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2xpc3QubW9kZWwnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpc3RTZWxlY3RvcnM8VCwgRT4oXHJcbiAgZW50aXR5QWRhcHRlcjogRW50aXR5QWRhcHRlcjxUPixcclxuICBnZXRMaXN0U3RhdGU6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBMaXN0U3RhdGU8VCwgRT4sIERlZmF1bHRQcm9qZWN0b3JGbjxMaXN0U3RhdGU8VCwgRT4+PlxyXG4pOiBMaXN0U2VsZWN0b3JzPFQsIEU+IHtcclxuICBjb25zdCBnZXRBbGwgPSBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIGVudGl0eUFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCkuc2VsZWN0QWxsKTtcclxuXHJcbiAgY29uc3QgZ2V0UGFnaW5nT3B0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKGdldExpc3RTdGF0ZSwgc3RhdGUgPT4gc3RhdGUucGFnaW5nT3B0aW9ucyk7XHJcblxyXG4gIGNvbnN0IGdldFJlcXVlc3RPcHRpb25zID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgICBnZXRMaXN0U3RhdGUsXHJcbiAgICAoc3RhdGUpOiBSZXF1ZXN0T3B0aW9ucyA9PiAoe1xyXG4gICAgICBwYWdpbmdPcHRpb25zOiBzdGF0ZS5wYWdpbmdPcHRpb25zLFxyXG4gICAgICBzb3J0aW5nT3B0aW9uczogc3RhdGUuc29ydGluZ09wdGlvbnMsXHJcbiAgICAgIGZpbHRlcmluZ09wdGlvbnM6IHN0YXRlLmZpbHRlcmluZ09wdGlvbnNcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgZ2V0TGFzdFBhZ2VOdW1iZXIgPSBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIHN0YXRlID0+IHN0YXRlLmxhc3RQYWdlTnVtYmVyKTtcclxuXHJcbiAgY29uc3QgaXNMYXN0UGFnZSA9IGNyZWF0ZVNlbGVjdG9yKGdldFBhZ2luZ09wdGlvbnMsIGdldExhc3RQYWdlTnVtYmVyLCAoeyBwYWdlIH0sIGxhc3RQYWdlTnVtYmVyKSA9PiB7XHJcbiAgICByZXR1cm4gbGFzdFBhZ2VOdW1iZXIgPyBsYXN0UGFnZU51bWJlciA8PSBwYWdlIDogZmFsc2U7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IGdldEN1cnJlbnRQYWdlRGF0YSA9IGNyZWF0ZVNlbGVjdG9yKGdldEFsbCwgcmVzb3VyY2VzID0+IHtcclxuICAgIHJldHVybiByZXNvdXJjZXM7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IGdldFNvcnRpbmdPcHRpb25zID0gY3JlYXRlU2VsZWN0b3IoZ2V0TGlzdFN0YXRlLCBzdGF0ZSA9PiBzdGF0ZS5zb3J0aW5nT3B0aW9ucyk7XHJcblxyXG4gIGNvbnN0IGdldFJlcXVlc3RQYXJhbWV0ZXJzID0gY3JlYXRlU2VsZWN0b3IoZ2V0TGlzdFN0YXRlLCBzdGF0ZSA9PiBzdGF0ZS5yZXF1ZXN0UGFyYW1ldGVycyk7XHJcblxyXG4gIGNvbnN0IGdldEZpbHRlcmluZ09wdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIHN0YXRlID0+IHN0YXRlLmZpbHRlcmluZ09wdGlvbnMpO1xyXG5cclxuICBjb25zdCBnZXRDdXJyZW50UGFnZU51bWJlciA9IGNyZWF0ZVNlbGVjdG9yKGdldFBhZ2luZ09wdGlvbnMsIG9wdGlvbnMgPT4gb3B0aW9ucz8ucGFnZSk7XHJcblxyXG4gIGNvbnN0IGdldFNlbGVjdGVkUmVzb3VyY2VJZHMgPSBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIHN0YXRlID0+IHN0YXRlLnNlbGVjdGVkUmVzb3VyY2VJZHMpO1xyXG5cclxuICBjb25zdCBnZXRMb2FkaW5nU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIHN0YXRlID0+IHN0YXRlLmxvYWRpbmdTdGF0ZSk7XHJcblxyXG4gIGNvbnN0IGdldFNlbGVjdGVkSXRlbXMgPSBjcmVhdGVTZWxlY3RvcihcclxuICAgIGdldFNlbGVjdGVkUmVzb3VyY2VJZHMsXHJcbiAgICBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIGVudGl0eUFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCkuc2VsZWN0RW50aXRpZXMpLFxyXG4gICAgKHNlbGVjdGVkUmVzb3VyY2VJZHMsIHJlc291cmNlcyk6IFRbXSA9PlxyXG4gICAgICBzZWxlY3RlZFJlc291cmNlSWRzLnJlZHVjZSgoYWNjLCBzZWxlY3RlZFJlc291cmNlSWQpOiBUW10gPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gcmVzb3VyY2VzW3NlbGVjdGVkUmVzb3VyY2VJZF07XHJcbiAgICAgICAgaWYgKHJlc291cmNlKSB7XHJcbiAgICAgICAgICBhY2MucHVzaChyZXNvdXJjZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgIH0sIFtdIGFzIFRbXSlcclxuICApO1xyXG5cclxuICBjb25zdCBnZXRTZWxlY3Rpb25SZWNvcmQgPSBjcmVhdGVTZWxlY3RvcihcclxuICAgIGdldFNlbGVjdGVkUmVzb3VyY2VJZHMsXHJcbiAgICBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIGVudGl0eUFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCkuc2VsZWN0RW50aXRpZXMpLFxyXG4gICAgKHNlbGVjdGVkUmVzb3VyY2VJZHMsIHJlc291cmNlcyk6IFJlY29yZDxzdHJpbmcsIFQ+ID0+XHJcbiAgICAgIHNlbGVjdGVkUmVzb3VyY2VJZHMucmVkdWNlKChzZWxlY3RlZCwgc2VsZWN0ZWRSZXNvdXJjZUlkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVzb3VyY2UgPSByZXNvdXJjZXNbc2VsZWN0ZWRSZXNvdXJjZUlkXTtcclxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcclxuICAgICAgICAgIHNlbGVjdGVkW3NlbGVjdGVkUmVzb3VyY2VJZF0gPSByZXNvdXJjZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkO1xyXG4gICAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBUPilcclxuICApO1xyXG5cclxuICBjb25zdCBnZXRSZXF1ZXN0U3RhdGUgPSBjcmVhdGVTZWxlY3RvcihnZXRMaXN0U3RhdGUsIHN0YXRlID0+IHN0YXRlLnJlcXVlc3RTdGF0ZSk7XHJcblxyXG4gIGNvbnN0IGdldEVycm9ycyA9IGNyZWF0ZVNlbGVjdG9yKGdldExpc3RTdGF0ZSwgc3RhdGUgPT4gc3RhdGUuZXJyb3JzKTtcclxuXHJcbiAgY29uc3QgaXNSZWFkeSA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gICAgZ2V0QWxsLFxyXG4gICAgZ2V0TG9hZGluZ1N0YXRlLFxyXG4gICAgKHVzZXJzLCBsb2FkaW5nU3RhdGUpID0+ICEhdXNlcnMgJiYgbG9hZGluZ1N0YXRlID09PSBSZXF1ZXN0U3RhdGUuU1VDQ0VTU1xyXG4gICk7XHJcblxyXG4gIGNvbnN0IGFyZVNlbGVjdGVkUmVhZHkgPSBjcmVhdGVTZWxlY3RvcihcclxuICAgIGdldFNlbGVjdGVkUmVzb3VyY2VJZHMsXHJcbiAgICBnZXRTZWxlY3Rpb25SZWNvcmQsXHJcbiAgICBnZXRMb2FkaW5nU3RhdGUsXHJcbiAgICAoc2VsZWN0ZWRSZXNvdXJjZUlkcywgcmVzb3VyY2VzLCBsb2FkaW5nU3RhdGUpID0+IHtcclxuICAgICAgcmV0dXJuIHNlbGVjdGVkUmVzb3VyY2VJZHMuZXZlcnkocmVzb3VyY2VJZCA9PiAhIXJlc291cmNlc1tyZXNvdXJjZUlkXSkgJiYgbG9hZGluZ1N0YXRlID09PSBSZXF1ZXN0U3RhdGUuU1VDQ0VTUztcclxuICAgIH1cclxuICApO1xyXG5cclxuICBjb25zdCBpc0RlbGV0ZURpc2FibGVkID0gY3JlYXRlU2VsZWN0b3IoZ2V0U2VsZWN0ZWRSZXNvdXJjZUlkcywgc2VsZWN0ZWRSZXNvdXJjZUlkcyA9PiAhc2VsZWN0ZWRSZXNvdXJjZUlkcy5sZW5ndGgpO1xyXG5cclxuICBjb25zdCBpc0NvcHlEaXNhYmxlZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gICAgZ2V0U2VsZWN0ZWRSZXNvdXJjZUlkcyxcclxuICAgIHNlbGVjdGVkUmVzb3VyY2VJZHMgPT4gc2VsZWN0ZWRSZXNvdXJjZUlkcy5sZW5ndGggIT09IDFcclxuICApO1xyXG5cclxuICBjb25zdCBnZXRUb3RhbENvdW50ID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgICBnZXRQYWdpbmdPcHRpb25zLFxyXG4gICAgaXNMYXN0UGFnZSxcclxuICAgIGdldEN1cnJlbnRQYWdlRGF0YSxcclxuICAgIChwYWdpbmdPcHRpb25zLCBpc0xhc3RQYWdlLCBjdXJyZW50UGFnZURhdGEpID0+IHtcclxuICAgICAgaWYgKCFwYWdpbmdPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpc0xhc3RQYWdlKSB7XHJcbiAgICAgICAgcmV0dXJuIChwYWdpbmdPcHRpb25zLnBhZ2UgLSAxKSAqIHBhZ2luZ09wdGlvbnMucGFnZVNpemUgKyBjdXJyZW50UGFnZURhdGEubGVuZ3RoO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAocGFnaW5nT3B0aW9ucy5wYWdlICsgMSkgKiBwYWdpbmdPcHRpb25zLnBhZ2VTaXplO1xyXG4gICAgfVxyXG4gICk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBnZXRBbGwsXHJcbiAgICBnZXRSZXF1ZXN0T3B0aW9ucyxcclxuICAgIGlzTGFzdFBhZ2UsXHJcbiAgICBnZXRDdXJyZW50UGFnZURhdGEsXHJcbiAgICBnZXRQYWdpbmdPcHRpb25zLFxyXG4gICAgZ2V0U29ydGluZ09wdGlvbnMsXHJcbiAgICBnZXRGaWx0ZXJpbmdPcHRpb25zLFxyXG4gICAgZ2V0UmVxdWVzdFBhcmFtZXRlcnMsXHJcbiAgICBnZXRDdXJyZW50UGFnZU51bWJlcixcclxuICAgIGdldExhc3RQYWdlTnVtYmVyLFxyXG4gICAgZ2V0TG9hZGluZ1N0YXRlLFxyXG4gICAgZ2V0U2VsZWN0ZWRSZXNvdXJjZUlkcyxcclxuICAgIGdldFNlbGVjdGVkSXRlbXMsXHJcbiAgICBnZXRTZWxlY3Rpb25SZWNvcmQsXHJcbiAgICBnZXRSZXF1ZXN0U3RhdGUsXHJcbiAgICBnZXRFcnJvcnMsXHJcbiAgICBhcmVTZWxlY3RlZFJlYWR5LFxyXG4gICAgaXNSZWFkeSxcclxuICAgIGlzRGVsZXRlRGlzYWJsZWQsXHJcbiAgICBpc0NvcHlEaXNhYmxlZCxcclxuICAgIGdldFRvdGFsQ291bnRcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { createFeatureSelector } from '@ngrx/store';
2
- import { createListActions } from './list-actions';
3
- import { createListEntityAdapter, createListReducer } from './list-reducer';
4
- import { createListSelectors } from './list-selectors';
5
- export function createListState(featureName, idKey) {
6
- const actions = createListActions(featureName);
7
- const entityAdapter = createListEntityAdapter(idKey);
8
- const reducer = createListReducer(entityAdapter, actions);
9
- const getState = createFeatureSelector(featureName);
10
- const selectors = createListSelectors(entityAdapter, getState);
11
- return {
12
- actions,
13
- reducer: (state, action) => reducer(state, action),
14
- selectors,
15
- entityAdapter
16
- };
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvK3N0YXRlL2xpc3Qtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE1BQU0sVUFBVSxlQUFlLENBQzdCLFdBQW1CLEVBQ25CLEtBQWM7SUFFZCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBVSxXQUFXLENBQUMsQ0FBQztJQUN4RCxNQUFNLGFBQWEsR0FBRyx1QkFBdUIsQ0FBSSxLQUFLLENBQUMsQ0FBQztJQUN4RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBVSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQWtCLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFPLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVyRSxPQUFPO1FBQ0wsT0FBTztRQUNQLE9BQU8sRUFBRSxDQUFDLEtBQXNCLEVBQUUsTUFBYyxFQUFtQixFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFDNUYsU0FBUztRQUNULGFBQWE7S0FDZCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBMaXN0U3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvbGlzdC5tb2RlbCc7XHJcbmltcG9ydCB7IGNyZWF0ZUxpc3RBY3Rpb25zIH0gZnJvbSAnLi9saXN0LWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBjcmVhdGVMaXN0RW50aXR5QWRhcHRlciwgY3JlYXRlTGlzdFJlZHVjZXIgfSBmcm9tICcuL2xpc3QtcmVkdWNlcic7XHJcbmltcG9ydCB7IGNyZWF0ZUxpc3RTZWxlY3RvcnMgfSBmcm9tICcuL2xpc3Qtc2VsZWN0b3JzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaXN0U3RhdGU8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0sIEUsIFMgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0gVD4oXHJcbiAgZmVhdHVyZU5hbWU6IHN0cmluZyxcclxuICBpZEtleT86IHN0cmluZ1xyXG4pIHtcclxuICBjb25zdCBhY3Rpb25zID0gY3JlYXRlTGlzdEFjdGlvbnM8VCwgRSwgUz4oZmVhdHVyZU5hbWUpO1xyXG4gIGNvbnN0IGVudGl0eUFkYXB0ZXIgPSBjcmVhdGVMaXN0RW50aXR5QWRhcHRlcjxTPihpZEtleSk7XHJcbiAgY29uc3QgcmVkdWNlciA9IGNyZWF0ZUxpc3RSZWR1Y2VyPFQsIEUsIFM+KGVudGl0eUFkYXB0ZXIsIGFjdGlvbnMpO1xyXG4gIGNvbnN0IGdldFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPExpc3RTdGF0ZTxTLCBFPj4oZmVhdHVyZU5hbWUpO1xyXG4gIGNvbnN0IHNlbGVjdG9ycyA9IGNyZWF0ZUxpc3RTZWxlY3RvcnM8UywgRT4oZW50aXR5QWRhcHRlciwgZ2V0U3RhdGUpO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgYWN0aW9ucyxcclxuICAgIHJlZHVjZXI6IChzdGF0ZTogTGlzdFN0YXRlPFMsIEU+LCBhY3Rpb246IEFjdGlvbik6IExpc3RTdGF0ZTxTLCBFPiA9PiByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pLFxyXG4gICAgc2VsZWN0b3JzLFxyXG4gICAgZW50aXR5QWRhcHRlclxyXG4gIH07XHJcbn1cclxuIl19
@@ -1,4 +0,0 @@
1
- import { EntityAdapter } from '@ngrx/entity';
2
- import { DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';
3
- import { ListSelectors, ListState } from '../models/list.model';
4
- export declare function createListSelectors<T, E>(entityAdapter: EntityAdapter<T>, getListState: MemoizedSelector<object, ListState<T, E>, DefaultProjectorFn<ListState<T, E>>>): ListSelectors<T, E>;