@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.
Files changed (111) hide show
  1. package/driver/magento/models/complete-category-response.d.ts +3 -0
  2. package/esm2020/driver/in-memory/backend/category.service.mjs +3 -3
  3. package/esm2020/driver/in-memory/drivers/category-driver.module.mjs +4 -4
  4. package/esm2020/driver/in-memory/drivers/category.service.mjs +3 -3
  5. package/esm2020/driver/magento/category-driver.module.mjs +4 -4
  6. package/esm2020/driver/magento/category.service.mjs +8 -6
  7. package/esm2020/driver/magento/models/complete-category-response.mjs +1 -1
  8. package/esm2020/driver/magento/testing/factories/category.factory.mjs +3 -3
  9. package/esm2020/driver/magento/transformers/applied-filter-transformer.service.mjs +3 -3
  10. package/esm2020/driver/magento/transformers/category-page-config-transformer.service.mjs +4 -4
  11. package/esm2020/driver/magento/transformers/category-response-transform.service.mjs +3 -3
  12. package/esm2020/driver/magento/transformers/category-transformer.service.mjs +3 -3
  13. package/esm2020/driver/testing/drivers/category-driver.module.mjs +4 -4
  14. package/esm2020/driver/testing/drivers/category.service.mjs +3 -3
  15. package/esm2020/routing/effects/collection-route.effects.mjs +21 -0
  16. package/esm2020/routing/injection-tokens/public_api.mjs +2 -0
  17. package/esm2020/routing/injection-tokens/request/builder.token.mjs +8 -0
  18. package/esm2020/routing/injection-tokens/request/builders.token.mjs +30 -0
  19. package/esm2020/routing/module.mjs +72 -0
  20. package/esm2020/routing/public_api.mjs +3 -1
  21. package/esm2020/routing/resolvers/category-page/category-page.resolver.mjs +4 -7
  22. package/esm2020/routing/resolvers/category-page-id/category-page-id.resolver.mjs +11 -8
  23. package/esm2020/routing/resolvers/category-page-url/category-page-url.resolver.mjs +11 -13
  24. package/esm2020/state/actions/category-page-filter.actions.mjs +52 -16
  25. package/esm2020/state/actions/category-page.actions.mjs +1 -37
  26. package/esm2020/state/category-state.module.mjs +4 -4
  27. package/esm2020/state/effects/category-page-filter.effects.mjs +8 -8
  28. package/esm2020/state/effects/category-page.effects.mjs +7 -6
  29. package/esm2020/state/effects/category.effects.mjs +3 -3
  30. package/esm2020/state/facades/collection/facade.mjs +20 -0
  31. package/esm2020/state/facades/page/category-facade.interface.mjs +2 -0
  32. package/esm2020/state/facades/page/category.facade.mjs +52 -0
  33. package/esm2020/state/facades/public_api.mjs +3 -0
  34. package/esm2020/state/public_api.mjs +2 -2
  35. package/esm2020/state/reducers/category/category-reducer-state.interface.mjs +1 -1
  36. package/esm2020/state/reducers/category/category.reducer.mjs +14 -114
  37. package/esm2020/state/reducers/category-reducers.interface.mjs +1 -1
  38. package/esm2020/state/reducers/category-reducers.mjs +3 -1
  39. package/esm2020/state/reducers/page-metadata/reducer.mjs +57 -0
  40. package/esm2020/state/reducers/page-metadata/state.interface.mjs +2 -0
  41. package/esm2020/state/reducers/public_api.mjs +2 -1
  42. package/esm2020/state/selectors/category-page/category-page.selector.mjs +3 -23
  43. package/esm2020/state/selectors/category.selector.mjs +3 -1
  44. package/esm2020/state/selectors/collection/selectors.mjs +10 -0
  45. package/esm2020/state/testing/category-testing.module.mjs +8 -5
  46. package/esm2020/state/testing/mock-category-facade.mjs +3 -13
  47. package/esm2020/testing/factories/category-page-metadata.factory.mjs +3 -3
  48. package/esm2020/testing/factories/category.factory.mjs +3 -3
  49. package/fesm2015/daffodil-category-driver-in-memory.mjs +7 -7
  50. package/fesm2015/daffodil-category-driver-in-memory.mjs.map +1 -1
  51. package/fesm2015/daffodil-category-driver-magento-testing.mjs +2 -2
  52. package/fesm2015/daffodil-category-driver-magento-testing.mjs.map +1 -1
  53. package/fesm2015/daffodil-category-driver-magento.mjs +19 -17
  54. package/fesm2015/daffodil-category-driver-magento.mjs.map +1 -1
  55. package/fesm2015/daffodil-category-driver-testing.mjs +5 -5
  56. package/fesm2015/daffodil-category-driver-testing.mjs.map +1 -1
  57. package/fesm2015/daffodil-category-routing.mjs +140 -33
  58. package/fesm2015/daffodil-category-routing.mjs.map +1 -1
  59. package/fesm2015/daffodil-category-state-testing.mjs +9 -16
  60. package/fesm2015/daffodil-category-state-testing.mjs.map +1 -1
  61. package/fesm2015/daffodil-category-state.mjs +221 -218
  62. package/fesm2015/daffodil-category-state.mjs.map +1 -1
  63. package/fesm2015/daffodil-category-testing.mjs +4 -4
  64. package/fesm2015/daffodil-category-testing.mjs.map +1 -1
  65. package/fesm2020/daffodil-category-driver-in-memory.mjs +7 -7
  66. package/fesm2020/daffodil-category-driver-in-memory.mjs.map +1 -1
  67. package/fesm2020/daffodil-category-driver-magento-testing.mjs +2 -2
  68. package/fesm2020/daffodil-category-driver-magento-testing.mjs.map +1 -1
  69. package/fesm2020/daffodil-category-driver-magento.mjs +19 -17
  70. package/fesm2020/daffodil-category-driver-magento.mjs.map +1 -1
  71. package/fesm2020/daffodil-category-driver-testing.mjs +5 -5
  72. package/fesm2020/daffodil-category-driver-testing.mjs.map +1 -1
  73. package/fesm2020/daffodil-category-routing.mjs +140 -29
  74. package/fesm2020/daffodil-category-routing.mjs.map +1 -1
  75. package/fesm2020/daffodil-category-state-testing.mjs +9 -16
  76. package/fesm2020/daffodil-category-state-testing.mjs.map +1 -1
  77. package/fesm2020/daffodil-category-state.mjs +224 -288
  78. package/fesm2020/daffodil-category-state.mjs.map +1 -1
  79. package/fesm2020/daffodil-category-testing.mjs +4 -4
  80. package/fesm2020/daffodil-category-testing.mjs.map +1 -1
  81. package/package.json +4 -4
  82. package/routing/effects/collection-route.effects.d.ts +10 -0
  83. package/routing/injection-tokens/public_api.d.ts +1 -0
  84. package/routing/injection-tokens/request/builder.token.d.ts +6 -0
  85. package/routing/injection-tokens/request/builders.token.d.ts +26 -0
  86. package/routing/module.d.ts +8 -0
  87. package/routing/public_api.d.ts +2 -0
  88. package/routing/resolvers/category-page-id/category-page-id.resolver.d.ts +3 -1
  89. package/routing/resolvers/category-page-url/category-page-url.resolver.d.ts +3 -3
  90. package/state/actions/category-page-filter.actions.d.ts +49 -9
  91. package/state/actions/category-page.actions.d.ts +3 -42
  92. package/state/effects/category-page-filter.effects.d.ts +2 -2
  93. package/state/facades/collection/facade.d.ts +9 -0
  94. package/state/facades/{category-facade.interface.d.ts → page/category-facade.interface.d.ts} +3 -44
  95. package/state/facades/{category.facade.d.ts → page/category.facade.d.ts} +3 -14
  96. package/state/facades/public_api.d.ts +3 -0
  97. package/state/public_api.d.ts +1 -2
  98. package/state/reducers/category/category-reducer-state.interface.d.ts +5 -5
  99. package/state/reducers/category/category.reducer.d.ts +2 -2
  100. package/state/reducers/category-reducers.interface.d.ts +5 -0
  101. package/state/reducers/page-metadata/reducer.d.ts +11 -0
  102. package/state/reducers/page-metadata/state.interface.d.ts +2 -0
  103. package/state/reducers/public_api.d.ts +2 -0
  104. package/state/selectors/category-page/category-page.selector.d.ts +0 -42
  105. package/state/selectors/category.selector.d.ts +2 -1
  106. package/state/selectors/collection/selectors.d.ts +5 -0
  107. package/state/testing/mock-category-facade.d.ts +2 -13
  108. package/esm2020/state/facades/category-facade.interface.mjs +0 -2
  109. package/esm2020/state/facades/category.facade.mjs +0 -62
  110. package/esm2020/state/reducers/category/pure/build-metadata-from-request.mjs +0 -13
  111. 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
