@daffodil/product-composite 0.59.0 → 0.59.1
Sign up to get free protection for your applications and to get access to all the features.
- 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.1"}
|
@@ -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.1"}
|
@@ -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.1"}
|
@@ -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.1"}
|
@@ -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":";;;;;;;;;;;;AAIA;;AAEG;MACU,+CAA+C,GAAG,CAAC,MAAyB,MAAyC;AAChI,IAAA,4BAA4B,EAAE,qBAAqB;AACnD,IAAA,kCAAkC,EAAE,CAAC,UAAkB,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClG,CAAA;;ACCD;;AAEG;MACU,qCAAqC,GAAG,IAAI,cAAc,CAAoC,uCAAuC,EAAE;IAClJ,OAAO,EAAE,MAAM,+CAA+C,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAC/F,CAAA,EAAE;AAEH;;AAEG;AACG,SAAU,wCAAwC,CAAC,MAAkD,EAAA;IACzG,OAAO;AACL,QAAA,OAAO,EAAE,qCAAqC;AAC9C,QAAA,UAAU,EAAE,uCACP,+CAA+C,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAA,EAC/E,MAAM,CACT,CAAA;KACH,CAAC;AACJ;;ACcA;;AAEG;AACH,SAAS,iBAAiB,CAAwD,OAA6B,EAAE,MAAsC,EAAE,eAAuD,EAAA;AAC9M,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,CAAC;AAEpE,IAAA,OAAO,aAAa;AAClB,UAAE,eAAe,CAAC,GAAG,CAAC,iBAAiB,IAAG;;;YAExC,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAb,aAAa,CAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,iBAAiB,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC;AAExF,YAAA,OAAO,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACzF,SAAC,CAAC;UACA,EAAE,CAAC;AACT,CAAC;AAED;;AAEG;MAEU,+BAA+B,CAAA;AAC1C,IAAA,WAAA,CACU,QAAiB,EACjB,KAAqB,EAC0B,MAAyC,EAAA;AAFxF,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AAC0B,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmC;AAUlG;;AAEG;QACH,IAA0B,CAAA,0BAAA,GAAkE,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/H,MAAM,CAAC,0BAA0B,CAAC,4BAA4B,CAAC,EAC/D,SAAS,CAAC,CAAC,MAAqC,KAAI;AAClD,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;;AAExC,YAAA,MAAM,OAAO,GAAyB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;;AAI9G,YAAA,IAAI,CAAC,UAAU,IAAI,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI,MAAK,mBAAmB,CAAC,SAAS,EAAE;AAClE,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAED,YAAA,IAAI,SAA+C,CAAC;YAEpD,IAAI;gBACF,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACjF,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAED,YAAA,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAChD,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAC1F,EAAE,CACH,CAAC;;AAGF,YAAA,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC;SAC5B,CAAC,CACH,CAAC,CAAC;KAzCC;AAEJ;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;KACxF;;AAZU,mBAAA,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,uEAIhC,qCAAqC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mJAJpC,+BAA+B,EAAA,CAAA,CAAA;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;;;8BAKN,MAAM;+BAAC,qCAAqC,CAAA;;;;MC9CpC,iCAAiC,CAAA;IAC5C,OAAO,UAAU,CAAC,MAA0C,EAAA;QAC1D,OAAO;AACL,YAAA,QAAQ,EAAE,iCAAiC;AAC3C,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,qCAAqC;AAC9C,oBAAA,UAAU,EAAE,OAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACb,+CAA+C,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAA,EAC/E,MAAM,IAAI,EAAE,CACf,CAAA;AACH,iBAAA;AACF,aAAA;SACF,CAAC;KACH;;iJAdU,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAAjC,iCAAiC,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA;AAAjC,mBAAA,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,EAJnC,OAAA,EAAA,CAAA;AACP,YAAA,aAAa,CAAC,UAAU,CAAC,CAAC,+BAA+B,CAAC,CAAC;SAC5D,CAAA,EAAA,CAAA,CAAA;2FAEU,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;AACP,wBAAA,aAAa,CAAC,UAAU,CAAC,CAAC,+BAA+B,CAAC,CAAC;AAC5D,qBAAA;iBACF,CAAA;;;ACpBD;;AAEG;;;;"}
|
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.1","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.1","@daffodil/product":"0.59.1","@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.1","@daffodil/product":"0.59.1","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.1"}
|
@@ -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.1"}
|
@@ -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.1"}
|
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.1"}
|