@daffodil/order 0.50.0 → 0.51.1
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/in-memory/backend/order.service.d.ts +1 -0
- package/driver/in-memory/drivers/order.service.d.ts +4 -2
- package/driver/interfaces/order-service.interface.d.ts +6 -5
- package/driver/magento/2.4.0/order.service.d.ts +2 -2
- package/driver/magento/2.4.1/models/responses/order-item.d.ts +1 -2
- package/driver/magento/2.4.1/models/responses/order-total.d.ts +1 -2
- package/driver/magento/2.4.1/order.service.d.ts +2 -2
- package/driver/magento/2.4.1/public_api.d.ts +1 -1
- package/driver/magento/2.4.1/queries/fragments/public_api.d.ts +2 -0
- package/driver/magento/2.4.1/testing/daffodil-order-driver-magento-2.4.1-testing.d.ts +5 -0
- package/driver/magento/2.4.1/testing/factories/bundle-order-item-option-value.factory.d.ts +17 -0
- package/driver/magento/2.4.1/testing/factories/bundle-order-item-option.factory.d.ts +15 -0
- package/driver/magento/2.4.1/testing/factories/bundle-order-item.factory.d.ts +17 -0
- package/driver/magento/2.4.1/testing/factories/order-address.factory.d.ts +26 -0
- package/driver/magento/2.4.1/testing/factories/order-credit-item.factory.d.ts +16 -0
- package/driver/magento/2.4.1/testing/factories/order-credit.factory.d.ts +18 -0
- package/driver/magento/2.4.1/testing/factories/order-invoice-item.factory.d.ts +15 -0
- package/driver/magento/2.4.1/testing/factories/order-invoice.factory.d.ts +18 -0
- package/driver/magento/2.4.1/testing/factories/order-item.factory.d.ts +31 -0
- package/driver/magento/2.4.1/testing/factories/order-payment.factory.d.ts +14 -0
- package/driver/magento/2.4.1/testing/factories/order-shipment-item.factory.d.ts +15 -0
- package/driver/magento/2.4.1/testing/factories/order-shipment-tracking.factory.d.ts +14 -0
- package/driver/magento/2.4.1/testing/factories/order-shipment.factory.d.ts +20 -0
- package/driver/magento/2.4.1/testing/factories/order-total.factory.d.ts +22 -0
- package/driver/magento/2.4.1/testing/factories/order.factory.d.ts +41 -0
- package/driver/magento/2.4.1/testing/factories/public_api.d.ts +15 -0
- package/driver/magento/2.4.1/testing/index.d.ts +1 -0
- package/driver/magento/2.4.1/testing/package.json +10 -0
- package/driver/magento/2.4.1/testing/public_api.d.ts +1 -0
- package/driver/magento/2.4.1/transforms/responses/order.d.ts +39 -2
- package/driver/testing/drivers/order.service.d.ts +2 -2
- package/esm2020/driver/in-memory/backend/order.service.mjs +51 -8
- package/esm2020/driver/in-memory/drivers/order.service.mjs +3 -3
- package/esm2020/driver/interfaces/order-service.interface.mjs +1 -1
- package/esm2020/driver/magento/2.4.0/order.service.mjs +23 -8
- package/esm2020/driver/magento/2.4.1/models/responses/order-item.mjs +1 -1
- package/esm2020/driver/magento/2.4.1/models/responses/order-total.mjs +1 -1
- package/esm2020/driver/magento/2.4.1/order.service.mjs +23 -8
- package/esm2020/driver/magento/2.4.1/public_api.mjs +2 -2
- package/esm2020/driver/magento/2.4.1/queries/fragments/public_api.mjs +3 -1
- package/esm2020/driver/magento/2.4.1/testing/daffodil-order-driver-magento-2.4.1-testing.mjs +5 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/bundle-order-item-option-value.factory.mjs +29 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/bundle-order-item-option.factory.mjs +27 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/bundle-order-item.factory.mjs +32 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-address.factory.mjs +38 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-credit-item.factory.mjs +29 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-credit.factory.mjs +32 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-invoice-item.factory.mjs +28 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-invoice.factory.mjs +32 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-item.factory.mjs +45 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-payment.factory.mjs +25 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-shipment-item.factory.mjs +28 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-shipment-tracking.factory.mjs +27 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-shipment.factory.mjs +38 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order-total.factory.mjs +38 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/order.factory.mjs +60 -0
- package/esm2020/driver/magento/2.4.1/testing/factories/public_api.mjs +16 -0
- package/esm2020/driver/magento/2.4.1/testing/index.mjs +2 -0
- package/esm2020/driver/magento/2.4.1/testing/public_api.mjs +2 -0
- package/esm2020/driver/magento/2.4.1/transforms/responses/order.mjs +43 -43
- package/esm2020/driver/testing/drivers/order.service.mjs +20 -3
- package/esm2020/models/order-collection.type.mjs +2 -0
- package/esm2020/models/public_api.mjs +1 -1
- package/esm2020/state/actions/order-collection.actions.mjs +51 -0
- package/esm2020/state/actions/order.actions.mjs +4 -3
- package/esm2020/state/actions/public_api.mjs +3 -0
- package/esm2020/state/effects/order-collection.effects.mjs +48 -0
- package/esm2020/state/effects/order.effects.mjs +2 -2
- package/esm2020/state/facades/collection/facade.mjs +23 -0
- package/esm2020/state/facades/order/order.facade.mjs +3 -3
- package/esm2020/state/facades/public_api.mjs +2 -1
- package/esm2020/state/order-state.module.mjs +4 -1
- package/esm2020/state/public_api.mjs +2 -2
- package/esm2020/state/reducers/order/order.reducer.mjs +6 -2
- package/esm2020/state/reducers/order-collection/public_api.mjs +2 -0
- package/esm2020/state/reducers/order-collection/reducer.mjs +28 -0
- package/esm2020/state/reducers/order-collection/state.interface.mjs +2 -0
- package/esm2020/state/reducers/order-entities/order-entities.reducer.mjs +2 -2
- package/esm2020/state/reducers/order-reducers.interface.mjs +1 -1
- package/esm2020/state/reducers/order-reducers.mjs +3 -1
- package/esm2020/state/reducers/public_api.mjs +2 -1
- package/esm2020/state/selectors/order-all.selector.mjs +1 -1
- package/esm2020/state/selectors/order-collection/selectors.mjs +10 -0
- package/esm2020/state/selectors/order.selector.mjs +7 -1
- package/esm2020/state/selectors/public_api.mjs +2 -1
- package/esm2020/state/testing/order-testing.module.mjs +5 -2
- package/esm2020/testing/factories/order-collection.factory.mjs +43 -0
- package/esm2020/testing/factories/order-invoice.factory.mjs +28 -12
- package/esm2020/testing/factories/order-item.factory.mjs +1 -1
- package/esm2020/testing/factories/order-shipment-item.factory.mjs +10 -7
- package/esm2020/testing/factories/order-shipment.factory.mjs +20 -8
- package/esm2020/testing/factories/order-shipping-rate.factory.mjs +1 -1
- package/esm2020/testing/factories/order.factory.mjs +66 -15
- package/esm2020/testing/factories/public_api.mjs +15 -14
- package/fesm2015/daffodil-order-driver-in-memory.mjs +52 -9
- package/fesm2015/daffodil-order-driver-in-memory.mjs.map +1 -1
- package/fesm2015/daffodil-order-driver-magento-2.4.0.mjs +22 -7
- package/fesm2015/daffodil-order-driver-magento-2.4.0.mjs.map +1 -1
- package/fesm2015/daffodil-order-driver-magento-2.4.1-testing.mjs +415 -0
- package/fesm2015/daffodil-order-driver-magento-2.4.1-testing.mjs.map +1 -0
- package/fesm2015/daffodil-order-driver-magento-2.4.1.mjs +65 -51
- package/fesm2015/daffodil-order-driver-magento-2.4.1.mjs.map +1 -1
- package/fesm2015/daffodil-order-driver-testing.mjs +19 -2
- package/fesm2015/daffodil-order-driver-testing.mjs.map +1 -1
- package/fesm2015/daffodil-order-driver.mjs.map +1 -1
- package/fesm2015/daffodil-order-state-testing.mjs +4 -1
- package/fesm2015/daffodil-order-state-testing.mjs.map +1 -1
- package/fesm2015/daffodil-order-state.mjs +161 -9
- package/fesm2015/daffodil-order-state.mjs.map +1 -1
- package/fesm2015/daffodil-order-testing.mjs +225 -138
- package/fesm2015/daffodil-order-testing.mjs.map +1 -1
- package/fesm2020/daffodil-order-driver-in-memory.mjs +52 -9
- package/fesm2020/daffodil-order-driver-in-memory.mjs.map +1 -1
- package/fesm2020/daffodil-order-driver-magento-2.4.0.mjs +22 -7
- package/fesm2020/daffodil-order-driver-magento-2.4.0.mjs.map +1 -1
- package/fesm2020/daffodil-order-driver-magento-2.4.1-testing.mjs +415 -0
- package/fesm2020/daffodil-order-driver-magento-2.4.1-testing.mjs.map +1 -0
- package/fesm2020/daffodil-order-driver-magento-2.4.1.mjs +65 -51
- package/fesm2020/daffodil-order-driver-magento-2.4.1.mjs.map +1 -1
- package/fesm2020/daffodil-order-driver-testing.mjs +19 -2
- package/fesm2020/daffodil-order-driver-testing.mjs.map +1 -1
- package/fesm2020/daffodil-order-driver.mjs.map +1 -1
- package/fesm2020/daffodil-order-state-testing.mjs +4 -1
- package/fesm2020/daffodil-order-state-testing.mjs.map +1 -1
- package/fesm2020/daffodil-order-state.mjs +159 -9
- package/fesm2020/daffodil-order-state.mjs.map +1 -1
- package/fesm2020/daffodil-order-testing.mjs +206 -119
- package/fesm2020/daffodil-order-testing.mjs.map +1 -1
- package/models/order-collection.type.d.ts +3 -0
- package/models/public_api.d.ts +1 -0
- package/package.json +13 -5
- package/state/actions/order-collection.actions.d.ts +55 -0
- package/state/actions/order.actions.d.ts +12 -10
- package/state/actions/public_api.d.ts +2 -0
- package/state/effects/order-collection.effects.d.ts +27 -0
- package/state/effects/order.effects.d.ts +3 -4
- package/state/facades/collection/facade.d.ts +13 -0
- package/state/facades/public_api.d.ts +1 -0
- package/state/public_api.d.ts +1 -1
- package/state/reducers/order/order.reducer.d.ts +2 -2
- package/state/reducers/order-collection/public_api.d.ts +2 -0
- package/state/reducers/order-collection/reducer.d.ts +7 -0
- package/state/reducers/order-collection/state.interface.d.ts +5 -0
- package/state/reducers/order-reducers.interface.d.ts +2 -0
- package/state/reducers/public_api.d.ts +1 -0
- package/state/selectors/order-all.selector.d.ts +1 -1
- package/state/selectors/order-collection/selectors.d.ts +5 -0
- package/state/selectors/order.selector.d.ts +3 -2
- package/state/selectors/public_api.d.ts +1 -0
- package/testing/factories/order-collection.factory.d.ts +23 -0
- package/testing/factories/order-invoice.factory.d.ts +18 -7
- package/testing/factories/order-shipment-item.factory.d.ts +5 -2
- package/testing/factories/order-shipment.factory.d.ts +11 -4
- package/testing/factories/order.factory.d.ts +27 -11
- package/testing/factories/public_api.d.ts +14 -13
- package/driver/magento/2.4.1/models/responses/discount.d.ts +0 -6
- package/esm2020/driver/magento/2.4.1/models/responses/discount.mjs +0 -2
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { daffApplyRequestsToFilters, daffClearFilters, daffCollectionBuildRequestFromMetadata } from '@daffodil/core';
|
|
2
|
+
import { daffCollectionReducerInitialState, getCollectionStateAdapter, daffCollectionSelectorFactory, DaffCollectionFacade } from '@daffodil/core/state';
|
|
1
3
|
import { createEntityAdapter } from '@ngrx/entity';
|
|
2
4
|
import * as i1 from '@ngrx/store';
|
|
3
5
|
import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
|
|
@@ -7,10 +9,61 @@ import * as i0 from '@angular/core';
|
|
|
7
9
|
import { Injectable, Inject, NgModule } from '@angular/core';
|
|
8
10
|
import * as i1$1 from '@ngrx/effects';
|
|
9
11
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
|
10
|
-
import { of } from 'rxjs';
|
|
11
|
-
import { switchMap, map, catchError } from 'rxjs/operators';
|
|
12
|
+
import { asyncScheduler, of } from 'rxjs';
|
|
13
|
+
import { withLatestFrom, throttleTime, switchMap, map, catchError } from 'rxjs/operators';
|
|
12
14
|
import { DaffOrderDriver } from '@daffodil/order/driver';
|
|
13
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Action types for Order Actions.
|
|
18
|
+
*/
|
|
19
|
+
var DaffOrderCollectionActionTypes;
|
|
20
|
+
(function (DaffOrderCollectionActionTypes) {
|
|
21
|
+
DaffOrderCollectionActionTypes["ChangePageSizeAction"] = "[@daffodil/order] Change Order Collection Page Size Action";
|
|
22
|
+
DaffOrderCollectionActionTypes["ChangeCurrentPageAction"] = "[@daffodil/order] Change Order Collection Current Page Action";
|
|
23
|
+
DaffOrderCollectionActionTypes["ChangeSortingAction"] = "[@daffodil/order] Change Order Collection Sorting Action";
|
|
24
|
+
DaffOrderCollectionActionTypes["ChangeFilterAction"] = "[@daffodil/order] Change Order Collection Filter Action";
|
|
25
|
+
})(DaffOrderCollectionActionTypes || (DaffOrderCollectionActionTypes = {}));
|
|
26
|
+
/**
|
|
27
|
+
* An action for changing the number of items shown on each page for this collection.
|
|
28
|
+
*/
|
|
29
|
+
class DaffOrderCollectionChangePageSize {
|
|
30
|
+
constructor(pageSize, cartId) {
|
|
31
|
+
this.pageSize = pageSize;
|
|
32
|
+
this.cartId = cartId;
|
|
33
|
+
this.type = DaffOrderCollectionActionTypes.ChangePageSizeAction;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* An action for changing the current page of items for this collection.
|
|
38
|
+
*/
|
|
39
|
+
class DaffOrderCollectionChangeCurrentPage {
|
|
40
|
+
constructor(currentPage, cartId) {
|
|
41
|
+
this.currentPage = currentPage;
|
|
42
|
+
this.cartId = cartId;
|
|
43
|
+
this.type = DaffOrderCollectionActionTypes.ChangeCurrentPageAction;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* An action for changing the sorting option for this collection.
|
|
48
|
+
*/
|
|
49
|
+
class DaffOrderCollectionChangeSortingOption {
|
|
50
|
+
constructor(sort, cartId) {
|
|
51
|
+
this.sort = sort;
|
|
52
|
+
this.cartId = cartId;
|
|
53
|
+
this.type = DaffOrderCollectionActionTypes.ChangeSortingAction;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* An action for filtering the collection by an overall rating value.
|
|
58
|
+
*/
|
|
59
|
+
class DaffOrderCollectionChangeFilter {
|
|
60
|
+
constructor(filters, cartId) {
|
|
61
|
+
this.filters = filters;
|
|
62
|
+
this.cartId = cartId;
|
|
63
|
+
this.type = DaffOrderCollectionActionTypes.ChangeFilterAction;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
14
67
|
var DaffOrderActionTypes;
|
|
15
68
|
(function (DaffOrderActionTypes) {
|
|
16
69
|
DaffOrderActionTypes["OrderLoadAction"] = "[Order] Order Load Action";
|
|
@@ -51,8 +104,9 @@ class DaffOrderLoadFailure {
|
|
|
51
104
|
* @param payload The guest cart ID.
|
|
52
105
|
*/
|
|
53
106
|
class DaffOrderList {
|
|
54
|
-
constructor(
|
|
55
|
-
this.
|
|
107
|
+
constructor(cartId, request = {}) {
|
|
108
|
+
this.cartId = cartId;
|
|
109
|
+
this.request = request;
|
|
56
110
|
this.type = DaffOrderActionTypes.OrderListAction;
|
|
57
111
|
}
|
|
58
112
|
}
|
|
@@ -69,6 +123,31 @@ class DaffOrderListFailure {
|
|
|
69
123
|
}
|
|
70
124
|
}
|
|
71
125
|
|
|
126
|
+
/**
|
|
127
|
+
* Handles the reduction of order actions into the collection metadata state.
|
|
128
|
+
*/
|
|
129
|
+
function daffOrdersCollectionReducer(state = daffCollectionReducerInitialState, action) {
|
|
130
|
+
const adapter = getCollectionStateAdapter();
|
|
131
|
+
switch (action.type) {
|
|
132
|
+
case DaffOrderActionTypes.OrderListAction:
|
|
133
|
+
return adapter.storeRequest(action.request, state);
|
|
134
|
+
case DaffOrderActionTypes.OrderListSuccessAction:
|
|
135
|
+
return adapter.setMetadata(action.payload.metadata, state);
|
|
136
|
+
case DaffOrderActionTypes.OrderListFailureAction:
|
|
137
|
+
return daffCollectionReducerInitialState;
|
|
138
|
+
case DaffOrderCollectionActionTypes.ChangePageSizeAction:
|
|
139
|
+
return adapter.setPageSize(action.pageSize, state);
|
|
140
|
+
case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:
|
|
141
|
+
return adapter.setCurrentPage(action.currentPage, state);
|
|
142
|
+
case DaffOrderCollectionActionTypes.ChangeSortingAction:
|
|
143
|
+
return adapter.setSort(action.sort.option, action.sort.direction, state);
|
|
144
|
+
case DaffOrderCollectionActionTypes.ChangeFilterAction:
|
|
145
|
+
return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);
|
|
146
|
+
default:
|
|
147
|
+
return state;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
72
151
|
/**
|
|
73
152
|
* Order Adapter for changing/overwriting entity state.
|
|
74
153
|
*/
|
|
@@ -91,7 +170,7 @@ function daffOrderEntitiesReducer(state = daffOrderEntitiesInitialState, action)
|
|
|
91
170
|
case DaffOrderActionTypes.OrderLoadSuccessAction:
|
|
92
171
|
return adapter.upsertOne(action.payload, state);
|
|
93
172
|
case DaffOrderActionTypes.OrderListSuccessAction:
|
|
94
|
-
return adapter.
|
|
173
|
+
return adapter.setAll(Object.values(action.payload.data), state);
|
|
95
174
|
default:
|
|
96
175
|
return state;
|
|
97
176
|
}
|
|
@@ -106,6 +185,10 @@ function daffOrderReducer(state = daffOrderInitialState, action) {
|
|
|
106
185
|
switch (action.type) {
|
|
107
186
|
case DaffOrderActionTypes.OrderListAction:
|
|
108
187
|
case DaffOrderActionTypes.OrderLoadAction:
|
|
188
|
+
case DaffOrderCollectionActionTypes.ChangePageSizeAction:
|
|
189
|
+
case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:
|
|
190
|
+
case DaffOrderCollectionActionTypes.ChangeFilterAction:
|
|
191
|
+
case DaffOrderCollectionActionTypes.ChangeSortingAction:
|
|
109
192
|
return {
|
|
110
193
|
...state,
|
|
111
194
|
loading: true,
|
|
@@ -135,6 +218,7 @@ function daffOrderReducer(state = daffOrderInitialState, action) {
|
|
|
135
218
|
const daffOrderReducers = {
|
|
136
219
|
order: daffOrderReducer,
|
|
137
220
|
orders: daffOrderEntitiesReducer,
|
|
221
|
+
collection: daffOrdersCollectionReducer,
|
|
138
222
|
};
|
|
139
223
|
|
|
140
224
|
const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';
|
|
@@ -217,15 +301,26 @@ const getDaffOrderEntitySelectors = (() => {
|
|
|
217
301
|
return () => cache = cache || createOrderEntitySelectors();
|
|
218
302
|
})();
|
|
219
303
|
|
|
304
|
+
const { selectOrderFeatureState, } = getDaffOrderReducersStateSelector();
|
|
305
|
+
const selectProductReviewsCollectionState = createSelector(selectOrderFeatureState, state => state.collection);
|
|
306
|
+
const getDaffOrderCollectionSelectors = (() => {
|
|
307
|
+
let cache;
|
|
308
|
+
return () => cache = cache || daffCollectionSelectorFactory(selectProductReviewsCollectionState);
|
|
309
|
+
})();
|
|
310
|
+
|
|
220
311
|
const createOrderSelectors = () => {
|
|
221
312
|
const { selectOrderFeatureState } = getDaffOrderReducersStateSelector();
|
|
313
|
+
const { selectCollectionIds, } = getDaffOrderCollectionSelectors();
|
|
314
|
+
const { selectOrderEntities, } = getDaffOrderEntitySelectors();
|
|
222
315
|
const selectOrderState = createSelector(selectOrderFeatureState, state => state.order);
|
|
223
316
|
const selectOrderLoading = createSelector(selectOrderState, state => state.loading);
|
|
224
317
|
const selectOrderErrors = createSelector(selectOrderState, state => state.errors);
|
|
318
|
+
const selectOrders = createSelector(selectCollectionIds, selectOrderEntities, (ids, entities) => ids.map((id) => entities[id]));
|
|
225
319
|
return {
|
|
226
320
|
selectOrderState,
|
|
227
321
|
selectOrderLoading,
|
|
228
322
|
selectOrderErrors,
|
|
323
|
+
selectOrders,
|
|
229
324
|
};
|
|
230
325
|
};
|
|
231
326
|
const getOrderSelectors = (() => {
|
|
@@ -248,10 +343,10 @@ const getDaffOrderSelectors = (() => {
|
|
|
248
343
|
class DaffOrderFacade {
|
|
249
344
|
constructor(store) {
|
|
250
345
|
this.store = store;
|
|
251
|
-
const { selectOrderIds, selectOrderEntities,
|
|
346
|
+
const { selectOrderIds, selectOrderEntities, selectOrders, selectOrderTotal, selectOrderLoading, selectOrderErrors, selectPlacedOrder, selectHasPlacedOrder, selectOrder, selectOrderTotals, selectOrderAppliedCodes, selectOrderItems, selectOrderBillingAddresses, selectOrderShippingTotalAddresses, selectOrderShipments, selectOrderPayment, selectOrderInvoices, selectOrderCredits, selectOrderGrandTotal, selectOrderSubtotal, selectOrderShippingTotal, selectOrderDiscountTotal, selectOrderHasDiscount, selectOrderTaxTotal, } = getDaffOrderSelectors();
|
|
252
347
|
this.loading$ = this.store.pipe(select(selectOrderLoading));
|
|
253
348
|
this.errors$ = this.store.pipe(select(selectOrderErrors));
|
|
254
|
-
this.orders$ = this.store.pipe(select(
|
|
349
|
+
this.orders$ = this.store.pipe(select(selectOrders));
|
|
255
350
|
this.orderIds$ = this.store.pipe(select(selectOrderIds));
|
|
256
351
|
this.orderCount$ = this.store.pipe(select(selectOrderTotal));
|
|
257
352
|
this.orderEntities$ = this.store.pipe(select(selectOrderEntities));
|
|
@@ -341,6 +436,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
341
436
|
}]
|
|
342
437
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
343
438
|
|
|
439
|
+
/**
|
|
440
|
+
* @inheritdoc
|
|
441
|
+
*/
|
|
442
|
+
class DaffOrderCollectionFacade extends DaffCollectionFacade {
|
|
443
|
+
constructor(store) {
|
|
444
|
+
super(store, getDaffOrderCollectionSelectors());
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
/** @nocollapse */ DaffOrderCollectionFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
448
|
+
/** @nocollapse */ DaffOrderCollectionFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionFacade, providedIn: 'root' });
|
|
449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionFacade, decorators: [{
|
|
450
|
+
type: Injectable,
|
|
451
|
+
args: [{
|
|
452
|
+
providedIn: 'root',
|
|
453
|
+
}]
|
|
454
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
455
|
+
|
|
456
|
+
const DAFF_ORDER_COLLECTION_ACTION_TYPES = [
|
|
457
|
+
DaffOrderCollectionActionTypes.ChangeCurrentPageAction,
|
|
458
|
+
DaffOrderCollectionActionTypes.ChangePageSizeAction,
|
|
459
|
+
DaffOrderCollectionActionTypes.ChangeSortingAction,
|
|
460
|
+
DaffOrderCollectionActionTypes.ChangeFilterAction,
|
|
461
|
+
];
|
|
462
|
+
class DaffOrderCollectionEffects {
|
|
463
|
+
constructor(actions$, collectionFacade, driver, errorMatcher) {
|
|
464
|
+
this.actions$ = actions$;
|
|
465
|
+
this.collectionFacade = collectionFacade;
|
|
466
|
+
this.driver = driver;
|
|
467
|
+
this.errorMatcher = errorMatcher;
|
|
468
|
+
/**
|
|
469
|
+
* Updates the order collection according to the action.
|
|
470
|
+
* It will take the request metedata, including currently
|
|
471
|
+
* applied filters, from state, form them into a request,
|
|
472
|
+
* and pass that into the {@link DaffProductCollectionDriverCall} provided to this class.
|
|
473
|
+
*
|
|
474
|
+
* @param throttleWindow the amount of time to delay when apply/removing filters
|
|
475
|
+
* in a sequence.
|
|
476
|
+
*/
|
|
477
|
+
this.update$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(...DAFF_ORDER_COLLECTION_ACTION_TYPES), withLatestFrom(this.collectionFacade.metadata$), throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }), switchMap(([action, metadata]) => this.driver.list(action.cartId, daffCollectionBuildRequestFromMetadata(metadata)).pipe(map(resp => new DaffOrderListSuccess(resp)), catchError((error) => of(new DaffOrderListFailure(this.errorMatcher(error))))))));
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
/** @nocollapse */ DaffOrderCollectionEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionEffects, deps: [{ token: i1$1.Actions }, { token: DaffOrderCollectionFacade }, { token: DaffOrderDriver }, { token: DAFF_ORDER_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
481
|
+
/** @nocollapse */ DaffOrderCollectionEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionEffects });
|
|
482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionEffects, decorators: [{
|
|
483
|
+
type: Injectable
|
|
484
|
+
}], ctorParameters: function () { return [{ type: i1$1.Actions }, { type: DaffOrderCollectionFacade }, { type: undefined, decorators: [{
|
|
485
|
+
type: Inject,
|
|
486
|
+
args: [DaffOrderDriver]
|
|
487
|
+
}] }, { type: undefined, decorators: [{
|
|
488
|
+
type: Inject,
|
|
489
|
+
args: [DAFF_ORDER_ERROR_MATCHER]
|
|
490
|
+
}] }]; } });
|
|
491
|
+
|
|
344
492
|
class DaffOrderEffects {
|
|
345
493
|
constructor(actions$, driver, errorMatcher) {
|
|
346
494
|
this.actions$ = actions$;
|
|
@@ -353,7 +501,7 @@ class DaffOrderEffects {
|
|
|
353
501
|
/**
|
|
354
502
|
* An effect for the listing of orders.
|
|
355
503
|
*/
|
|
356
|
-
this.list$ = createEffect(() => this.actions$.pipe(ofType(DaffOrderActionTypes.OrderListAction), switchMap((action) => this.driver.list(action.
|
|
504
|
+
this.list$ = createEffect(() => this.actions$.pipe(ofType(DaffOrderActionTypes.OrderListAction), switchMap((action) => this.driver.list(action.cartId, action.request).pipe(map(resp => new DaffOrderListSuccess(resp)), catchError((error) => of(new DaffOrderListFailure(this.errorMatcher(error))))))));
|
|
357
505
|
}
|
|
358
506
|
}
|
|
359
507
|
/** @nocollapse */ DaffOrderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderEffects, deps: [{ token: i1$1.Actions }, { token: DaffOrderDriver }, { token: DAFF_ORDER_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -376,6 +524,7 @@ class DaffOrderStateModule {
|
|
|
376
524
|
DaffCartStateModule,
|
|
377
525
|
EffectsModule.forFeature([
|
|
378
526
|
DaffOrderEffects,
|
|
527
|
+
DaffOrderCollectionEffects,
|
|
379
528
|
]),
|
|
380
529
|
StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
|
|
381
530
|
]] });
|
|
@@ -386,6 +535,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
386
535
|
DaffCartStateModule,
|
|
387
536
|
EffectsModule.forFeature([
|
|
388
537
|
DaffOrderEffects,
|
|
538
|
+
DaffOrderCollectionEffects,
|
|
389
539
|
]),
|
|
390
540
|
StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
|
|
391
541
|
],
|
|
@@ -396,5 +546,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
396
546
|
* Generated bundle index. Do not edit.
|
|
397
547
|
*/
|
|
398
548
|
|
|
399
|
-
export { DAFF_ORDER_STORE_FEATURE_KEY, DaffOrderActionTypes, DaffOrderFacade, DaffOrderList, DaffOrderListFailure, DaffOrderListSuccess, DaffOrderLoad, DaffOrderLoadFailure, DaffOrderLoadSuccess, DaffOrderStateModule, daffGetOrderAdapter, daffOrderEntitiesInitialState, daffOrderEntitiesReducer, daffOrderInitialState, daffOrderReducer, daffOrderReducers, getDaffOrderSelectors };
|
|
549
|
+
export { DAFF_ORDER_STORE_FEATURE_KEY, DaffOrderActionTypes, DaffOrderCollectionActionTypes, DaffOrderCollectionChangeCurrentPage, DaffOrderCollectionChangeFilter, DaffOrderCollectionChangePageSize, DaffOrderCollectionChangeSortingOption, DaffOrderCollectionFacade, DaffOrderFacade, DaffOrderList, DaffOrderListFailure, DaffOrderListSuccess, DaffOrderLoad, DaffOrderLoadFailure, DaffOrderLoadSuccess, DaffOrderStateModule, daffGetOrderAdapter, daffOrderEntitiesInitialState, daffOrderEntitiesReducer, daffOrderInitialState, daffOrderReducer, daffOrderReducers, daffOrdersCollectionReducer, getDaffOrderCollectionSelectors, getDaffOrderSelectors };
|
|
400
550
|
//# sourceMappingURL=daffodil-order-state.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-order-state.mjs","sources":["../../../libs/order/state/src/actions/order.actions.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-adapter.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-initial-state.ts","../../../libs/order/state/src/reducers/order-entities/order-entities.reducer.ts","../../../libs/order/state/src/reducers/order/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.reducer.ts","../../../libs/order/state/src/reducers/order-reducers.ts","../../../libs/order/state/src/reducers/order-store-feature-key.ts","../../../libs/order/state/src/selectors/order-feature.selector.ts","../../../libs/order/state/src/selectors/order-entities.selector.ts","../../../libs/order/state/src/selectors/order.selector.ts","../../../libs/order/state/src/selectors/order-all.selector.ts","../../../libs/order/state/src/facades/order/order.facade.ts","../../../libs/order/state/src/effects/order.effects.ts","../../../libs/order/state/src/order-state.module.ts","../../../libs/order/state/src/daffodil-order-state.ts"],"sourcesContent":["import { Action } from '@ngrx/store';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nexport enum DaffOrderActionTypes {\n OrderLoadAction = '[Order] Order Load Action',\n OrderLoadSuccessAction = '[Order] Order Load Success Action',\n OrderLoadFailureAction = '[Order] Order Load Failure Action',\n OrderListAction = '[Order] Order List Action',\n OrderListSuccessAction = '[Order] Order List Success Action',\n OrderListFailureAction = '[Order] Order List Failure Action'\n}\n\n/**\n * Triggers the loading of the specified order.\n *\n * @param orderId The order ID.\n * @param cartId The optional guest cart ID.\n */\nexport class DaffOrderLoad<\n T extends DaffOrder = DaffOrder,\n V extends DaffCart = DaffCart\n> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadAction;\n\n constructor(public orderId: T['id'], public cartId?: V['id']) {}\n}\n\nexport class DaffOrderLoadSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadSuccessAction;\n\n constructor(public payload: T) {}\n}\n\nexport class DaffOrderLoadFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\n/**\n * Triggers the loading of the orders for either the currently logged-in user or the specified guest cart.\n *\n * @param payload The guest cart ID.\n */\nexport class DaffOrderList<T extends DaffCart = DaffCart> implements Action {\n readonly type = DaffOrderActionTypes.OrderListAction;\n\n constructor(public payload?: T['id']) {}\n}\n\nexport class DaffOrderListSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderListSuccessAction;\n\n constructor(public payload: T[]) {}\n}\n\nexport class DaffOrderListFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderListFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\nexport type DaffOrderActions<\n T extends DaffOrder = DaffOrder,\n V extends DaffCart = DaffCart\n> =\n | DaffOrderLoad<T, V>\n | DaffOrderLoadSuccess<T>\n | DaffOrderLoadFailure\n | DaffOrderList\n | DaffOrderListSuccess<T>\n | DaffOrderListFailure;\n","import {\n EntityAdapter,\n createEntityAdapter,\n} from '@ngrx/entity';\n\nimport { DaffOrder } from '@daffodil/order';\n\n/**\n * Order Adapter for changing/overwriting entity state.\n */\nexport const daffGetOrderAdapter = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): EntityAdapter<T> =>\n cache = cache || createEntityAdapter<T>();\n})();\n","import { daffGetOrderAdapter } from './order-entities-adapter';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\n\n/**\n * Initial state for order entity state.\n */\nexport const daffOrderEntitiesInitialState: DaffOrderEntityState<any> = daffGetOrderAdapter().getInitialState();\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\n\n/**\n * Reducer function that catches actions and changes/overwrites order entities state.\n */\nexport function daffOrderEntitiesReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderEntitiesInitialState,\n action: DaffOrderActions<T>,\n): DaffOrderEntityState<T> {\n const adapter = daffGetOrderAdapter<T>();\n\n switch (action.type) {\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return adapter.upsertOne(action.payload, state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n return adapter.upsertMany(action.payload, state);\n\n default:\n return state;\n }\n}\n","import { DaffOrderReducerState } from './order-reducer.interface';\n\nexport const daffOrderInitialState: DaffOrderReducerState = {\n loading: false,\n errors: [],\n};\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\n\nexport function daffOrderReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderInitialState,\n action: DaffOrderActions<T>,\n): DaffOrderReducerState {\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n case DaffOrderActionTypes.OrderLoadAction:\n return {\n ...state,\n loading: true,\n };\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return {\n ...state,\n loading: false,\n errors: [],\n };\n\n case DaffOrderActionTypes.OrderListFailureAction:\n case DaffOrderActionTypes.OrderLoadFailureAction:\n return {\n ...state,\n errors: [\n ...state.errors,\n action.payload,\n ],\n loading: false,\n };\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\nimport { daffOrderReducer } from './order/order.reducer';\n\nexport const daffOrderReducers: ActionReducerMap<DaffOrderReducersState> = {\n order: daffOrderReducer,\n orders: daffOrderEntitiesReducer,\n};\n","export const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';\n","import {\n createFeatureSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducersState,\n DAFF_ORDER_STORE_FEATURE_KEY,\n} from '../reducers/public_api';\n\nexport interface DaffOrderFeatureSelector<T extends DaffOrder = DaffOrder> {\n selectOrderFeatureState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderReducersState<T>>;\n}\n\nexport const getDaffOrderReducersStateSelector = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderFeatureSelector<T> =>\n cache = cache || {\n selectOrderFeatureState: createFeatureSelector<DaffOrderReducersState<T>>(DAFF_ORDER_STORE_FEATURE_KEY),\n };\n})();\n","import { Dictionary } from '@ngrx/entity';\nimport {\n createSelector,\n defaultMemoize,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n getDaffCartSelectors,\n DaffCartStateRootSlice,\n} from '@daffodil/cart/state';\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\n\nexport interface DaffOrderEntitySelectors<T extends DaffOrder = DaffOrder> {\n selectOrderEntitiesState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderEntityState<T>>;\n /**\n * Selector for order IDs.\n */\n selectOrderIds: MemoizedSelector<DaffOrderStateRootSlice<T>, T['id'][]>;\n /**\n * Selector for order entities.\n */\n selectOrderEntities: MemoizedSelector<DaffOrderStateRootSlice<T>, Dictionary<T>>;\n /**\n * Selector for all orders.\n */\n selectAllOrders: MemoizedSelector<DaffOrderStateRootSlice<T>, T[]>;\n /**\n * Selector for total number of orders.\n */\n selectOrderTotal: MemoizedSelector<DaffOrderStateRootSlice<T>, number>;\n selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n\n /**\n * Selector for the most recently placed order (if any).\n */\n selectPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n /**\n * Selector for the existence of the most recently placed order.\n */\n selectHasPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\n\n /**\n * Selects the specified order's totals.\n */\n selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']>;\n /**\n * Selects the specified order's applied coupon codes.\n */\n selectOrderAppliedCodes: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['applied_codes']>;\n /**\n * Selects the specified order's items.\n */\n selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']>;\n /**\n * Selects the specified order's billing addresses.\n */\n selectOrderBillingAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['billing_addresses']>;\n /**\n * Selects the specified order's shipping addresses.\n */\n selectOrderShippingTotalAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipping_addresses']>;\n /**\n * Selects the specified order's shipments.\n */\n selectOrderShipments: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipments']>;\n /**\n * Selects the specified order's payment.\n */\n selectOrderPayment: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['payment']>;\n /**\n * Selects the specified order's invoices.\n */\n selectOrderInvoices: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['invoices']>;\n /**\n * Selects the specified order's credits.\n */\n selectOrderCredits: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['credits']>;\n\n /**\n * Selects the specified order's specified item.\n */\n selectOrderItem: (orderId: T['id'], itemId: T['items'][0]['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderItem>;\n\n /**\n * Selects the specified order's grand total.\n */\n selectOrderGrandTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's subtotal.\n */\n selectOrderSubtotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's shipping total.\n */\n selectOrderShippingTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's discount total.\n */\n selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects whether the specified order has a discount.\n */\n selectOrderHasDiscount: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\n /**\n * Selects the specified order's tax total.\n */\n selectOrderTaxTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n}\n\nconst createOrderEntitySelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const selectOrderEntitiesState = createSelector(\n selectOrderFeatureState,\n state => state.orders,\n );\n const { selectIds, selectEntities, selectAll, selectTotal } = daffGetOrderAdapter<T>().getSelectors(selectOrderEntitiesState);\n const { selectCartOrderId } = getDaffCartSelectors();\n\n const selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectEntities,\n (orders: Dictionary<T>) => orders[orderId] || null,\n )).memoized;\n\n const selectPlacedOrder = createSelector(\n selectEntities,\n selectCartOrderId,\n (orders, orderId) => orderId ? selectOrder(orderId).projector(orders) : null,\n );\n\n const selectHasPlacedOrder = createSelector(\n selectPlacedOrder,\n placedOrder => !!placedOrder,\n );\n\n const selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.totals) || [],\n )).memoized;\n\n const selectOrderAppliedCodes = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.applied_codes) || [],\n )).memoized;\n\n const selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.items) || [],\n )).memoized;\n\n const selectOrderBillingAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.billing_addresses) || [],\n )).memoized;\n\n const selectOrderShippingTotalAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipping_addresses) || [],\n )).memoized;\n\n const selectOrderShipments = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipments) || [],\n )).memoized;\n\n const selectOrderPayment = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.payment) || null,\n )).memoized;\n\n const selectOrderInvoices = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.invoices) || [],\n )).memoized;\n\n const selectOrderCredits = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.credits) || [],\n )).memoized;\n\n const selectOrderGrandTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.GrandTotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderSubtotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Subtotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderShippingTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Shipping);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Discount);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderHasDiscount = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderDiscountTotal(orderId),\n discountTotal => discountTotal?.value > 0,\n )).memoized;\n\n const selectOrderTaxTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Tax);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderItem = defaultMemoize((orderId: T['id'], itemId: T['items'][0]['id']) => createSelector(\n selectOrderItems(orderId),\n items => items.find(item => item.id === itemId) || null,\n )).memoized;\n\n return {\n selectOrderEntitiesState,\n selectOrderIds: selectIds,\n selectOrderEntities: selectEntities,\n selectAllOrders: selectAll,\n selectOrderTotal: selectTotal,\n\n selectPlacedOrder,\n selectHasPlacedOrder,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n selectOrderItem,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n };\n};\n\nexport const getDaffOrderEntitySelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderEntitySelectors<T> =>\n cache = cache || createOrderEntitySelectors<T>();\n})();\n\n","import {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\n\nexport interface DaffOrderSelectors {\n selectOrderState: MemoizedSelector<DaffOrderStateRootSlice, DaffOrderReducerState>;\n selectOrderLoading: MemoizedSelector<DaffOrderStateRootSlice, boolean>;\n selectOrderErrors: MemoizedSelector<DaffOrderStateRootSlice, DaffStateError[]>;\n}\n\nconst createOrderSelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const selectOrderState = createSelector(\n selectOrderFeatureState,\n state => state.order,\n );\n\n const selectOrderLoading = createSelector(\n selectOrderState,\n state => state.loading,\n );\n\n const selectOrderErrors = createSelector(\n selectOrderState,\n state => state.errors,\n );\n\n return {\n selectOrderState,\n selectOrderLoading,\n selectOrderErrors,\n };\n};\n\nexport const getOrderSelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderSelectors =>\n cache = cache || createOrderSelectors<T>();\n})();\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderEntitySelectors,\n getDaffOrderEntitySelectors,\n} from './order-entities.selector';\nimport {\n DaffOrderFeatureSelector,\n getDaffOrderReducersStateSelector,\n} from './order-feature.selector';\nimport {\n DaffOrderSelectors,\n getOrderSelectors,\n} from './order.selector';\n\nexport interface DaffOrderAllSelectors<T extends DaffOrder = DaffOrder> extends\n DaffOrderEntitySelectors<T>,\n DaffOrderSelectors,\n DaffOrderFeatureSelector<T> {}\n\nexport const getDaffOrderSelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderAllSelectors<T> =>\n cache = cache || {\n ...getOrderSelectors<T>(),\n ...getDaffOrderEntitySelectors<T>(),\n ...getDaffOrderReducersStateSelector<T>(),\n };\n})();\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from '@ngrx/entity';\nimport {\n Action,\n Store,\n select,\n} from '@ngrx/store';\nimport { Observable } from 'rxjs';\n\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderTotal,\n} from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\n\n/**\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOrderFacade<T extends DaffOrder = DaffOrder> implements DaffOrderFacadeInterface<T> {\n loading$: Observable<boolean>;\n errors$: Observable<DaffStateError[]>;\n\n orders$: Observable<T[]>;\n orderIds$: Observable<T['id'][]>;\n orderCount$: Observable<number>;\n orderEntities$: Observable<Dictionary<T>>;\n\n placedOrder$: Observable<T>;\n hasPlacedOrder$: Observable<boolean>;\n\n _order: DaffOrderEntitySelectors<T>['selectOrder'];\n _totals: DaffOrderEntitySelectors<T>['selectOrderTotals'];\n _appliedCodes: DaffOrderEntitySelectors<T>['selectOrderAppliedCodes'];\n _items: DaffOrderEntitySelectors<T>['selectOrderItems'];\n _billingAddresses: DaffOrderEntitySelectors<T>['selectOrderBillingAddresses'];\n _shippingAddresses: DaffOrderEntitySelectors<T>['selectOrderShippingTotalAddresses'];\n _shipments: DaffOrderEntitySelectors<T>['selectOrderShipments'];\n _payment: DaffOrderEntitySelectors<T>['selectOrderPayment'];\n _invoices: DaffOrderEntitySelectors<T>['selectOrderInvoices'];\n _credits: DaffOrderEntitySelectors<T>['selectOrderCredits'];\n _grandTotal: DaffOrderEntitySelectors<T>['selectOrderGrandTotal'];\n _subtotal: DaffOrderEntitySelectors<T>['selectOrderSubtotal'];\n _shipping: DaffOrderEntitySelectors<T>['selectOrderShippingTotal'];\n _discount: DaffOrderEntitySelectors<T>['selectOrderDiscountTotal'];\n _hasDiscount: DaffOrderEntitySelectors<T>['selectOrderHasDiscount'];\n _tax: DaffOrderEntitySelectors<T>['selectOrderTaxTotal'];\n\n constructor(private store: Store<DaffOrderStateRootSlice<T>>) {\n const {\n selectOrderIds,\n selectOrderEntities,\n selectAllOrders,\n selectOrderTotal,\n selectOrderLoading,\n selectOrderErrors,\n\n selectPlacedOrder,\n selectHasPlacedOrder,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n } = getDaffOrderSelectors<T>();\n\n this.loading$ = this.store.pipe(select(selectOrderLoading));\n this.errors$ = this.store.pipe(select(selectOrderErrors));\n\n this.orders$ = this.store.pipe(select(selectAllOrders));\n this.orderIds$ = this.store.pipe(select(selectOrderIds));\n this.orderCount$ = this.store.pipe(select(selectOrderTotal));\n this.orderEntities$ = this.store.pipe(select(selectOrderEntities));\n\n this.placedOrder$ = this.store.pipe(select(selectPlacedOrder));\n this.hasPlacedOrder$ = this.store.pipe(select(selectHasPlacedOrder));\n\n this._order = selectOrder;\n this._totals = selectOrderTotals;\n this._appliedCodes = selectOrderAppliedCodes;\n this._items = selectOrderItems;\n this._billingAddresses = selectOrderBillingAddresses;\n this._shippingAddresses = selectOrderShippingTotalAddresses;\n this._shipments = selectOrderShipments;\n this._payment = selectOrderPayment;\n this._invoices = selectOrderInvoices;\n this._credits = selectOrderCredits;\n this._grandTotal = selectOrderGrandTotal;\n this._subtotal = selectOrderSubtotal;\n this._shipping = selectOrderShippingTotal;\n this._discount = selectOrderDiscountTotal;\n this._hasDiscount = selectOrderHasDiscount;\n this._tax = selectOrderTaxTotal;\n }\n\n getOrder$(orderId: T['id']): Observable<T> {\n return this.store.pipe(select(this._order(orderId)));\n }\n\n getTotals$(orderId: T['id']): Observable<T['totals']> {\n return this.store.pipe(select(this._totals(orderId)));\n }\n\n getAppliedCodes$(orderId: T['id']): Observable<T['applied_codes']> {\n return this.store.pipe(select(this._appliedCodes(orderId)));\n }\n\n getItems$(orderId: T['id']): Observable<T['items']> {\n return this.store.pipe(select(this._items(orderId)));\n }\n\n getBillingAddresses$(orderId: T['id']): Observable<T['billing_addresses']> {\n return this.store.pipe(select(this._billingAddresses(orderId)));\n }\n\n getShippingAddresses$(orderId: T['id']): Observable<T['shipping_addresses']> {\n return this.store.pipe(select(this._shippingAddresses(orderId)));\n }\n\n getShipments$(orderId: T['id']): Observable<T['shipments']> {\n return this.store.pipe(select(this._shipments(orderId)));\n }\n\n getPayment$(orderId: T['id']): Observable<T['payment']> {\n return this.store.pipe(select(this._payment(orderId)));\n }\n\n getInvoices$(orderId: T['id']): Observable<T['invoices']> {\n return this.store.pipe(select(this._invoices(orderId)));\n }\n\n getCredits$(orderId: T['id']): Observable<T['credits']> {\n return this.store.pipe(select(this._credits(orderId)));\n }\n\n getGrandTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._grandTotal(orderId)));\n };\n getSubtotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._subtotal(orderId)));\n };\n getShippingTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._shipping(orderId)));\n };\n getDiscountTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._discount(orderId)));\n };\n hasDiscount$(orderId: T['id']): Observable<boolean> {\n return this.store.pipe(select(this._hasDiscount(orderId)));\n };\n getTaxTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._tax(orderId)));\n };\n\n dispatch(action: Action) {\n this.store.dispatch(action);\n }\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport {\n switchMap,\n map,\n catchError,\n} from 'rxjs/operators';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} from '@daffodil/order';\nimport {\n DaffOrderServiceInterface,\n DaffOrderDriver,\n} from '@daffodil/order/driver';\n\nimport {\n DaffOrderActionTypes,\n DaffOrderLoad,\n DaffOrderLoadSuccess,\n DaffOrderLoadFailure,\n DaffOrderList,\n DaffOrderListSuccess,\n DaffOrderListFailure,\n} from '../actions/order.actions';\n\n@Injectable()\nexport class DaffOrderEffects<\n T extends DaffOrder = DaffOrder,\n V extends DaffCart = DaffCart\n> {\n constructor(\n private actions$: Actions,\n @Inject(DaffOrderDriver) private driver: DaffOrderServiceInterface<T>,\n @Inject(DAFF_ORDER_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n /**\n * An effect for the loading of an order.\n */\n\n get$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderLoadAction),\n switchMap((action: DaffOrderLoad<T, V>) =>\n this.driver.get(action.orderId, action.cartId).pipe(\n map(resp => new DaffOrderLoadSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderLoadFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n\n /**\n * An effect for the listing of orders.\n */\n\n list$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderListAction),\n switchMap((action: DaffOrderList) =>\n this.driver.list(action.payload).pipe(\n map(resp => new DaffOrderListSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderListFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n}\n","import { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { DaffCartStateModule } from '@daffodil/cart/state';\n\nimport { DaffOrderEffects } from './effects/order.effects';\nimport {\n DAFF_ORDER_STORE_FEATURE_KEY,\n daffOrderReducers,\n} from './reducers/public_api';\n\n@NgModule({\n imports: [\n DaffCartStateModule,\n EffectsModule.forFeature([\n DaffOrderEffects,\n ]),\n StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),\n ],\n})\nexport class DaffOrderStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-order-state.mjs","sources":["../../../libs/order/state/src/actions/order-collection.actions.ts","../../../libs/order/state/src/actions/order.actions.ts","../../../libs/order/state/src/reducers/order-collection/reducer.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-adapter.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-initial-state.ts","../../../libs/order/state/src/reducers/order-entities/order-entities.reducer.ts","../../../libs/order/state/src/reducers/order/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.reducer.ts","../../../libs/order/state/src/reducers/order-reducers.ts","../../../libs/order/state/src/reducers/order-store-feature-key.ts","../../../libs/order/state/src/selectors/order-feature.selector.ts","../../../libs/order/state/src/selectors/order-entities.selector.ts","../../../libs/order/state/src/selectors/order-collection/selectors.ts","../../../libs/order/state/src/selectors/order.selector.ts","../../../libs/order/state/src/selectors/order-all.selector.ts","../../../libs/order/state/src/facades/order/order.facade.ts","../../../libs/order/state/src/facades/collection/facade.ts","../../../libs/order/state/src/effects/order-collection.effects.ts","../../../libs/order/state/src/effects/order.effects.ts","../../../libs/order/state/src/order-state.module.ts","../../../libs/order/state/src/daffodil-order-state.ts"],"sourcesContent":["\nimport { DaffCart } from '@daffodil/cart';\nimport {\n DaffCollectionMetadata,\n DaffFilterRequest,\n} from '@daffodil/core';\nimport {\n DaffCollectionChangePageSize,\n DaffCollectionChangeCurrentPage,\n DaffCollectionChangeSortingOption,\n DaffCollectionReplaceFilters,\n} from '@daffodil/core/state';\n\n/**\n * Action types for Order Actions.\n */\nexport enum DaffOrderCollectionActionTypes {\n ChangePageSizeAction = '[@daffodil/order] Change Order Collection Page Size Action',\n ChangeCurrentPageAction = '[@daffodil/order] Change Order Collection Current Page Action',\n ChangeSortingAction = '[@daffodil/order] Change Order Collection Sorting Action',\n ChangeFilterAction = '[@daffodil/order] Change Order Collection Filter Action',\n}\n\n/**\n * An action for changing the number of items shown on each page for this collection.\n */\nexport class DaffOrderCollectionChangePageSize implements DaffCollectionChangePageSize {\n readonly type = DaffOrderCollectionActionTypes.ChangePageSizeAction;\n\n constructor(\n public pageSize: DaffCollectionMetadata['pageSize'],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for changing the current page of items for this collection.\n */\nexport class DaffOrderCollectionChangeCurrentPage implements DaffCollectionChangeCurrentPage {\n readonly type = DaffOrderCollectionActionTypes.ChangeCurrentPageAction;\n\n constructor(\n public currentPage: DaffCollectionMetadata['currentPage'],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for changing the sorting option for this collection.\n */\nexport class DaffOrderCollectionChangeSortingOption implements DaffCollectionChangeSortingOption {\n readonly type = DaffOrderCollectionActionTypes.ChangeSortingAction;\n\n constructor(\n public sort: {\n option: DaffCollectionMetadata['appliedSortOption'];\n direction: DaffCollectionMetadata['appliedSortDirection'];\n },\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for filtering the collection by an overall rating value.\n */\nexport class DaffOrderCollectionChangeFilter implements DaffCollectionReplaceFilters {\n readonly type = DaffOrderCollectionActionTypes.ChangeFilterAction;\n\n constructor(\n public filters: DaffFilterRequest[],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\nexport type DaffOrderCollectionActions =\n | DaffOrderCollectionChangePageSize\n | DaffOrderCollectionChangeCurrentPage\n | DaffOrderCollectionChangeSortingOption\n | DaffOrderCollectionChangeFilter;\n","import { Action } from '@ngrx/store';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffCollectionRequest } from '@daffodil/core';\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderCollection,\n} from '@daffodil/order';\n\nexport enum DaffOrderActionTypes {\n OrderLoadAction = '[Order] Order Load Action',\n OrderLoadSuccessAction = '[Order] Order Load Success Action',\n OrderLoadFailureAction = '[Order] Order Load Failure Action',\n OrderListAction = '[Order] Order List Action',\n OrderListSuccessAction = '[Order] Order List Success Action',\n OrderListFailureAction = '[Order] Order List Failure Action'\n}\n\n/**\n * Triggers the loading of the specified order.\n *\n * @param orderId The order ID.\n * @param cartId The optional guest cart ID.\n */\nexport class DaffOrderLoad<\n T extends DaffOrder = DaffOrder,\n> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadAction;\n\n constructor(public orderId: T['id'], public cartId?: DaffCart['id']) {}\n}\n\nexport class DaffOrderLoadSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadSuccessAction;\n\n constructor(public payload: T) {}\n}\n\nexport class DaffOrderLoadFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\n/**\n * Triggers the loading of the orders for either the currently logged-in user or the specified guest cart.\n *\n * @param payload The guest cart ID.\n */\nexport class DaffOrderList implements Action {\n readonly type = DaffOrderActionTypes.OrderListAction;\n\n constructor(public cartId?: DaffCart['id'], public request: DaffCollectionRequest = {}) {}\n}\n\nexport class DaffOrderListSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderListSuccessAction;\n\n constructor(public payload: DaffOrderCollection<T>) {}\n}\n\nexport class DaffOrderListFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderListFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\nexport type DaffOrderActions<\n T extends DaffOrder = DaffOrder,\n> =\n | DaffOrderLoad<T>\n | DaffOrderLoadSuccess<T>\n | DaffOrderLoadFailure\n | DaffOrderList\n | DaffOrderListSuccess<T>\n | DaffOrderListFailure;\n","import {\n daffApplyRequestsToFilters,\n daffClearFilters,\n} from '@daffodil/core';\nimport {\n daffCollectionReducerInitialState,\n getCollectionStateAdapter,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderActionTypes,\n DaffOrderActions,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { DaffOrderCollectionReducerState } from './state.interface';\n\n/**\n * Handles the reduction of order actions into the collection metadata state.\n */\nexport function daffOrdersCollectionReducer<T extends DaffOrder = DaffOrder>(\n state = daffCollectionReducerInitialState,\n action: DaffOrderActions<T> | DaffOrderCollectionActions,\n): DaffOrderCollectionReducerState {\n const adapter = getCollectionStateAdapter();\n\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n return adapter.storeRequest(action.request, state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n return adapter.setMetadata(action.payload.metadata, state);\n\n case DaffOrderActionTypes.OrderListFailureAction:\n return daffCollectionReducerInitialState;\n\n case DaffOrderCollectionActionTypes.ChangePageSizeAction:\n return adapter.setPageSize(action.pageSize, state);\n\n case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:\n return adapter.setCurrentPage(action.currentPage, state);\n\n case DaffOrderCollectionActionTypes.ChangeSortingAction:\n return adapter.setSort(action.sort.option, action.sort.direction, state);\n\n case DaffOrderCollectionActionTypes.ChangeFilterAction:\n return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);\n\n default:\n return state;\n }\n}\n","import {\n EntityAdapter,\n createEntityAdapter,\n} from '@ngrx/entity';\n\nimport { DaffOrder } from '@daffodil/order';\n\n/**\n * Order Adapter for changing/overwriting entity state.\n */\nexport const daffGetOrderAdapter = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): EntityAdapter<T> =>\n cache = cache || createEntityAdapter<T>();\n})();\n","import { daffGetOrderAdapter } from './order-entities-adapter';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\n\n/**\n * Initial state for order entity state.\n */\nexport const daffOrderEntitiesInitialState: DaffOrderEntityState<any> = daffGetOrderAdapter().getInitialState();\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\n\n/**\n * Reducer function that catches actions and changes/overwrites order entities state.\n */\nexport function daffOrderEntitiesReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderEntitiesInitialState,\n action: DaffOrderActions<T>,\n): DaffOrderEntityState<T> {\n const adapter = daffGetOrderAdapter<T>();\n\n switch (action.type) {\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return adapter.upsertOne(action.payload, state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n return adapter.setAll(Object.values(action.payload.data), state);\n\n default:\n return state;\n }\n}\n","import { DaffOrderReducerState } from './order-reducer.interface';\n\nexport const daffOrderInitialState: DaffOrderReducerState = {\n loading: false,\n errors: [],\n};\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\n\nexport function daffOrderReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderInitialState,\n action: DaffOrderActions<T> | DaffOrderCollectionActions,\n): DaffOrderReducerState {\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n case DaffOrderActionTypes.OrderLoadAction:\n case DaffOrderCollectionActionTypes.ChangePageSizeAction:\n case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:\n case DaffOrderCollectionActionTypes.ChangeFilterAction:\n case DaffOrderCollectionActionTypes.ChangeSortingAction:\n return {\n ...state,\n loading: true,\n };\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return {\n ...state,\n loading: false,\n errors: [],\n };\n\n case DaffOrderActionTypes.OrderListFailureAction:\n case DaffOrderActionTypes.OrderLoadFailureAction:\n return {\n ...state,\n errors: [\n ...state.errors,\n action.payload,\n ],\n loading: false,\n };\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrdersCollectionReducer } from './order-collection/public_api';\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\nimport { daffOrderReducer } from './order/order.reducer';\n\nexport const daffOrderReducers: ActionReducerMap<DaffOrderReducersState> = {\n order: daffOrderReducer,\n orders: daffOrderEntitiesReducer,\n collection: daffOrdersCollectionReducer,\n};\n","export const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';\n","import {\n createFeatureSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducersState,\n DAFF_ORDER_STORE_FEATURE_KEY,\n} from '../reducers/public_api';\n\nexport interface DaffOrderFeatureSelector<T extends DaffOrder = DaffOrder> {\n selectOrderFeatureState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderReducersState<T>>;\n}\n\nexport const getDaffOrderReducersStateSelector = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderFeatureSelector<T> =>\n cache = cache || {\n selectOrderFeatureState: createFeatureSelector<DaffOrderReducersState<T>>(DAFF_ORDER_STORE_FEATURE_KEY),\n };\n})();\n","import { Dictionary } from '@ngrx/entity';\nimport {\n createSelector,\n defaultMemoize,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n getDaffCartSelectors,\n DaffCartStateRootSlice,\n} from '@daffodil/cart/state';\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\n\nexport interface DaffOrderEntitySelectors<T extends DaffOrder = DaffOrder> {\n selectOrderEntitiesState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderEntityState<T>>;\n /**\n * Selector for order IDs.\n */\n selectOrderIds: MemoizedSelector<DaffOrderStateRootSlice<T>, T['id'][]>;\n /**\n * Selector for order entities.\n */\n selectOrderEntities: MemoizedSelector<DaffOrderStateRootSlice<T>, Dictionary<T>>;\n /**\n * Selector for all orders.\n */\n selectAllOrders: MemoizedSelector<DaffOrderStateRootSlice<T>, T[]>;\n /**\n * Selector for total number of orders.\n */\n selectOrderTotal: MemoizedSelector<DaffOrderStateRootSlice<T>, number>;\n selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n\n /**\n * Selector for the most recently placed order (if any).\n */\n selectPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n /**\n * Selector for the existence of the most recently placed order.\n */\n selectHasPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\n\n /**\n * Selects the specified order's totals.\n */\n selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']>;\n /**\n * Selects the specified order's applied coupon codes.\n */\n selectOrderAppliedCodes: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['applied_codes']>;\n /**\n * Selects the specified order's items.\n */\n selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']>;\n /**\n * Selects the specified order's billing addresses.\n */\n selectOrderBillingAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['billing_addresses']>;\n /**\n * Selects the specified order's shipping addresses.\n */\n selectOrderShippingTotalAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipping_addresses']>;\n /**\n * Selects the specified order's shipments.\n */\n selectOrderShipments: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipments']>;\n /**\n * Selects the specified order's payment.\n */\n selectOrderPayment: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['payment']>;\n /**\n * Selects the specified order's invoices.\n */\n selectOrderInvoices: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['invoices']>;\n /**\n * Selects the specified order's credits.\n */\n selectOrderCredits: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['credits']>;\n\n /**\n * Selects the specified order's specified item.\n */\n selectOrderItem: (orderId: T['id'], itemId: T['items'][0]['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderItem>;\n\n /**\n * Selects the specified order's grand total.\n */\n selectOrderGrandTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's subtotal.\n */\n selectOrderSubtotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's shipping total.\n */\n selectOrderShippingTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's discount total.\n */\n selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects whether the specified order has a discount.\n */\n selectOrderHasDiscount: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\n /**\n * Selects the specified order's tax total.\n */\n selectOrderTaxTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n}\n\nconst createOrderEntitySelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const selectOrderEntitiesState = createSelector(\n selectOrderFeatureState,\n state => state.orders,\n );\n const { selectIds, selectEntities, selectAll, selectTotal } = daffGetOrderAdapter<T>().getSelectors(selectOrderEntitiesState);\n const { selectCartOrderId } = getDaffCartSelectors();\n\n const selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectEntities,\n (orders: Dictionary<T>) => orders[orderId] || null,\n )).memoized;\n\n const selectPlacedOrder = createSelector(\n selectEntities,\n selectCartOrderId,\n (orders, orderId) => orderId ? selectOrder(orderId).projector(orders) : null,\n );\n\n const selectHasPlacedOrder = createSelector(\n selectPlacedOrder,\n placedOrder => !!placedOrder,\n );\n\n const selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.totals) || [],\n )).memoized;\n\n const selectOrderAppliedCodes = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.applied_codes) || [],\n )).memoized;\n\n const selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.items) || [],\n )).memoized;\n\n const selectOrderBillingAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.billing_addresses) || [],\n )).memoized;\n\n const selectOrderShippingTotalAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipping_addresses) || [],\n )).memoized;\n\n const selectOrderShipments = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipments) || [],\n )).memoized;\n\n const selectOrderPayment = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.payment) || null,\n )).memoized;\n\n const selectOrderInvoices = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.invoices) || [],\n )).memoized;\n\n const selectOrderCredits = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.credits) || [],\n )).memoized;\n\n const selectOrderGrandTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.GrandTotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderSubtotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Subtotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderShippingTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Shipping);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Discount);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderHasDiscount = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderDiscountTotal(orderId),\n discountTotal => discountTotal?.value > 0,\n )).memoized;\n\n const selectOrderTaxTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Tax);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderItem = defaultMemoize((orderId: T['id'], itemId: T['items'][0]['id']) => createSelector(\n selectOrderItems(orderId),\n items => items.find(item => item.id === itemId) || null,\n )).memoized;\n\n return {\n selectOrderEntitiesState,\n selectOrderIds: selectIds,\n selectOrderEntities: selectEntities,\n selectAllOrders: selectAll,\n selectOrderTotal: selectTotal,\n\n selectPlacedOrder,\n selectHasPlacedOrder,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n selectOrderItem,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n };\n};\n\nexport const getDaffOrderEntitySelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderEntitySelectors<T> =>\n cache = cache || createOrderEntitySelectors<T>();\n})();\n\n","import { createSelector } from '@ngrx/store';\n\nimport {\n DaffCollectionMemoizedSelectors,\n daffCollectionSelectorFactory,\n} from '@daffodil/core/state';\nimport { DaffOrderCollection } from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from '../order-feature.selector';\n\nexport type DaffOrderCollectionMemoizedSelectors = DaffCollectionMemoizedSelectors<DaffOrderStateRootSlice, DaffOrderCollection['metadata']>;\n\nconst {\n selectOrderFeatureState,\n} = getDaffOrderReducersStateSelector();\n\nconst selectProductReviewsCollectionState = createSelector(\n selectOrderFeatureState,\n state => state.collection,\n);\n\nexport const getDaffOrderCollectionSelectors = (() => {\n let cache;\n return (): DaffOrderCollectionMemoizedSelectors =>\n cache = cache || daffCollectionSelectorFactory<DaffOrderStateRootSlice, DaffOrderCollection['metadata']>(selectProductReviewsCollectionState);\n})();\n","import {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from './order-collection/selectors';\nimport { getDaffOrderEntitySelectors } from './order-entities.selector';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\n\nexport interface DaffOrderSelectors<T extends DaffOrder = DaffOrder> {\n selectOrderState: MemoizedSelector<DaffOrderStateRootSlice, DaffOrderReducerState>;\n selectOrderLoading: MemoizedSelector<DaffOrderStateRootSlice, boolean>;\n selectOrderErrors: MemoizedSelector<DaffOrderStateRootSlice, DaffStateError[]>;\n selectOrders: MemoizedSelector<DaffOrderStateRootSlice, T[]>;\n}\n\nconst createOrderSelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const {\n selectCollectionIds,\n } = getDaffOrderCollectionSelectors();\n const {\n selectOrderEntities,\n } = getDaffOrderEntitySelectors<T>();\n const selectOrderState = createSelector(\n selectOrderFeatureState,\n state => state.order,\n );\n\n const selectOrderLoading = createSelector(\n selectOrderState,\n state => state.loading,\n );\n\n const selectOrderErrors = createSelector(\n selectOrderState,\n state => state.errors,\n );\n\n const selectOrders = createSelector(\n selectCollectionIds,\n selectOrderEntities,\n (ids, entities) => ids.map((id) => entities[id]),\n );\n\n return {\n selectOrderState,\n selectOrderLoading,\n selectOrderErrors,\n selectOrders,\n };\n};\n\nexport const getOrderSelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderSelectors<T> =>\n cache = cache || createOrderSelectors<T>();\n})();\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderEntitySelectors,\n getDaffOrderEntitySelectors,\n} from './order-entities.selector';\nimport {\n DaffOrderFeatureSelector,\n getDaffOrderReducersStateSelector,\n} from './order-feature.selector';\nimport {\n DaffOrderSelectors,\n getOrderSelectors,\n} from './order.selector';\n\nexport interface DaffOrderAllSelectors<T extends DaffOrder = DaffOrder> extends\n DaffOrderEntitySelectors<T>,\n DaffOrderSelectors<T>,\n DaffOrderFeatureSelector<T> {}\n\nexport const getDaffOrderSelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderAllSelectors<T> =>\n cache = cache || {\n ...getOrderSelectors<T>(),\n ...getDaffOrderEntitySelectors<T>(),\n ...getDaffOrderReducersStateSelector<T>(),\n };\n})();\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from '@ngrx/entity';\nimport {\n Action,\n Store,\n select,\n} from '@ngrx/store';\nimport { Observable } from 'rxjs';\n\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderTotal,\n} from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\n\n/**\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOrderFacade<T extends DaffOrder = DaffOrder> implements DaffOrderFacadeInterface<T> {\n loading$: Observable<boolean>;\n errors$: Observable<DaffStateError[]>;\n\n orders$: Observable<T[]>;\n orderIds$: Observable<T['id'][]>;\n orderCount$: Observable<number>;\n orderEntities$: Observable<Dictionary<T>>;\n\n placedOrder$: Observable<T>;\n hasPlacedOrder$: Observable<boolean>;\n\n _order: DaffOrderEntitySelectors<T>['selectOrder'];\n _totals: DaffOrderEntitySelectors<T>['selectOrderTotals'];\n _appliedCodes: DaffOrderEntitySelectors<T>['selectOrderAppliedCodes'];\n _items: DaffOrderEntitySelectors<T>['selectOrderItems'];\n _billingAddresses: DaffOrderEntitySelectors<T>['selectOrderBillingAddresses'];\n _shippingAddresses: DaffOrderEntitySelectors<T>['selectOrderShippingTotalAddresses'];\n _shipments: DaffOrderEntitySelectors<T>['selectOrderShipments'];\n _payment: DaffOrderEntitySelectors<T>['selectOrderPayment'];\n _invoices: DaffOrderEntitySelectors<T>['selectOrderInvoices'];\n _credits: DaffOrderEntitySelectors<T>['selectOrderCredits'];\n _grandTotal: DaffOrderEntitySelectors<T>['selectOrderGrandTotal'];\n _subtotal: DaffOrderEntitySelectors<T>['selectOrderSubtotal'];\n _shipping: DaffOrderEntitySelectors<T>['selectOrderShippingTotal'];\n _discount: DaffOrderEntitySelectors<T>['selectOrderDiscountTotal'];\n _hasDiscount: DaffOrderEntitySelectors<T>['selectOrderHasDiscount'];\n _tax: DaffOrderEntitySelectors<T>['selectOrderTaxTotal'];\n\n constructor(private store: Store<DaffOrderStateRootSlice<T>>) {\n const {\n selectOrderIds,\n selectOrderEntities,\n selectOrders,\n selectOrderTotal,\n selectOrderLoading,\n selectOrderErrors,\n\n selectPlacedOrder,\n selectHasPlacedOrder,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n } = getDaffOrderSelectors<T>();\n\n this.loading$ = this.store.pipe(select(selectOrderLoading));\n this.errors$ = this.store.pipe(select(selectOrderErrors));\n\n this.orders$ = this.store.pipe(select(selectOrders));\n this.orderIds$ = this.store.pipe(select(selectOrderIds));\n this.orderCount$ = this.store.pipe(select(selectOrderTotal));\n this.orderEntities$ = this.store.pipe(select(selectOrderEntities));\n\n this.placedOrder$ = this.store.pipe(select(selectPlacedOrder));\n this.hasPlacedOrder$ = this.store.pipe(select(selectHasPlacedOrder));\n\n this._order = selectOrder;\n this._totals = selectOrderTotals;\n this._appliedCodes = selectOrderAppliedCodes;\n this._items = selectOrderItems;\n this._billingAddresses = selectOrderBillingAddresses;\n this._shippingAddresses = selectOrderShippingTotalAddresses;\n this._shipments = selectOrderShipments;\n this._payment = selectOrderPayment;\n this._invoices = selectOrderInvoices;\n this._credits = selectOrderCredits;\n this._grandTotal = selectOrderGrandTotal;\n this._subtotal = selectOrderSubtotal;\n this._shipping = selectOrderShippingTotal;\n this._discount = selectOrderDiscountTotal;\n this._hasDiscount = selectOrderHasDiscount;\n this._tax = selectOrderTaxTotal;\n }\n\n getOrder$(orderId: T['id']): Observable<T> {\n return this.store.pipe(select(this._order(orderId)));\n }\n\n getTotals$(orderId: T['id']): Observable<T['totals']> {\n return this.store.pipe(select(this._totals(orderId)));\n }\n\n getAppliedCodes$(orderId: T['id']): Observable<T['applied_codes']> {\n return this.store.pipe(select(this._appliedCodes(orderId)));\n }\n\n getItems$(orderId: T['id']): Observable<T['items']> {\n return this.store.pipe(select(this._items(orderId)));\n }\n\n getBillingAddresses$(orderId: T['id']): Observable<T['billing_addresses']> {\n return this.store.pipe(select(this._billingAddresses(orderId)));\n }\n\n getShippingAddresses$(orderId: T['id']): Observable<T['shipping_addresses']> {\n return this.store.pipe(select(this._shippingAddresses(orderId)));\n }\n\n getShipments$(orderId: T['id']): Observable<T['shipments']> {\n return this.store.pipe(select(this._shipments(orderId)));\n }\n\n getPayment$(orderId: T['id']): Observable<T['payment']> {\n return this.store.pipe(select(this._payment(orderId)));\n }\n\n getInvoices$(orderId: T['id']): Observable<T['invoices']> {\n return this.store.pipe(select(this._invoices(orderId)));\n }\n\n getCredits$(orderId: T['id']): Observable<T['credits']> {\n return this.store.pipe(select(this._credits(orderId)));\n }\n\n getGrandTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._grandTotal(orderId)));\n };\n getSubtotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._subtotal(orderId)));\n };\n getShippingTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._shipping(orderId)));\n };\n getDiscountTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._discount(orderId)));\n };\n hasDiscount$(orderId: T['id']): Observable<boolean> {\n return this.store.pipe(select(this._hasDiscount(orderId)));\n };\n getTaxTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._tax(orderId)));\n };\n\n dispatch(action: Action) {\n this.store.dispatch(action);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport {\n DaffCollectionFacadeInterface,\n DaffCollectionFacade,\n} from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderCollection,\n} from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from '../../selectors/public_api';\n\n/**\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOrderCollectionFacade<T extends DaffOrder = DaffOrder>\n extends DaffCollectionFacade<DaffOrderStateRootSlice<T>, DaffOrderCollection['metadata']>\n implements DaffCollectionFacadeInterface<DaffOrderCollection['metadata']> {\n constructor(store: Store<DaffOrderStateRootSlice<T>>) {\n\t super(\n store,\n getDaffOrderCollectionSelectors(),\n );\n }\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n asyncScheduler,\n of,\n} from 'rxjs';\nimport {\n switchMap,\n map,\n catchError,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n daffCollectionBuildRequestFromMetadata,\n DaffError,\n} from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} from '@daffodil/order';\nimport {\n DaffOrderServiceInterface,\n DaffOrderDriver,\n} from '@daffodil/order/driver';\n\nimport {\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n DaffOrderListFailure,\n DaffOrderListSuccess,\n} from '../actions/public_api';\nimport { DaffOrderCollectionFacade } from '../facades/public_api';\n\nexport const DAFF_ORDER_COLLECTION_ACTION_TYPES = [\n DaffOrderCollectionActionTypes.ChangeCurrentPageAction,\n DaffOrderCollectionActionTypes.ChangePageSizeAction,\n DaffOrderCollectionActionTypes.ChangeSortingAction,\n DaffOrderCollectionActionTypes.ChangeFilterAction,\n];\n\n@Injectable()\nexport class DaffOrderCollectionEffects<\n T extends DaffOrder = DaffOrder,\n> {\n constructor(\n private actions$: Actions,\n private collectionFacade: DaffOrderCollectionFacade,\n @Inject(DaffOrderDriver) private driver: DaffOrderServiceInterface<T>,\n @Inject(DAFF_ORDER_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n /**\n * Updates the order collection according to the action.\n * It will take the request metedata, including currently\n * applied filters, from state, form them into a request,\n * and pass that into the {@link DaffProductCollectionDriverCall} provided to this class.\n *\n * @param throttleWindow the amount of time to delay when apply/removing filters\n * in a sequence.\n */\n update$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(\n ofType<DaffOrderCollectionActions>(...DAFF_ORDER_COLLECTION_ACTION_TYPES),\n withLatestFrom(\n this.collectionFacade.metadata$,\n ),\n throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }),\n switchMap(([action, metadata]) => this.driver.list(\n action.cartId,\n daffCollectionBuildRequestFromMetadata(metadata),\n ).pipe(\n map(resp => new DaffOrderListSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderListFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport {\n switchMap,\n map,\n catchError,\n} from 'rxjs/operators';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} from '@daffodil/order';\nimport {\n DaffOrderServiceInterface,\n DaffOrderDriver,\n} from '@daffodil/order/driver';\n\nimport {\n DaffOrderActionTypes,\n DaffOrderLoad,\n DaffOrderLoadSuccess,\n DaffOrderLoadFailure,\n DaffOrderList,\n DaffOrderListSuccess,\n DaffOrderListFailure,\n} from '../actions/order.actions';\n\n@Injectable()\nexport class DaffOrderEffects<\n T extends DaffOrder = DaffOrder,\n> {\n constructor(\n private actions$: Actions,\n @Inject(DaffOrderDriver) private driver: DaffOrderServiceInterface<T>,\n @Inject(DAFF_ORDER_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n /**\n * An effect for the loading of an order.\n */\n\n get$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderLoadAction),\n switchMap((action: DaffOrderLoad<T>) =>\n this.driver.get(action.orderId, action.cartId).pipe(\n map(resp => new DaffOrderLoadSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderLoadFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n\n /**\n * An effect for the listing of orders.\n */\n\n list$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderListAction),\n switchMap((action: DaffOrderList) =>\n this.driver.list(action.cartId, action.request).pipe(\n map(resp => new DaffOrderListSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderListFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n}\n","import { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { DaffCartStateModule } from '@daffodil/cart/state';\n\nimport { DaffOrderCollectionEffects } from './effects/order-collection.effects';\nimport { DaffOrderEffects } from './effects/order.effects';\nimport {\n DAFF_ORDER_STORE_FEATURE_KEY,\n daffOrderReducers,\n} from './reducers/public_api';\n\n@NgModule({\n imports: [\n DaffCartStateModule,\n EffectsModule.forFeature([\n DaffOrderEffects,\n DaffOrderCollectionEffects,\n ]),\n StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),\n ],\n})\nexport class DaffOrderStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DaffOrderCollectionFacade","i2"],"mappings":"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"}
|