- function daffCategoryEntitiesAdapter() {
16
- return createEntityAdapter();
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
- * An action for changing the number of products shown on each page for the selected category.
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
- categoryPageMetadata: {
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 DaffCategoryPageActionTypes.CategoryPageChangeCurrentPageAction:
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.CategoryPageChangeSortingOptionAction:
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
- productsLoading: true,
359
- daffState: "Mutating" /* Mutating */,
360
- categoryPageMetadata: {
361
- ...state.categoryPageMetadata,
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 DaffCategoryPageFilterActionTypes.CategoryPageRemoveFiltersAction:
294
+ case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:
366
295
  return {
367
296
  ...state,
368
- productsLoading: true,
369
- daffState: "Mutating" /* Mutating */,
370
- categoryPageMetadata: {
371
- ...state.categoryPageMetadata,
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
- case DaffCategoryPageFilterActionTypes.CategoryPageToggleFilterAction:
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
- ...state,
378
- productsLoading: true,
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
- ...state,
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(selectCategoryState, (state) => state.categoryPageMetadata);
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(selectCategoryPageMetadata, (state) => state.id);
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 */ /** @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 });
607
- /** @nocollapse */ /** @nocollapse */ DaffCategoryFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryFacade, providedIn: 'root' });
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(DaffCategoryPageFilterActionTypes.CategoryPageChangeFiltersAction, DaffCategoryPageFilterActionTypes.CategoryPageReplaceFiltersAction, DaffCategoryPageFilterActionTypes.CategoryPageApplyFiltersAction, DaffCategoryPageFilterActionTypes.CategoryPageClearFiltersAction, DaffCategoryPageFilterActionTypes.CategoryPageRemoveFiltersAction, DaffCategoryPageFilterActionTypes.CategoryPageToggleFilterAction), withLatestFrom(this.facade.metadata$), map(([action, metadata]) => ({
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 */ /** @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: DaffCategoryFacade }], target: i0.ɵɵFactoryTarget.Injectable });
644
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageFilterEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects });
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: DaffCategoryFacade }]; } });
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(DaffCategoryPageActionTypes.CategoryPageChangeSizeAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCategoryPageMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
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(DaffCategoryPageActionTypes.CategoryPageChangeCurrentPageAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCategoryPageMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
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(DaffCategoryPageActionTypes.CategoryPageChangeSortingOptionAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCategoryPageMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
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 */ /** @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 });
695
- /** @nocollapse */ /** @nocollapse */ DaffCategoryPageEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageEffects });
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 */ /** @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 });
715
- /** @nocollapse */ /** @nocollapse */ DaffCategoryEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryEffects });
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 */ /** @nocollapse */ DaffCategoryStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
732
- /** @nocollapse */ /** @nocollapse */ DaffCategoryStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryStateModule, imports: [i1.StoreFeatureModule, i1$1.EffectsFeatureModule, DaffProductStateModule] });
733
- /** @nocollapse */ /** @nocollapse */ DaffCategoryStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryStateModule, imports: [[
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, DaffCategoryPageFilterActionTypes, DaffCategoryPageLoad, DaffCategoryPageLoadByUrl, DaffCategoryPageLoadFailure, DaffCategoryPageLoadSuccess, DaffCategoryPageRemoveFilters, DaffCategoryPageReplaceFilters, DaffCategoryPageToggleFilter, DaffCategoryStateModule, daffCategoryEntitiesReducer, daffCategoryReducer, daffCategoryReducers, getDaffCategorySelectors };
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