@daffodil/category 0.43.1 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/driver/magento/models/complete-category-response.d.ts +3 -0
- package/esm2020/driver/in-memory/backend/category.service.mjs +3 -3
- package/esm2020/driver/in-memory/drivers/category-driver.module.mjs +4 -4
- package/esm2020/driver/in-memory/drivers/category.service.mjs +3 -3
- package/esm2020/driver/magento/category-driver.module.mjs +4 -4
- package/esm2020/driver/magento/category.service.mjs +8 -6
- package/esm2020/driver/magento/models/complete-category-response.mjs +1 -1
- package/esm2020/driver/magento/testing/factories/category.factory.mjs +3 -3
- package/esm2020/driver/magento/transformers/applied-filter-transformer.service.mjs +3 -3
- package/esm2020/driver/magento/transformers/category-page-config-transformer.service.mjs +4 -4
- package/esm2020/driver/magento/transformers/category-response-transform.service.mjs +3 -3
- package/esm2020/driver/magento/transformers/category-transformer.service.mjs +3 -3
- package/esm2020/driver/testing/drivers/category-driver.module.mjs +4 -4
- package/esm2020/driver/testing/drivers/category.service.mjs +3 -3
- package/esm2020/routing/effects/collection-route.effects.mjs +21 -0
- package/esm2020/routing/injection-tokens/public_api.mjs +2 -0
- package/esm2020/routing/injection-tokens/request/builder.token.mjs +8 -0
- package/esm2020/routing/injection-tokens/request/builders.token.mjs +30 -0
- package/esm2020/routing/module.mjs +72 -0
- package/esm2020/routing/public_api.mjs +3 -1
- package/esm2020/routing/resolvers/category-page/category-page.resolver.mjs +4 -7
- package/esm2020/routing/resolvers/category-page-id/category-page-id.resolver.mjs +11 -8
- package/esm2020/routing/resolvers/category-page-url/category-page-url.resolver.mjs +11 -13
- package/esm2020/state/actions/category-page-filter.actions.mjs +52 -16
- package/esm2020/state/actions/category-page.actions.mjs +1 -37
- package/esm2020/state/category-state.module.mjs +4 -4
- package/esm2020/state/effects/category-page-filter.effects.mjs +8 -8
- package/esm2020/state/effects/category-page.effects.mjs +7 -6
- package/esm2020/state/effects/category.effects.mjs +3 -3
- package/esm2020/state/facades/collection/facade.mjs +20 -0
- package/esm2020/state/facades/page/category-facade.interface.mjs +2 -0
- package/esm2020/state/facades/page/category.facade.mjs +52 -0
- package/esm2020/state/facades/public_api.mjs +3 -0
- package/esm2020/state/public_api.mjs +2 -2
- package/esm2020/state/reducers/category/category-reducer-state.interface.mjs +1 -1
- package/esm2020/state/reducers/category/category.reducer.mjs +14 -114
- package/esm2020/state/reducers/category-reducers.interface.mjs +1 -1
- package/esm2020/state/reducers/category-reducers.mjs +3 -1
- package/esm2020/state/reducers/page-metadata/reducer.mjs +57 -0
- package/esm2020/state/reducers/page-metadata/state.interface.mjs +2 -0
- package/esm2020/state/reducers/public_api.mjs +2 -1
- package/esm2020/state/selectors/category-page/category-page.selector.mjs +3 -23
- package/esm2020/state/selectors/category.selector.mjs +3 -1
- package/esm2020/state/selectors/collection/selectors.mjs +10 -0
- package/esm2020/state/testing/category-testing.module.mjs +8 -5
- package/esm2020/state/testing/mock-category-facade.mjs +3 -13
- package/esm2020/testing/factories/category-page-metadata.factory.mjs +3 -3
- package/esm2020/testing/factories/category.factory.mjs +3 -3
- package/fesm2015/daffodil-category-driver-in-memory.mjs +7 -7
- package/fesm2015/daffodil-category-driver-in-memory.mjs.map +1 -1
- package/fesm2015/daffodil-category-driver-magento-testing.mjs +2 -2
- package/fesm2015/daffodil-category-driver-magento-testing.mjs.map +1 -1
- package/fesm2015/daffodil-category-driver-magento.mjs +19 -17
- package/fesm2015/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2015/daffodil-category-driver-testing.mjs +5 -5
- package/fesm2015/daffodil-category-driver-testing.mjs.map +1 -1
- package/fesm2015/daffodil-category-routing.mjs +140 -33
- package/fesm2015/daffodil-category-routing.mjs.map +1 -1
- package/fesm2015/daffodil-category-state-testing.mjs +9 -16
- package/fesm2015/daffodil-category-state-testing.mjs.map +1 -1
- package/fesm2015/daffodil-category-state.mjs +221 -218
- package/fesm2015/daffodil-category-state.mjs.map +1 -1
- package/fesm2015/daffodil-category-testing.mjs +4 -4
- package/fesm2015/daffodil-category-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category-driver-in-memory.mjs +7 -7
- package/fesm2020/daffodil-category-driver-in-memory.mjs.map +1 -1
- package/fesm2020/daffodil-category-driver-magento-testing.mjs +2 -2
- package/fesm2020/daffodil-category-driver-magento-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category-driver-magento.mjs +19 -17
- package/fesm2020/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2020/daffodil-category-driver-testing.mjs +5 -5
- package/fesm2020/daffodil-category-driver-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category-routing.mjs +140 -29
- package/fesm2020/daffodil-category-routing.mjs.map +1 -1
- package/fesm2020/daffodil-category-state-testing.mjs +9 -16
- package/fesm2020/daffodil-category-state-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category-state.mjs +224 -288
- package/fesm2020/daffodil-category-state.mjs.map +1 -1
- package/fesm2020/daffodil-category-testing.mjs +4 -4
- package/fesm2020/daffodil-category-testing.mjs.map +1 -1
- package/package.json +4 -4
- package/routing/effects/collection-route.effects.d.ts +10 -0
- package/routing/injection-tokens/public_api.d.ts +1 -0
- package/routing/injection-tokens/request/builder.token.d.ts +6 -0
- package/routing/injection-tokens/request/builders.token.d.ts +26 -0
- package/routing/module.d.ts +8 -0
- package/routing/public_api.d.ts +2 -0
- package/routing/resolvers/category-page-id/category-page-id.resolver.d.ts +3 -1
- package/routing/resolvers/category-page-url/category-page-url.resolver.d.ts +3 -3
- package/state/actions/category-page-filter.actions.d.ts +49 -9
- package/state/actions/category-page.actions.d.ts +3 -42
- package/state/effects/category-page-filter.effects.d.ts +2 -2
- package/state/facades/collection/facade.d.ts +9 -0
- package/state/facades/{category-facade.interface.d.ts → page/category-facade.interface.d.ts} +3 -44
- package/state/facades/{category.facade.d.ts → page/category.facade.d.ts} +3 -14
- package/state/facades/public_api.d.ts +3 -0
- package/state/public_api.d.ts +1 -2
- package/state/reducers/category/category-reducer-state.interface.d.ts +5 -5
- package/state/reducers/category/category.reducer.d.ts +2 -2
- package/state/reducers/category-reducers.interface.d.ts +5 -0
- package/state/reducers/page-metadata/reducer.d.ts +11 -0
- package/state/reducers/page-metadata/state.interface.d.ts +2 -0
- package/state/reducers/public_api.d.ts +2 -0
- package/state/selectors/category-page/category-page.selector.d.ts +0 -42
- package/state/selectors/category.selector.d.ts +2 -1
- package/state/selectors/collection/selectors.d.ts +5 -0
- package/state/testing/mock-category-facade.d.ts +2 -13
- package/esm2020/state/facades/category-facade.interface.mjs +0 -2
- package/esm2020/state/facades/category.facade.mjs +0 -62
- package/esm2020/state/reducers/category/pure/build-metadata-from-request.mjs +0 -13
- package/state/reducers/category/pure/build-metadata-from-request.d.ts +0 -2
@@ -1,19 +1,129 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Injectable, Inject, NgModule } from '@angular/core';
|
3
|
-
import * as i1 from '@ngrx/store';
|
4
|
-
import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
|
5
|
-
import { getDaffProductSelectors, DaffProductGridLoadSuccess, DaffProductStateModule } from '@daffodil/product/state';
|
6
|
-
import { createEntityAdapter } from '@ngrx/entity';
|
7
|
-
import { daffToggleRequestOnFilters, daffRemoveRequestsFromFilters, daffClearFilters, daffApplyRequestsToFilters, daffProductComputeAppliedFilters, daffProductFiltersToRequests } from '@daffodil/product';
|
8
3
|
import * as i1$1 from '@ngrx/effects';
|
9
4
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
5
|
+
import * as i1 from '@ngrx/store';
|
6
|
+
import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
|
7
|
+
import { daffProductCollectionReducerInitialState, getProductCollectionStateAdapter, daffProductCollectionSelectorFactory, getDaffProductSelectors, DaffProductCollectionFacade, DaffProductGridLoadSuccess, DaffProductStateModule } from '@daffodil/product/state';
|
10
8
|
import { asyncScheduler, of } from 'rxjs';
|
11
9
|
import { withLatestFrom, map, throttleTime, switchMap, catchError, mergeMap } from 'rxjs/operators';
|
12
10
|
import { DaffCategoryRequestKind, DAFF_CATEGORY_ERROR_MATCHER } from '@daffodil/category';
|
13
11
|
import { DaffCategoryDriver } from '@daffodil/category/driver';
|
12
|
+
import { daffToggleRequestOnFilters, daffRemoveRequestsFromFilters, daffClearFilters, daffApplyRequestsToFilters, daffProductFiltersToRequests } from '@daffodil/product';
|
13
|
+
import { createEntityAdapter } from '@ngrx/entity';
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
/**
|
16
|
+
* The possible types of category page filter actions.
|
17
|
+
*/
|
18
|
+
var DaffCategoryPageProductCollectionActionTypes;
|
19
|
+
(function (DaffCategoryPageProductCollectionActionTypes) {
|
20
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeFiltersAction"] = "[@daffodil/category] Category Page Change Filters Action";
|
21
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageReplaceFiltersAction"] = "[@daffodil/category] Category Page Replace Filters Action";
|
22
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageApplyFiltersAction"] = "[@daffodil/category] Category Page Apply Filters Action";
|
23
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageRemoveFiltersAction"] = "[@daffodil/category] Category Page Remove Filters Action";
|
24
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageClearFiltersAction"] = "[@daffodil/category] Category Page Clear Filters Action";
|
25
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageToggleFilterAction"] = "[@daffodil/category] Category Page Toggle Filter Action";
|
26
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeSizeAction"] = "[@daffodil/category] Category Page Change Size Action";
|
27
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeCurrentPageAction"] = "[@daffodil/category] Category Page Change Current Page Action";
|
28
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeSortingOptionAction"] = "[@daffodil/category] Category Page Change Sorting Option Action";
|
29
|
+
})(DaffCategoryPageProductCollectionActionTypes || (DaffCategoryPageProductCollectionActionTypes = {}));
|
30
|
+
/**
|
31
|
+
* An action for changing the filters for the current category.
|
32
|
+
*
|
33
|
+
* @param filters - Filters to be changed on the current category.
|
34
|
+
* @deprecated use {@link DaffCategoryPageReplaceFilters} or {@link DaffCategoryPageApplyFilters}
|
35
|
+
*/
|
36
|
+
class DaffCategoryPageChangeFilters {
|
37
|
+
constructor(filters) {
|
38
|
+
this.filters = filters;
|
39
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* An action for replacing the filters for the current category.
|
44
|
+
* All existing filters will be removed and the specified filters will be applied.
|
45
|
+
*
|
46
|
+
* @param filters - Filters to be set on the current category.
|
47
|
+
*/
|
48
|
+
class DaffCategoryPageReplaceFilters {
|
49
|
+
constructor(filters) {
|
50
|
+
this.filters = filters;
|
51
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* An action for applying the specified filters for the current category.
|
56
|
+
*
|
57
|
+
* @param filters - Filters to be applied to the current category.
|
58
|
+
*/
|
59
|
+
class DaffCategoryPageApplyFilters {
|
60
|
+
constructor(filters) {
|
61
|
+
this.filters = filters;
|
62
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* An action for removing the specified filters for the current category.
|
67
|
+
*
|
68
|
+
* @param filters - Filters to be removed from the current category.
|
69
|
+
*/
|
70
|
+
class DaffCategoryPageRemoveFilters {
|
71
|
+
constructor(filters) {
|
72
|
+
this.filters = filters;
|
73
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
/**
|
77
|
+
* An action for removing all the filters for the current category.
|
78
|
+
*/
|
79
|
+
class DaffCategoryPageClearFilters {
|
80
|
+
constructor() {
|
81
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
/**
|
85
|
+
* An action for toggling a filters for the current category.
|
86
|
+
*
|
87
|
+
* @param filter - Filter to be toggled on the current category.
|
88
|
+
*/
|
89
|
+
class DaffCategoryPageToggleFilter {
|
90
|
+
constructor(filter) {
|
91
|
+
this.filter = filter;
|
92
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
/**
|
96
|
+
* An action for changing the number of products shown on each page for the selected category.
|
97
|
+
*
|
98
|
+
* @param pageSize - The number of products per page.
|
99
|
+
*/
|
100
|
+
class DaffCategoryPageChangePageSize {
|
101
|
+
constructor(pageSize) {
|
102
|
+
this.pageSize = pageSize;
|
103
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
/**
|
107
|
+
* An action for changing the current page of products for the selected category.
|
108
|
+
*
|
109
|
+
* @param currentPage - The current page of products for the selected category.
|
110
|
+
*/
|
111
|
+
class DaffCategoryPageChangeCurrentPage {
|
112
|
+
constructor(currentPage) {
|
113
|
+
this.currentPage = currentPage;
|
114
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
/**
|
118
|
+
* An action for changing the sorting option for the selected category.
|
119
|
+
*
|
120
|
+
* @param sort - The sort option to be applied.
|
121
|
+
*/
|
122
|
+
class DaffCategoryPageChangeSortingOption {
|
123
|
+
constructor(sort) {
|
124
|
+
this.sort = sort;
|
125
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction;
|
126
|
+
}
|
17
127
|
}
|
18
128
|
|
19
129
|
/**
|
@@ -25,9 +135,6 @@ var DaffCategoryPageActionTypes;
|
|
25
135
|
DaffCategoryPageActionTypes["CategoryPageLoadByUrlAction"] = "[@daffodil/category] Category Page Load By URL Action";
|
26
136
|
DaffCategoryPageActionTypes["CategoryPageLoadSuccessAction"] = "[@daffodil/category] Category Page Load Success Action";
|
27
137
|
DaffCategoryPageActionTypes["CategoryPageLoadFailureAction"] = "[@daffodil/category] Category Page Load Failure Action";
|
28
|
-
DaffCategoryPageActionTypes["CategoryPageChangeSizeAction"] = "[@daffodil/category] Category Page Change Size Action";
|
29
|
-
DaffCategoryPageActionTypes["CategoryPageChangeCurrentPageAction"] = "[@daffodil/category] Category Page Change Current Page Action";
|
30
|
-
DaffCategoryPageActionTypes["CategoryPageChangeSortingOptionAction"] = "[@daffodil/category] Category Page Change Sorting Option Action";
|
31
138
|
})(DaffCategoryPageActionTypes || (DaffCategoryPageActionTypes = {}));
|
32
139
|
/**
|
33
140
|
* An action triggered to initialize a category page load request.
|
@@ -77,38 +184,9 @@ class DaffCategoryPageLoadFailure {
|
|
77
184
|
this.type = DaffCategoryPageActionTypes.CategoryPageLoadFailureAction;
|
78
185
|
}
|
79
186
|
}
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
* @param pageSize - The number of products per page.
|
84
|
-
*/
|
85
|
-
class DaffCategoryPageChangePageSize {
|
86
|
-
constructor(pageSize) {
|
87
|
-
this.pageSize = pageSize;
|
88
|
-
this.type = DaffCategoryPageActionTypes.CategoryPageChangeSizeAction;
|
89
|
-
}
|
90
|
-
}
|
91
|
-
/**
|
92
|
-
* An action for changing the current page of products for the selected category.
|
93
|
-
*
|
94
|
-
* @param currentPage - The current page of products for the selected category.
|
95
|
-
*/
|
96
|
-
class DaffCategoryPageChangeCurrentPage {
|
97
|
-
constructor(currentPage) {
|
98
|
-
this.currentPage = currentPage;
|
99
|
-
this.type = DaffCategoryPageActionTypes.CategoryPageChangeCurrentPageAction;
|
100
|
-
}
|
101
|
-
}
|
102
|
-
/**
|
103
|
-
* An action for changing the sorting option for the selected category.
|
104
|
-
*
|
105
|
-
* @param sort - The sort option to be applied.
|
106
|
-
*/
|
107
|
-
class DaffCategoryPageChangeSortingOption {
|
108
|
-
constructor(sort) {
|
109
|
-
this.sort = sort;
|
110
|
-
this.type = DaffCategoryPageActionTypes.CategoryPageChangeSortingOptionAction;
|
111
|
-
}
|
187
|
+
|
188
|
+
function daffCategoryEntitiesAdapter() {
|
189
|
+
return createEntityAdapter();
|
112
190
|
}
|
113
191
|
|
114
192
|
/**
|
@@ -170,122 +248,17 @@ function daffCategoryEntitiesReducer(state = daffCategoryEntitiesAdapter().getIn
|
|
170
248
|
}
|
171
249
|
}
|
172
250
|
|
173
|
-
|
174
|
-
* The possible types of category page filter actions.
|
175
|
-
*/
|
176
|
-
var DaffCategoryPageFilterActionTypes;
|
177
|
-
(function (DaffCategoryPageFilterActionTypes) {
|
178
|
-
DaffCategoryPageFilterActionTypes["CategoryPageChangeFiltersAction"] = "[@daffodil/category] Category Page Change Filters Action";
|
179
|
-
DaffCategoryPageFilterActionTypes["CategoryPageReplaceFiltersAction"] = "[@daffodil/category] Category Page Replace Filters Action";
|
180
|
-
DaffCategoryPageFilterActionTypes["CategoryPageApplyFiltersAction"] = "[@daffodil/category] Category Page Apply Filters Action";
|
181
|
-
DaffCategoryPageFilterActionTypes["CategoryPageRemoveFiltersAction"] = "[@daffodil/category] Category Page Remove Filters Action";
|
182
|
-
DaffCategoryPageFilterActionTypes["CategoryPageClearFiltersAction"] = "[@daffodil/category] Category Page Clear Filters Action";
|
183
|
-
DaffCategoryPageFilterActionTypes["CategoryPageToggleFilterAction"] = "[@daffodil/category] Category Page Toggle Filter Action";
|
184
|
-
})(DaffCategoryPageFilterActionTypes || (DaffCategoryPageFilterActionTypes = {}));
|
185
|
-
/**
|
186
|
-
* An action for changing the filters for the current category.
|
187
|
-
*
|
188
|
-
* @param filters - Filters to be changed on the current category.
|
189
|
-
* @deprecated use {@link DaffCategoryPageReplaceFilters} or {@link DaffCategoryPageApplyFilters}
|
190
|
-
*/
|
191
|
-
class DaffCategoryPageChangeFilters {
|
192
|
-
constructor(filters) {
|
193
|
-
this.filters = filters;
|
194
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageChangeFiltersAction;
|
195
|
-
}
|
196
|
-
}
|
197
|
-
/**
|
198
|
-
* An action for replacing the filters for the current category.
|
199
|
-
* All existing filters will be removed and the specified filters will be applied.
|
200
|
-
*
|
201
|
-
* @param filters - Filters to be set on the current category.
|
202
|
-
*/
|
203
|
-
class DaffCategoryPageReplaceFilters {
|
204
|
-
constructor(filters) {
|
205
|
-
this.filters = filters;
|
206
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageReplaceFiltersAction;
|
207
|
-
}
|
208
|
-
}
|
209
|
-
/**
|
210
|
-
* An action for applying the specified filters for the current category.
|
211
|
-
*
|
212
|
-
* @param filters - Filters to be applied to the current category.
|
213
|
-
*/
|
214
|
-
class DaffCategoryPageApplyFilters {
|
215
|
-
constructor(filters) {
|
216
|
-
this.filters = filters;
|
217
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageApplyFiltersAction;
|
218
|
-
}
|
219
|
-
}
|
220
|
-
/**
|
221
|
-
* An action for removing the specified filters for the current category.
|
222
|
-
*
|
223
|
-
* @param filters - Filters to be removed from the current category.
|
224
|
-
*/
|
225
|
-
class DaffCategoryPageRemoveFilters {
|
226
|
-
constructor(filters) {
|
227
|
-
this.filters = filters;
|
228
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageRemoveFiltersAction;
|
229
|
-
}
|
230
|
-
}
|
231
|
-
/**
|
232
|
-
* An action for removing all the filters for the current category.
|
233
|
-
*/
|
234
|
-
class DaffCategoryPageClearFilters {
|
235
|
-
constructor() {
|
236
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageClearFiltersAction;
|
237
|
-
}
|
238
|
-
}
|
239
|
-
/**
|
240
|
-
* An action for toggling a filters for the current category.
|
241
|
-
*
|
242
|
-
* @param filter - Filter to be toggled on the current category.
|
243
|
-
*/
|
244
|
-
class DaffCategoryPageToggleFilter {
|
245
|
-
constructor(filter) {
|
246
|
-
this.filter = filter;
|
247
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageToggleFilterAction;
|
248
|
-
}
|
249
|
-
}
|
250
|
-
|
251
|
-
const allowedMetadataKeys = [
|
252
|
-
'appliedSortOption',
|
253
|
-
'appliedSortDirection',
|
254
|
-
'currentPage',
|
255
|
-
'pageSize',
|
256
|
-
];
|
257
|
-
const buildMetadataFromRequest = (request) => allowedMetadataKeys.reduce((acc, key) => {
|
258
|
-
if (request[key]) {
|
259
|
-
acc[key] = request[key];
|
260
|
-
}
|
261
|
-
return acc;
|
262
|
-
}, {});
|
263
|
-
|
264
|
-
const initialState = {
|
265
|
-
categoryPageMetadata: {
|
266
|
-
id: null,
|
267
|
-
appliedSortOption: null,
|
268
|
-
appliedSortDirection: null,
|
269
|
-
currentPage: null,
|
270
|
-
pageSize: null,
|
271
|
-
totalPages: null,
|
272
|
-
filters: {},
|
273
|
-
sortOptions: {
|
274
|
-
default: null,
|
275
|
-
options: [],
|
276
|
-
},
|
277
|
-
count: null,
|
278
|
-
ids: [],
|
279
|
-
},
|
251
|
+
const initialState$1 = {
|
280
252
|
daffState: "Stable" /* Stable */,
|
281
253
|
categoryLoading: false,
|
282
254
|
productsLoading: false,
|
283
255
|
errors: [],
|
256
|
+
id: null,
|
284
257
|
};
|
285
258
|
/**
|
286
259
|
* Returns the state for category data except for category entities.
|
287
260
|
*/
|
288
|
-
function daffCategoryReducer(state = initialState, action) {
|
261
|
+
function daffCategoryReducer(state = initialState$1, action) {
|
289
262
|
switch (action.type) {
|
290
263
|
case DaffCategoryPageActionTypes.CategoryPageLoadAction:
|
291
264
|
case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:
|
@@ -294,103 +267,79 @@ function daffCategoryReducer(state = initialState, action) {
|
|
294
267
|
categoryLoading: true,
|
295
268
|
productsLoading: true,
|
296
269
|
daffState: "Resolving" /* Resolving */,
|
297
|
-
|
298
|
-
...initialState.categoryPageMetadata,
|
299
|
-
...buildMetadataFromRequest(action.request),
|
300
|
-
id: null,
|
301
|
-
},
|
302
|
-
};
|
303
|
-
case DaffCategoryPageActionTypes.CategoryPageChangeSizeAction:
|
304
|
-
return {
|
305
|
-
...state,
|
306
|
-
productsLoading: true,
|
307
|
-
daffState: "Mutating" /* Mutating */,
|
308
|
-
categoryPageMetadata: {
|
309
|
-
...state.categoryPageMetadata,
|
310
|
-
pageSize: action.pageSize,
|
311
|
-
},
|
270
|
+
id: null,
|
312
271
|
};
|
313
|
-
case
|
272
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:
|
273
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:
|
274
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:
|
275
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction:
|
276
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:
|
277
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:
|
278
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:
|
279
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:
|
280
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:
|
314
281
|
return {
|
315
282
|
...state,
|
316
283
|
productsLoading: true,
|
317
284
|
daffState: "Mutating" /* Mutating */,
|
318
|
-
categoryPageMetadata: {
|
319
|
-
...state.categoryPageMetadata,
|
320
|
-
currentPage: action.currentPage,
|
321
|
-
},
|
322
285
|
};
|
323
|
-
case DaffCategoryPageActionTypes.
|
324
|
-
return {
|
325
|
-
...state,
|
326
|
-
productsLoading: true,
|
327
|
-
daffState: "Mutating" /* Mutating */,
|
328
|
-
categoryPageMetadata: {
|
329
|
-
...state.categoryPageMetadata,
|
330
|
-
appliedSortOption: action.sort.option,
|
331
|
-
appliedSortDirection: action.sort.direction,
|
332
|
-
},
|
333
|
-
};
|
334
|
-
case DaffCategoryPageFilterActionTypes.CategoryPageChangeFiltersAction:
|
335
|
-
case DaffCategoryPageFilterActionTypes.CategoryPageReplaceFiltersAction:
|
336
|
-
return {
|
337
|
-
...state,
|
338
|
-
productsLoading: true,
|
339
|
-
daffState: "Mutating" /* Mutating */,
|
340
|
-
categoryPageMetadata: {
|
341
|
-
...state.categoryPageMetadata,
|
342
|
-
filters: daffApplyRequestsToFilters(action.filters, daffClearFilters(state.categoryPageMetadata.filters)),
|
343
|
-
},
|
344
|
-
};
|
345
|
-
case DaffCategoryPageFilterActionTypes.CategoryPageApplyFiltersAction:
|
346
|
-
return {
|
347
|
-
...state,
|
348
|
-
productsLoading: true,
|
349
|
-
daffState: "Mutating" /* Mutating */,
|
350
|
-
categoryPageMetadata: {
|
351
|
-
...state.categoryPageMetadata,
|
352
|
-
filters: daffApplyRequestsToFilters(action.filters, state.categoryPageMetadata.filters),
|
353
|
-
},
|
354
|
-
};
|
355
|
-
case DaffCategoryPageFilterActionTypes.CategoryPageClearFiltersAction:
|
286
|
+
case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:
|
356
287
|
return {
|
357
288
|
...state,
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
filters: daffClearFilters(state.categoryPageMetadata.filters),
|
363
|
-
},
|
289
|
+
categoryLoading: false,
|
290
|
+
productsLoading: false,
|
291
|
+
daffState: "Stable" /* Stable */,
|
292
|
+
id: action.response.category.id,
|
364
293
|
};
|
365
|
-
case
|
294
|
+
case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:
|
366
295
|
return {
|
367
296
|
...state,
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
filters: daffRemoveRequestsFromFilters(action.filters, state.categoryPageMetadata.filters),
|
373
|
-
},
|
297
|
+
categoryLoading: false,
|
298
|
+
productsLoading: false,
|
299
|
+
errors: [action.errorMessage],
|
300
|
+
daffState: "Stable" /* Stable */,
|
374
301
|
};
|
375
|
-
|
302
|
+
default:
|
303
|
+
return state;
|
304
|
+
}
|
305
|
+
}
|
306
|
+
|
307
|
+
const initialState = {
|
308
|
+
...daffProductCollectionReducerInitialState,
|
309
|
+
id: null,
|
310
|
+
};
|
311
|
+
/**
|
312
|
+
* Returns the state for category data except for category entities.
|
313
|
+
*/
|
314
|
+
function daffCategoryPageMetadataReducer(state = initialState, action) {
|
315
|
+
const adapter = getProductCollectionStateAdapter();
|
316
|
+
switch (action.type) {
|
317
|
+
case DaffCategoryPageActionTypes.CategoryPageLoadAction:
|
318
|
+
case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:
|
376
319
|
return {
|
377
|
-
...
|
378
|
-
|
379
|
-
daffState: "Mutating" /* Mutating */,
|
380
|
-
categoryPageMetadata: {
|
381
|
-
...state.categoryPageMetadata,
|
382
|
-
filters: daffToggleRequestOnFilters(action.filter, state.categoryPageMetadata.filters),
|
383
|
-
},
|
320
|
+
...adapter.storeRequest(action.request, initialState),
|
321
|
+
id: null,
|
384
322
|
};
|
323
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:
|
324
|
+
return adapter.setPageSize(action.pageSize, state);
|
325
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:
|
326
|
+
return adapter.setCurrentPage(action.currentPage, state);
|
327
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:
|
328
|
+
return adapter.setSort(action.sort.option, action.sort.direction, state);
|
329
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction:
|
330
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:
|
331
|
+
return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);
|
332
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:
|
333
|
+
return adapter.setFilters(daffApplyRequestsToFilters(action.filters, state.filters), state);
|
334
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:
|
335
|
+
return adapter.setFilters(daffClearFilters(state.filters), state);
|
336
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:
|
337
|
+
return adapter.setFilters(daffRemoveRequestsFromFilters(action.filters, state.filters), state);
|
338
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:
|
339
|
+
return adapter.setFilters(daffToggleRequestOnFilters(action.filter, state.filters), state);
|
385
340
|
case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:
|
386
341
|
return {
|
387
|
-
...
|
388
|
-
categoryLoading: false,
|
389
|
-
productsLoading: false,
|
390
|
-
daffState: "Stable" /* Stable */,
|
391
|
-
categoryPageMetadata: {
|
392
|
-
...state.categoryPageMetadata,
|
393
|
-
id: action.response.categoryPageMetadata.id,
|
342
|
+
...adapter.setMetadata({
|
394
343
|
currentPage: action.response.categoryPageMetadata.currentPage,
|
395
344
|
pageSize: action.response.categoryPageMetadata.pageSize,
|
396
345
|
filters: action.response.categoryPageMetadata.filters,
|
@@ -400,15 +349,8 @@ function daffCategoryReducer(state = initialState, action) {
|
|
400
349
|
ids: action.response.categoryPageMetadata.ids,
|
401
350
|
appliedSortOption: action.response.categoryPageMetadata.appliedSortOption || action.response.categoryPageMetadata.sortOptions.default,
|
402
351
|
appliedSortDirection: action.response.categoryPageMetadata.appliedSortDirection,
|
403
|
-
},
|
404
|
-
|
405
|
-
case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:
|
406
|
-
return {
|
407
|
-
...state,
|
408
|
-
categoryLoading: false,
|
409
|
-
productsLoading: false,
|
410
|
-
errors: [action.errorMessage],
|
411
|
-
daffState: "Stable" /* Stable */,
|
352
|
+
}, state),
|
353
|
+
id: action.response.categoryPageMetadata.id,
|
412
354
|
};
|
413
355
|
default:
|
414
356
|
return state;
|
@@ -421,6 +363,7 @@ function daffCategoryReducer(state = initialState, action) {
|
|
421
363
|
const daffCategoryReducers = {
|
422
364
|
category: daffCategoryReducer,
|
423
365
|
categoryEntities: daffCategoryEntitiesReducer,
|
366
|
+
pageMetadata: daffCategoryPageMetadataReducer,
|
424
367
|
};
|
425
368
|
|
426
369
|
/**
|
@@ -467,20 +410,11 @@ const getDaffCategoryEntitiesSelectors = (() => {
|
|
467
410
|
const createCategoryPageSelectors = () => {
|
468
411
|
const selectCategoryFeatureState = getDaffCategoryFeatureSelector().selectCategoryFeatureState;
|
469
412
|
const selectCategoryState = createSelector(selectCategoryFeatureState, (state) => state.category);
|
470
|
-
const selectCategoryPageMetadata = createSelector(
|
471
|
-
const selectCategoryCurrentPage = createSelector(selectCategoryPageMetadata, (state) => state.currentPage);
|
472
|
-
const selectCategoryTotalPages = createSelector(selectCategoryPageMetadata, (state) => state.totalPages);
|
473
|
-
const selectCategoryPageSize = createSelector(selectCategoryPageMetadata, (state) => state.pageSize);
|
474
|
-
const selectCategoryFilters = createSelector(selectCategoryPageMetadata, (state) => state.filters);
|
475
|
-
const selectCategorySortOptions = createSelector(selectCategoryPageMetadata, (state) => state.sortOptions.options);
|
413
|
+
const selectCategoryPageMetadata = createSelector(selectCategoryFeatureState, (state) => state.pageMetadata);
|
476
414
|
const selectCategoryPageProductIds = createSelector(selectCategoryPageMetadata, (state) => state.ids);
|
477
415
|
const selectIsCategoryPageEmpty = createSelector(selectCategoryPageProductIds, (state) => !state.length);
|
478
|
-
const selectCategoryPageTotalProducts = createSelector(selectCategoryPageMetadata, (state) => state.count);
|
479
|
-
const selectCategoryPageAppliedFilters = createSelector(selectCategoryFilters, (filters) => daffProductComputeAppliedFilters(filters));
|
480
|
-
const selectCategoryPageAppliedSortOption = createSelector(selectCategoryPageMetadata, (state) => state.appliedSortOption);
|
481
|
-
const selectCategoryPageAppliedSortDirection = createSelector(selectCategoryPageMetadata, (state) => state.appliedSortDirection);
|
482
416
|
const selectCategoryPageState = createSelector(selectCategoryState, (state) => state.daffState);
|
483
|
-
const selectCurrentCategoryId = createSelector(
|
417
|
+
const selectCurrentCategoryId = createSelector(selectCategoryState, (state) => state.id);
|
484
418
|
const selectCategoryLoading = createSelector(selectCategoryState, (state) => state.categoryLoading);
|
485
419
|
const selectCategoryProductsLoading = createSelector(selectCategoryState, (state) => state.productsLoading);
|
486
420
|
const selectCategoryErrors = createSelector(selectCategoryState, (state) => state.errors);
|
@@ -488,18 +422,8 @@ const createCategoryPageSelectors = () => {
|
|
488
422
|
const selectIsCategoryPageResolving = createSelector(selectCategoryPageState, (daffState) => daffState === "Resolving" /* Resolving */);
|
489
423
|
return {
|
490
424
|
selectCategoryState,
|
491
|
-
selectCategoryPageMetadata,
|
492
|
-
selectCategoryCurrentPage,
|
493
|
-
selectCategoryTotalPages,
|
494
|
-
selectCategoryPageSize,
|
495
|
-
selectCategoryFilters,
|
496
|
-
selectCategorySortOptions,
|
497
425
|
selectCategoryPageProductIds,
|
498
426
|
selectIsCategoryPageEmpty,
|
499
|
-
selectCategoryPageTotalProducts,
|
500
|
-
selectCategoryPageAppliedFilters,
|
501
|
-
selectCategoryPageAppliedSortOption,
|
502
|
-
selectCategoryPageAppliedSortDirection,
|
503
427
|
selectCategoryPageState,
|
504
428
|
selectCurrentCategoryId,
|
505
429
|
selectCategoryLoading,
|
@@ -520,6 +444,13 @@ const getDaffCategoryPageSelectors = (() => {
|
|
520
444
|
: createCategoryPageSelectors();
|
521
445
|
})();
|
522
446
|
|
447
|
+
const { selectCategoryFeatureState, } = getDaffCategoryFeatureSelector();
|
448
|
+
const selectCategoryProductCollectionState = createSelector(selectCategoryFeatureState, state => state.pageMetadata);
|
449
|
+
const getCategoryProductCollectionSelectors = (() => {
|
450
|
+
let cache;
|
451
|
+
return () => cache = cache || daffProductCollectionSelectorFactory(selectCategoryProductCollectionState);
|
452
|
+
})();
|
453
|
+
|
523
454
|
const createCategorySelectors = () => {
|
524
455
|
const { selectAllProducts, selectProductEntities } = getDaffProductSelectors();
|
525
456
|
const { selectCategoryEntities, } = getDaffCategoryEntitiesSelectors();
|
@@ -538,6 +469,7 @@ const createCategorySelectors = () => {
|
|
538
469
|
...getDaffCategoryFeatureSelector(),
|
539
470
|
...getDaffCategoryEntitiesSelectors(),
|
540
471
|
...getDaffCategoryPageSelectors(),
|
472
|
+
...getCategoryProductCollectionSelectors(),
|
541
473
|
selectCurrentCategory,
|
542
474
|
selectCategoryPageProducts,
|
543
475
|
selectCategory,
|
@@ -567,19 +499,9 @@ class DaffCategoryFacade {
|
|
567
499
|
this.categorySelectors = getDaffCategorySelectors();
|
568
500
|
this.category$ = this.store.pipe(select(this.categorySelectors.selectCurrentCategory));
|
569
501
|
this.products$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageProducts));
|
570
|
-
this.totalProducts$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageTotalProducts));
|
571
|
-
this.metadata$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageMetadata));
|
572
502
|
this.pageLoadingState$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageState));
|
573
503
|
this.isPageMutating$ = this.store.pipe(select(this.categorySelectors.selectIsCategoryPageMutating));
|
574
504
|
this.isPageResolving$ = this.store.pipe(select(this.categorySelectors.selectIsCategoryPageResolving));
|
575
|
-
this.currentPage$ = this.store.pipe(select(this.categorySelectors.selectCategoryCurrentPage));
|
576
|
-
this.totalPages$ = this.store.pipe(select(this.categorySelectors.selectCategoryTotalPages));
|
577
|
-
this.pageSize$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageSize));
|
578
|
-
this.filters$ = this.store.pipe(select(this.categorySelectors.selectCategoryFilters));
|
579
|
-
this.sortOptions$ = this.store.pipe(select(this.categorySelectors.selectCategorySortOptions));
|
580
|
-
this.appliedFilters$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageAppliedFilters));
|
581
|
-
this.appliedSortOption$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageAppliedSortOption));
|
582
|
-
this.appliedSortDirection$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageAppliedSortDirection));
|
583
505
|
this.categoryLoading$ = this.store.pipe(select(this.categorySelectors.selectCategoryLoading));
|
584
506
|
this.productsLoading$ = this.store.pipe(select(this.categorySelectors.selectCategoryProductsLoading));
|
585
507
|
this.errors$ = this.store.pipe(select(this.categorySelectors.selectCategoryErrors));
|
@@ -603,8 +525,8 @@ class DaffCategoryFacade {
|
|
603
525
|
this.store.dispatch(action);
|
604
526
|
}
|
605
527
|
}
|
606
|
-
/** @nocollapse */
|
607
|
-
/** @nocollapse */
|
528
|
+
/** @nocollapse */ DaffCategoryFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
|
529
|
+
/** @nocollapse */ DaffCategoryFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFacade, providedIn: 'root' });
|
608
530
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFacade, decorators: [{
|
609
531
|
type: Injectable,
|
610
532
|
args: [{
|
@@ -612,6 +534,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
612
534
|
}]
|
613
535
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
614
536
|
|
537
|
+
class DaffCategoryProductCollectionFacade extends DaffProductCollectionFacade {
|
538
|
+
constructor(store) {
|
539
|
+
super(store, getCategoryProductCollectionSelectors());
|
540
|
+
}
|
541
|
+
}
|
542
|
+
/** @nocollapse */ DaffCategoryProductCollectionFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryProductCollectionFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
|
543
|
+
/** @nocollapse */ DaffCategoryProductCollectionFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryProductCollectionFacade, providedIn: 'root' });
|
544
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryProductCollectionFacade, decorators: [{
|
545
|
+
type: Injectable,
|
546
|
+
args: [{
|
547
|
+
providedIn: 'root',
|
548
|
+
}]
|
549
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
550
|
+
|
615
551
|
class DaffCategoryPageFilterEffects {
|
616
552
|
constructor(actions$, driver, errorMatcher, facade) {
|
617
553
|
this.actions$ = actions$;
|
@@ -626,7 +562,7 @@ class DaffCategoryPageFilterEffects {
|
|
626
562
|
* @param throttleWindow the amount of time to delay when apply/removing filters
|
627
563
|
* in a sequence.
|
628
564
|
*/
|
629
|
-
this.updateFilters$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(
|
565
|
+
this.updateFilters$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction), withLatestFrom(this.facade.metadata$), map(([action, metadata]) => ({
|
630
566
|
kind: DaffCategoryRequestKind.ID,
|
631
567
|
id: metadata.id,
|
632
568
|
filterRequests: daffProductFiltersToRequests(metadata.filters),
|
@@ -640,8 +576,8 @@ class DaffCategoryPageFilterEffects {
|
|
640
576
|
]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
|
641
577
|
}
|
642
578
|
}
|
643
|
-
/** @nocollapse */
|
644
|
-
/** @nocollapse */
|
579
|
+
/** @nocollapse */ DaffCategoryPageFilterEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: DaffCategoryProductCollectionFacade }], target: i0.ɵɵFactoryTarget.Injectable });
|
580
|
+
/** @nocollapse */ DaffCategoryPageFilterEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects });
|
645
581
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects, decorators: [{
|
646
582
|
type: Injectable
|
647
583
|
}], ctorParameters: function () { return [{ type: i1$1.Actions }, { type: undefined, decorators: [{
|
@@ -650,7 +586,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
650
586
|
}] }, { type: undefined, decorators: [{
|
651
587
|
type: Inject,
|
652
588
|
args: [DAFF_CATEGORY_ERROR_MATCHER]
|
653
|
-
}] }, { type:
|
589
|
+
}] }, { type: DaffCategoryProductCollectionFacade }]; } });
|
654
590
|
|
655
591
|
class DaffCategoryPageEffects {
|
656
592
|
constructor(actions$, driver, errorMatcher, store) {
|
@@ -664,19 +600,19 @@ class DaffCategoryPageEffects {
|
|
664
600
|
new DaffProductGridLoadSuccess(resp.products),
|
665
601
|
new DaffCategoryPageLoadSuccess(resp),
|
666
602
|
]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
|
667
|
-
this.changeCategoryPageSize$ = createEffect(() => this.actions$.pipe(ofType(
|
603
|
+
this.changeCategoryPageSize$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
|
668
604
|
...metadata,
|
669
605
|
kind: DaffCategoryRequestKind.ID,
|
670
606
|
filterRequests: daffProductFiltersToRequests(metadata.filters),
|
671
607
|
pageSize: action.pageSize,
|
672
608
|
}))));
|
673
|
-
this.changeCategoryCurrentPage$ = createEffect(() => this.actions$.pipe(ofType(
|
609
|
+
this.changeCategoryCurrentPage$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
|
674
610
|
...metadata,
|
675
611
|
kind: DaffCategoryRequestKind.ID,
|
676
612
|
filterRequests: daffProductFiltersToRequests(metadata.filters),
|
677
613
|
currentPage: action.currentPage,
|
678
614
|
}))));
|
679
|
-
this.changeCategorySort$ = createEffect(() => this.actions$.pipe(ofType(
|
615
|
+
this.changeCategorySort$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
|
680
616
|
...metadata,
|
681
617
|
kind: DaffCategoryRequestKind.ID,
|
682
618
|
filterRequests: daffProductFiltersToRequests(metadata.filters),
|
@@ -691,8 +627,8 @@ class DaffCategoryPageEffects {
|
|
691
627
|
]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))));
|
692
628
|
}
|
693
629
|
}
|
694
|
-
/** @nocollapse */
|
695
|
-
/** @nocollapse */
|
630
|
+
/** @nocollapse */ DaffCategoryPageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
|
631
|
+
/** @nocollapse */ DaffCategoryPageEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageEffects });
|
696
632
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageEffects, decorators: [{
|
697
633
|
type: Injectable
|
698
634
|
}], ctorParameters: function () { return [{ type: i1$1.Actions }, { type: undefined, decorators: [{
|
@@ -711,8 +647,8 @@ class DaffCategoryEffects {
|
|
711
647
|
this.loadCategory$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryActionTypes.CategoryLoadAction), mergeMap((action) => this.driver.get(action.request).pipe(switchMap((resp) => of(new DaffProductGridLoadSuccess(resp.products), new DaffCategoryLoadSuccess(resp))), catchError((error) => of(new DaffCategoryLoadFailure(this.errorMatcher(error))))))));
|
712
648
|
}
|
713
649
|
}
|
714
|
-
/** @nocollapse */
|
715
|
-
/** @nocollapse */
|
650
|
+
/** @nocollapse */ DaffCategoryEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable });
|
651
|
+
/** @nocollapse */ DaffCategoryEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryEffects });
|
716
652
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryEffects, decorators: [{
|
717
653
|
type: Injectable
|
718
654
|
}], ctorParameters: function () { return [{ type: i1$1.Actions }, { type: undefined, decorators: [{
|
@@ -728,9 +664,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
728
664
|
*/
|
729
665
|
class DaffCategoryStateModule {
|
730
666
|
}
|
731
|
-
/** @nocollapse */
|
732
|
-
/** @nocollapse */
|
733
|
-
/** @nocollapse */
|
667
|
+
/** @nocollapse */ DaffCategoryStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
668
|
+
/** @nocollapse */ DaffCategoryStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryStateModule, imports: [i1.StoreFeatureModule, i1$1.EffectsFeatureModule, DaffProductStateModule] });
|
669
|
+
/** @nocollapse */ DaffCategoryStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryStateModule, imports: [[
|
734
670
|
StoreModule.forFeature(DAFF_CATEGORY_STORE_FEATURE_KEY, daffCategoryReducers),
|
735
671
|
EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageFilterEffects]),
|
736
672
|
DaffProductStateModule,
|
@@ -750,5 +686,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
750
686
|
* Generated bundle index. Do not edit.
|
751
687
|
*/
|
752
688
|
|
753
|
-
export { DAFF_CATEGORY_STORE_FEATURE_KEY, DaffCategoryActionTypes, DaffCategoryFacade, DaffCategoryLoad, DaffCategoryLoadFailure, DaffCategoryLoadSuccess, DaffCategoryPageActionTypes, DaffCategoryPageApplyFilters, DaffCategoryPageChangeCurrentPage, DaffCategoryPageChangeFilters, DaffCategoryPageChangePageSize, DaffCategoryPageChangeSortingOption, DaffCategoryPageClearFilters,
|
689
|
+
export { DAFF_CATEGORY_STORE_FEATURE_KEY, DaffCategoryActionTypes, DaffCategoryFacade, DaffCategoryLoad, DaffCategoryLoadFailure, DaffCategoryLoadSuccess, DaffCategoryPageActionTypes, DaffCategoryPageApplyFilters, DaffCategoryPageChangeCurrentPage, DaffCategoryPageChangeFilters, DaffCategoryPageChangePageSize, DaffCategoryPageChangeSortingOption, DaffCategoryPageClearFilters, DaffCategoryPageLoad, DaffCategoryPageLoadByUrl, DaffCategoryPageLoadFailure, DaffCategoryPageLoadSuccess, DaffCategoryPageProductCollectionActionTypes, DaffCategoryPageRemoveFilters, DaffCategoryPageReplaceFilters, DaffCategoryPageToggleFilter, DaffCategoryProductCollectionFacade, DaffCategoryStateModule, daffCategoryEntitiesReducer, daffCategoryPageMetadataReducer, daffCategoryReducer, daffCategoryReducers, getDaffCategorySelectors };
|
754
690
|
//# sourceMappingURL=daffodil-category-state.mjs.map
|