@colijnit/product 12.0.2 → 12.0.4
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/app/components/product-stock/product-stock.component.d.ts +9 -7
- package/app/service/product-connector-adapter.service.d.ts +1 -0
- package/app/service/product-connector.service.d.ts +1 -0
- package/app/service/product-settings.service.d.ts +1 -1
- package/bundles/colijnit-product.umd.js +92 -38
- package/bundles/colijnit-product.umd.js.map +1 -1
- package/colijnit-product.metadata.json +1 -1
- package/esm2015/app/components/product-page/product-page.component.js +2 -2
- package/esm2015/app/components/product-stock/product-stock.component.js +30 -10
- package/esm2015/app/ione-product.component.js +19 -19
- package/esm2015/app/ione-product.module.js +7 -3
- package/esm2015/app/product-version.js +3 -3
- package/esm2015/app/service/product-connector-adapter.service.js +12 -1
- package/esm2015/app/service/product-connector.service.js +4 -1
- package/esm2015/app/service/product-settings.service.js +8 -4
- package/esm2015/assets/dictionary/text.properties.js +3 -1
- package/fesm2015/colijnit-product.js +77 -35
- package/fesm2015/colijnit-product.js.map +1 -1
- package/package.json +6 -3
|
@@ -17,7 +17,7 @@ export class ProductSettingsService {
|
|
|
17
17
|
get settings() {
|
|
18
18
|
return this._settings;
|
|
19
19
|
}
|
|
20
|
-
initializeSettings() {
|
|
20
|
+
initializeSettings(finish = true) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
22
|
// see if there's a json file for application settings
|
|
23
23
|
if (typeof settings === 'undefined') {
|
|
@@ -25,13 +25,17 @@ export class ProductSettingsService {
|
|
|
25
25
|
if (jsonSettings) {
|
|
26
26
|
this.settings = Object.assign(new ProductSettings(), jsonSettings);
|
|
27
27
|
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
28
|
-
|
|
28
|
+
if (finish) {
|
|
29
|
+
this.settingsFinished();
|
|
30
|
+
}
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
else {
|
|
32
34
|
this.settings = Object.assign(new ProductSettings(), settings);
|
|
33
35
|
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
34
|
-
|
|
36
|
+
if (finish) {
|
|
37
|
+
this.settingsFinished();
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
40
|
});
|
|
37
41
|
}
|
|
@@ -79,4 +83,4 @@ ProductSettingsService.ctorParameters = () => [
|
|
|
79
83
|
{ type: JsonUtilsService },
|
|
80
84
|
{ type: DictionaryService }
|
|
81
85
|
];
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFLNUQsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUNVLGlCQUFtQyxFQUNuQyxrQkFBcUM7UUFEckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBTnhDLG1CQUFjLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBUTdFLENBQUM7SUFoQkQsSUFBVyxRQUFRLENBQUMsS0FBc0I7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVlZLGtCQUFrQixDQUFDLFNBQWtCLElBQUk7O1lBQ3BELHNEQUFzRDtZQUN0RCxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRTtnQkFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3hGLElBQUksWUFBWSxFQUFF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LElBQUksR0FBRyxDQUFDO2lCQUN0QzthQUNGO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQztLQUFBO0lBRVksZ0JBQWdCOztZQUMzQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO0tBQUE7OztZQXpFRixVQUFVOzs7WUFQRixnQkFBZ0I7WUFDaEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSnNvblV0aWxzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL2pzb24tdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0U2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbC9wcm9kdWN0U2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc09wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9zZXR0aW5ncy1vcHRpb25zJztcclxuXHJcbmRlY2xhcmUgbGV0IHNldHRpbmdzOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIHNldCBzZXR0aW5ncyh2YWx1ZTogUHJvZHVjdFNldHRpbmdzKSB7XHJcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBQcm9kdWN0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IFByb2R1Y3RTZXR0aW5ncztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9qc29uVXRpbHNTZXJ2aWNlOiBKc29uVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZVNldHRpbmdzKGZpbmlzaDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIHNlZSBpZiB0aGVyZSdzIGEganNvbiBmaWxlIGZvciBhcHBsaWNhdGlvbiBzZXR0aW5nc1xyXG4gICAgaWYgKHR5cGVvZiBzZXR0aW5ncyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgY29uc3QganNvblNldHRpbmdzID0gYXdhaXQgdGhpcy5fanNvblV0aWxzU2VydmljZS5yZWFkSnNvbkZpbGUoJ3Byb2R1Y3Qtc2V0dGluZ3MuanNvbicpO1xyXG4gICAgICBpZiAoanNvblNldHRpbmdzKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24obmV3IFByb2R1Y3RTZXR0aW5ncygpLCBqc29uU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24obmV3IFNldHRpbmdzT3B0aW9ucygpLCB0aGlzLnNldHRpbmdzLm9wdGlvbnMpO1xyXG4gICAgICAgIGlmIChmaW5pc2gpIHtcclxuICAgICAgICAgIHRoaXMuc2V0dGluZ3NGaW5pc2hlZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24obmV3IFByb2R1Y3RTZXR0aW5ncygpLCBzZXR0aW5ncyk7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24obmV3IFNldHRpbmdzT3B0aW9ucygpLCB0aGlzLnNldHRpbmdzLm9wdGlvbnMpO1xyXG4gICAgICBpZiAoZmluaXNoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0ZpbmlzaGVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVTZXR0aW5nc0Zyb21PYmplY3Qob2JqOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zZXR0aW5ncykge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gbmV3IFByb2R1Y3RTZXR0aW5ncygpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb3duT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyk7XHJcbiAgICBjb25zdCBvd25SZW5kZXJQYXJhbWV0ZXJzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5zZXR0aW5ncy5yZW5kZXJQYXJhbWV0ZXJzKTtcclxuICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnNldHRpbmdzLCBvYmopO1xyXG4gICAgaWYgKG9iai5yZW5kZXJQYXJhbWV0ZXJzKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MucmVuZGVyUGFyYW1ldGVycyA9IE9iamVjdC5hc3NpZ24oe30sIG93blJlbmRlclBhcmFtZXRlcnMsIG9iai5yZW5kZXJQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuICAgIGlmIChvYmoub3B0aW9ucykge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBvd25PcHRpb25zLCBvYmoub3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KCdhc3NldFBhdGgnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLmFzc2V0UGF0aCA9IG9ialsnYXNzZXRQYXRoJ107XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLmFzc2V0UGF0aFt0aGlzLnNldHRpbmdzLmFzc2V0UGF0aC5sZW5ndGggLSAxXSAhPT0gJy8nKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5hc3NldFBhdGggKz0gJy8nO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MudGhyZWVEQXNzZXRQYXRoID0gdGhpcy5zZXR0aW5ncy5hc3NldFBhdGg7XHJcbiAgICB9XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KCd0aHJlZURBc3NldFBhdGgnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLnRocmVlREFzc2V0UGF0aCA9IG9ialsndGhyZWVEQXNzZXRQYXRoJ107XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLnRocmVlREFzc2V0UGF0aFt0aGlzLnNldHRpbmdzLnRocmVlREFzc2V0UGF0aC5sZW5ndGggLSAxXSAhPT0gJy8nKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy50aHJlZURBc3NldFBhdGggKz0gJy8nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldHRpbmdzRmluaXNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzZXR0aW5nc0ZpbmlzaGVkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeVNlcnZpY2Uuc2V0RGljdGlvbmFyeSh0aGlzLnNldHRpbmdzLmxhbmd1YWdlQ29kZSk7XHJcbiAgICB0aGlzLnNldHRpbmdzTG9hZGVkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -16,6 +16,7 @@ export class Dictionary {
|
|
|
16
16
|
"HEIGHT": "Hoogte",
|
|
17
17
|
"MATERIAL": "Materiaal",
|
|
18
18
|
"PRODUCT_IN_STOCK": "Op voorraad",
|
|
19
|
+
"PRODUCT_LIMITED_STOCK": "Beperkt op voorraad",
|
|
19
20
|
"PRODUCT_NOT_IN_STOCK": "Niet op voorraad",
|
|
20
21
|
"PROPERTIES": "Eigenschappen",
|
|
21
22
|
"QUOTATION": "Quotatie",
|
|
@@ -45,6 +46,7 @@ export class Dictionary {
|
|
|
45
46
|
"HEIGHT": "Höhe",
|
|
46
47
|
"MATERIAL": "Material",
|
|
47
48
|
"PRODUCT_IN_STOCK": "Auf lager",
|
|
49
|
+
"PRODUCT_LIMITED_STOCK": "Begrentzt auf lager",
|
|
48
50
|
"PRODUCT_NOT_IN_STOCK": "Nicht auf lager",
|
|
49
51
|
"PROPERTIES": "Eigenschaften",
|
|
50
52
|
"QUOTATION": "Angebot",
|
|
@@ -62,4 +64,4 @@ export class Dictionary {
|
|
|
62
64
|
};
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Fzc2V0cy9kaWN0aW9uYXJ5L3RleHQucHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUVTLFlBQU8sR0FBTztZQUNuQixJQUFJLEVBQUU7Z0JBQ0osaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxzQkFBc0IsRUFBRSx3QkFBd0I7Z0JBQ2hELGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLGVBQWUsRUFBRSxnQkFBZ0I7Z0JBQ2pDLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixzQkFBc0IsRUFBRSxXQUFXO2dCQUNuQyxhQUFhLEVBQUUsY0FBYztnQkFDN0IsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixVQUFVLEVBQUUsV0FBVztnQkFDdkIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixrQkFBa0IsRUFBRSxhQUFhO2dCQUNqQyx1QkFBdUIsRUFBRSxxQkFBcUI7Z0JBQzlDLHNCQUFzQixFQUFFLGtCQUFrQjtnQkFDMUMsWUFBWSxFQUFFLGVBQWU7Z0JBQzdCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixXQUFXLEVBQUUsV0FBVztnQkFDeEIsa0JBQWtCLEVBQUUsd0JBQXdCO2dCQUM1QyxrQkFBa0IsRUFBRSxnQkFBZ0I7Z0JBQ3BDLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixPQUFPLEVBQUUsVUFBVTtnQkFDbkIsU0FBUyxFQUFFLFVBQVU7Z0JBQ3JCLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixlQUFlLEVBQUUsWUFBWTtnQkFDN0IsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLE9BQU8sRUFBRSxTQUFTO2FBQ25CO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLGlCQUFpQixFQUFFLGtCQUFrQjtnQkFDckMsc0JBQXNCLEVBQUUsc0JBQXNCO2dCQUM5QyxnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxVQUFVLEVBQUUsV0FBVztnQkFDdkIsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLFdBQVcsRUFBRSxlQUFlO2dCQUM1QixzQkFBc0IsRUFBRSxZQUFZO2dCQUNwQyxhQUFhLEVBQUUsY0FBYztnQkFDN0IsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixVQUFVLEVBQUUsZUFBZTtnQkFDM0IsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixrQkFBa0IsRUFBRSxXQUFXO2dCQUMvQix1QkFBdUIsRUFBRSxxQkFBcUI7Z0JBQzlDLHNCQUFzQixFQUFFLGlCQUFpQjtnQkFDekMsWUFBWSxFQUFFLGVBQWU7Z0JBQzdCLFdBQVcsRUFBRSxTQUFTO2dCQUN0QixXQUFXLEVBQUUsZ0JBQWdCO2dCQUM3QixrQkFBa0IsRUFBRSxvQkFBb0I7Z0JBQ3hDLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLGVBQWUsRUFBRSxjQUFjO2dCQUMvQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsT0FBTyxFQUFFLFFBQVE7YUFDbEI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERpY3Rpb25hcnkge1xyXG5cclxuICBwdWJsaWMgc3RyaW5nczoge30gPSB7XHJcbiAgICBcIm5sXCI6IHtcclxuICAgICAgXCJBRERJVElPTkFMX0RBVEFcIjogXCJFeHRyYSBpbmZvcm1hdGllXCIsXHJcbiAgICAgIFwiQUxURVJOQVRJVkVfUFJPRFVDVFNcIjogXCJBbHRlcm5hdGlldmUgcHJvZHVjdGVuXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OVU1CRVJcIjogXCJBcnRpa2VsIG51bW1lclwiLFxyXG4gICAgICBcIkNBVEVHT1JZXCI6IFwiQ2F0ZWdvcmllXCIsXHJcbiAgICAgIFwiQ0FURUdPUllfVFlQRVwiOiBcIkNhdGVnb3JpZSB0eXBlXCIsXHJcbiAgICAgIFwiQ09ORklHVVJFXCI6IFwiQ29uZmlndXJlcmVuXCIsXHJcbiAgICAgIFwiREVMSVZFUllfVElNRV9QRVJJT0RcIjogXCJMZXZlcnRpamRcIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIk9tc2NocmlqdmluZ1wiLFxyXG4gICAgICBcIkRPQ1VNRU5UU1wiOiBcIkRvY3VtZW50ZW5cIixcclxuICAgICAgXCJET1dOTE9BRFNcIjogXCJEb3dubG9hZHNcIixcclxuICAgICAgXCJGRUFUVVJFU1wiOiBcIktlbm1lcmtlblwiLFxyXG4gICAgICBcIkhFSUdIVFwiOiBcIkhvb2d0ZVwiLFxyXG4gICAgICBcIk1BVEVSSUFMXCI6IFwiTWF0ZXJpYWFsXCIsXHJcbiAgICAgIFwiUFJPRFVDVF9JTl9TVE9DS1wiOiBcIk9wIHZvb3JyYWFkXCIsXHJcbiAgICAgIFwiUFJPRFVDVF9MSU1JVEVEX1NUT0NLXCI6IFwiQmVwZXJrdCBvcCB2b29ycmFhZFwiLFxyXG4gICAgICBcIlBST0RVQ1RfTk9UX0lOX1NUT0NLXCI6IFwiTmlldCBvcCB2b29ycmFhZFwiLFxyXG4gICAgICBcIlBST1BFUlRJRVNcIjogXCJFaWdlbnNjaGFwcGVuXCIsXHJcbiAgICAgIFwiUVVPVEFUSU9OXCI6IFwiUXVvdGF0aWVcIixcclxuICAgICAgXCJSRUFEX01PUkVcIjogXCJMZWVzIG1lZXJcIixcclxuICAgICAgXCJSRUxBVEVEX1BST0RVQ1RTXCI6IFwiR2VyZWxhdGVlcmRlIHByb2R1Y3RlblwiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRfSU5cIjogXCJJbiB3aW5rZWx3YWdlblwiLFxyXG4gICAgICBcIlNIT1dfSU5cIjogXCJMYWF0IHppZW5cIixcclxuICAgICAgXCJTVE9DS1wiOiBcIlZvb3JyYWFkXCIsXHJcbiAgICAgIFwiU1lNQk9MU1wiOiBcIlN5bWJvbGVuXCIsXHJcbiAgICAgIFwiVElUTEVcIjogXCJUaXRlbFwiLFxyXG4gICAgICBcIlRVUk5PVkVSR1JPVVBcIjogXCJPbXpldGdyb2VwXCIsXHJcbiAgICAgIFwiVkFSSUFOVFNcIjogXCJWYXJpYW50ZW5cIixcclxuICAgICAgXCJXSURUSFwiOiBcIkJyZWVkdGVcIlxyXG4gICAgfSxcclxuICAgIFwiZGVcIjoge1xyXG4gICAgICBcIkFERElUSU9OQUxfREFUQVwiOiBcIkV4dHJhIGluZm9ybWF0aWVcIixcclxuICAgICAgXCJBTFRFUk5BVElWRV9QUk9EVUNUU1wiOiBcIkFsdGVybmF0aXZlIFByb2R1a3RlXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OVU1CRVJcIjogXCJBcnRpa2VsbnVtbWVyXCIsXHJcbiAgICAgIFwiQ0FURUdPUllcIjogXCJLYXRlZ29yaWVcIixcclxuICAgICAgXCJDQVRFR09SWV9UWVBFXCI6IFwiS2F0ZWdvcmlldHlwZVwiLFxyXG4gICAgICBcIkNPTkZJR1VSRVwiOiBcIktvbmZpZ3VyaWVyZW5cIixcclxuICAgICAgXCJERUxJVkVSWV9USU1FX1BFUklPRFwiOiBcIkxpZWZlcnplaXRcIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIkJlc2NocmVpYnVuZ1wiLFxyXG4gICAgICBcIkRPQ1VNRU5UU1wiOiBcIkRhdGVpZW5cIixcclxuICAgICAgXCJET1dOTE9BRFNcIjogXCJEb3dubG9hZHNcIixcclxuICAgICAgXCJGRUFUVVJFU1wiOiBcIkVpZ2Vuc2NoYWZ0ZW5cIixcclxuICAgICAgXCJIRUlHSFRcIjogXCJIw7ZoZVwiLFxyXG4gICAgICBcIk1BVEVSSUFMXCI6IFwiTWF0ZXJpYWxcIixcclxuICAgICAgXCJQUk9EVUNUX0lOX1NUT0NLXCI6IFwiQXVmIGxhZ2VyXCIsXHJcbiAgICAgIFwiUFJPRFVDVF9MSU1JVEVEX1NUT0NLXCI6IFwiQmVncmVudHp0IGF1ZiBsYWdlclwiLFxyXG4gICAgICBcIlBST0RVQ1RfTk9UX0lOX1NUT0NLXCI6IFwiTmljaHQgYXVmIGxhZ2VyXCIsXHJcbiAgICAgIFwiUFJPUEVSVElFU1wiOiBcIkVpZ2Vuc2NoYWZ0ZW5cIixcclxuICAgICAgXCJRVU9UQVRJT05cIjogXCJBbmdlYm90XCIsXHJcbiAgICAgIFwiUkVBRF9NT1JFXCI6IFwiTGVzZW4gU2llIG1laHJcIixcclxuICAgICAgXCJSRUxBVEVEX1BST0RVQ1RTXCI6IFwiVmVyd2FuZHRlIFByb2R1a3RlXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9JTlwiOiBcIkltIEVpbmthdWZzd2FnZW5cIixcclxuICAgICAgXCJTSE9XX0lOXCI6IFwiWmVpZ2VuXCIsXHJcbiAgICAgIFwiU1RPQ0tcIjogXCJWb3JyYXRcIixcclxuICAgICAgXCJTWU1CT0xTXCI6IFwiU3ltYm9sZVwiLFxyXG4gICAgICBcIlRJVExFXCI6IFwiVGl0dWxhdHVyXCIsXHJcbiAgICAgIFwiVFVSTk9WRVJHUk9VUFwiOiBcIlVtc2F0emdydXBwZVwiLFxyXG4gICAgICBcIlZBUklBTlRTXCI6IFwiVmFyaWFudGVuXCIsXHJcbiAgICAgIFwiV0lEVEhcIjogXCJCcmVpdGVcIlxyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -15,7 +15,6 @@ import * as i1 from '@angular/common/http';
|
|
|
15
15
|
import { HttpClient } from '@angular/common/http';
|
|
16
16
|
import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
|
|
17
17
|
import { CommonModule } from '@angular/common';
|
|
18
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
19
18
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
20
19
|
import * as i1$1 from '@angular/platform-browser';
|
|
21
20
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
@@ -28,8 +27,8 @@ class Version {
|
|
|
28
27
|
constructor() {
|
|
29
28
|
this.name = "@colijnit/product";
|
|
30
29
|
this.description = "Product detail page project for iOne";
|
|
31
|
-
this.symVer = "12.0.
|
|
32
|
-
this.publishDate = "
|
|
30
|
+
this.symVer = "12.0.4";
|
|
31
|
+
this.publishDate = "16-10-2023 12:31:14";
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
|
|
@@ -156,6 +155,17 @@ class ProductConnectorAdapterService {
|
|
|
156
155
|
}
|
|
157
156
|
});
|
|
158
157
|
}
|
|
158
|
+
getArtStockStatus(goodId) {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
const response = yield this.articleConnector.getArtStockStatus(goodId);
|
|
161
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
162
|
+
return response.resultObject;
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
159
169
|
getDeliveryDate2(goodId) {
|
|
160
170
|
return __awaiter(this, void 0, void 0, function* () {
|
|
161
171
|
const response = yield this.articleConnector.getDeliveryDate2(goodId);
|
|
@@ -269,6 +279,7 @@ class Dictionary {
|
|
|
269
279
|
"HEIGHT": "Hoogte",
|
|
270
280
|
"MATERIAL": "Materiaal",
|
|
271
281
|
"PRODUCT_IN_STOCK": "Op voorraad",
|
|
282
|
+
"PRODUCT_LIMITED_STOCK": "Beperkt op voorraad",
|
|
272
283
|
"PRODUCT_NOT_IN_STOCK": "Niet op voorraad",
|
|
273
284
|
"PROPERTIES": "Eigenschappen",
|
|
274
285
|
"QUOTATION": "Quotatie",
|
|
@@ -298,6 +309,7 @@ class Dictionary {
|
|
|
298
309
|
"HEIGHT": "Höhe",
|
|
299
310
|
"MATERIAL": "Material",
|
|
300
311
|
"PRODUCT_IN_STOCK": "Auf lager",
|
|
312
|
+
"PRODUCT_LIMITED_STOCK": "Begrentzt auf lager",
|
|
301
313
|
"PRODUCT_NOT_IN_STOCK": "Nicht auf lager",
|
|
302
314
|
"PROPERTIES": "Eigenschaften",
|
|
303
315
|
"QUOTATION": "Angebot",
|
|
@@ -412,7 +424,7 @@ class ProductSettingsService {
|
|
|
412
424
|
get settings() {
|
|
413
425
|
return this._settings;
|
|
414
426
|
}
|
|
415
|
-
initializeSettings() {
|
|
427
|
+
initializeSettings(finish = true) {
|
|
416
428
|
return __awaiter(this, void 0, void 0, function* () {
|
|
417
429
|
// see if there's a json file for application settings
|
|
418
430
|
if (typeof settings === 'undefined') {
|
|
@@ -420,13 +432,17 @@ class ProductSettingsService {
|
|
|
420
432
|
if (jsonSettings) {
|
|
421
433
|
this.settings = Object.assign(new ProductSettings(), jsonSettings);
|
|
422
434
|
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
423
|
-
|
|
435
|
+
if (finish) {
|
|
436
|
+
this.settingsFinished();
|
|
437
|
+
}
|
|
424
438
|
}
|
|
425
439
|
}
|
|
426
440
|
else {
|
|
427
441
|
this.settings = Object.assign(new ProductSettings(), settings);
|
|
428
442
|
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
429
|
-
|
|
443
|
+
if (finish) {
|
|
444
|
+
this.settingsFinished();
|
|
445
|
+
}
|
|
430
446
|
}
|
|
431
447
|
});
|
|
432
448
|
}
|
|
@@ -543,6 +559,9 @@ class ProductConnectorService {
|
|
|
543
559
|
return this._adapterService.getSelectorDeliveryDate();
|
|
544
560
|
});
|
|
545
561
|
}
|
|
562
|
+
getArtStockStatus(goodId) {
|
|
563
|
+
return this._adapterService.getArtStockStatus(goodId);
|
|
564
|
+
}
|
|
546
565
|
getDeliveryDate2(goodId) {
|
|
547
566
|
return this._adapterService.getDeliveryDate2(goodId);
|
|
548
567
|
}
|
|
@@ -603,6 +622,18 @@ ProductEventService.propDecorators = {
|
|
|
603
622
|
|
|
604
623
|
class IoneProductComponent {
|
|
605
624
|
constructor(_dictionary, _jsonUtils, _ione, _changeDetector, _appEventService, _settingsService) {
|
|
625
|
+
// this.sku = 'CF-HILL';
|
|
626
|
+
// this.sku = 'CF-ALMADA';
|
|
627
|
+
// this.sku = 'CF-39904ANT';
|
|
628
|
+
// this.sku = 'CF-22346001';
|
|
629
|
+
// this.sku = '104';
|
|
630
|
+
// this.sku = '1000561986';
|
|
631
|
+
// this.sku = '1000567768';
|
|
632
|
+
// this.sku = '1000234793';
|
|
633
|
+
// this.sku = '1066';
|
|
634
|
+
// this.sku = '104';
|
|
635
|
+
// this.sku = "70000107";
|
|
636
|
+
// this.sku = "grover";
|
|
606
637
|
this._dictionary = _dictionary;
|
|
607
638
|
this._jsonUtils = _jsonUtils;
|
|
608
639
|
this._ione = _ione;
|
|
@@ -619,17 +650,6 @@ class IoneProductComponent {
|
|
|
619
650
|
this.openStockEvent = new EventEmitter();
|
|
620
651
|
this.settingsLoaded = false;
|
|
621
652
|
this._subs = [];
|
|
622
|
-
// this.sku = 'CF-HILL';
|
|
623
|
-
// this.sku = 'CF-ALMADA';
|
|
624
|
-
// this.sku = 'CF-39904ANT';
|
|
625
|
-
// this.sku = 'CF-22346001';
|
|
626
|
-
// this.sku = '104';
|
|
627
|
-
// this.sku = '1000561986';
|
|
628
|
-
// this.sku = '1000567768';
|
|
629
|
-
this.sku = '1000234793';
|
|
630
|
-
// this.sku = '1066';
|
|
631
|
-
// this.sku = '104';
|
|
632
|
-
// this.sku = "70000107";
|
|
633
653
|
this._subs.push(
|
|
634
654
|
// this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),
|
|
635
655
|
this._appEventService.onAddToCart.subscribe((json) => {
|
|
@@ -640,15 +660,12 @@ class IoneProductComponent {
|
|
|
640
660
|
}
|
|
641
661
|
set settings(value) {
|
|
642
662
|
if (value) {
|
|
643
|
-
let settings;
|
|
644
663
|
if (typeof value === 'string') {
|
|
645
|
-
|
|
664
|
+
this._settings = JSON.parse(value);
|
|
646
665
|
}
|
|
647
666
|
else {
|
|
648
|
-
|
|
667
|
+
this._settings = value;
|
|
649
668
|
}
|
|
650
|
-
this._settingsService.createSettingsFromObject(settings);
|
|
651
|
-
// this._initConnection(settings);
|
|
652
669
|
}
|
|
653
670
|
}
|
|
654
671
|
get settings() {
|
|
@@ -656,7 +673,10 @@ class IoneProductComponent {
|
|
|
656
673
|
}
|
|
657
674
|
ngOnInit() {
|
|
658
675
|
return __awaiter(this, void 0, void 0, function* () {
|
|
659
|
-
yield this._settingsService.initializeSettings();
|
|
676
|
+
yield this._settingsService.initializeSettings(this._settings === undefined);
|
|
677
|
+
if (this._settings) {
|
|
678
|
+
this._settingsService.createSettingsFromObject(this._settings);
|
|
679
|
+
}
|
|
660
680
|
});
|
|
661
681
|
}
|
|
662
682
|
ngOnChanges(changes) {
|
|
@@ -710,7 +730,6 @@ IoneProductComponent.decorators = [
|
|
|
710
730
|
`,
|
|
711
731
|
providers: [
|
|
712
732
|
ProductEventService,
|
|
713
|
-
ProductSettingsService,
|
|
714
733
|
ProductConnectorAdapterService,
|
|
715
734
|
ProductConnectorService
|
|
716
735
|
],
|
|
@@ -976,7 +995,7 @@ class ProductPageComponent {
|
|
|
976
995
|
ProductPageComponent.decorators = [
|
|
977
996
|
{ type: Component, args: [{
|
|
978
997
|
selector: 'app-product-page',
|
|
979
|
-
template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n </ng-container>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" (openStockEvent)=\"openStock()\"
|
|
998
|
+
template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n </ng-container>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"1\" [label]=\"'RELATED_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"4\" [isSmallModus]=\"false\" [label]=\"'ALTERNATIVE_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n",
|
|
980
999
|
animations: [
|
|
981
1000
|
trigger('toggleFullScreen', [
|
|
982
1001
|
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
@@ -1803,18 +1822,39 @@ class ProductStockComponent {
|
|
|
1803
1822
|
this._iconCache = _iconCache;
|
|
1804
1823
|
this.icon = IconEnum;
|
|
1805
1824
|
this.openStockEvent = new EventEmitter();
|
|
1825
|
+
this.inStock = false;
|
|
1806
1826
|
this.iconData = this._iconCache.getIcon(this.icon.Warehouse);
|
|
1807
1827
|
}
|
|
1808
|
-
set
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
}
|
|
1828
|
+
set goodId(value) {
|
|
1829
|
+
this._goodId = value;
|
|
1830
|
+
this._getStockStatus();
|
|
1812
1831
|
}
|
|
1813
|
-
|
|
1832
|
+
get goodId() {
|
|
1833
|
+
return this._goodId;
|
|
1814
1834
|
}
|
|
1815
1835
|
openStock() {
|
|
1816
1836
|
this.openStockEvent.emit();
|
|
1817
1837
|
}
|
|
1838
|
+
_getStockStatus() {
|
|
1839
|
+
if (this.goodId) {
|
|
1840
|
+
this._iOne.getArtStockStatus(this.goodId).then((result) => {
|
|
1841
|
+
switch (result) {
|
|
1842
|
+
case 1: // niet op voorraad
|
|
1843
|
+
this.stockLabel = 'PRODUCT_LIMITED_STOCK';
|
|
1844
|
+
this.inStock = true;
|
|
1845
|
+
break;
|
|
1846
|
+
case 2:
|
|
1847
|
+
this.stockLabel = 'PRODUCT_IN_STOCK';
|
|
1848
|
+
this.inStock = true;
|
|
1849
|
+
break;
|
|
1850
|
+
default:
|
|
1851
|
+
this.stockLabel = 'PRODUCT_NOT_IN_STOCK';
|
|
1852
|
+
this.inStock = false;
|
|
1853
|
+
break;
|
|
1854
|
+
}
|
|
1855
|
+
});
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1818
1858
|
}
|
|
1819
1859
|
ProductStockComponent.decorators = [
|
|
1820
1860
|
{ type: Component, args: [{
|
|
@@ -1825,12 +1865,11 @@ ProductStockComponent.decorators = [
|
|
|
1825
1865
|
<div class="product-stock-wrapper">
|
|
1826
1866
|
<co-icon class="stock-icon" [iconData]="iconData"></co-icon>
|
|
1827
1867
|
<div class="product-stock-fields" (click)="openStock()">
|
|
1828
|
-
<div class="pp-default-label in-stock" [textContent]="
|
|
1829
|
-
<div class="pp-default-label not-in-stock" [textContent]="'PRODUCT_NOT_IN_STOCK' | localize" *ngIf="!(numberInStock > 0)"></div>
|
|
1868
|
+
<div class="pp-default-label" [class.in-stock]="inStock" [textContent]="stockLabel | localize"></div>
|
|
1830
1869
|
</div>
|
|
1831
1870
|
</div>
|
|
1832
1871
|
`,
|
|
1833
|
-
styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;border-top:1px solid #f6f5f4;border-bottom:1px solid #f6f5f4;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#
|
|
1872
|
+
styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;border-top:1px solid #f6f5f4;border-bottom:1px solid #f6f5f4;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#f15152;display:inline-block;margin:0 0 0 15px}.product-stock-wrapper .product-stock-fields .pp-default-label.in-stock:after{background:#74B77F}@media screen and (max-width: 400px){.product-stock-wrapper{padding:15px 0 15px 10px}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:32px;height:28px}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:13px}}\n"]
|
|
1834
1873
|
},] }
|
|
1835
1874
|
];
|
|
1836
1875
|
ProductStockComponent.ctorParameters = () => [
|
|
@@ -1838,7 +1877,7 @@ ProductStockComponent.ctorParameters = () => [
|
|
|
1838
1877
|
{ type: IconCacheService }
|
|
1839
1878
|
];
|
|
1840
1879
|
ProductStockComponent.propDecorators = {
|
|
1841
|
-
|
|
1880
|
+
goodId: [{ type: Input }],
|
|
1842
1881
|
openStockEvent: [{ type: Output }]
|
|
1843
1882
|
};
|
|
1844
1883
|
|
|
@@ -2369,7 +2408,7 @@ class IoneProductModule {
|
|
|
2369
2408
|
IoneProductModule.decorators = [
|
|
2370
2409
|
{ type: NgModule, args: [{
|
|
2371
2410
|
imports: [
|
|
2372
|
-
BrowserAnimationsModule,
|
|
2411
|
+
// BrowserAnimationsModule,
|
|
2373
2412
|
CommonModule,
|
|
2374
2413
|
ProductPageModule
|
|
2375
2414
|
],
|
|
@@ -2381,6 +2420,9 @@ IoneProductModule.decorators = [
|
|
|
2381
2420
|
],
|
|
2382
2421
|
bootstrap: [
|
|
2383
2422
|
IoneProductComponent
|
|
2423
|
+
],
|
|
2424
|
+
providers: [
|
|
2425
|
+
ProductSettingsService
|
|
2384
2426
|
]
|
|
2385
2427
|
},] }
|
|
2386
2428
|
];
|