@daffodil/product-composite 0.59.0 → 0.59.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/driver/in-memory/package.json +1 -10
- package/driver/magento/package.json +1 -10
- package/driver/magento/testing/package.json +1 -10
- package/driver/testing/package.json +1 -10
- package/esm2020/routing/effects/product-page.effects.mjs +8 -14
- package/esm2020/routing/module.mjs +8 -2
- package/esm2020/routing/services/query-param.service.mjs +28 -0
- package/fesm2015/daffodil-product-composite-routing.mjs +38 -13
- package/fesm2015/daffodil-product-composite-routing.mjs.map +1 -1
- package/fesm2020/daffodil-product-composite-routing.mjs +36 -13
- package/fesm2020/daffodil-product-composite-routing.mjs.map +1 -1
- package/package.json +1 -132
- package/routing/effects/product-page.effects.d.ts +3 -7
- package/routing/package.json +1 -10
- package/routing/services/query-param.service.d.ts +13 -0
- package/state/package.json +1 -10
- package/state/testing/package.json +1 -10
- package/testing/package.json +1 -10
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/driver/in-memory",
|
3
|
-
"module": "../../fesm2015/daffodil-product-composite-driver-in-memory.mjs",
|
4
|
-
"es2020": "../../fesm2020/daffodil-product-composite-driver-in-memory.mjs",
|
5
|
-
"esm2020": "../../esm2020/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs",
|
6
|
-
"fesm2020": "../../fesm2020/daffodil-product-composite-driver-in-memory.mjs",
|
7
|
-
"fesm2015": "../../fesm2015/daffodil-product-composite-driver-in-memory.mjs",
|
8
|
-
"typings": "daffodil-product-composite-driver-in-memory.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/driver/in-memory","module":"../../fesm2015/daffodil-product-composite-driver-in-memory.mjs","es2020":"../../fesm2020/daffodil-product-composite-driver-in-memory.mjs","esm2020":"../../esm2020/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs","fesm2020":"../../fesm2020/daffodil-product-composite-driver-in-memory.mjs","fesm2015":"../../fesm2015/daffodil-product-composite-driver-in-memory.mjs","typings":"daffodil-product-composite-driver-in-memory.d.ts","sideEffects":false,"version":"0.59.2"}
|
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/driver/magento",
|
3
|
-
"module": "../../fesm2015/daffodil-product-composite-driver-magento.mjs",
|
4
|
-
"es2020": "../../fesm2020/daffodil-product-composite-driver-magento.mjs",
|
5
|
-
"esm2020": "../../esm2020/driver/magento/daffodil-product-composite-driver-magento.mjs",
|
6
|
-
"fesm2020": "../../fesm2020/daffodil-product-composite-driver-magento.mjs",
|
7
|
-
"fesm2015": "../../fesm2015/daffodil-product-composite-driver-magento.mjs",
|
8
|
-
"typings": "daffodil-product-composite-driver-magento.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/driver/magento","module":"../../fesm2015/daffodil-product-composite-driver-magento.mjs","es2020":"../../fesm2020/daffodil-product-composite-driver-magento.mjs","esm2020":"../../esm2020/driver/magento/daffodil-product-composite-driver-magento.mjs","fesm2020":"../../fesm2020/daffodil-product-composite-driver-magento.mjs","fesm2015":"../../fesm2015/daffodil-product-composite-driver-magento.mjs","typings":"daffodil-product-composite-driver-magento.d.ts","sideEffects":false,"version":"0.59.2"}
|
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/driver/magento/testing",
|
3
|
-
"module": "../../../fesm2015/daffodil-product-composite-driver-magento-testing.mjs",
|
4
|
-
"es2020": "../../../fesm2020/daffodil-product-composite-driver-magento-testing.mjs",
|
5
|
-
"esm2020": "../../../esm2020/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs",
|
6
|
-
"fesm2020": "../../../fesm2020/daffodil-product-composite-driver-magento-testing.mjs",
|
7
|
-
"fesm2015": "../../../fesm2015/daffodil-product-composite-driver-magento-testing.mjs",
|
8
|
-
"typings": "daffodil-product-composite-driver-magento-testing.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/driver/magento/testing","module":"../../../fesm2015/daffodil-product-composite-driver-magento-testing.mjs","es2020":"../../../fesm2020/daffodil-product-composite-driver-magento-testing.mjs","esm2020":"../../../esm2020/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs","fesm2020":"../../../fesm2020/daffodil-product-composite-driver-magento-testing.mjs","fesm2015":"../../../fesm2015/daffodil-product-composite-driver-magento-testing.mjs","typings":"daffodil-product-composite-driver-magento-testing.d.ts","sideEffects":false,"version":"0.59.2"}
|
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/driver/testing",
|
3
|
-
"module": "../../fesm2015/daffodil-product-composite-driver-testing.mjs",
|
4
|
-
"es2020": "../../fesm2020/daffodil-product-composite-driver-testing.mjs",
|
5
|
-
"esm2020": "../../esm2020/driver/testing/daffodil-product-composite-driver-testing.mjs",
|
6
|
-
"fesm2020": "../../fesm2020/daffodil-product-composite-driver-testing.mjs",
|
7
|
-
"fesm2015": "../../fesm2015/daffodil-product-composite-driver-testing.mjs",
|
8
|
-
"typings": "daffodil-product-composite-driver-testing.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/driver/testing","module":"../../fesm2015/daffodil-product-composite-driver-testing.mjs","es2020":"../../fesm2020/daffodil-product-composite-driver-testing.mjs","esm2020":"../../esm2020/driver/testing/daffodil-product-composite-driver-testing.mjs","fesm2020":"../../fesm2020/daffodil-product-composite-driver-testing.mjs","fesm2015":"../../fesm2015/daffodil-product-composite-driver-testing.mjs","typings":"daffodil-product-composite-driver-testing.d.ts","sideEffects":false,"version":"0.59.2"}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { Inject, Injectable, } from '@angular/core';
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
3
2
|
import { Actions, createEffect, ofType, } from '@ngrx/effects';
|
4
3
|
import { EMPTY, of, } from 'rxjs';
|
5
4
|
import { switchMap, } from 'rxjs/operators';
|
@@ -7,9 +6,10 @@ import { DaffProductTypeEnum, } from '@daffodil/product';
|
|
7
6
|
import { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';
|
8
7
|
import { DaffProductPageActionTypes, } from '@daffodil/product/state';
|
9
8
|
import { DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG, } from '../config/public_api';
|
9
|
+
import { DaffProductCompositeQueryParamService } from '../services/query-param.service';
|
10
10
|
import * as i0 from "@angular/core";
|
11
11
|
import * as i1 from "@ngrx/effects";
|
12
|
-
import * as i2 from "
|
12
|
+
import * as i2 from "../services/query-param.service";
|
13
13
|
/**
|
14
14
|
* Builds the apply actions from the list of selected options.
|
15
15
|
*/
|
@@ -27,15 +27,15 @@ function buildApplyActions(product, itemId, selectedOptions) {
|
|
27
27
|
* Handles composite product specific actions for the product page.
|
28
28
|
*/
|
29
29
|
export class DaffProductCompositePageEffects {
|
30
|
-
constructor(actions$,
|
30
|
+
constructor(actions$, paramGetter, config) {
|
31
31
|
this.actions$ = actions$;
|
32
|
-
this.
|
32
|
+
this.paramGetter = paramGetter;
|
33
33
|
this.config = config;
|
34
34
|
/**
|
35
35
|
* Applies composite item options based on the value of the configured query param.
|
36
36
|
*/
|
37
37
|
this.preselectCompositeOptions$ = createEffect(() => this.actions$.pipe(ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction), switchMap((action) => {
|
38
|
-
const queryParam = this.
|
38
|
+
const queryParam = this.paramGetter.get();
|
39
39
|
// get the product corresponding to the current product page
|
40
40
|
const product = action.payload.products.filter(({ id }) => id === action.payload.id)[0];
|
41
41
|
// if we don't have a query param set or if the product isn't composite,
|
@@ -55,19 +55,13 @@ export class DaffProductCompositePageEffects {
|
|
55
55
|
return of(...applyActions);
|
56
56
|
})));
|
57
57
|
}
|
58
|
-
/**
|
59
|
-
* Get the value of the configured composite selection query param.
|
60
|
-
*/
|
61
|
-
getQueryParam() {
|
62
|
-
return this.route.snapshot.queryParamMap.get(this.config.compositeSelectionQueryParam);
|
63
|
-
}
|
64
58
|
}
|
65
|
-
/** @nocollapse */ DaffProductCompositePageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, deps: [{ token: i1.Actions }, { token: i2.
|
59
|
+
/** @nocollapse */ DaffProductCompositePageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, deps: [{ token: i1.Actions }, { token: i2.DaffProductCompositeQueryParamService }, { token: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
66
60
|
/** @nocollapse */ DaffProductCompositePageEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects });
|
67
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, decorators: [{
|
68
62
|
type: Injectable
|
69
|
-
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.
|
63
|
+
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.DaffProductCompositeQueryParamService }, { type: undefined, decorators: [{
|
70
64
|
type: Inject,
|
71
65
|
args: [DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG]
|
72
66
|
}] }]; } });
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wYWdlLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL3JvdXRpbmcvc3JjL2VmZmVjdHMvcHJvZHVjdC1wYWdlLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLE9BQU8sRUFFUCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxLQUFLLEVBRUwsRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUVMLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFFTCxtQkFBbUIsR0FDcEIsTUFBTSxtQkFBbUIsQ0FBQztBQU8zQixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRixPQUFPLEVBQ0wsMEJBQTBCLEdBRTNCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUVMLHFDQUFxQyxHQUN0QyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBRXhGOztHQUVHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBd0QsT0FBNkIsRUFBRSxNQUFzQyxFQUFFLGVBQXVEO0lBQzlNLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBRXBFLE9BQU8sYUFBYTtRQUNsQixDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3hDLDRDQUE0QztZQUM1QyxNQUFNLEdBQUcsR0FBRyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQztZQUV4RixPQUFPLElBQUksK0JBQStCLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDO1FBQ0YsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNULENBQUM7QUFFRDs7R0FFRztBQUVILE1BQU0sT0FBTywrQkFBK0I7SUFDMUMsWUFDVSxRQUFpQixFQUNqQixXQUFrRCxFQUNILE1BQXlDO1FBRnhGLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsZ0JBQVcsR0FBWCxXQUFXLENBQXVDO1FBQ0gsV0FBTSxHQUFOLE1BQU0sQ0FBbUM7UUFHbEc7O1dBRUc7UUFDSCwrQkFBMEIsR0FBa0UsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMvSCxNQUFNLENBQUMsMEJBQTBCLENBQUMsNEJBQTRCLENBQUMsRUFDL0QsU0FBUyxDQUFDLENBQUMsTUFBcUMsRUFBRSxFQUFFO1lBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFMUMsNERBQTREO1lBQzVELE1BQU0sT0FBTyxHQUF5QixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5Ryx3RUFBd0U7WUFDeEUsd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xFLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCxJQUFJLFNBQStDLENBQUM7WUFFcEQsSUFBSTtnQkFDRixTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDakY7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLEtBQUssQ0FBQzthQUNkO1lBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQ2hELENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQzFGLEVBQUUsQ0FDSCxDQUFDO1lBRUYsNERBQTREO1lBQzVELE9BQU8sRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxDQUFDO0lBbkNBLENBQUM7OytJQUxPLCtCQUErQiw4RkFJaEMscUNBQXFDO21KQUpwQywrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBET0NVTUVOVCxcbiAgTG9jYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQWN0aW9ucyxcbiAgRWZmZWN0LFxuICBjcmVhdGVFZmZlY3QsXG4gIG9mVHlwZSxcbn0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICBFTVBUWSxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgbWFwLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgRGFmZlByb2R1Y3QsXG4gIERhZmZQcm9kdWN0VHlwZUVudW0sXG59IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0JztcbmltcG9ydCB7XG4gIERhZmZDb21wb3NpdGVQcm9kdWN0LFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbixcbiAgRGFmZlByb2R1Y3RDb21wb3NpdGVTZWxlY3Rpb25QYXlsb2FkLFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC1jb21wb3NpdGUnO1xuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RBcHBseU9wdGlvbiB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0LWNvbXBvc2l0ZS9zdGF0ZSc7XG5pbXBvcnQge1xuICBEYWZmUHJvZHVjdFBhZ2VBY3Rpb25UeXBlcyxcbiAgRGFmZlByb2R1Y3RQYWdlTG9hZFN1Y2Nlc3MsXG59IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0L3N0YXRlJztcblxuaW1wb3J0IHtcbiAgRGFmZlByb2R1Y3RDb21wb3NpdGVSb3V0aW5nQ29uZmlnLFxuICBEQUZGX1BST0RVQ1RfQ09NUE9TSVRFX1JPVVRJTkdfQ09ORklHLFxufSBmcm9tICcuLi9jb25maWcvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBEYWZmUHJvZHVjdENvbXBvc2l0ZVF1ZXJ5UGFyYW1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnktcGFyYW0uc2VydmljZSc7XG5cbi8qKlxuICogQnVpbGRzIHRoZSBhcHBseSBhY3Rpb25zIGZyb20gdGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24gYnVpbGRBcHBseUFjdGlvbnM8VCBleHRlbmRzIERhZmZDb21wb3NpdGVQcm9kdWN0ID0gRGFmZkNvbXBvc2l0ZVByb2R1Y3Q+KHByb2R1Y3Q6IERhZmZDb21wb3NpdGVQcm9kdWN0LCBpdGVtSWQ6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbVsnaWQnXSwgc2VsZWN0ZWRPcHRpb25zOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb25bJ2lkJ11bXSk6IERhZmZDb21wb3NpdGVQcm9kdWN0QXBwbHlPcHRpb248VD5bXSB7XG4gIGNvbnN0IHNlbGVjdGlvbkl0ZW0gPSBwcm9kdWN0Lml0ZW1zLmZpbmQoKHsgaWQgfSkgPT4gaWQgPT09IGl0ZW1JZCk7XG5cbiAgcmV0dXJuIHNlbGVjdGlvbkl0ZW1cbiAgICA/IHNlbGVjdGVkT3B0aW9ucy5tYXAoc2VsZWN0aW9uT3B0aW9uSWQgPT4ge1xuICAgICAgLy8gdXNlIHRoZSBxdWFudGl0eSBvZiB0aGUgcmVmZXJlbmNlZCBvcHRpb25cbiAgICAgIGNvbnN0IHF0eSA9IHNlbGVjdGlvbkl0ZW0/Lm9wdGlvbnMuZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gc2VsZWN0aW9uT3B0aW9uSWQpPy5xdWFudGl0eTtcblxuICAgICAgcmV0dXJuIG5ldyBEYWZmQ29tcG9zaXRlUHJvZHVjdEFwcGx5T3B0aW9uKHByb2R1Y3QuaWQsIGl0ZW1JZCwgc2VsZWN0aW9uT3B0aW9uSWQsIHF0eSk7XG4gICAgfSlcbiAgICA6IFtdO1xufVxuXG4vKipcbiAqIEhhbmRsZXMgY29tcG9zaXRlIHByb2R1Y3Qgc3BlY2lmaWMgYWN0aW9ucyBmb3IgdGhlIHByb2R1Y3QgcGFnZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhZmZQcm9kdWN0Q29tcG9zaXRlUGFnZUVmZmVjdHM8VCBleHRlbmRzIERhZmZDb21wb3NpdGVQcm9kdWN0ID0gRGFmZkNvbXBvc2l0ZVByb2R1Y3Q+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHBhcmFtR2V0dGVyOiBEYWZmUHJvZHVjdENvbXBvc2l0ZVF1ZXJ5UGFyYW1TZXJ2aWNlLFxuICAgIEBJbmplY3QoREFGRl9QUk9EVUNUX0NPTVBPU0lURV9ST1VUSU5HX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IERhZmZQcm9kdWN0Q29tcG9zaXRlUm91dGluZ0NvbmZpZyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGNvbXBvc2l0ZSBpdGVtIG9wdGlvbnMgYmFzZWQgb24gdGhlIHZhbHVlIG9mIHRoZSBjb25maWd1cmVkIHF1ZXJ5IHBhcmFtLlxuICAgKi9cbiAgcHJlc2VsZWN0Q29tcG9zaXRlT3B0aW9ucyQ6IE9ic2VydmFibGU8dHlwZW9mIEVNUFRZIHwgRGFmZkNvbXBvc2l0ZVByb2R1Y3RBcHBseU9wdGlvbjxUPj4gPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShEYWZmUHJvZHVjdFBhZ2VBY3Rpb25UeXBlcy5Qcm9kdWN0UGFnZUxvYWRTdWNjZXNzQWN0aW9uKSxcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbjogRGFmZlByb2R1Y3RQYWdlTG9hZFN1Y2Nlc3M8VD4pID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW0gPSB0aGlzLnBhcmFtR2V0dGVyLmdldCgpO1xuXG4gICAgICAvLyBnZXQgdGhlIHByb2R1Y3QgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVudCBwcm9kdWN0IHBhZ2VcbiAgICAgIGNvbnN0IHByb2R1Y3Q6IERhZmZDb21wb3NpdGVQcm9kdWN0ID0gYWN0aW9uLnBheWxvYWQucHJvZHVjdHMuZmlsdGVyKCh7IGlkIH0pID0+IGlkID09PSBhY3Rpb24ucGF5bG9hZC5pZClbMF07XG5cbiAgICAgIC8vIGlmIHdlIGRvbid0IGhhdmUgYSBxdWVyeSBwYXJhbSBzZXQgb3IgaWYgdGhlIHByb2R1Y3QgaXNuJ3QgY29tcG9zaXRlLFxuICAgICAgLy8gd2UgaGF2ZSBub3RoaW5nIHRvIGRvXG4gICAgICBpZiAoIXF1ZXJ5UGFyYW0gfHwgcHJvZHVjdD8udHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgfVxuXG4gICAgICBsZXQgc2VsZWN0aW9uOiBEYWZmUHJvZHVjdENvbXBvc2l0ZVNlbGVjdGlvblBheWxvYWQ7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHNlbGVjdGlvbiA9IHRoaXMuY29uZmlnLmNvbXBvc2l0ZVNlbGVjdGlvblF1ZXJ5UGFyYW1EZWNvZGUocXVlcnlQYXJhbSwgcHJvZHVjdCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFwcGx5QWN0aW9ucyA9IE9iamVjdC5rZXlzKHNlbGVjdGlvbikucmVkdWNlPERhZmZDb21wb3NpdGVQcm9kdWN0QXBwbHlPcHRpb248VD5bXT4oXG4gICAgICAgIChhY3Rpb25zLCBpdGVtSWQpID0+IGFjdGlvbnMuY29uY2F0KGJ1aWxkQXBwbHlBY3Rpb25zKHByb2R1Y3QsIGl0ZW1JZCwgc2VsZWN0aW9uW2l0ZW1JZF0pKSxcbiAgICAgICAgW10sXG4gICAgICApO1xuXG4gICAgICAvLyBkaXNwYXRjaCBlYWNoIG9mIHRoZSBhcHBseSBhY3Rpb25zIGludG8gdGhlIGFjdGlvbiBzdHJlYW1cbiAgICAgIHJldHVybiBvZiguLi5hcHBseUFjdGlvbnMpO1xuICAgIH0pLFxuICApKTtcbn1cbiJdfQ==
|
@@ -3,6 +3,7 @@ import { EffectsModule } from '@ngrx/effects';
|
|
3
3
|
import { DaffBase64ServiceToken } from '@daffodil/core';
|
4
4
|
import { daffProductCompositeRoutingConfigDefaultFactory, DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG, } from './config/public_api';
|
5
5
|
import { DaffProductCompositePageEffects } from './effects/public_api';
|
6
|
+
import { DaffProductCompositeQueryParamService } from './services/query-param.service';
|
6
7
|
import * as i0 from "@angular/core";
|
7
8
|
import * as i1 from "@ngrx/effects";
|
8
9
|
export class DaffProductCompositeRoutingModule {
|
@@ -23,7 +24,9 @@ export class DaffProductCompositeRoutingModule {
|
|
23
24
|
}
|
24
25
|
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
25
26
|
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, imports: [i1.EffectsFeatureModule] });
|
26
|
-
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule,
|
27
|
+
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, providers: [
|
28
|
+
DaffProductCompositeQueryParamService,
|
29
|
+
], imports: [[
|
27
30
|
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
28
31
|
]] });
|
29
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, decorators: [{
|
@@ -32,6 +35,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
32
35
|
imports: [
|
33
36
|
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
34
37
|
],
|
38
|
+
providers: [
|
39
|
+
DaffProductCompositeQueryParamService,
|
40
|
+
],
|
35
41
|
}]
|
36
42
|
}] });
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS9yb3V0aW5nL3NyYy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFFTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBRUwsK0NBQStDLEVBQy9DLHFDQUFxQyxHQUN0QyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFVdkYsTUFBTSxPQUFPLGlDQUFpQztJQUM1QyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTBDO1FBQzFELE9BQU87WUFDTCxRQUFRLEVBQUUsaUNBQWlDO1lBQzNDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUscUNBQXFDO29CQUM5QyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFDakIsR0FBRywrQ0FBK0MsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQzt3QkFDbEYsR0FBRyxNQUFNLElBQUksRUFBRTtxQkFDaEIsQ0FBQztpQkFDSDthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2lKQWRVLGlDQUFpQztrSkFBakMsaUNBQWlDO2tKQUFqQyxpQ0FBaUMsYUFKakM7UUFDVCxxQ0FBcUM7S0FDdEMsWUFMUTtZQUNQLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQzVEOzJGQUtVLGlDQUFpQztrQkFSN0MsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLCtCQUErQixDQUFDLENBQUM7cUJBQzVEO29CQUNELFNBQVMsRUFBRTt3QkFDVCxxQ0FBcUM7cUJBQ3RDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaW5qZWN0LFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5cbmltcG9ydCB7IERhZmZCYXNlNjRTZXJ2aWNlVG9rZW4gfSBmcm9tICdAZGFmZm9kaWwvY29yZSc7XG5cbmltcG9ydCB7XG4gIERhZmZQcm9kdWN0Q29tcG9zaXRlUm91dGluZ0NvbmZpZyxcbiAgZGFmZlByb2R1Y3RDb21wb3NpdGVSb3V0aW5nQ29uZmlnRGVmYXVsdEZhY3RvcnksXG4gIERBRkZfUFJPRFVDVF9DT01QT1NJVEVfUk9VVElOR19DT05GSUcsXG59IGZyb20gJy4vY29uZmlnL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgRGFmZlByb2R1Y3RDb21wb3NpdGVQYWdlRWZmZWN0cyB9IGZyb20gJy4vZWZmZWN0cy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IERhZmZQcm9kdWN0Q29tcG9zaXRlUXVlcnlQYXJhbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3F1ZXJ5LXBhcmFtLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtEYWZmUHJvZHVjdENvbXBvc2l0ZVBhZ2VFZmZlY3RzXSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIERhZmZQcm9kdWN0Q29tcG9zaXRlUXVlcnlQYXJhbVNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhZmZQcm9kdWN0Q29tcG9zaXRlUm91dGluZ01vZHVsZSB7XG4gIHN0YXRpYyB3aXRoQ29uZmlnKGNvbmZpZz86IERhZmZQcm9kdWN0Q29tcG9zaXRlUm91dGluZ0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGFmZlByb2R1Y3RDb21wb3NpdGVSb3V0aW5nTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEYWZmUHJvZHVjdENvbXBvc2l0ZVJvdXRpbmdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERBRkZfUFJPRFVDVF9DT01QT1NJVEVfUk9VVElOR19DT05GSUcsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmRhZmZQcm9kdWN0Q29tcG9zaXRlUm91dGluZ0NvbmZpZ0RlZmF1bHRGYWN0b3J5KGluamVjdChEYWZmQmFzZTY0U2VydmljZVRva2VuKSksXG4gICAgICAgICAgICAuLi5jb25maWcgfHwge30sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { Inject, Injectable, } from '@angular/core';
|
3
|
+
import { DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG, } from '../config/public_api';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class DaffProductCompositeQueryParamService {
|
6
|
+
constructor(document, config) {
|
7
|
+
this.document = document;
|
8
|
+
this.config = config;
|
9
|
+
}
|
10
|
+
/**
|
11
|
+
* Get the value of the configured composite selection query param.
|
12
|
+
*/
|
13
|
+
get() {
|
14
|
+
return (new URL(this.document.location.toString())).searchParams.get(this.config.compositeSelectionQueryParam);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
/** @nocollapse */ DaffProductCompositeQueryParamService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService, deps: [{ token: DOCUMENT }, { token: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
18
|
+
/** @nocollapse */ DaffProductCompositeQueryParamService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService });
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService, decorators: [{
|
20
|
+
type: Injectable
|
21
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
22
|
+
type: Inject,
|
23
|
+
args: [DOCUMENT]
|
24
|
+
}] }, { type: undefined, decorators: [{
|
25
|
+
type: Inject,
|
26
|
+
args: [DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG]
|
27
|
+
}] }]; } });
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvcm91dGluZy9zcmMvc2VydmljZXMvcXVlcnktcGFyYW0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLHFDQUFxQyxHQUV0QyxNQUFNLHNCQUFzQixDQUFDOztBQUc5QixNQUFNLE9BQU8scUNBQXFDO0lBRWhELFlBQzRCLFFBQWEsRUFDZ0IsTUFBeUM7UUFEdEUsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUNnQixXQUFNLEdBQU4sTUFBTSxDQUFtQztJQUNsRyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxHQUFHO1FBQ1IsT0FBTyxDQUNMLElBQUksR0FBRyxDQUFPLElBQUksQ0FBQyxRQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQ2xELENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDL0QsQ0FBQzs7cUpBZFUscUNBQXFDLGtCQUd0QyxRQUFRLGFBQ1IscUNBQXFDO3lKQUpwQyxxQ0FBcUM7MkZBQXJDLHFDQUFxQztrQkFEakQsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIERBRkZfUFJPRFVDVF9DT01QT1NJVEVfUk9VVElOR19DT05GSUcsXG4gIERhZmZQcm9kdWN0Q29tcG9zaXRlUm91dGluZ0NvbmZpZyxcbn0gZnJvbSAnLi4vY29uZmlnL3B1YmxpY19hcGknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGFmZlByb2R1Y3RDb21wb3NpdGVRdWVyeVBhcmFtU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxuICAgIEBJbmplY3QoREFGRl9QUk9EVUNUX0NPTVBPU0lURV9ST1VUSU5HX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IERhZmZQcm9kdWN0Q29tcG9zaXRlUm91dGluZ0NvbmZpZykge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgdGhlIGNvbmZpZ3VyZWQgY29tcG9zaXRlIHNlbGVjdGlvbiBxdWVyeSBwYXJhbS5cbiAgICovXG4gIHB1YmxpYyBnZXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgbmV3IFVSTCgoPGFueT50aGlzLmRvY3VtZW50KS5sb2NhdGlvbi50b1N0cmluZygpKVxuICAgICkuc2VhcmNoUGFyYW1zLmdldCh0aGlzLmNvbmZpZy5jb21wb3NpdGVTZWxlY3Rpb25RdWVyeVBhcmFtKTtcbiAgfVxufVxuIl19
|
@@ -8,7 +8,7 @@ import { switchMap } from 'rxjs/operators';
|
|
8
8
|
import { DaffProductTypeEnum } from '@daffodil/product';
|
9
9
|
import { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';
|
10
10
|
import { DaffProductPageActionTypes } from '@daffodil/product/state';
|
11
|
-
import
|
11
|
+
import { DOCUMENT } from '@angular/common';
|
12
12
|
|
13
13
|
/**
|
14
14
|
* The default configuration for the {@link DaffProductCompositeRoutingConfig}.
|
@@ -34,6 +34,32 @@ function daffProductCompositeRoutingProvideConfig(config) {
|
|
34
34
|
};
|
35
35
|
}
|
36
36
|
|
37
|
+
class DaffProductCompositeQueryParamService {
|
38
|
+
constructor(document, config) {
|
39
|
+
this.document = document;
|
40
|
+
this.config = config;
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* Get the value of the configured composite selection query param.
|
44
|
+
*/
|
45
|
+
get() {
|
46
|
+
return (new URL(this.document.location.toString())).searchParams.get(this.config.compositeSelectionQueryParam);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
/** @nocollapse */ DaffProductCompositeQueryParamService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService, deps: [{ token: DOCUMENT }, { token: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
50
|
+
/** @nocollapse */ DaffProductCompositeQueryParamService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService });
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService, decorators: [{
|
52
|
+
type: Injectable
|
53
|
+
}], ctorParameters: function () {
|
54
|
+
return [{ type: undefined, decorators: [{
|
55
|
+
type: Inject,
|
56
|
+
args: [DOCUMENT]
|
57
|
+
}] }, { type: undefined, decorators: [{
|
58
|
+
type: Inject,
|
59
|
+
args: [DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG]
|
60
|
+
}] }];
|
61
|
+
} });
|
62
|
+
|
37
63
|
/**
|
38
64
|
* Builds the apply actions from the list of selected options.
|
39
65
|
*/
|
@@ -52,15 +78,15 @@ function buildApplyActions(product, itemId, selectedOptions) {
|
|
52
78
|
* Handles composite product specific actions for the product page.
|
53
79
|
*/
|
54
80
|
class DaffProductCompositePageEffects {
|
55
|
-
constructor(actions$,
|
81
|
+
constructor(actions$, paramGetter, config) {
|
56
82
|
this.actions$ = actions$;
|
57
|
-
this.
|
83
|
+
this.paramGetter = paramGetter;
|
58
84
|
this.config = config;
|
59
85
|
/**
|
60
86
|
* Applies composite item options based on the value of the configured query param.
|
61
87
|
*/
|
62
88
|
this.preselectCompositeOptions$ = createEffect(() => this.actions$.pipe(ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction), switchMap((action) => {
|
63
|
-
const queryParam = this.
|
89
|
+
const queryParam = this.paramGetter.get();
|
64
90
|
// get the product corresponding to the current product page
|
65
91
|
const product = action.payload.products.filter(({ id }) => id === action.payload.id)[0];
|
66
92
|
// if we don't have a query param set or if the product isn't composite,
|
@@ -80,19 +106,13 @@ class DaffProductCompositePageEffects {
|
|
80
106
|
return of(...applyActions);
|
81
107
|
})));
|
82
108
|
}
|
83
|
-
/**
|
84
|
-
* Get the value of the configured composite selection query param.
|
85
|
-
*/
|
86
|
-
getQueryParam() {
|
87
|
-
return this.route.snapshot.queryParamMap.get(this.config.compositeSelectionQueryParam);
|
88
|
-
}
|
89
109
|
}
|
90
|
-
/** @nocollapse */ DaffProductCompositePageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, deps: [{ token: i1.Actions }, { token:
|
110
|
+
/** @nocollapse */ DaffProductCompositePageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, deps: [{ token: i1.Actions }, { token: DaffProductCompositeQueryParamService }, { token: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
91
111
|
/** @nocollapse */ DaffProductCompositePageEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects });
|
92
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, decorators: [{
|
93
113
|
type: Injectable
|
94
114
|
}], ctorParameters: function () {
|
95
|
-
return [{ type: i1.Actions }, { type:
|
115
|
+
return [{ type: i1.Actions }, { type: DaffProductCompositeQueryParamService }, { type: undefined, decorators: [{
|
96
116
|
type: Inject,
|
97
117
|
args: [DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG]
|
98
118
|
}] }];
|
@@ -113,7 +133,9 @@ class DaffProductCompositeRoutingModule {
|
|
113
133
|
}
|
114
134
|
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
115
135
|
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, imports: [i1.EffectsFeatureModule] });
|
116
|
-
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule,
|
136
|
+
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, providers: [
|
137
|
+
DaffProductCompositeQueryParamService,
|
138
|
+
], imports: [[
|
117
139
|
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
118
140
|
]] });
|
119
141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, decorators: [{
|
@@ -122,6 +144,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
122
144
|
imports: [
|
123
145
|
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
124
146
|
],
|
147
|
+
providers: [
|
148
|
+
DaffProductCompositeQueryParamService,
|
149
|
+
],
|
125
150
|
}]
|
126
151
|
}] });
|
127
152
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-product-composite-routing.mjs","sources":["../../../libs/product-composite/routing/src/config/default.ts","../../../libs/product-composite/routing/src/config/token.ts","../../../libs/product-composite/routing/src/effects/product-page.effects.ts","../../../libs/product-composite/routing/src/module.ts","../../../libs/product-composite/routing/src/daffodil-product-composite-routing.ts"],"sourcesContent":["import { DaffBase64Service } from '@daffodil/core';\n\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The default configuration for the {@link DaffProductCompositeRoutingConfig}.\n */\nexport const daffProductCompositeRoutingConfigDefaultFactory = (base64: DaffBase64Service): DaffProductCompositeRoutingConfig => ({\n compositeSelectionQueryParam: 'composite_selection',\n compositeSelectionQueryParamDecode: (queryParam: string) => JSON.parse(base64.decode(queryParam)),\n});\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n} from '@angular/core';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport { daffProductCompositeRoutingConfigDefaultFactory } from './default';\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The token used to provide @daffodil/product-composite/routing config data.\n */\nexport const DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG = new InjectionToken<DaffProductCompositeRoutingConfig>('DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG', {\n factory: () => daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n});\n\n/**\n * Provides the {@link DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG} token.\n */\nexport function daffProductCompositeRoutingProvideConfig(config: Partial<DaffProductCompositeRoutingConfig>): FactoryProvider {\n return {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config,\n }),\n };\n}\n","import { Location } from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n Actions,\n Effect,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n EMPTY,\n Observable,\n of,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffProduct,\n DaffProductTypeEnum,\n} from '@daffodil/product';\nimport {\n DaffCompositeProduct,\n DaffCompositeProductItem,\n DaffCompositeProductItemOption,\n DaffProductCompositeSelectionPayload,\n} from '@daffodil/product-composite';\nimport { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';\nimport {\n DaffProductPageActionTypes,\n DaffProductPageLoadSuccess,\n} from '@daffodil/product/state';\n\nimport {\n DaffProductCompositeRoutingConfig,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from '../config/public_api';\n\n/**\n * Builds the apply actions from the list of selected options.\n */\nfunction buildApplyActions<T extends DaffCompositeProduct = DaffCompositeProduct>(product: DaffCompositeProduct, itemId: DaffCompositeProductItem['id'], selectedOptions: DaffCompositeProductItemOption['id'][]): DaffCompositeProductApplyOption<T>[] {\n const selectionItem = product.items.find(({ id }) => id === itemId);\n\n return selectionItem\n ? selectedOptions.map(selectionOptionId => {\n // use the quantity of the referenced option\n const qty = selectionItem?.options.find(({ id }) => id === selectionOptionId)?.quantity;\n\n return new DaffCompositeProductApplyOption(product.id, itemId, selectionOptionId, qty);\n })\n : [];\n}\n\n/**\n * Handles composite product specific actions for the product page.\n */\n@Injectable()\nexport class DaffProductCompositePageEffects<T extends DaffCompositeProduct = DaffCompositeProduct> {\n constructor(\n private actions$: Actions,\n private route: ActivatedRoute,\n @Inject(DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG) private config: DaffProductCompositeRoutingConfig,\n ) {}\n\n /**\n * Get the value of the configured composite selection query param.\n */\n private getQueryParam(): string {\n return this.route.snapshot.queryParamMap.get(this.config.compositeSelectionQueryParam);\n }\n\n /**\n * Applies composite item options based on the value of the configured query param.\n */\n preselectCompositeOptions$: Observable<typeof EMPTY | DaffCompositeProductApplyOption<T>> = createEffect(() => this.actions$.pipe(\n ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction),\n switchMap((action: DaffProductPageLoadSuccess<T>) => {\n const queryParam = this.getQueryParam();\n // get the product corresponding to the current product page\n const product: DaffCompositeProduct = action.payload.products.filter(({ id }) => id === action.payload.id)[0];\n\n // if we don't have a query param set or if the product isn't composite,\n // we have nothing to do\n if (!queryParam || product?.type !== DaffProductTypeEnum.Composite) {\n return EMPTY;\n }\n\n let selection: DaffProductCompositeSelectionPayload;\n\n try {\n selection = this.config.compositeSelectionQueryParamDecode(queryParam, product);\n } catch (error) {\n return EMPTY;\n }\n\n const applyActions = Object.keys(selection).reduce<DaffCompositeProductApplyOption<T>[]>(\n (actions, itemId) => actions.concat(buildApplyActions(product, itemId, selection[itemId])),\n [],\n );\n\n // dispatch each of the apply actions into the action stream\n return of(...applyActions);\n }),\n ));\n}\n","import {\n inject,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport {\n DaffProductCompositeRoutingConfig,\n daffProductCompositeRoutingConfigDefaultFactory,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from './config/public_api';\nimport { DaffProductCompositePageEffects } from './effects/public_api';\n\n@NgModule({\n imports: [\n EffectsModule.forFeature([DaffProductCompositePageEffects]),\n ],\n})\nexport class DaffProductCompositeRoutingModule {\n static withConfig(config?: DaffProductCompositeRoutingConfig): ModuleWithProviders<DaffProductCompositeRoutingModule> {\n return {\n ngModule: DaffProductCompositeRoutingModule,\n providers: [\n {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config || {},\n }),\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-product-composite-routing.mjs","sources":["../../../libs/product-composite/routing/src/config/default.ts","../../../libs/product-composite/routing/src/config/token.ts","../../../libs/product-composite/routing/src/services/query-param.service.ts","../../../libs/product-composite/routing/src/effects/product-page.effects.ts","../../../libs/product-composite/routing/src/module.ts","../../../libs/product-composite/routing/src/daffodil-product-composite-routing.ts"],"sourcesContent":["import { DaffBase64Service } from '@daffodil/core';\n\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The default configuration for the {@link DaffProductCompositeRoutingConfig}.\n */\nexport const daffProductCompositeRoutingConfigDefaultFactory = (base64: DaffBase64Service): DaffProductCompositeRoutingConfig => ({\n compositeSelectionQueryParam: 'composite_selection',\n compositeSelectionQueryParamDecode: (queryParam: string) => JSON.parse(base64.decode(queryParam)),\n});\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n} from '@angular/core';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport { daffProductCompositeRoutingConfigDefaultFactory } from './default';\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The token used to provide @daffodil/product-composite/routing config data.\n */\nexport const DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG = new InjectionToken<DaffProductCompositeRoutingConfig>('DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG', {\n factory: () => daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n});\n\n/**\n * Provides the {@link DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG} token.\n */\nexport function daffProductCompositeRoutingProvideConfig(config: Partial<DaffProductCompositeRoutingConfig>): FactoryProvider {\n return {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config,\n }),\n };\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport {\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n DaffProductCompositeRoutingConfig,\n} from '../config/public_api';\n\n@Injectable()\nexport class DaffProductCompositeQueryParamService {\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n @Inject(DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG) private config: DaffProductCompositeRoutingConfig) {\n }\n\n /**\n * Get the value of the configured composite selection query param.\n */\n public get(): string {\n return (\n new URL((<any>this.document).location.toString())\n ).searchParams.get(this.config.compositeSelectionQueryParam);\n }\n}\n","import {\n DOCUMENT,\n Location,\n} from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n Actions,\n Effect,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n EMPTY,\n Observable,\n of,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffProduct,\n DaffProductTypeEnum,\n} from '@daffodil/product';\nimport {\n DaffCompositeProduct,\n DaffCompositeProductItem,\n DaffCompositeProductItemOption,\n DaffProductCompositeSelectionPayload,\n} from '@daffodil/product-composite';\nimport { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';\nimport {\n DaffProductPageActionTypes,\n DaffProductPageLoadSuccess,\n} from '@daffodil/product/state';\n\nimport {\n DaffProductCompositeRoutingConfig,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from '../config/public_api';\nimport { DaffProductCompositeQueryParamService } from '../services/query-param.service';\n\n/**\n * Builds the apply actions from the list of selected options.\n */\nfunction buildApplyActions<T extends DaffCompositeProduct = DaffCompositeProduct>(product: DaffCompositeProduct, itemId: DaffCompositeProductItem['id'], selectedOptions: DaffCompositeProductItemOption['id'][]): DaffCompositeProductApplyOption<T>[] {\n const selectionItem = product.items.find(({ id }) => id === itemId);\n\n return selectionItem\n ? selectedOptions.map(selectionOptionId => {\n // use the quantity of the referenced option\n const qty = selectionItem?.options.find(({ id }) => id === selectionOptionId)?.quantity;\n\n return new DaffCompositeProductApplyOption(product.id, itemId, selectionOptionId, qty);\n })\n : [];\n}\n\n/**\n * Handles composite product specific actions for the product page.\n */\n@Injectable()\nexport class DaffProductCompositePageEffects<T extends DaffCompositeProduct = DaffCompositeProduct> {\n constructor(\n private actions$: Actions,\n private paramGetter: DaffProductCompositeQueryParamService,\n @Inject(DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG) private config: DaffProductCompositeRoutingConfig,\n ) {}\n\n /**\n * Applies composite item options based on the value of the configured query param.\n */\n preselectCompositeOptions$: Observable<typeof EMPTY | DaffCompositeProductApplyOption<T>> = createEffect(() => this.actions$.pipe(\n ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction),\n switchMap((action: DaffProductPageLoadSuccess<T>) => {\n const queryParam = this.paramGetter.get();\n\n // get the product corresponding to the current product page\n const product: DaffCompositeProduct = action.payload.products.filter(({ id }) => id === action.payload.id)[0];\n\n // if we don't have a query param set or if the product isn't composite,\n // we have nothing to do\n if (!queryParam || product?.type !== DaffProductTypeEnum.Composite) {\n return EMPTY;\n }\n\n let selection: DaffProductCompositeSelectionPayload;\n\n try {\n selection = this.config.compositeSelectionQueryParamDecode(queryParam, product);\n } catch (error) {\n return EMPTY;\n }\n\n const applyActions = Object.keys(selection).reduce<DaffCompositeProductApplyOption<T>[]>(\n (actions, itemId) => actions.concat(buildApplyActions(product, itemId, selection[itemId])),\n [],\n );\n\n // dispatch each of the apply actions into the action stream\n return of(...applyActions);\n }),\n ));\n}\n","import {\n inject,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport {\n DaffProductCompositeRoutingConfig,\n daffProductCompositeRoutingConfigDefaultFactory,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from './config/public_api';\nimport { DaffProductCompositePageEffects } from './effects/public_api';\nimport { DaffProductCompositeQueryParamService } from './services/query-param.service';\n\n@NgModule({\n imports: [\n EffectsModule.forFeature([DaffProductCompositePageEffects]),\n ],\n providers: [\n DaffProductCompositeQueryParamService,\n ],\n})\nexport class DaffProductCompositeRoutingModule {\n static withConfig(config?: DaffProductCompositeRoutingConfig): ModuleWithProviders<DaffProductCompositeRoutingModule> {\n return {\n ngModule: DaffProductCompositeRoutingModule,\n providers: [\n {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config || {},\n }),\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { InjectionToken, inject, Injectable, Inject, NgModule } from '@angular/core';
|
3
3
|
import { DaffBase64ServiceToken } from '@daffodil/core';
|
4
|
-
import * as i2 from '@angular/router';
|
5
4
|
import * as i1 from '@ngrx/effects';
|
6
5
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
7
6
|
import { EMPTY, of } from 'rxjs';
|
@@ -9,6 +8,7 @@ import { switchMap } from 'rxjs/operators';
|
|
9
8
|
import { DaffProductTypeEnum } from '@daffodil/product';
|
10
9
|
import { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';
|
11
10
|
import { DaffProductPageActionTypes } from '@daffodil/product/state';
|
11
|
+
import { DOCUMENT } from '@angular/common';
|
12
12
|
|
13
13
|
/**
|
14
14
|
* The default configuration for the {@link DaffProductCompositeRoutingConfig}.
|
@@ -37,6 +37,30 @@ function daffProductCompositeRoutingProvideConfig(config) {
|
|
37
37
|
};
|
38
38
|
}
|
39
39
|
|
40
|
+
class DaffProductCompositeQueryParamService {
|
41
|
+
constructor(document, config) {
|
42
|
+
this.document = document;
|
43
|
+
this.config = config;
|
44
|
+
}
|
45
|
+
/**
|
46
|
+
* Get the value of the configured composite selection query param.
|
47
|
+
*/
|
48
|
+
get() {
|
49
|
+
return (new URL(this.document.location.toString())).searchParams.get(this.config.compositeSelectionQueryParam);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
/** @nocollapse */ DaffProductCompositeQueryParamService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService, deps: [{ token: DOCUMENT }, { token: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
53
|
+
/** @nocollapse */ DaffProductCompositeQueryParamService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService });
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeQueryParamService, decorators: [{
|
55
|
+
type: Injectable
|
56
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
57
|
+
type: Inject,
|
58
|
+
args: [DOCUMENT]
|
59
|
+
}] }, { type: undefined, decorators: [{
|
60
|
+
type: Inject,
|
61
|
+
args: [DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG]
|
62
|
+
}] }]; } });
|
63
|
+
|
40
64
|
/**
|
41
65
|
* Builds the apply actions from the list of selected options.
|
42
66
|
*/
|
@@ -54,15 +78,15 @@ function buildApplyActions(product, itemId, selectedOptions) {
|
|
54
78
|
* Handles composite product specific actions for the product page.
|
55
79
|
*/
|
56
80
|
class DaffProductCompositePageEffects {
|
57
|
-
constructor(actions$,
|
81
|
+
constructor(actions$, paramGetter, config) {
|
58
82
|
this.actions$ = actions$;
|
59
|
-
this.
|
83
|
+
this.paramGetter = paramGetter;
|
60
84
|
this.config = config;
|
61
85
|
/**
|
62
86
|
* Applies composite item options based on the value of the configured query param.
|
63
87
|
*/
|
64
88
|
this.preselectCompositeOptions$ = createEffect(() => this.actions$.pipe(ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction), switchMap((action) => {
|
65
|
-
const queryParam = this.
|
89
|
+
const queryParam = this.paramGetter.get();
|
66
90
|
// get the product corresponding to the current product page
|
67
91
|
const product = action.payload.products.filter(({ id }) => id === action.payload.id)[0];
|
68
92
|
// if we don't have a query param set or if the product isn't composite,
|
@@ -82,18 +106,12 @@ class DaffProductCompositePageEffects {
|
|
82
106
|
return of(...applyActions);
|
83
107
|
})));
|
84
108
|
}
|
85
|
-
/**
|
86
|
-
* Get the value of the configured composite selection query param.
|
87
|
-
*/
|
88
|
-
getQueryParam() {
|
89
|
-
return this.route.snapshot.queryParamMap.get(this.config.compositeSelectionQueryParam);
|
90
|
-
}
|
91
109
|
}
|
92
|
-
/** @nocollapse */ DaffProductCompositePageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, deps: [{ token: i1.Actions }, { token:
|
110
|
+
/** @nocollapse */ DaffProductCompositePageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, deps: [{ token: i1.Actions }, { token: DaffProductCompositeQueryParamService }, { token: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
93
111
|
/** @nocollapse */ DaffProductCompositePageEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects });
|
94
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, decorators: [{
|
95
113
|
type: Injectable
|
96
|
-
}], ctorParameters: function () { return [{ type: i1.Actions }, { type:
|
114
|
+
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: DaffProductCompositeQueryParamService }, { type: undefined, decorators: [{
|
97
115
|
type: Inject,
|
98
116
|
args: [DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG]
|
99
117
|
}] }]; } });
|
@@ -116,7 +134,9 @@ class DaffProductCompositeRoutingModule {
|
|
116
134
|
}
|
117
135
|
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
118
136
|
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, imports: [i1.EffectsFeatureModule] });
|
119
|
-
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule,
|
137
|
+
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, providers: [
|
138
|
+
DaffProductCompositeQueryParamService,
|
139
|
+
], imports: [[
|
120
140
|
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
121
141
|
]] });
|
122
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, decorators: [{
|
@@ -125,6 +145,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
125
145
|
imports: [
|
126
146
|
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
127
147
|
],
|
148
|
+
providers: [
|
149
|
+
DaffProductCompositeQueryParamService,
|
150
|
+
],
|
128
151
|
}]
|
129
152
|
}] });
|
130
153
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-product-composite-routing.mjs","sources":["../../../libs/product-composite/routing/src/config/default.ts","../../../libs/product-composite/routing/src/config/token.ts","../../../libs/product-composite/routing/src/effects/product-page.effects.ts","../../../libs/product-composite/routing/src/module.ts","../../../libs/product-composite/routing/src/daffodil-product-composite-routing.ts"],"sourcesContent":["import { DaffBase64Service } from '@daffodil/core';\n\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The default configuration for the {@link DaffProductCompositeRoutingConfig}.\n */\nexport const daffProductCompositeRoutingConfigDefaultFactory = (base64: DaffBase64Service): DaffProductCompositeRoutingConfig => ({\n compositeSelectionQueryParam: 'composite_selection',\n compositeSelectionQueryParamDecode: (queryParam: string) => JSON.parse(base64.decode(queryParam)),\n});\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n} from '@angular/core';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport { daffProductCompositeRoutingConfigDefaultFactory } from './default';\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The token used to provide @daffodil/product-composite/routing config data.\n */\nexport const DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG = new InjectionToken<DaffProductCompositeRoutingConfig>('DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG', {\n factory: () => daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n});\n\n/**\n * Provides the {@link DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG} token.\n */\nexport function daffProductCompositeRoutingProvideConfig(config: Partial<DaffProductCompositeRoutingConfig>): FactoryProvider {\n return {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config,\n }),\n };\n}\n","import { Location } from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n Actions,\n Effect,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n EMPTY,\n Observable,\n of,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffProduct,\n DaffProductTypeEnum,\n} from '@daffodil/product';\nimport {\n DaffCompositeProduct,\n DaffCompositeProductItem,\n DaffCompositeProductItemOption,\n DaffProductCompositeSelectionPayload,\n} from '@daffodil/product-composite';\nimport { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';\nimport {\n DaffProductPageActionTypes,\n DaffProductPageLoadSuccess,\n} from '@daffodil/product/state';\n\nimport {\n DaffProductCompositeRoutingConfig,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from '../config/public_api';\n\n/**\n * Builds the apply actions from the list of selected options.\n */\nfunction buildApplyActions<T extends DaffCompositeProduct = DaffCompositeProduct>(product: DaffCompositeProduct, itemId: DaffCompositeProductItem['id'], selectedOptions: DaffCompositeProductItemOption['id'][]): DaffCompositeProductApplyOption<T>[] {\n const selectionItem = product.items.find(({ id }) => id === itemId);\n\n return selectionItem\n ? selectedOptions.map(selectionOptionId => {\n // use the quantity of the referenced option\n const qty = selectionItem?.options.find(({ id }) => id === selectionOptionId)?.quantity;\n\n return new DaffCompositeProductApplyOption(product.id, itemId, selectionOptionId, qty);\n })\n : [];\n}\n\n/**\n * Handles composite product specific actions for the product page.\n */\n@Injectable()\nexport class DaffProductCompositePageEffects<T extends DaffCompositeProduct = DaffCompositeProduct> {\n constructor(\n private actions$: Actions,\n private route: ActivatedRoute,\n @Inject(DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG) private config: DaffProductCompositeRoutingConfig,\n ) {}\n\n /**\n * Get the value of the configured composite selection query param.\n */\n private getQueryParam(): string {\n return this.route.snapshot.queryParamMap.get(this.config.compositeSelectionQueryParam);\n }\n\n /**\n * Applies composite item options based on the value of the configured query param.\n */\n preselectCompositeOptions$: Observable<typeof EMPTY | DaffCompositeProductApplyOption<T>> = createEffect(() => this.actions$.pipe(\n ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction),\n switchMap((action: DaffProductPageLoadSuccess<T>) => {\n const queryParam = this.getQueryParam();\n // get the product corresponding to the current product page\n const product: DaffCompositeProduct = action.payload.products.filter(({ id }) => id === action.payload.id)[0];\n\n // if we don't have a query param set or if the product isn't composite,\n // we have nothing to do\n if (!queryParam || product?.type !== DaffProductTypeEnum.Composite) {\n return EMPTY;\n }\n\n let selection: DaffProductCompositeSelectionPayload;\n\n try {\n selection = this.config.compositeSelectionQueryParamDecode(queryParam, product);\n } catch (error) {\n return EMPTY;\n }\n\n const applyActions = Object.keys(selection).reduce<DaffCompositeProductApplyOption<T>[]>(\n (actions, itemId) => actions.concat(buildApplyActions(product, itemId, selection[itemId])),\n [],\n );\n\n // dispatch each of the apply actions into the action stream\n return of(...applyActions);\n }),\n ));\n}\n","import {\n inject,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport {\n DaffProductCompositeRoutingConfig,\n daffProductCompositeRoutingConfigDefaultFactory,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from './config/public_api';\nimport { DaffProductCompositePageEffects } from './effects/public_api';\n\n@NgModule({\n imports: [\n EffectsModule.forFeature([DaffProductCompositePageEffects]),\n ],\n})\nexport class DaffProductCompositeRoutingModule {\n static withConfig(config?: DaffProductCompositeRoutingConfig): ModuleWithProviders<DaffProductCompositeRoutingModule> {\n return {\n ngModule: DaffProductCompositeRoutingModule,\n providers: [\n {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config || {},\n }),\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-product-composite-routing.mjs","sources":["../../../libs/product-composite/routing/src/config/default.ts","../../../libs/product-composite/routing/src/config/token.ts","../../../libs/product-composite/routing/src/services/query-param.service.ts","../../../libs/product-composite/routing/src/effects/product-page.effects.ts","../../../libs/product-composite/routing/src/module.ts","../../../libs/product-composite/routing/src/daffodil-product-composite-routing.ts"],"sourcesContent":["import { DaffBase64Service } from '@daffodil/core';\n\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The default configuration for the {@link DaffProductCompositeRoutingConfig}.\n */\nexport const daffProductCompositeRoutingConfigDefaultFactory = (base64: DaffBase64Service): DaffProductCompositeRoutingConfig => ({\n compositeSelectionQueryParam: 'composite_selection',\n compositeSelectionQueryParamDecode: (queryParam: string) => JSON.parse(base64.decode(queryParam)),\n});\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n} from '@angular/core';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport { daffProductCompositeRoutingConfigDefaultFactory } from './default';\nimport { DaffProductCompositeRoutingConfig } from './interface';\n\n/**\n * The token used to provide @daffodil/product-composite/routing config data.\n */\nexport const DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG = new InjectionToken<DaffProductCompositeRoutingConfig>('DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG', {\n factory: () => daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n});\n\n/**\n * Provides the {@link DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG} token.\n */\nexport function daffProductCompositeRoutingProvideConfig(config: Partial<DaffProductCompositeRoutingConfig>): FactoryProvider {\n return {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config,\n }),\n };\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport {\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n DaffProductCompositeRoutingConfig,\n} from '../config/public_api';\n\n@Injectable()\nexport class DaffProductCompositeQueryParamService {\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n @Inject(DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG) private config: DaffProductCompositeRoutingConfig) {\n }\n\n /**\n * Get the value of the configured composite selection query param.\n */\n public get(): string {\n return (\n new URL((<any>this.document).location.toString())\n ).searchParams.get(this.config.compositeSelectionQueryParam);\n }\n}\n","import {\n DOCUMENT,\n Location,\n} from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n Actions,\n Effect,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n EMPTY,\n Observable,\n of,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffProduct,\n DaffProductTypeEnum,\n} from '@daffodil/product';\nimport {\n DaffCompositeProduct,\n DaffCompositeProductItem,\n DaffCompositeProductItemOption,\n DaffProductCompositeSelectionPayload,\n} from '@daffodil/product-composite';\nimport { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';\nimport {\n DaffProductPageActionTypes,\n DaffProductPageLoadSuccess,\n} from '@daffodil/product/state';\n\nimport {\n DaffProductCompositeRoutingConfig,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from '../config/public_api';\nimport { DaffProductCompositeQueryParamService } from '../services/query-param.service';\n\n/**\n * Builds the apply actions from the list of selected options.\n */\nfunction buildApplyActions<T extends DaffCompositeProduct = DaffCompositeProduct>(product: DaffCompositeProduct, itemId: DaffCompositeProductItem['id'], selectedOptions: DaffCompositeProductItemOption['id'][]): DaffCompositeProductApplyOption<T>[] {\n const selectionItem = product.items.find(({ id }) => id === itemId);\n\n return selectionItem\n ? selectedOptions.map(selectionOptionId => {\n // use the quantity of the referenced option\n const qty = selectionItem?.options.find(({ id }) => id === selectionOptionId)?.quantity;\n\n return new DaffCompositeProductApplyOption(product.id, itemId, selectionOptionId, qty);\n })\n : [];\n}\n\n/**\n * Handles composite product specific actions for the product page.\n */\n@Injectable()\nexport class DaffProductCompositePageEffects<T extends DaffCompositeProduct = DaffCompositeProduct> {\n constructor(\n private actions$: Actions,\n private paramGetter: DaffProductCompositeQueryParamService,\n @Inject(DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG) private config: DaffProductCompositeRoutingConfig,\n ) {}\n\n /**\n * Applies composite item options based on the value of the configured query param.\n */\n preselectCompositeOptions$: Observable<typeof EMPTY | DaffCompositeProductApplyOption<T>> = createEffect(() => this.actions$.pipe(\n ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction),\n switchMap((action: DaffProductPageLoadSuccess<T>) => {\n const queryParam = this.paramGetter.get();\n\n // get the product corresponding to the current product page\n const product: DaffCompositeProduct = action.payload.products.filter(({ id }) => id === action.payload.id)[0];\n\n // if we don't have a query param set or if the product isn't composite,\n // we have nothing to do\n if (!queryParam || product?.type !== DaffProductTypeEnum.Composite) {\n return EMPTY;\n }\n\n let selection: DaffProductCompositeSelectionPayload;\n\n try {\n selection = this.config.compositeSelectionQueryParamDecode(queryParam, product);\n } catch (error) {\n return EMPTY;\n }\n\n const applyActions = Object.keys(selection).reduce<DaffCompositeProductApplyOption<T>[]>(\n (actions, itemId) => actions.concat(buildApplyActions(product, itemId, selection[itemId])),\n [],\n );\n\n // dispatch each of the apply actions into the action stream\n return of(...applyActions);\n }),\n ));\n}\n","import {\n inject,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport { DaffBase64ServiceToken } from '@daffodil/core';\n\nimport {\n DaffProductCompositeRoutingConfig,\n daffProductCompositeRoutingConfigDefaultFactory,\n DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n} from './config/public_api';\nimport { DaffProductCompositePageEffects } from './effects/public_api';\nimport { DaffProductCompositeQueryParamService } from './services/query-param.service';\n\n@NgModule({\n imports: [\n EffectsModule.forFeature([DaffProductCompositePageEffects]),\n ],\n providers: [\n DaffProductCompositeQueryParamService,\n ],\n})\nexport class DaffProductCompositeRoutingModule {\n static withConfig(config?: DaffProductCompositeRoutingConfig): ModuleWithProviders<DaffProductCompositeRoutingModule> {\n return {\n ngModule: DaffProductCompositeRoutingModule,\n providers: [\n {\n provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,\n useFactory: () => ({\n ...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),\n ...config || {},\n }),\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,132 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite",
|
3
|
-
"nx": {
|
4
|
-
"targets": {
|
5
|
-
"build": {
|
6
|
-
"outputs": [
|
7
|
-
"{workspaceRoot}/dist/product-composite"
|
8
|
-
]
|
9
|
-
}
|
10
|
-
}
|
11
|
-
},
|
12
|
-
"version": "0.59.0",
|
13
|
-
"description": "Interfaces built for daffodil/state",
|
14
|
-
"repository": {
|
15
|
-
"type": "git",
|
16
|
-
"url": "https://github.com/graycoreio/daffodil"
|
17
|
-
},
|
18
|
-
"author": "Graycore LLC",
|
19
|
-
"license": "MIT",
|
20
|
-
"bugs": {
|
21
|
-
"url": "https://github.com/graycoreio/daffodil/issues"
|
22
|
-
},
|
23
|
-
"publishConfig": {
|
24
|
-
"directory": "../../dist/product-composite"
|
25
|
-
},
|
26
|
-
"homepage": "https://github.com/graycoreio/daffodil",
|
27
|
-
"peerDependencies": {
|
28
|
-
"@angular/common": "^13.0.0",
|
29
|
-
"@angular/core": "^13.0.0",
|
30
|
-
"@daffodil/core": "0.59.0",
|
31
|
-
"@daffodil/product": "0.59.0",
|
32
|
-
"@ngrx/effects": "^13.0.0",
|
33
|
-
"@ngrx/entity": "^13.0.0",
|
34
|
-
"@ngrx/store": "^13.0.0",
|
35
|
-
"rxjs": "7.5.5"
|
36
|
-
},
|
37
|
-
"optionalDependencies": {
|
38
|
-
"@apollo/client": "^3.0.0",
|
39
|
-
"@daffodil/driver": "0.59.0",
|
40
|
-
"@daffodil/product": "0.59.0",
|
41
|
-
"angular-in-memory-web-api": "^0.13.0",
|
42
|
-
"apollo-angular": "^3.0.1",
|
43
|
-
"@faker-js/faker": "^7.6.0"
|
44
|
-
},
|
45
|
-
"module": "fesm2015/daffodil-product-composite.mjs",
|
46
|
-
"es2020": "fesm2020/daffodil-product-composite.mjs",
|
47
|
-
"esm2020": "esm2020/daffodil-product-composite.mjs",
|
48
|
-
"fesm2020": "fesm2020/daffodil-product-composite.mjs",
|
49
|
-
"fesm2015": "fesm2015/daffodil-product-composite.mjs",
|
50
|
-
"typings": "daffodil-product-composite.d.ts",
|
51
|
-
"exports": {
|
52
|
-
"./package.json": {
|
53
|
-
"default": "./package.json"
|
54
|
-
},
|
55
|
-
".": {
|
56
|
-
"types": "./daffodil-product-composite.d.ts",
|
57
|
-
"esm2020": "./esm2020/daffodil-product-composite.mjs",
|
58
|
-
"es2020": "./fesm2020/daffodil-product-composite.mjs",
|
59
|
-
"es2015": "./fesm2015/daffodil-product-composite.mjs",
|
60
|
-
"node": "./fesm2015/daffodil-product-composite.mjs",
|
61
|
-
"default": "./fesm2020/daffodil-product-composite.mjs"
|
62
|
-
},
|
63
|
-
"./driver/in-memory": {
|
64
|
-
"types": "./driver/in-memory/daffodil-product-composite-driver-in-memory.d.ts",
|
65
|
-
"esm2020": "./esm2020/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs",
|
66
|
-
"es2020": "./fesm2020/daffodil-product-composite-driver-in-memory.mjs",
|
67
|
-
"es2015": "./fesm2015/daffodil-product-composite-driver-in-memory.mjs",
|
68
|
-
"node": "./fesm2015/daffodil-product-composite-driver-in-memory.mjs",
|
69
|
-
"default": "./fesm2020/daffodil-product-composite-driver-in-memory.mjs"
|
70
|
-
},
|
71
|
-
"./driver/magento": {
|
72
|
-
"types": "./driver/magento/daffodil-product-composite-driver-magento.d.ts",
|
73
|
-
"esm2020": "./esm2020/driver/magento/daffodil-product-composite-driver-magento.mjs",
|
74
|
-
"es2020": "./fesm2020/daffodil-product-composite-driver-magento.mjs",
|
75
|
-
"es2015": "./fesm2015/daffodil-product-composite-driver-magento.mjs",
|
76
|
-
"node": "./fesm2015/daffodil-product-composite-driver-magento.mjs",
|
77
|
-
"default": "./fesm2020/daffodil-product-composite-driver-magento.mjs"
|
78
|
-
},
|
79
|
-
"./driver/magento/testing": {
|
80
|
-
"types": "./driver/magento/testing/daffodil-product-composite-driver-magento-testing.d.ts",
|
81
|
-
"esm2020": "./esm2020/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs",
|
82
|
-
"es2020": "./fesm2020/daffodil-product-composite-driver-magento-testing.mjs",
|
83
|
-
"es2015": "./fesm2015/daffodil-product-composite-driver-magento-testing.mjs",
|
84
|
-
"node": "./fesm2015/daffodil-product-composite-driver-magento-testing.mjs",
|
85
|
-
"default": "./fesm2020/daffodil-product-composite-driver-magento-testing.mjs"
|
86
|
-
},
|
87
|
-
"./driver/testing": {
|
88
|
-
"types": "./driver/testing/daffodil-product-composite-driver-testing.d.ts",
|
89
|
-
"esm2020": "./esm2020/driver/testing/daffodil-product-composite-driver-testing.mjs",
|
90
|
-
"es2020": "./fesm2020/daffodil-product-composite-driver-testing.mjs",
|
91
|
-
"es2015": "./fesm2015/daffodil-product-composite-driver-testing.mjs",
|
92
|
-
"node": "./fesm2015/daffodil-product-composite-driver-testing.mjs",
|
93
|
-
"default": "./fesm2020/daffodil-product-composite-driver-testing.mjs"
|
94
|
-
},
|
95
|
-
"./routing": {
|
96
|
-
"types": "./routing/daffodil-product-composite-routing.d.ts",
|
97
|
-
"esm2020": "./esm2020/routing/daffodil-product-composite-routing.mjs",
|
98
|
-
"es2020": "./fesm2020/daffodil-product-composite-routing.mjs",
|
99
|
-
"es2015": "./fesm2015/daffodil-product-composite-routing.mjs",
|
100
|
-
"node": "./fesm2015/daffodil-product-composite-routing.mjs",
|
101
|
-
"default": "./fesm2020/daffodil-product-composite-routing.mjs"
|
102
|
-
},
|
103
|
-
"./state": {
|
104
|
-
"types": "./state/daffodil-product-composite-state.d.ts",
|
105
|
-
"esm2020": "./esm2020/state/daffodil-product-composite-state.mjs",
|
106
|
-
"es2020": "./fesm2020/daffodil-product-composite-state.mjs",
|
107
|
-
"es2015": "./fesm2015/daffodil-product-composite-state.mjs",
|
108
|
-
"node": "./fesm2015/daffodil-product-composite-state.mjs",
|
109
|
-
"default": "./fesm2020/daffodil-product-composite-state.mjs"
|
110
|
-
},
|
111
|
-
"./state/testing": {
|
112
|
-
"types": "./state/testing/daffodil-product-composite-state-testing.d.ts",
|
113
|
-
"esm2020": "./esm2020/state/testing/daffodil-product-composite-state-testing.mjs",
|
114
|
-
"es2020": "./fesm2020/daffodil-product-composite-state-testing.mjs",
|
115
|
-
"es2015": "./fesm2015/daffodil-product-composite-state-testing.mjs",
|
116
|
-
"node": "./fesm2015/daffodil-product-composite-state-testing.mjs",
|
117
|
-
"default": "./fesm2020/daffodil-product-composite-state-testing.mjs"
|
118
|
-
},
|
119
|
-
"./testing": {
|
120
|
-
"types": "./testing/daffodil-product-composite-testing.d.ts",
|
121
|
-
"esm2020": "./esm2020/testing/daffodil-product-composite-testing.mjs",
|
122
|
-
"es2020": "./fesm2020/daffodil-product-composite-testing.mjs",
|
123
|
-
"es2015": "./fesm2015/daffodil-product-composite-testing.mjs",
|
124
|
-
"node": "./fesm2015/daffodil-product-composite-testing.mjs",
|
125
|
-
"default": "./fesm2020/daffodil-product-composite-testing.mjs"
|
126
|
-
}
|
127
|
-
},
|
128
|
-
"sideEffects": false,
|
129
|
-
"dependencies": {
|
130
|
-
"tslib": "^2.3.0"
|
131
|
-
}
|
132
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/product-composite"]}}},"version":"0.59.2","description":"Interfaces built for daffodil/state","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"publishConfig":{"directory":"../../dist/product-composite"},"homepage":"https://github.com/graycoreio/daffodil","peerDependencies":{"@angular/common":"^13.0.0","@angular/core":"^13.0.0","@daffodil/core":"0.59.2","@daffodil/product":"0.59.2","@ngrx/effects":"^13.0.0","@ngrx/entity":"^13.0.0","@ngrx/store":"^13.0.0","rxjs":"7.5.5"},"optionalDependencies":{"@apollo/client":"^3.0.0","@daffodil/driver":"0.59.2","@daffodil/product":"0.59.2","angular-in-memory-web-api":"^0.13.0","apollo-angular":"^3.0.1","@faker-js/faker":"^7.6.0"},"module":"fesm2015/daffodil-product-composite.mjs","es2020":"fesm2020/daffodil-product-composite.mjs","esm2020":"esm2020/daffodil-product-composite.mjs","fesm2020":"fesm2020/daffodil-product-composite.mjs","fesm2015":"fesm2015/daffodil-product-composite.mjs","typings":"daffodil-product-composite.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./daffodil-product-composite.d.ts","esm2020":"./esm2020/daffodil-product-composite.mjs","es2020":"./fesm2020/daffodil-product-composite.mjs","es2015":"./fesm2015/daffodil-product-composite.mjs","node":"./fesm2015/daffodil-product-composite.mjs","default":"./fesm2020/daffodil-product-composite.mjs"},"./driver/in-memory":{"types":"./driver/in-memory/daffodil-product-composite-driver-in-memory.d.ts","esm2020":"./esm2020/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs","es2020":"./fesm2020/daffodil-product-composite-driver-in-memory.mjs","es2015":"./fesm2015/daffodil-product-composite-driver-in-memory.mjs","node":"./fesm2015/daffodil-product-composite-driver-in-memory.mjs","default":"./fesm2020/daffodil-product-composite-driver-in-memory.mjs"},"./driver/magento":{"types":"./driver/magento/daffodil-product-composite-driver-magento.d.ts","esm2020":"./esm2020/driver/magento/daffodil-product-composite-driver-magento.mjs","es2020":"./fesm2020/daffodil-product-composite-driver-magento.mjs","es2015":"./fesm2015/daffodil-product-composite-driver-magento.mjs","node":"./fesm2015/daffodil-product-composite-driver-magento.mjs","default":"./fesm2020/daffodil-product-composite-driver-magento.mjs"},"./driver/magento/testing":{"types":"./driver/magento/testing/daffodil-product-composite-driver-magento-testing.d.ts","esm2020":"./esm2020/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs","es2020":"./fesm2020/daffodil-product-composite-driver-magento-testing.mjs","es2015":"./fesm2015/daffodil-product-composite-driver-magento-testing.mjs","node":"./fesm2015/daffodil-product-composite-driver-magento-testing.mjs","default":"./fesm2020/daffodil-product-composite-driver-magento-testing.mjs"},"./driver/testing":{"types":"./driver/testing/daffodil-product-composite-driver-testing.d.ts","esm2020":"./esm2020/driver/testing/daffodil-product-composite-driver-testing.mjs","es2020":"./fesm2020/daffodil-product-composite-driver-testing.mjs","es2015":"./fesm2015/daffodil-product-composite-driver-testing.mjs","node":"./fesm2015/daffodil-product-composite-driver-testing.mjs","default":"./fesm2020/daffodil-product-composite-driver-testing.mjs"},"./routing":{"types":"./routing/daffodil-product-composite-routing.d.ts","esm2020":"./esm2020/routing/daffodil-product-composite-routing.mjs","es2020":"./fesm2020/daffodil-product-composite-routing.mjs","es2015":"./fesm2015/daffodil-product-composite-routing.mjs","node":"./fesm2015/daffodil-product-composite-routing.mjs","default":"./fesm2020/daffodil-product-composite-routing.mjs"},"./state":{"types":"./state/daffodil-product-composite-state.d.ts","esm2020":"./esm2020/state/daffodil-product-composite-state.mjs","es2020":"./fesm2020/daffodil-product-composite-state.mjs","es2015":"./fesm2015/daffodil-product-composite-state.mjs","node":"./fesm2015/daffodil-product-composite-state.mjs","default":"./fesm2020/daffodil-product-composite-state.mjs"},"./state/testing":{"types":"./state/testing/daffodil-product-composite-state-testing.d.ts","esm2020":"./esm2020/state/testing/daffodil-product-composite-state-testing.mjs","es2020":"./fesm2020/daffodil-product-composite-state-testing.mjs","es2015":"./fesm2015/daffodil-product-composite-state-testing.mjs","node":"./fesm2015/daffodil-product-composite-state-testing.mjs","default":"./fesm2020/daffodil-product-composite-state-testing.mjs"},"./testing":{"types":"./testing/daffodil-product-composite-testing.d.ts","esm2020":"./esm2020/testing/daffodil-product-composite-testing.mjs","es2020":"./fesm2020/daffodil-product-composite-testing.mjs","es2015":"./fesm2015/daffodil-product-composite-testing.mjs","node":"./fesm2015/daffodil-product-composite-testing.mjs","default":"./fesm2020/daffodil-product-composite-testing.mjs"}},"sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
|
@@ -1,22 +1,18 @@
|
|
1
|
-
import { ActivatedRoute } from '@angular/router';
|
2
1
|
import { Actions } from '@ngrx/effects';
|
3
2
|
import { EMPTY, Observable } from 'rxjs';
|
4
3
|
import { DaffCompositeProduct } from '@daffodil/product-composite';
|
5
4
|
import { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';
|
6
5
|
import { DaffProductCompositeRoutingConfig } from '../config/public_api';
|
6
|
+
import { DaffProductCompositeQueryParamService } from '../services/query-param.service';
|
7
7
|
import * as i0 from "@angular/core";
|
8
8
|
/**
|
9
9
|
* Handles composite product specific actions for the product page.
|
10
10
|
*/
|
11
11
|
export declare class DaffProductCompositePageEffects<T extends DaffCompositeProduct = DaffCompositeProduct> {
|
12
12
|
private actions$;
|
13
|
-
private
|
13
|
+
private paramGetter;
|
14
14
|
private config;
|
15
|
-
constructor(actions$: Actions,
|
16
|
-
/**
|
17
|
-
* Get the value of the configured composite selection query param.
|
18
|
-
*/
|
19
|
-
private getQueryParam;
|
15
|
+
constructor(actions$: Actions, paramGetter: DaffProductCompositeQueryParamService, config: DaffProductCompositeRoutingConfig);
|
20
16
|
/**
|
21
17
|
* Applies composite item options based on the value of the configured query param.
|
22
18
|
*/
|
package/routing/package.json
CHANGED
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/routing",
|
3
|
-
"module": "../fesm2015/daffodil-product-composite-routing.mjs",
|
4
|
-
"es2020": "../fesm2020/daffodil-product-composite-routing.mjs",
|
5
|
-
"esm2020": "../esm2020/routing/daffodil-product-composite-routing.mjs",
|
6
|
-
"fesm2020": "../fesm2020/daffodil-product-composite-routing.mjs",
|
7
|
-
"fesm2015": "../fesm2015/daffodil-product-composite-routing.mjs",
|
8
|
-
"typings": "daffodil-product-composite-routing.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/routing","module":"../fesm2015/daffodil-product-composite-routing.mjs","es2020":"../fesm2020/daffodil-product-composite-routing.mjs","esm2020":"../esm2020/routing/daffodil-product-composite-routing.mjs","fesm2020":"../fesm2020/daffodil-product-composite-routing.mjs","fesm2015":"../fesm2015/daffodil-product-composite-routing.mjs","typings":"daffodil-product-composite-routing.d.ts","sideEffects":false,"version":"0.59.2"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { DaffProductCompositeRoutingConfig } from '../config/public_api';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class DaffProductCompositeQueryParamService {
|
4
|
+
private document;
|
5
|
+
private config;
|
6
|
+
constructor(document: any, config: DaffProductCompositeRoutingConfig);
|
7
|
+
/**
|
8
|
+
* Get the value of the configured composite selection query param.
|
9
|
+
*/
|
10
|
+
get(): string;
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffProductCompositeQueryParamService, never>;
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DaffProductCompositeQueryParamService>;
|
13
|
+
}
|
package/state/package.json
CHANGED
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/state",
|
3
|
-
"module": "../fesm2015/daffodil-product-composite-state.mjs",
|
4
|
-
"es2020": "../fesm2020/daffodil-product-composite-state.mjs",
|
5
|
-
"esm2020": "../esm2020/state/daffodil-product-composite-state.mjs",
|
6
|
-
"fesm2020": "../fesm2020/daffodil-product-composite-state.mjs",
|
7
|
-
"fesm2015": "../fesm2015/daffodil-product-composite-state.mjs",
|
8
|
-
"typings": "daffodil-product-composite-state.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/state","module":"../fesm2015/daffodil-product-composite-state.mjs","es2020":"../fesm2020/daffodil-product-composite-state.mjs","esm2020":"../esm2020/state/daffodil-product-composite-state.mjs","fesm2020":"../fesm2020/daffodil-product-composite-state.mjs","fesm2015":"../fesm2015/daffodil-product-composite-state.mjs","typings":"daffodil-product-composite-state.d.ts","sideEffects":false,"version":"0.59.2"}
|
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/state/testing",
|
3
|
-
"module": "../../fesm2015/daffodil-product-composite-state-testing.mjs",
|
4
|
-
"es2020": "../../fesm2020/daffodil-product-composite-state-testing.mjs",
|
5
|
-
"esm2020": "../../esm2020/state/testing/daffodil-product-composite-state-testing.mjs",
|
6
|
-
"fesm2020": "../../fesm2020/daffodil-product-composite-state-testing.mjs",
|
7
|
-
"fesm2015": "../../fesm2015/daffodil-product-composite-state-testing.mjs",
|
8
|
-
"typings": "daffodil-product-composite-state-testing.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/state/testing","module":"../../fesm2015/daffodil-product-composite-state-testing.mjs","es2020":"../../fesm2020/daffodil-product-composite-state-testing.mjs","esm2020":"../../esm2020/state/testing/daffodil-product-composite-state-testing.mjs","fesm2020":"../../fesm2020/daffodil-product-composite-state-testing.mjs","fesm2015":"../../fesm2015/daffodil-product-composite-state-testing.mjs","typings":"daffodil-product-composite-state-testing.d.ts","sideEffects":false,"version":"0.59.2"}
|
package/testing/package.json
CHANGED
@@ -1,10 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@daffodil/product-composite/testing",
|
3
|
-
"module": "../fesm2015/daffodil-product-composite-testing.mjs",
|
4
|
-
"es2020": "../fesm2020/daffodil-product-composite-testing.mjs",
|
5
|
-
"esm2020": "../esm2020/testing/daffodil-product-composite-testing.mjs",
|
6
|
-
"fesm2020": "../fesm2020/daffodil-product-composite-testing.mjs",
|
7
|
-
"fesm2015": "../fesm2015/daffodil-product-composite-testing.mjs",
|
8
|
-
"typings": "daffodil-product-composite-testing.d.ts",
|
9
|
-
"sideEffects": false
|
10
|
-
}
|
1
|
+
{"name":"@daffodil/product-composite/testing","module":"../fesm2015/daffodil-product-composite-testing.mjs","es2020":"../fesm2020/daffodil-product-composite-testing.mjs","esm2020":"../esm2020/testing/daffodil-product-composite-testing.mjs","fesm2020":"../fesm2020/daffodil-product-composite-testing.mjs","fesm2015":"../fesm2015/daffodil-product-composite-testing.mjs","typings":"daffodil-product-composite-testing.d.ts","sideEffects":false,"version":"0.59.2"}
|