@daffodil/product-composite 0.58.10 → 0.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/helpers/build-selection-payload.mjs +10 -0
- package/esm2020/helpers/public_api.mjs +2 -0
- package/esm2020/models/public_api.mjs +5 -0
- package/esm2020/models/selection-payload.type.mjs +2 -0
- package/esm2020/public_api.mjs +3 -4
- package/esm2020/routing/config/default.mjs +8 -0
- package/esm2020/routing/config/interface.mjs +2 -0
- package/esm2020/routing/config/public_api.mjs +3 -0
- package/esm2020/routing/config/token.mjs +22 -0
- package/esm2020/routing/daffodil-product-composite-routing.mjs +5 -0
- package/esm2020/routing/effects/product-page.effects.mjs +73 -0
- package/esm2020/routing/effects/public_api.mjs +2 -0
- package/esm2020/routing/index.mjs +2 -0
- package/esm2020/routing/module.mjs +37 -0
- package/esm2020/routing/public_api.mjs +4 -0
- package/esm2020/state/actions/composite-product.actions.mjs +1 -1
- package/esm2020/testing/factories/composite-product-item-option.factory.mjs +32 -0
- package/esm2020/testing/factories/composite-product-item.factory.mjs +45 -0
- package/esm2020/testing/factories/composite-product.factory.mjs +11 -103
- package/esm2020/testing/factories/public_api.mjs +3 -1
- package/fesm2015/daffodil-product-composite-routing.mjs +133 -0
- package/fesm2015/daffodil-product-composite-routing.mjs.map +1 -0
- package/fesm2015/daffodil-product-composite-state.mjs.map +1 -1
- package/fesm2015/daffodil-product-composite-testing.mjs +76 -103
- package/fesm2015/daffodil-product-composite-testing.mjs.map +1 -1
- package/fesm2015/daffodil-product-composite.mjs +11 -1
- package/fesm2015/daffodil-product-composite.mjs.map +1 -1
- package/fesm2020/daffodil-product-composite-routing.mjs +136 -0
- package/fesm2020/daffodil-product-composite-routing.mjs.map +1 -0
- package/fesm2020/daffodil-product-composite-state.mjs.map +1 -1
- package/fesm2020/daffodil-product-composite-testing.mjs +76 -103
- package/fesm2020/daffodil-product-composite-testing.mjs.map +1 -1
- package/fesm2020/daffodil-product-composite.mjs +11 -1
- package/fesm2020/daffodil-product-composite.mjs.map +1 -1
- package/helpers/build-selection-payload.d.ts +2 -0
- package/helpers/public_api.d.ts +1 -0
- package/models/public_api.d.ts +4 -0
- package/models/selection-payload.type.d.ts +5 -0
- package/package.json +13 -5
- package/public_api.d.ts +2 -3
- package/routing/config/default.d.ts +6 -0
- package/routing/config/interface.d.ts +20 -0
- package/routing/config/public_api.d.ts +3 -0
- package/routing/config/token.d.ts +10 -0
- package/routing/daffodil-product-composite-routing.d.ts +5 -0
- package/routing/effects/product-page.effects.d.ts +26 -0
- package/routing/effects/public_api.d.ts +1 -0
- package/routing/index.d.ts +1 -0
- package/routing/module.d.ts +10 -0
- package/routing/package.json +10 -0
- package/routing/public_api.d.ts +3 -0
- package/state/actions/composite-product.actions.d.ts +1 -1
- package/testing/factories/composite-product-item-option.factory.d.ts +19 -0
- package/testing/factories/composite-product-item.factory.d.ts +25 -0
- package/testing/factories/composite-product.factory.d.ts +6 -29
- package/testing/factories/public_api.d.ts +2 -0
@@ -1,134 +1,107 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Injectable } from '@angular/core';
|
3
|
-
import { faker } from '@faker-js/faker/locale/en_US';
|
4
3
|
import { DaffModelFactory } from '@daffodil/core/testing';
|
5
4
|
import { DaffProductTypeEnum } from '@daffodil/product';
|
6
|
-
import { DaffCompositeProductItemInputEnum } from '@daffodil/product-composite';
|
7
5
|
import { MockProduct } from '@daffodil/product/testing';
|
6
|
+
import { faker } from '@faker-js/faker/locale/en_US';
|
7
|
+
import { DaffCompositeProductItemInputEnum } from '@daffodil/product-composite';
|
8
8
|
|
9
9
|
/**
|
10
|
-
* Mocked
|
11
|
-
*
|
12
|
-
* @deprecated import from @daffodil/product-composite/testing instead.
|
10
|
+
* Mocked DaffCompositeProductItemOption object.
|
13
11
|
*/
|
14
|
-
class
|
12
|
+
class MockCompositeProductItemOption extends MockProduct {
|
15
13
|
constructor() {
|
16
14
|
super(...arguments);
|
17
|
-
this.
|
18
|
-
this.
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
quantity: faker.datatype.number({ min: 1, max: 9 }),
|
57
|
-
is_default: false,
|
58
|
-
in_stock: true,
|
59
|
-
related: [],
|
60
|
-
upsell: [],
|
61
|
-
},
|
62
|
-
],
|
63
|
-
},
|
64
|
-
{
|
65
|
-
id: faker.datatype.uuid(),
|
66
|
-
url: `/${faker.internet.domainWord()}.html`,
|
67
|
-
required: faker.datatype.boolean(),
|
68
|
-
title: faker.commerce.productName(),
|
69
|
-
input_type: DaffCompositeProductItemInputEnum.select,
|
70
|
-
options: [
|
71
|
-
{
|
72
|
-
id: faker.datatype.uuid(),
|
73
|
-
type: DaffProductTypeEnum.Simple,
|
74
|
-
url: `/${faker.internet.domainWord()}.html`,
|
75
|
-
name: faker.commerce.productMaterial(),
|
76
|
-
price: faker.datatype.number({ min: 1, max: 100 }),
|
77
|
-
images: [],
|
78
|
-
thumbnail: null,
|
79
|
-
discount: {
|
80
|
-
amount: 0,
|
81
|
-
percent: 0,
|
82
|
-
},
|
83
|
-
quantity: faker.datatype.number({ min: 1, max: 9 }),
|
84
|
-
is_default: true,
|
85
|
-
in_stock: true,
|
86
|
-
related: [],
|
87
|
-
upsell: [],
|
88
|
-
},
|
89
|
-
{
|
90
|
-
id: faker.datatype.uuid(),
|
91
|
-
type: DaffProductTypeEnum.Simple,
|
92
|
-
url: `/${faker.internet.domainWord()}.html`,
|
93
|
-
name: faker.commerce.productMaterial(),
|
94
|
-
price: faker.datatype.number({ min: 1, max: 100 }),
|
95
|
-
images: [],
|
96
|
-
thumbnail: null,
|
97
|
-
discount: {
|
98
|
-
amount: 0,
|
99
|
-
percent: 0,
|
100
|
-
},
|
101
|
-
quantity: faker.datatype.number({ min: 1, max: 9 }),
|
102
|
-
is_default: false,
|
103
|
-
in_stock: true,
|
104
|
-
related: [],
|
105
|
-
upsell: [],
|
106
|
-
},
|
107
|
-
],
|
108
|
-
},
|
15
|
+
this.quantity = faker.datatype.number({ min: 1, max: 9 });
|
16
|
+
this.is_default = faker.datatype.boolean();
|
17
|
+
}
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Factory for creating DaffCompositeProductItemOptions.
|
21
|
+
*/
|
22
|
+
class DaffCompositeProductItemOptionFactory extends DaffModelFactory {
|
23
|
+
constructor() {
|
24
|
+
super(MockCompositeProductItemOption);
|
25
|
+
}
|
26
|
+
}
|
27
|
+
/** @nocollapse */ DaffCompositeProductItemOptionFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductItemOptionFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
28
|
+
/** @nocollapse */ DaffCompositeProductItemOptionFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductItemOptionFactory, providedIn: 'root' });
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductItemOptionFactory, decorators: [{
|
30
|
+
type: Injectable,
|
31
|
+
args: [{
|
32
|
+
providedIn: 'root',
|
33
|
+
}]
|
34
|
+
}], ctorParameters: function () { return []; } });
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Mocked DaffCompositeProductItem object.
|
38
|
+
*/
|
39
|
+
class MockCompositeProductItem {
|
40
|
+
constructor(optionFactory) {
|
41
|
+
this.optionFactory = optionFactory;
|
42
|
+
this.id = faker.datatype.uuid();
|
43
|
+
this.url = `/${faker.internet.domainWord()}.html`;
|
44
|
+
this.required = faker.datatype.boolean();
|
45
|
+
this.title = faker.commerce.productName();
|
46
|
+
this.input_type = DaffCompositeProductItemInputEnum.select;
|
47
|
+
this.options = [
|
48
|
+
this.optionFactory.create({
|
49
|
+
is_default: true,
|
50
|
+
}),
|
51
|
+
this.optionFactory.create({
|
52
|
+
is_default: false,
|
53
|
+
}),
|
109
54
|
];
|
110
55
|
}
|
111
56
|
}
|
57
|
+
/**
|
58
|
+
* Factory for creating DaffCompositeProductItems.
|
59
|
+
*/
|
60
|
+
class DaffCompositeProductItemFactory extends DaffModelFactory {
|
61
|
+
constructor(optionFactory) {
|
62
|
+
super(MockCompositeProductItem, optionFactory);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
/** @nocollapse */ DaffCompositeProductItemFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductItemFactory, deps: [{ token: DaffCompositeProductItemOptionFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
66
|
+
/** @nocollapse */ DaffCompositeProductItemFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductItemFactory, providedIn: 'root' });
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductItemFactory, decorators: [{
|
68
|
+
type: Injectable,
|
69
|
+
args: [{
|
70
|
+
providedIn: 'root',
|
71
|
+
}]
|
72
|
+
}], ctorParameters: function () { return [{ type: DaffCompositeProductItemOptionFactory }]; } });
|
73
|
+
|
74
|
+
/**
|
75
|
+
* Mocked DaffCompositeProduct object.
|
76
|
+
*/
|
77
|
+
class MockCompositeProduct extends MockProduct {
|
78
|
+
constructor(itemFactory) {
|
79
|
+
super();
|
80
|
+
this.itemFactory = itemFactory;
|
81
|
+
this.type = DaffProductTypeEnum.Composite;
|
82
|
+
this.items = this.itemFactory.createMany(2);
|
83
|
+
}
|
84
|
+
}
|
112
85
|
/**
|
113
86
|
* Factory for creating DaffCompositeProducts.
|
114
87
|
*/
|
115
88
|
class DaffCompositeProductFactory extends DaffModelFactory {
|
116
|
-
constructor() {
|
117
|
-
super(MockCompositeProduct);
|
89
|
+
constructor(itemFactory) {
|
90
|
+
super(MockCompositeProduct, itemFactory);
|
118
91
|
}
|
119
92
|
}
|
120
|
-
/** @nocollapse */ DaffCompositeProductFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
93
|
+
/** @nocollapse */ DaffCompositeProductFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductFactory, deps: [{ token: DaffCompositeProductItemFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
121
94
|
/** @nocollapse */ DaffCompositeProductFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductFactory, providedIn: 'root' });
|
122
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductFactory, decorators: [{
|
123
96
|
type: Injectable,
|
124
97
|
args: [{
|
125
98
|
providedIn: 'root',
|
126
99
|
}]
|
127
|
-
}], ctorParameters: function () { return []; } });
|
100
|
+
}], ctorParameters: function () { return [{ type: DaffCompositeProductItemFactory }]; } });
|
128
101
|
|
129
102
|
/**
|
130
103
|
* Generated bundle index. Do not edit.
|
131
104
|
*/
|
132
105
|
|
133
|
-
export { DaffCompositeProductFactory, MockCompositeProduct };
|
106
|
+
export { DaffCompositeProductFactory, DaffCompositeProductItemFactory, DaffCompositeProductItemOptionFactory, MockCompositeProduct, MockCompositeProductItem, MockCompositeProductItemOption };
|
134
107
|
//# sourceMappingURL=daffodil-product-composite-testing.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-product-composite-testing.mjs","sources":["../../../libs/product-composite/testing/src/factories/composite-product.factory.ts","../../../libs/product-composite/testing/src/daffodil-product-composite-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffModelFactory } from '@daffodil/core/testing';\nimport {
|
1
|
+
{"version":3,"file":"daffodil-product-composite-testing.mjs","sources":["../../../libs/product-composite/testing/src/factories/composite-product-item-option.factory.ts","../../../libs/product-composite/testing/src/factories/composite-product-item.factory.ts","../../../libs/product-composite/testing/src/factories/composite-product.factory.ts","../../../libs/product-composite/testing/src/daffodil-product-composite-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffModelFactory } from '@daffodil/core/testing';\nimport { DaffCompositeProductItemOption } from '@daffodil/product-composite';\nimport { MockProduct } from '@daffodil/product/testing';\n\n/**\n * Mocked DaffCompositeProductItemOption object.\n */\nexport class MockCompositeProductItemOption extends MockProduct implements DaffCompositeProductItemOption {\n quantity = faker.datatype.number({ min: 1, max: 9 });\n is_default = faker.datatype.boolean();\n}\n\n/**\n * Factory for creating DaffCompositeProductItemOptions.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCompositeProductItemOptionFactory extends DaffModelFactory<DaffCompositeProductItemOption>{\n constructor() {\n super(MockCompositeProductItemOption);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffModelFactory } from '@daffodil/core/testing';\nimport {\n DaffCompositeProductItem,\n DaffCompositeProductItemInputEnum,\n} from '@daffodil/product-composite';\n\nimport { DaffCompositeProductItemOptionFactory } from './composite-product-item-option.factory';\n\n/**\n * Mocked DaffCompositeProductItem object.\n */\nexport class MockCompositeProductItem implements DaffCompositeProductItem {\n id = faker.datatype.uuid();\n url = `/${faker.internet.domainWord()}.html`;\n required = faker.datatype.boolean();\n title = faker.commerce.productName();\n input_type = DaffCompositeProductItemInputEnum.select;\n options = [\n this.optionFactory.create({\n is_default: true,\n }),\n this.optionFactory.create({\n is_default: false,\n }),\n ];\n\n constructor(\n protected optionFactory: DaffCompositeProductItemOptionFactory,\n ) {}\n}\n\n/**\n * Factory for creating DaffCompositeProductItems.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCompositeProductItemFactory extends DaffModelFactory<DaffCompositeProductItem>{\n constructor(\n optionFactory: DaffCompositeProductItemOptionFactory,\n ) {\n super(MockCompositeProductItem, optionFactory);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { DaffModelFactory } from '@daffodil/core/testing';\nimport { DaffProductTypeEnum } from '@daffodil/product';\nimport { DaffCompositeProduct } from '@daffodil/product-composite';\nimport { MockProduct } from '@daffodil/product/testing';\n\nimport { DaffCompositeProductItemFactory } from './composite-product-item.factory';\n\n/**\n * Mocked DaffCompositeProduct object.\n */\nexport class MockCompositeProduct extends MockProduct implements DaffCompositeProduct {\n type = DaffProductTypeEnum.Composite;\n items = this.itemFactory.createMany(2);\n\n constructor(\n protected itemFactory: DaffCompositeProductItemFactory,\n ) {\n super();\n }\n}\n\n/**\n * Factory for creating DaffCompositeProducts.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCompositeProductFactory extends DaffModelFactory<DaffCompositeProduct>{\n constructor(\n itemFactory: DaffCompositeProductItemFactory,\n ) {\n super(MockCompositeProduct, itemFactory);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffCompositeProductItemOptionFactory","i1.DaffCompositeProductItemFactory"],"mappings":"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"}
|
@@ -1,3 +1,13 @@
|
|
1
|
+
function daffProductCompositeBuildSelectionPayload(appliedOptions) {
|
2
|
+
return Object.keys(appliedOptions).reduce((selection, itemId) => {
|
3
|
+
const optionId = appliedOptions[itemId].id;
|
4
|
+
if (optionId) {
|
5
|
+
selection[itemId] = [optionId];
|
6
|
+
}
|
7
|
+
return selection;
|
8
|
+
}, {});
|
9
|
+
}
|
10
|
+
|
1
11
|
/**
|
2
12
|
* An enum for whether a composite product item should be displayed as a radio or select input.
|
3
13
|
*/
|
@@ -11,5 +21,5 @@ var DaffCompositeProductItemInputEnum;
|
|
11
21
|
* Generated bundle index. Do not edit.
|
12
22
|
*/
|
13
23
|
|
14
|
-
export { DaffCompositeProductItemInputEnum };
|
24
|
+
export { DaffCompositeProductItemInputEnum, daffProductCompositeBuildSelectionPayload };
|
15
25
|
//# sourceMappingURL=daffodil-product-composite.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-product-composite.mjs","sources":["../../../libs/product-composite/src/models/composite-product-item.ts","../../../libs/product-composite/src/daffodil-product-composite.ts"],"sourcesContent":["import { DaffIdentifiable } from '@daffodil/core';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * An enum for whether a composite product item should be displayed as a radio or select input.\n */\nexport enum DaffCompositeProductItemInputEnum {\n select = 'select',\n radio = 'radio'\n}\n\n/**\n * The composite product item describes one set of product options that the user can add to the composite product.\n * A composite product item can be required or optional. If it is required, an option _must_ be chosen in order to add the product to the cart.\n * If the item is optional, the product can be added to the cart without an option having been chosen.\n * For example, if a composite product is a toolbox bundle, a composite product item might be a screw driver, and the options contained in that\n * item might be a phillips head and a flathead. The customer could choose to add either a phillips head or a flathead to the\n * composite product, or neither if the item is optional.\n */\nexport interface DaffCompositeProductItem extends DaffIdentifiable {\n /**\n * Whether the item is required or optional.\n */\n required: boolean;\n /**\n * The title label for the item.\n */\n title: string;\n /**\n * Describes how the item should be displayed.\n */\n input_type: DaffCompositeProductItemInputEnum;\n /**\n * The options that may be chosen for the item.\n */\n options: DaffCompositeProductItemOption[];\n}\n\n/**\n * The composite product item option is a DaffProduct that can be added to a composite product.\n */\nexport interface DaffCompositeProductItemOption extends DaffProduct {\n /**\n * Whether the option is the default option for its parent {@link DaffCompositeProductItem}.\n */\n is_default: boolean;\n /**\n * The quantity chosen for the option.\n */\n quantity: number;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"daffodil-product-composite.mjs","sources":["../../../libs/product-composite/src/helpers/build-selection-payload.ts","../../../libs/product-composite/src/models/composite-product-item.ts","../../../libs/product-composite/src/daffodil-product-composite.ts"],"sourcesContent":["import {\n DaffCompositeProductItem,\n DaffCompositeProductItemOption,\n DaffProductCompositeSelectionPayload,\n} from '../models/public_api';\n\nexport function daffProductCompositeBuildSelectionPayload(appliedOptions: Record<DaffCompositeProductItem['id'], DaffCompositeProductItemOption>): DaffProductCompositeSelectionPayload {\n return Object.keys(appliedOptions).reduce<DaffProductCompositeSelectionPayload>(\n (selection, itemId) => {\n const optionId = appliedOptions[itemId].id;\n\n if (optionId) {\n selection[itemId] = [optionId];\n }\n\n return selection;\n },\n {},\n );\n}\n","import { DaffIdentifiable } from '@daffodil/core';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * An enum for whether a composite product item should be displayed as a radio or select input.\n */\nexport enum DaffCompositeProductItemInputEnum {\n select = 'select',\n radio = 'radio'\n}\n\n/**\n * The composite product item describes one set of product options that the user can add to the composite product.\n * A composite product item can be required or optional. If it is required, an option _must_ be chosen in order to add the product to the cart.\n * If the item is optional, the product can be added to the cart without an option having been chosen.\n * For example, if a composite product is a toolbox bundle, a composite product item might be a screw driver, and the options contained in that\n * item might be a phillips head and a flathead. The customer could choose to add either a phillips head or a flathead to the\n * composite product, or neither if the item is optional.\n */\nexport interface DaffCompositeProductItem extends DaffIdentifiable {\n /**\n * Whether the item is required or optional.\n */\n required: boolean;\n /**\n * The title label for the item.\n */\n title: string;\n /**\n * Describes how the item should be displayed.\n */\n input_type: DaffCompositeProductItemInputEnum;\n /**\n * The options that may be chosen for the item.\n */\n options: DaffCompositeProductItemOption[];\n}\n\n/**\n * The composite product item option is a DaffProduct that can be added to a composite product.\n */\nexport interface DaffCompositeProductItemOption extends DaffProduct {\n /**\n * Whether the option is the default option for its parent {@link DaffCompositeProductItem}.\n */\n is_default: boolean;\n /**\n * The quantity chosen for the option.\n */\n quantity: number;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAMM,SAAU,yCAAyC,CAAC,cAAsF,EAAA;AAC9I,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CACvC,CAAC,SAAS,EAAE,MAAM,KAAI;QACpB,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AAE3C,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChC,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KAClB,EACD,EAAE,CACH,CAAC;AACJ;;AChBA;;AAEG;AACS,IAAA,kCAGX;AAHD,CAAA,UAAY,iCAAiC,EAAA;AAC3C,IAAA,iCAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,iCAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHW,iCAAiC,KAAjC,iCAAiC,GAG5C,EAAA,CAAA,CAAA;;ACTD;;AAEG;;;;"}
|
@@ -0,0 +1,136 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { InjectionToken, inject, Injectable, Inject, NgModule } from '@angular/core';
|
3
|
+
import { DaffBase64ServiceToken } from '@daffodil/core';
|
4
|
+
import * as i2 from '@angular/router';
|
5
|
+
import * as i1 from '@ngrx/effects';
|
6
|
+
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
7
|
+
import { EMPTY, of } from 'rxjs';
|
8
|
+
import { switchMap } from 'rxjs/operators';
|
9
|
+
import { DaffProductTypeEnum } from '@daffodil/product';
|
10
|
+
import { DaffCompositeProductApplyOption } from '@daffodil/product-composite/state';
|
11
|
+
import { DaffProductPageActionTypes } from '@daffodil/product/state';
|
12
|
+
|
13
|
+
/**
|
14
|
+
* The default configuration for the {@link DaffProductCompositeRoutingConfig}.
|
15
|
+
*/
|
16
|
+
const daffProductCompositeRoutingConfigDefaultFactory = (base64) => ({
|
17
|
+
compositeSelectionQueryParam: 'composite_selection',
|
18
|
+
compositeSelectionQueryParamDecode: (queryParam) => JSON.parse(base64.decode(queryParam)),
|
19
|
+
});
|
20
|
+
|
21
|
+
/**
|
22
|
+
* The token used to provide @daffodil/product-composite/routing config data.
|
23
|
+
*/
|
24
|
+
const DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG = new InjectionToken('DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG', {
|
25
|
+
factory: () => daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),
|
26
|
+
});
|
27
|
+
/**
|
28
|
+
* Provides the {@link DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG} token.
|
29
|
+
*/
|
30
|
+
function daffProductCompositeRoutingProvideConfig(config) {
|
31
|
+
return {
|
32
|
+
provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,
|
33
|
+
useFactory: () => ({
|
34
|
+
...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),
|
35
|
+
...config,
|
36
|
+
}),
|
37
|
+
};
|
38
|
+
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Builds the apply actions from the list of selected options.
|
42
|
+
*/
|
43
|
+
function buildApplyActions(product, itemId, selectedOptions) {
|
44
|
+
const selectionItem = product.items.find(({ id }) => id === itemId);
|
45
|
+
return selectionItem
|
46
|
+
? selectedOptions.map(selectionOptionId => {
|
47
|
+
// use the quantity of the referenced option
|
48
|
+
const qty = selectionItem?.options.find(({ id }) => id === selectionOptionId)?.quantity;
|
49
|
+
return new DaffCompositeProductApplyOption(product.id, itemId, selectionOptionId, qty);
|
50
|
+
})
|
51
|
+
: [];
|
52
|
+
}
|
53
|
+
/**
|
54
|
+
* Handles composite product specific actions for the product page.
|
55
|
+
*/
|
56
|
+
class DaffProductCompositePageEffects {
|
57
|
+
constructor(actions$, route, config) {
|
58
|
+
this.actions$ = actions$;
|
59
|
+
this.route = route;
|
60
|
+
this.config = config;
|
61
|
+
/**
|
62
|
+
* Applies composite item options based on the value of the configured query param.
|
63
|
+
*/
|
64
|
+
this.preselectCompositeOptions$ = createEffect(() => this.actions$.pipe(ofType(DaffProductPageActionTypes.ProductPageLoadSuccessAction), switchMap((action) => {
|
65
|
+
const queryParam = this.getQueryParam();
|
66
|
+
// get the product corresponding to the current product page
|
67
|
+
const product = action.payload.products.filter(({ id }) => id === action.payload.id)[0];
|
68
|
+
// if we don't have a query param set or if the product isn't composite,
|
69
|
+
// we have nothing to do
|
70
|
+
if (!queryParam || product?.type !== DaffProductTypeEnum.Composite) {
|
71
|
+
return EMPTY;
|
72
|
+
}
|
73
|
+
let selection;
|
74
|
+
try {
|
75
|
+
selection = this.config.compositeSelectionQueryParamDecode(queryParam, product);
|
76
|
+
}
|
77
|
+
catch (error) {
|
78
|
+
return EMPTY;
|
79
|
+
}
|
80
|
+
const applyActions = Object.keys(selection).reduce((actions, itemId) => actions.concat(buildApplyActions(product, itemId, selection[itemId])), []);
|
81
|
+
// dispatch each of the apply actions into the action stream
|
82
|
+
return of(...applyActions);
|
83
|
+
})));
|
84
|
+
}
|
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
|
+
}
|
92
|
+
/** @nocollapse */ DaffProductCompositePageEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, deps: [{ token: i1.Actions }, { token: i2.ActivatedRoute }, { token: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
93
|
+
/** @nocollapse */ DaffProductCompositePageEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects });
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositePageEffects, decorators: [{
|
95
|
+
type: Injectable
|
96
|
+
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
|
97
|
+
type: Inject,
|
98
|
+
args: [DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG]
|
99
|
+
}] }]; } });
|
100
|
+
|
101
|
+
class DaffProductCompositeRoutingModule {
|
102
|
+
static withConfig(config) {
|
103
|
+
return {
|
104
|
+
ngModule: DaffProductCompositeRoutingModule,
|
105
|
+
providers: [
|
106
|
+
{
|
107
|
+
provide: DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG,
|
108
|
+
useFactory: () => ({
|
109
|
+
...daffProductCompositeRoutingConfigDefaultFactory(inject(DaffBase64ServiceToken)),
|
110
|
+
...config || {},
|
111
|
+
}),
|
112
|
+
},
|
113
|
+
],
|
114
|
+
};
|
115
|
+
}
|
116
|
+
}
|
117
|
+
/** @nocollapse */ DaffProductCompositeRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
118
|
+
/** @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, imports: [[
|
120
|
+
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
121
|
+
]] });
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffProductCompositeRoutingModule, decorators: [{
|
123
|
+
type: NgModule,
|
124
|
+
args: [{
|
125
|
+
imports: [
|
126
|
+
EffectsModule.forFeature([DaffProductCompositePageEffects]),
|
127
|
+
],
|
128
|
+
}]
|
129
|
+
}] });
|
130
|
+
|
131
|
+
/**
|
132
|
+
* Generated bundle index. Do not edit.
|
133
|
+
*/
|
134
|
+
|
135
|
+
export { DAFF_PRODUCT_COMPOSITE_ROUTING_CONFIG, DaffProductCompositePageEffects, DaffProductCompositeRoutingModule, daffProductCompositeRoutingConfigDefaultFactory, daffProductCompositeRoutingProvideConfig };
|
136
|
+
//# sourceMappingURL=daffodil-product-composite-routing.mjs.map
|
@@ -0,0 +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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"}
|