@colijnit/product 256.1.3 → 256.1.5
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-external-source/product-external-source.component.d.ts +18 -0
- package/app/components/product-hd/product-hd.component.d.ts +25 -0
- package/app/components/product-hd/product-hd.module.d.ts +2 -0
- package/app/ione-product.component.d.ts +1 -0
- package/app/service/product-script-loader.service.d.ts +9 -0
- package/bundles/colijnit-product.umd.js +341 -34
- package/bundles/colijnit-product.umd.js.map +1 -1
- package/colijnit-product.d.ts +3 -0
- package/colijnit-product.metadata.json +1 -1
- package/esm2015/app/components/product-external-source/product-external-source.component.js +87 -20
- package/esm2015/app/components/product-external-source/product-external-source.module.js +4 -2
- package/esm2015/app/components/product-hd/product-hd.component.js +124 -0
- package/esm2015/app/components/product-hd/product-hd.module.js +23 -0
- package/esm2015/app/ione-product.component.js +4 -2
- package/esm2015/app/ione-product.module.js +14 -6
- package/esm2015/app/product-version.js +3 -3
- package/esm2015/app/service/product-script-loader.service.js +68 -0
- package/esm2015/colijnit-product.js +4 -1
- package/fesm2015/colijnit-product.js +326 -44
- package/fesm2015/colijnit-product.js.map +1 -1
- package/package.json +3 -3
- package/colijnit-product-256.1.2.tgz +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ProductScriptLoaderService {
|
|
5
|
+
constructor(platformId) {
|
|
6
|
+
this.platformId = platformId;
|
|
7
|
+
this._scriptsOrLinksElements = [];
|
|
8
|
+
}
|
|
9
|
+
loadScript(url, renderer) {
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
12
|
+
reject('Not in browser environment');
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const existingScript = document.getElementById(url);
|
|
16
|
+
if (existingScript) {
|
|
17
|
+
resolve(); // Script already loaded
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const script = renderer.createElement('script');
|
|
21
|
+
script.id = url;
|
|
22
|
+
script.src = url;
|
|
23
|
+
script.type = 'text/javascript';
|
|
24
|
+
script.async = true;
|
|
25
|
+
script.onload = () => resolve();
|
|
26
|
+
script.onerror = (error) => reject(`Error loading script: ${url}`);
|
|
27
|
+
renderer.appendChild(document.head, script);
|
|
28
|
+
this._scriptsOrLinksElements.push(script);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
unloadScripts(renderer) {
|
|
32
|
+
for (let i = this._scriptsOrLinksElements.length - 1; i >= 0; i--) {
|
|
33
|
+
renderer.removeChild(document.head, this._scriptsOrLinksElements[i]);
|
|
34
|
+
this._scriptsOrLinksElements.pop();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
addStyleSheet(url, renderer) {
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
40
|
+
reject('Not in browser environment');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const existingStyleSheet = document.getElementById(url);
|
|
44
|
+
if (existingStyleSheet) {
|
|
45
|
+
resolve(); // Script already loaded
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const link = renderer.createElement('link');
|
|
49
|
+
link.id = url;
|
|
50
|
+
link.href = url;
|
|
51
|
+
link.rel = 'stylesheet';
|
|
52
|
+
link.onload = () => resolve();
|
|
53
|
+
link.onerror = (error) => reject(`Error loading styleSheet: ${url}`);
|
|
54
|
+
renderer.appendChild(document.head, link);
|
|
55
|
+
this._scriptsOrLinksElements.push(link);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
ProductScriptLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductScriptLoaderService_Factory() { return new ProductScriptLoaderService(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: ProductScriptLoaderService, providedIn: "root" });
|
|
60
|
+
ProductScriptLoaderService.decorators = [
|
|
61
|
+
{ type: Injectable, args: [{
|
|
62
|
+
providedIn: 'root'
|
|
63
|
+
},] }
|
|
64
|
+
];
|
|
65
|
+
ProductScriptLoaderService.ctorParameters = () => [
|
|
66
|
+
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
|
|
67
|
+
];
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2UvcHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUtsRCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBRVUsVUFBZTtRQUFmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFKakIsNEJBQXVCLEdBQVUsRUFBRSxDQUFDO0lBTzVDLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVyxFQUFFLFFBQW1CO1FBQ2hELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDdkMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQ3JDLE9BQU87YUFDUjtZQUVELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUMsd0JBQXdCO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWhELE1BQU0sQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7WUFDaEMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFbkUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQW1CO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRSxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxHQUFXLEVBQUUsUUFBbUI7UUFDbkQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN2QyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztnQkFDckMsT0FBTzthQUNSO1lBRUQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksa0JBQWtCLEVBQUU7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLENBQUMsd0JBQXdCO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7WUFFeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFckUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBekVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQU1JLE1BQU0sU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNjcmlwdExvYWRlclNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9zY3JpcHRzT3JMaW5rc0VsZW1lbnRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpXHJcbiAgICBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkU2NyaXB0KHVybDogc3RyaW5nLCByZW5kZXJlcjogUmVuZGVyZXIyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICByZWplY3QoJ05vdCBpbiBicm93c2VyIGVudmlyb25tZW50Jyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBleGlzdGluZ1NjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHVybCk7XHJcbiAgICAgIGlmIChleGlzdGluZ1NjcmlwdCkge1xyXG4gICAgICAgIHJlc29sdmUoKTsgLy8gU2NyaXB0IGFscmVhZHkgbG9hZGVkXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzY3JpcHQgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuXHJcbiAgICAgIHNjcmlwdC5pZCA9IHVybDtcclxuICAgICAgc2NyaXB0LnNyYyA9IHVybDtcclxuICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcclxuXHJcbiAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKCk7XHJcbiAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoYEVycm9yIGxvYWRpbmcgc2NyaXB0OiAke3VybH1gKTtcclxuXHJcbiAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmhlYWQsIHNjcmlwdCk7XHJcbiAgICAgIHRoaXMuX3NjcmlwdHNPckxpbmtzRWxlbWVudHMucHVzaChzY3JpcHQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW5sb2FkU2NyaXB0cyhyZW5kZXJlcjogUmVuZGVyZXIyKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICByZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCB0aGlzLl9zY3JpcHRzT3JMaW5rc0VsZW1lbnRzW2ldKTtcclxuICAgICAgdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5wb3AoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRTdHlsZVNoZWV0KHVybDogc3RyaW5nLCByZW5kZXJlcjogUmVuZGVyZXIyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICByZWplY3QoJ05vdCBpbiBicm93c2VyIGVudmlyb25tZW50Jyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBleGlzdGluZ1N0eWxlU2hlZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh1cmwpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdTdHlsZVNoZWV0KSB7XHJcbiAgICAgICAgcmVzb2x2ZSgpOyAvLyBTY3JpcHQgYWxyZWFkeSBsb2FkZWRcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGxpbmsgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICAgIGxpbmsuaWQgPSB1cmw7XHJcbiAgICAgIGxpbmsuaHJlZiA9IHVybDtcclxuICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XHJcblxyXG4gICAgICBsaW5rLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcclxuICAgICAgbGluay5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoYEVycm9yIGxvYWRpbmcgc3R5bGVTaGVldDogJHt1cmx9YCk7XHJcblxyXG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCBsaW5rKTtcclxuICAgICAgdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5wdXNoKGxpbmspO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -20,6 +20,8 @@ export { ProductDialogComponent as ɵbl } from './app/components/product-dialog/
|
|
|
20
20
|
export { ProductDialogModule as ɵbk } from './app/components/product-dialog/product-dialog.module';
|
|
21
21
|
export { ProductDocumentModule as ɵbf } from './app/components/product-documents/product-document.module';
|
|
22
22
|
export { ProductDocumentsComponent as ɵbg } from './app/components/product-documents/product-documents.component';
|
|
23
|
+
export { ProductHdComponent as ɵbo } from './app/components/product-hd/product-hd.component';
|
|
24
|
+
export { ProductHdModule as ɵbn } from './app/components/product-hd/product-hd.module';
|
|
23
25
|
export { ProductInfoTabsComponent as ɵbj } from './app/components/product-info-tabs/product-info-tabs.component';
|
|
24
26
|
export { ProductInfoTabsModule as ɵba } from './app/components/product-info-tabs/product-info-tabs.module';
|
|
25
27
|
export { ProductPageComponent as ɵbm } from './app/components/product-page/product-page.component';
|
|
@@ -40,5 +42,6 @@ export { LocalizePipe as ɵd } from './app/pipe/localize.pipe';
|
|
|
40
42
|
export { PipeModule as ɵc } from './app/pipe/pipe.module';
|
|
41
43
|
export { DictionaryService as ɵe } from './app/service/dictionary.service';
|
|
42
44
|
export { IconCacheService as ɵh } from './app/service/icon-cache.service';
|
|
45
|
+
export { ProductScriptLoaderService as ɵbp } from './app/service/product-script-loader.service';
|
|
43
46
|
export { JsonUtilsService as ɵf } from './app/utils/json-utils.service';
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saWpuaXQtcHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xpam5pdC1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFDLHFDQUFxQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDBGQUEwRixDQUFDO0FBQ3JKLE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUMvSSxPQUFPLEVBQUMsOEJBQThCLElBQUksR0FBRyxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDakksT0FBTyxFQUFDLDJCQUEyQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQzNILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDckgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMsa0JBQWtCLElBQUksR0FBRyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDM0YsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsMEJBQTBCLElBQUksR0FBRyxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzFILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUNwSCxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDbkcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUMxRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEdBQUcsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzlGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtIZWFkZXJDb21wb25lbnQgYXMgybV1fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2NvcmUvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtIZWFkZXJNb2R1bGUgYXMgybV0fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2NvcmUvaGVhZGVyL2hlYWRlci5tb2R1bGUnO1xuZXhwb3J0IHtJbWFnZUNhcm91c2VsQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9pbWFnZS1jYXJvdXNlbC9pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQnO1xuZXhwb3J0IHtJbWFnZUNhcm91c2VsTW9kdWxlIGFzIMm1aX0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9pbWFnZS1jYXJvdXNlbC9pbWFnZS1jYXJvdXNlbC5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0QWRkaXRpb25hbERlc2NyaXB0aW9uQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24vcHJvZHVjdC1hZGRpdGlvbmFsLWRlc2NyaXB0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RBZGRpdGlvbmFsRGVzY3JpcHRpb25Nb2R1bGUgYXMgybVtfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkaXRpb25hbC1kZXNjcmlwdGlvbi9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24ubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdEFkZGl0aW9uYWxJbmZvQ29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8vcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdEFkZGl0aW9uYWxJbmZvTW9kdWxlIGFzIMm1YmJ9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8vcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8ubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdEFkZHRvY2FydENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGR0b2NhcnQvcHJvZHVjdC1hZGR0b2NhcnQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdEFkZHRvY2FydE1vZHVsZSBhcyDJtXF9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGR0b2NhcnQvcHJvZHVjdC1hZGR0b2NhcnQubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdERlbGl2ZXJ5Q29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlbGl2ZXJ5L3Byb2R1Y3QtZGVsaXZlcnkuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdERlbGl2ZXJ5TW9kdWxlIGFzIMm1eX0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlbGl2ZXJ5L3Byb2R1Y3QtZGVsaXZlcnkubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdERlc2NyaXB0aW9uQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlc2NyaXB0aW9uL3Byb2R1Y3QtZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdERlc2NyaXB0aW9uTW9kdWxlIGFzIMm1a30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlc2NyaXB0aW9uL3Byb2R1Y3QtZGVzY3JpcHRpb24ubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdERpYWxvZ0NvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGlhbG9nL3Byb2R1Y3QtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3REaWFsb2dNb2R1bGUgYXMgybVia30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRpYWxvZy9wcm9kdWN0LWRpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0RG9jdW1lbnRNb2R1bGUgYXMgybViZn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRvY3VtZW50cy9wcm9kdWN0LWRvY3VtZW50Lm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3REb2N1bWVudHNDb21wb25lbnQgYXMgybViZ30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRvY3VtZW50cy9wcm9kdWN0LWRvY3VtZW50cy5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0SGRDb21wb25lbnQgYXMgybVib30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWhkL3Byb2R1Y3QtaGQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdEhkTW9kdWxlIGFzIMm1Ym59IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1oZC9wcm9kdWN0LWhkLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RJbmZvVGFic0NvbXBvbmVudCBhcyDJtWJqfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RJbmZvVGFic01vZHVsZSBhcyDJtWJhfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RQYWdlQ29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wYWdlL3Byb2R1Y3QtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0UGFnZU1vZHVsZSBhcyDJtWF9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wYWdlL3Byb2R1Y3QtcGFnZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0UHJpY2VDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2UvcHJvZHVjdC1wcmljZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0UHJpY2VNb2R1bGUgYXMgybVvfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2UvcHJvZHVjdC1wcmljZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0UHJvcGVydGllc0NvbXBvbmVudCBhcyDJtWJlfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJvcGVydGllcy9wcm9kdWN0LXByb3BlcnRpZXMuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFByb3BlcnRpZXNNb2R1bGUgYXMgybViZH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXByb3BlcnRpZXMvcHJvZHVjdC1wcm9wZXJ0aWVzLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RSZWxhdGVkQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RSZWxhdGVkTW9kdWxlIGFzIMm1c30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RTZWxlY3RvclR5cGVDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc2VsZWN0b3ItdHlwZS9wcm9kdWN0LXNlbGVjdG9yLXR5cGUuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFNlbGVjdG9yVHlwZU1vZHVsZSBhcyDJtWJ9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1zZWxlY3Rvci10eXBlL3Byb2R1Y3Qtc2VsZWN0b3ItdHlwZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0U3RvY2tDb21wb25lbnQgYXMgybV4fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3RvY2svcHJvZHVjdC1zdG9jay5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0U3RvY2tNb2R1bGUgYXMgybV3fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3RvY2svcHJvZHVjdC1zdG9jay5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0U3ltYm9sc0NvbXBvbmVudCBhcyDJtWJpfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3ltYm9scy9wcm9kdWN0LXN5bWJvbHMuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFN5bWJvbHNNb2R1bGUgYXMgybViaH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXN5bWJvbHMvcHJvZHVjdC1zeW1ib2xzLm1vZHVsZSc7XG5leHBvcnQge0xvY2FsaXplUGlwZSBhcyDJtWR9IGZyb20gJy4vYXBwL3BpcGUvbG9jYWxpemUucGlwZSc7XG5leHBvcnQge1BpcGVNb2R1bGUgYXMgybVjfSBmcm9tICcuL2FwcC9waXBlL3BpcGUubW9kdWxlJztcbmV4cG9ydCB7RGljdGlvbmFyeVNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2FwcC9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XG5leHBvcnQge0ljb25DYWNoZVNlcnZpY2UgYXMgybVofSBmcm9tICcuL2FwcC9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5leHBvcnQge1Byb2R1Y3RTY3JpcHRMb2FkZXJTZXJ2aWNlIGFzIMm1YnB9IGZyb20gJy4vYXBwL3NlcnZpY2UvcHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtKc29uVXRpbHNTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9hcHAvdXRpbHMvanNvbi11dGlscy5zZXJ2aWNlJzsiXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Directive, EventEmitter, Component, ViewEncapsulation, ChangeDetectorRef, Input, Output, Renderer2, ViewChild, ElementRef, Pipe, NgModule, HostListener, HostBinding, SecurityContext, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { Injectable, Directive, EventEmitter, Component, ViewEncapsulation, ChangeDetectorRef, Input, Output, Renderer2, ViewChild, ElementRef, Pipe, NgModule, HostListener, HostBinding, SecurityContext, CUSTOM_ELEMENTS_SCHEMA, Inject, PLATFORM_ID, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
3
3
|
import { __awaiter } from 'tslib';
|
|
4
4
|
import { Subject, BehaviorSubject } from 'rxjs';
|
|
5
5
|
import { Options } from '@colijnit/ioneconnector/build/model/options';
|
|
@@ -16,22 +16,22 @@ import { ArticleListObjectExtended } from '@colijnit/articleapi/build/model/arti
|
|
|
16
16
|
import * as i1 from '@angular/common/http';
|
|
17
17
|
import { HttpClient } from '@angular/common/http';
|
|
18
18
|
import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
|
|
19
|
-
import { CommonModule } from '@angular/common';
|
|
19
|
+
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
20
20
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
21
21
|
import * as i1$1 from '@angular/platform-browser';
|
|
22
22
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
23
23
|
import { IconModule, LoaderModule, ScrollContainerModule, PriceDisplayPipeModule, NumberPickerModule, ButtonModule, FilesUploadModule, TileModule } from '@colijnit/corecomponents';
|
|
24
24
|
import { CoDocument } from '@colijnit/mainapi/build/model/co-document';
|
|
25
25
|
import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
|
|
26
|
-
import { LoaderModule as LoaderModule$1, ArticleTileModule } from '@colijnit/corecomponents_v12';
|
|
26
|
+
import { LoaderModule as LoaderModule$1, ArticleTileModule, ButtonModule as ButtonModule$1 } from '@colijnit/corecomponents_v12';
|
|
27
27
|
|
|
28
28
|
// this file is dynamically created, do not change this
|
|
29
29
|
class Version {
|
|
30
30
|
constructor() {
|
|
31
31
|
this.name = "@colijnit/product";
|
|
32
32
|
this.description = "Product detail page project for iOne";
|
|
33
|
-
this.symVer = "256.1.
|
|
34
|
-
this.publishDate = "
|
|
33
|
+
this.symVer = "256.1.5";
|
|
34
|
+
this.publishDate = "8-2-2025 23:16:14";
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -662,6 +662,7 @@ class IoneProductComponent {
|
|
|
662
662
|
this.onAddToQuote = new EventEmitter();
|
|
663
663
|
this.openStockEvent = new EventEmitter();
|
|
664
664
|
this.settingsLoaded = false;
|
|
665
|
+
this.showHD = false;
|
|
665
666
|
this._subs = [];
|
|
666
667
|
this._subs.push(
|
|
667
668
|
// this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),
|
|
@@ -721,7 +722,8 @@ IoneProductComponent.decorators = [
|
|
|
721
722
|
[sku]="sku"
|
|
722
723
|
[showRelatedProductsPopup]="showRelatedProductsPopup"
|
|
723
724
|
></app-product-page>
|
|
724
|
-
|
|
725
|
+
<!-- <co-button [label]="'click'" (click)="showHD = !showHD"></co-button>
|
|
726
|
+
<co-product-hd [sku]="'657946ca-e1e1-41fd-7ae0-08dbf7df0cef'" *ngIf="showHD"></co-product-hd>-->
|
|
725
727
|
`,
|
|
726
728
|
encapsulation: ViewEncapsulation.Emulated,
|
|
727
729
|
styles: [""]
|
|
@@ -2613,30 +2615,208 @@ ProductPageModule.decorators = [
|
|
|
2613
2615
|
},] }
|
|
2614
2616
|
];
|
|
2615
2617
|
|
|
2616
|
-
class
|
|
2618
|
+
class ProductScriptLoaderService {
|
|
2619
|
+
constructor(platformId) {
|
|
2620
|
+
this.platformId = platformId;
|
|
2621
|
+
this._scriptsOrLinksElements = [];
|
|
2622
|
+
}
|
|
2623
|
+
loadScript(url, renderer) {
|
|
2624
|
+
return new Promise((resolve, reject) => {
|
|
2625
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
2626
|
+
reject('Not in browser environment');
|
|
2627
|
+
return;
|
|
2628
|
+
}
|
|
2629
|
+
const existingScript = document.getElementById(url);
|
|
2630
|
+
if (existingScript) {
|
|
2631
|
+
resolve(); // Script already loaded
|
|
2632
|
+
return;
|
|
2633
|
+
}
|
|
2634
|
+
const script = renderer.createElement('script');
|
|
2635
|
+
script.id = url;
|
|
2636
|
+
script.src = url;
|
|
2637
|
+
script.type = 'text/javascript';
|
|
2638
|
+
script.async = true;
|
|
2639
|
+
script.onload = () => resolve();
|
|
2640
|
+
script.onerror = (error) => reject(`Error loading script: ${url}`);
|
|
2641
|
+
renderer.appendChild(document.head, script);
|
|
2642
|
+
this._scriptsOrLinksElements.push(script);
|
|
2643
|
+
});
|
|
2644
|
+
}
|
|
2645
|
+
unloadScripts(renderer) {
|
|
2646
|
+
for (let i = this._scriptsOrLinksElements.length - 1; i >= 0; i--) {
|
|
2647
|
+
renderer.removeChild(document.head, this._scriptsOrLinksElements[i]);
|
|
2648
|
+
this._scriptsOrLinksElements.pop();
|
|
2649
|
+
}
|
|
2650
|
+
}
|
|
2651
|
+
addStyleSheet(url, renderer) {
|
|
2652
|
+
return new Promise((resolve, reject) => {
|
|
2653
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
2654
|
+
reject('Not in browser environment');
|
|
2655
|
+
return;
|
|
2656
|
+
}
|
|
2657
|
+
const existingStyleSheet = document.getElementById(url);
|
|
2658
|
+
if (existingStyleSheet) {
|
|
2659
|
+
resolve(); // Script already loaded
|
|
2660
|
+
return;
|
|
2661
|
+
}
|
|
2662
|
+
const link = renderer.createElement('link');
|
|
2663
|
+
link.id = url;
|
|
2664
|
+
link.href = url;
|
|
2665
|
+
link.rel = 'stylesheet';
|
|
2666
|
+
link.onload = () => resolve();
|
|
2667
|
+
link.onerror = (error) => reject(`Error loading styleSheet: ${url}`);
|
|
2668
|
+
renderer.appendChild(document.head, link);
|
|
2669
|
+
this._scriptsOrLinksElements.push(link);
|
|
2670
|
+
});
|
|
2671
|
+
}
|
|
2617
2672
|
}
|
|
2618
|
-
|
|
2673
|
+
ProductScriptLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductScriptLoaderService_Factory() { return new ProductScriptLoaderService(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: ProductScriptLoaderService, providedIn: "root" });
|
|
2674
|
+
ProductScriptLoaderService.decorators = [
|
|
2675
|
+
{ type: Injectable, args: [{
|
|
2676
|
+
providedIn: 'root'
|
|
2677
|
+
},] }
|
|
2678
|
+
];
|
|
2679
|
+
ProductScriptLoaderService.ctorParameters = () => [
|
|
2680
|
+
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
|
|
2681
|
+
];
|
|
2682
|
+
|
|
2683
|
+
class ProductHdComponent {
|
|
2684
|
+
constructor(_scriptLoader, _renderer) {
|
|
2685
|
+
this._scriptLoader = _scriptLoader;
|
|
2686
|
+
this._renderer = _renderer;
|
|
2687
|
+
this.variant = '';
|
|
2688
|
+
this.urlParams = [];
|
|
2689
|
+
this.configuratorFinished = new EventEmitter();
|
|
2690
|
+
this.configurationError = new EventEmitter();
|
|
2691
|
+
this.showClass = true;
|
|
2692
|
+
}
|
|
2693
|
+
set content(child) {
|
|
2694
|
+
this.hdeConfigurator = child;
|
|
2695
|
+
this._prepareAttributes();
|
|
2696
|
+
}
|
|
2697
|
+
set sku(value) {
|
|
2698
|
+
this._sku = value;
|
|
2699
|
+
this._prepareAttributes();
|
|
2700
|
+
}
|
|
2701
|
+
get sku() {
|
|
2702
|
+
return this._sku;
|
|
2703
|
+
}
|
|
2704
|
+
ngOnDestroy() {
|
|
2705
|
+
this._scriptLoader.unloadScripts(this._renderer);
|
|
2706
|
+
}
|
|
2707
|
+
handleConfigurationFinished(event) {
|
|
2708
|
+
if (event.detail.variant && typeof event.detail.variant === 'string') {
|
|
2709
|
+
this.configuratorFinished.emit(event.detail.variant);
|
|
2710
|
+
}
|
|
2711
|
+
else {
|
|
2712
|
+
this.configuratorFinished.emit(this.variant);
|
|
2713
|
+
}
|
|
2714
|
+
}
|
|
2715
|
+
handleError(event) {
|
|
2716
|
+
this.configurationError.emit(event.detail.status);
|
|
2717
|
+
}
|
|
2718
|
+
_prepareAttributes() {
|
|
2719
|
+
if (this.hdeConfigurator && this.hdeConfigurator.nativeElement && this.urlParams && this.token && (this.sku || this.variant)) {
|
|
2720
|
+
//for local testing please turn off for packing and publishing!
|
|
2721
|
+
//this.prepareTestingUrlparams();
|
|
2722
|
+
this._prepareConfiguratorUrls();
|
|
2723
|
+
this.hdeConfigurator.nativeElement.setAttribute('bearerToken', this.token);
|
|
2724
|
+
if (this._sku) {
|
|
2725
|
+
this.hdeConfigurator.nativeElement.setAttribute('data-productId', this._sku);
|
|
2726
|
+
}
|
|
2727
|
+
if (this.variant) {
|
|
2728
|
+
this.hdeConfigurator.nativeElement.setAttribute('data-productVariantId', this.variant);
|
|
2729
|
+
}
|
|
2730
|
+
this._loadTheScripts();
|
|
2731
|
+
}
|
|
2732
|
+
}
|
|
2733
|
+
//set necessary references to configurator.
|
|
2734
|
+
_prepareConfiguratorUrls() {
|
|
2735
|
+
//fetch the setting from the external source
|
|
2736
|
+
let apiurl = this.urlParams.find((item) => item.key === 'apiurl').value;
|
|
2737
|
+
let productVariantCommandApiUrl = this.urlParams.find((item) => item.key === 'productVariantCommandApiUrl').value;
|
|
2738
|
+
let productVariantQueryApiUrl = this.urlParams.find((item) => item.key === 'productVariantQueryApiUrl').value;
|
|
2739
|
+
let localizationApiUrl = this.urlParams.find((item) => item.key === 'localizationApiUrl').value;
|
|
2740
|
+
//apply to configurator
|
|
2741
|
+
this.hdeConfigurator.nativeElement.setAttribute('apiurl', apiurl);
|
|
2742
|
+
this.hdeConfigurator.nativeElement.setAttribute('productVariantCommandApiUrl', productVariantCommandApiUrl);
|
|
2743
|
+
this.hdeConfigurator.nativeElement.setAttribute('productVariantQueryApiUrl', productVariantQueryApiUrl);
|
|
2744
|
+
this.hdeConfigurator.nativeElement.setAttribute('localizationApiUrl', localizationApiUrl);
|
|
2745
|
+
}
|
|
2746
|
+
// load external scripts into client
|
|
2747
|
+
_loadTheScripts() {
|
|
2748
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2749
|
+
let headerUrls = this.urlParams.find((item) => item.key === 'header').value;
|
|
2750
|
+
let headerArray = headerUrls.replace(/\s+/g, '').split(',');
|
|
2751
|
+
for (let i = 0; i < headerArray.length; i++) {
|
|
2752
|
+
yield this._scriptLoader.loadScript(headerArray[i], this._renderer).catch((error) => console.error(error));
|
|
2753
|
+
}
|
|
2754
|
+
let styles = this.urlParams.find((item) => item.key === 'stylesheet').value;
|
|
2755
|
+
let stylesArray = styles.replace(/\s+/g, '').split(',');
|
|
2756
|
+
for (let j = 0; j < stylesArray.length; j++) {
|
|
2757
|
+
yield this._scriptLoader.addStyleSheet(stylesArray[j], this._renderer);
|
|
2758
|
+
}
|
|
2759
|
+
//for local testing please turn off for packing and publishing!
|
|
2760
|
+
/*const scripts: string[] = [
|
|
2761
|
+
// hard-coded for now, should come from the external source
|
|
2762
|
+
'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/polyfills.js',
|
|
2763
|
+
'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/runtime.js',
|
|
2764
|
+
'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/main.js'
|
|
2765
|
+
]
|
|
2766
|
+
for (let i = 0; i < scripts.length; i++) {
|
|
2767
|
+
await this._scriptLoader.loadScript(scripts[i], this._renderer).catch((error) => console.error(error));
|
|
2768
|
+
}
|
|
2769
|
+
await this._scriptLoader.addStyleSheet('https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/styles.css', this._renderer);*/
|
|
2770
|
+
});
|
|
2771
|
+
}
|
|
2772
|
+
}
|
|
2773
|
+
ProductHdComponent.decorators = [
|
|
2774
|
+
{ type: Component, args: [{
|
|
2775
|
+
selector: 'co-product-hd',
|
|
2776
|
+
template: `
|
|
2777
|
+
<hde-configurator #hdeConfigurator
|
|
2778
|
+
language="nl"
|
|
2779
|
+
localizationFileExtension=".json"
|
|
2780
|
+
(configurationFinished)="handleConfigurationFinished($event)"
|
|
2781
|
+
(configurationFailed)="handleError($event)"
|
|
2782
|
+
>
|
|
2783
|
+
<hde-progress-bar></hde-progress-bar>
|
|
2784
|
+
</hde-configurator>
|
|
2785
|
+
`,
|
|
2786
|
+
encapsulation: ViewEncapsulation.None
|
|
2787
|
+
},] }
|
|
2788
|
+
];
|
|
2789
|
+
ProductHdComponent.ctorParameters = () => [
|
|
2790
|
+
{ type: ProductScriptLoaderService },
|
|
2791
|
+
{ type: Renderer2 }
|
|
2792
|
+
];
|
|
2793
|
+
ProductHdComponent.propDecorators = {
|
|
2794
|
+
content: [{ type: ViewChild, args: ['hdeConfigurator', { read: ElementRef },] }],
|
|
2795
|
+
sku: [{ type: Input }],
|
|
2796
|
+
token: [{ type: Input }],
|
|
2797
|
+
variant: [{ type: Input }],
|
|
2798
|
+
urlParams: [{ type: Input }],
|
|
2799
|
+
configuratorFinished: [{ type: Output }],
|
|
2800
|
+
configurationError: [{ type: Output }],
|
|
2801
|
+
showClass: [{ type: HostBinding, args: ['class.co-product-hd',] }]
|
|
2802
|
+
};
|
|
2803
|
+
|
|
2804
|
+
class ProductHdModule {
|
|
2805
|
+
}
|
|
2806
|
+
ProductHdModule.decorators = [
|
|
2619
2807
|
{ type: NgModule, args: [{
|
|
2620
2808
|
imports: [
|
|
2621
|
-
|
|
2622
|
-
CommonModule,
|
|
2623
|
-
ProductPageModule,
|
|
2624
|
-
LoaderModule$1
|
|
2809
|
+
CommonModule
|
|
2625
2810
|
],
|
|
2626
2811
|
declarations: [
|
|
2627
|
-
|
|
2628
|
-
],
|
|
2629
|
-
exports: [
|
|
2630
|
-
IoneProductComponent
|
|
2812
|
+
ProductHdComponent
|
|
2631
2813
|
],
|
|
2632
|
-
|
|
2633
|
-
|
|
2814
|
+
schemas: [
|
|
2815
|
+
CUSTOM_ELEMENTS_SCHEMA,
|
|
2816
|
+
NO_ERRORS_SCHEMA
|
|
2634
2817
|
],
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
ProductConnectorService,
|
|
2638
|
-
ProductEventService,
|
|
2639
|
-
ProductConnectorAdapterService
|
|
2818
|
+
exports: [
|
|
2819
|
+
ProductHdComponent
|
|
2640
2820
|
]
|
|
2641
2821
|
},] }
|
|
2642
2822
|
];
|
|
@@ -2649,9 +2829,15 @@ class ProductExternalSourceComponent {
|
|
|
2649
2829
|
this.addToCart = new EventEmitter();
|
|
2650
2830
|
this.addToQuote = new EventEmitter();
|
|
2651
2831
|
this.alternativeClick = new EventEmitter();
|
|
2832
|
+
this.configuratorFinished = new EventEmitter();
|
|
2652
2833
|
this.showProduct = false;
|
|
2834
|
+
this.showConfigurator = false;
|
|
2835
|
+
this.showSource = false;
|
|
2653
2836
|
this.loaded = false;
|
|
2654
2837
|
this.externalSettings = {};
|
|
2838
|
+
this.token = ""; //= "eyJhbGciOiJSUzI1NiIsImtpZCI6IkYxOThERkVEOEUwQTQ1MzY3M0M1MUE2Rjk1QUVDQzU3RTM0NjM4RkRSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6IjhaamY3WTRLUlRaenhScHZsYTdNVi1OR09QMCJ9.eyJuYmYiOjE3MzIxOTkyOTUsImV4cCI6MTczMjIwMjg5NSwiaXNzIjoiaHR0cHM6Ly9ibXNpZGVudGl0eS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0IiwiYXVkIjpbImNhdGFsb2dxdWVyeWFwaSIsImNvbmZpZ3VyYXRvcmFwaSIsInByb2R1Y3R2YXJpYW50Y29tbWFuZGFwaSIsInByb2R1Y3R2YXJpYW50cXVlcnlhcGkiXSwiY2xpZW50X2lkIjoiaW1wZXJzb25hdGlvbi5jbGllbnQiLCJzdWIiOiIwOTMwZDI4Mi05NGU4LTQ5MGEtOGI2NC1mYTk1YmIyYzE1ODIiLCJhdXRoX3RpbWUiOjE3MzIxOTkyOTUsImlkcCI6ImxvY2FsIiwiZW52aXJvbm1lbnQiOiJNU0wiLCJzZWxsZXIiOiJTRTAwMDA5NiIsInNlbGxlcmd1aWQiOiIxMDk1MWJjNS1hZmMzLTQ1MGEtNmVkMS0wOGQ4NDNlNmE5OTQiLCJwZXJtaXNzaW9uIjpbInNhbGVzLmV4cG9ydHRlbXBsYXRlcy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LnRhZy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LmRvY3VtZW50LnJlYWQiLCJkb2N1bWVudGxpYnJhcnkudGFnZ3JvdXAucmVhZCIsInNhbGVzLm9yZGVyLndyaXRlIiwic2FsZXMuY3VzdG9tZXIucmVhZCIsInNhbGVzLm9yZGVyLmRlbGl2ZXJ5YWRkcmVzcy53cml0ZSIsInNlcnZpY2UucmVxdWVzdC5yZWFkIiwiY2F0YWxvZy50YWcucmVhZCIsInNhbGVzLm9yZGVyLnJlYWQiLCJzYWxlcy5jdXN0b21lci53cml0ZSIsInJlcXVlc3Rmb3JxdW90ZS53cml0ZSIsInNhbGVzLm9yZGVyLmJvb2siLCJyZXF1ZXN0Zm9ycXVvdGUucmVhZCIsInNhbGVzLmxlYWQucmVhZCIsInB1cmNoYXNlLm9yZGVyLnJlYWQiLCJzYWxlcy5xdW90ZS5yZWFkIiwic2FsZXMucXVvdGUud3JpdGUiLCJjYXRhbG9nLml0ZW0ucmVhZCIsInNhbGVzLmxlYWQud3JpdGUiLCJzZXJ2aWNlLnJlcXVlc3Quc3VibWl0Iiwic2FsZXMub3JkZXIuZGVsaXZlcnlhZGRyZXNzLnJlYWQiLCJwdXJjaGFzZS5vcmRlci53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy5yZWFkIiwic2VydmljZS5yZXF1ZXN0LndyaXRlIiwiY2F0YWxvZy5jYXRhbG9nLnJlYWQiLCJjYXRhbG9nLmNhdGFsb2cud3JpdGUiLCJjYXRhbG9nLmN1cnJlbmN5LnJlYWQiLCJjYXRhbG9nLmN1cnJlbmN5LndyaXRlIiwiY2F0YWxvZy5pdGVtLndyaXRlIiwiY2F0YWxvZy5sb2NhbGl6YXRpb24ucmVhZCIsImNhdGFsb2cubG9jYWxpemF0aW9uLndyaXRlIiwiY2F0YWxvZy5wcm9kdWN0LnJlYWQiLCJjYXRhbG9nLnByb2R1Y3Qud3JpdGUiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLnJlYWQiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLndyaXRlIiwiY2F0YWxvZy5zZWxsZXIucmVhZCIsImNhdGFsb2cuc2VsbGVyLndyaXRlIiwiY2F0YWxvZy50YWcud3JpdGUiLCJjYXRhbG9nLnVvbS5yZWFkIiwiY2F0YWxvZy51b20ud3JpdGUiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LnJlYWQiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LndyaXRlIiwiY2F0YWxvZy52ZW5kb3IucmVhZCIsImNhdGFsb2cudmVuZG9yLndyaXRlIiwicHVyY2hhc2Uuc2VsbGVyLnJlYWQiLCJwdXJjaGFzZS5zZWxsZXIud3JpdGUiLCJjYXRhbG9nLmFydGljbGUucmVhZCIsImNhdGFsb2cuYXJ0aWNsZS53cml0ZSIsInNhbGVzLnF1b3RlLmxpbmVzLnJlYWQiLCJzYWxlcy5xdW90ZS5saW5lcy53cml0ZSIsInNhbGVzLnNlbGxlci5yZWFkIiwic2FsZXMuc2VsbGVyLndyaXRlIiwiYWNjb3VudGluZy52ZW5kb3JpbnZvaWNlLnJlYWQiLCJpZGVudGl0eS51c2VyLnJlYWQiLCJpZGVudGl0eS51c2VyLndyaXRlIiwiaWRlbnRpdHkucm9sZS5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy53cml0ZSIsImNvbmZpZ3VyYXRvci5wdXJjaGFzZXByaWNlLnJlYWQiLCJzdG9jay5mYWJyaWMucmVhZCJdLCJuYW1lIjoiUm9iaW4iLCJmYW1pbHlfbmFtZSI6ImRlIFdpbnRlciAoQ29saWpuLUlUKSIsInJvbGUiOlsic2VsbGVyIiwiZGVhbGVyX21hbmFnZXIiXSwiaWF0IjoxNzMyMTk5Mjk1LCJzY29wZSI6WyJjYXRhbG9ncXVlcnlhcGkiLCJjb25maWd1cmF0b3JhcGkiLCJwcm9kdWN0dmFyaWFudGNvbW1hbmRhcGkiLCJwcm9kdWN0dmFyaWFudHF1ZXJ5YXBpIl0sImFtciI6WyJpbXBlcnNvbmF0aW9uIl19.rbguVPnkXXDzsM6QKgXulhrF41jIjCuGDV13ig1GC8MewLCJ7wA038OSwT26sx2mCexjvuGYt45YScfPwfTkDy3ErPmHRods64X1dJWZnf-23NTP2iI32K_1vMZH5GOGbMzuFtbKAFQv4hgFAxoyWqFVWyJvuOtQcWyZStROyPHwjAnpnj-x1cVQpOhbO-kQUFvy_VUrPpF3aYVCcO2cFirQTXR6kxSGcYGGcsPY-_eiAd93UdG2EM6xLAocDLaFV72CQI6XEs0WQG1f4SqvH52v3OTkgWBLgYV35gpyIe0-2nazGL0R8pTNuDqrOb7OGmuTRMoTIiRi67-wTxx8cQ";
|
|
2839
|
+
this.variant = "";
|
|
2840
|
+
this.urlParams = [];
|
|
2655
2841
|
this._subs = [];
|
|
2656
2842
|
}
|
|
2657
2843
|
set externalSource(value) {
|
|
@@ -2662,6 +2848,17 @@ class ProductExternalSourceComponent {
|
|
|
2662
2848
|
get externalSource() {
|
|
2663
2849
|
return this._externalSource;
|
|
2664
2850
|
}
|
|
2851
|
+
set externalCatalogStartupInfo(value) {
|
|
2852
|
+
if (value) {
|
|
2853
|
+
this._externalCatalogStartupInfo = value;
|
|
2854
|
+
this.externalSource = value.externalSource;
|
|
2855
|
+
this.loaded = false;
|
|
2856
|
+
this._prepareExternalSource();
|
|
2857
|
+
}
|
|
2858
|
+
}
|
|
2859
|
+
get externalCatalogStartupInfo() {
|
|
2860
|
+
return this._externalCatalogStartupInfo;
|
|
2861
|
+
}
|
|
2665
2862
|
showClass() {
|
|
2666
2863
|
return true;
|
|
2667
2864
|
}
|
|
@@ -2685,6 +2882,9 @@ class ProductExternalSourceComponent {
|
|
|
2685
2882
|
ngOnDestroy() {
|
|
2686
2883
|
this._subs.forEach(s => s.unsubscribe());
|
|
2687
2884
|
}
|
|
2885
|
+
handleConfigurationFinished(variantString) {
|
|
2886
|
+
this.configuratorFinished.emit(variantString);
|
|
2887
|
+
}
|
|
2688
2888
|
_prepareExternalSource() {
|
|
2689
2889
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2690
2890
|
if (!this._externalSource) {
|
|
@@ -2693,30 +2893,67 @@ class ProductExternalSourceComponent {
|
|
|
2693
2893
|
this.externalUrl = undefined;
|
|
2694
2894
|
this.externalSettings = {};
|
|
2695
2895
|
if (this.externalSource.type === 'CATF') {
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
this.externalSettings.options = this.options;
|
|
2701
|
-
}
|
|
2702
|
-
// this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
|
|
2703
|
-
// this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
|
|
2704
|
-
if (this.externalSource.username && this.externalSource.password) {
|
|
2705
|
-
this.externalSettings.useLoginEncryption = true;
|
|
2706
|
-
this.externalSettings.username = this.externalSource.username;
|
|
2707
|
-
this.externalSettings.password = this.externalSource.password;
|
|
2708
|
-
}
|
|
2709
|
-
// finally show the catalog
|
|
2710
|
-
this.showProduct = true;
|
|
2896
|
+
yield this._prepareCatFarm();
|
|
2897
|
+
}
|
|
2898
|
+
else if (this.externalSource.type === 'HTDL') {
|
|
2899
|
+
this._prepareConfigurator();
|
|
2711
2900
|
}
|
|
2712
2901
|
else {
|
|
2713
|
-
this.
|
|
2714
|
-
this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
|
|
2715
|
-
this.showProduct = false;
|
|
2902
|
+
this._prepareSource();
|
|
2716
2903
|
}
|
|
2904
|
+
});
|
|
2905
|
+
}
|
|
2906
|
+
_prepareCatFarm() {
|
|
2907
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2908
|
+
// get bundle settings from external source
|
|
2909
|
+
const bundleSettings = yield this._productConnectorService.getProductBundleSettings(this.externalSource.url, parseInt(this.externalSource.schema, 0));
|
|
2910
|
+
this.externalSettings = JSON.parse(bundleSettings);
|
|
2911
|
+
if (this.options) {
|
|
2912
|
+
this.externalSettings.options = this.options;
|
|
2913
|
+
}
|
|
2914
|
+
// this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
|
|
2915
|
+
// this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
|
|
2916
|
+
if (this.externalSource.username && this.externalSource.password) {
|
|
2917
|
+
this.externalSettings.useLoginEncryption = true;
|
|
2918
|
+
this.externalSettings.username = this.externalSource.username;
|
|
2919
|
+
this.externalSettings.password = this.externalSource.password;
|
|
2920
|
+
}
|
|
2921
|
+
// finally show the catalog
|
|
2922
|
+
this.switchToProduct();
|
|
2717
2923
|
this.loaded = true;
|
|
2718
2924
|
});
|
|
2719
2925
|
}
|
|
2926
|
+
_prepareConfigurator() {
|
|
2927
|
+
if (this.externalCatalogStartupInfo) {
|
|
2928
|
+
this.token = this.externalCatalogStartupInfo.token;
|
|
2929
|
+
this.sku = this.externalCatalogStartupInfo.externalGoodId;
|
|
2930
|
+
this.variant = this.externalCatalogStartupInfo.flattenedGoodId;
|
|
2931
|
+
this.urlParams = this.externalCatalogStartupInfo.externalSource.parameters;
|
|
2932
|
+
this.switchToConfigurator();
|
|
2933
|
+
this.loaded = true;
|
|
2934
|
+
}
|
|
2935
|
+
}
|
|
2936
|
+
_prepareSource() {
|
|
2937
|
+
this.externalUrl = this.externalSource.url;
|
|
2938
|
+
this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
|
|
2939
|
+
this.switchToSource();
|
|
2940
|
+
this.loaded = true;
|
|
2941
|
+
}
|
|
2942
|
+
switchToProduct() {
|
|
2943
|
+
this.showProduct = true;
|
|
2944
|
+
this.showConfigurator = false;
|
|
2945
|
+
this.showSource = false;
|
|
2946
|
+
}
|
|
2947
|
+
switchToConfigurator() {
|
|
2948
|
+
this.showProduct = false;
|
|
2949
|
+
this.showConfigurator = true;
|
|
2950
|
+
this.showSource = false;
|
|
2951
|
+
}
|
|
2952
|
+
switchToSource() {
|
|
2953
|
+
this.showProduct = false;
|
|
2954
|
+
this.showConfigurator = false;
|
|
2955
|
+
this.showSource = true;
|
|
2956
|
+
}
|
|
2720
2957
|
}
|
|
2721
2958
|
ProductExternalSourceComponent.decorators = [
|
|
2722
2959
|
{ type: Component, args: [{
|
|
@@ -2730,9 +2967,17 @@ ProductExternalSourceComponent.decorators = [
|
|
|
2730
2967
|
[externalSource]="externalSource"
|
|
2731
2968
|
></app-product-page>
|
|
2732
2969
|
</ng-container>
|
|
2733
|
-
<ng-container *ngIf="
|
|
2970
|
+
<ng-container *ngIf="showSource">
|
|
2734
2971
|
<iframe width="100%" height="100%" [src]="safeUrl" frameborder="0" allowfullscreen></iframe>
|
|
2735
2972
|
</ng-container>
|
|
2973
|
+
<ng-container *ngIf="showConfigurator">
|
|
2974
|
+
<co-product-hd width="100%" height="100%"
|
|
2975
|
+
[sku]="sku"
|
|
2976
|
+
[variant]="variant"
|
|
2977
|
+
[token]="token"
|
|
2978
|
+
[urlParams]="urlParams"
|
|
2979
|
+
(configuratorFinished)="handleConfigurationFinished($event)"></co-product-hd>
|
|
2980
|
+
</ng-container>
|
|
2736
2981
|
</ng-container>
|
|
2737
2982
|
`,
|
|
2738
2983
|
providers: [
|
|
@@ -2752,10 +2997,12 @@ ProductExternalSourceComponent.propDecorators = {
|
|
|
2752
2997
|
sku: [{ type: Input }],
|
|
2753
2998
|
catalogDefinition: [{ type: Input }],
|
|
2754
2999
|
externalSource: [{ type: Input }],
|
|
3000
|
+
externalCatalogStartupInfo: [{ type: Input }],
|
|
2755
3001
|
options: [{ type: Input }],
|
|
2756
3002
|
addToCart: [{ type: Output }],
|
|
2757
3003
|
addToQuote: [{ type: Output }],
|
|
2758
3004
|
alternativeClick: [{ type: Output }],
|
|
3005
|
+
configuratorFinished: [{ type: Output }],
|
|
2759
3006
|
showClass: [{ type: HostBinding, args: ['class.co-product-external-source',] }]
|
|
2760
3007
|
};
|
|
2761
3008
|
|
|
@@ -2765,7 +3012,8 @@ ProductExternalSourceModule.decorators = [
|
|
|
2765
3012
|
{ type: NgModule, args: [{
|
|
2766
3013
|
imports: [
|
|
2767
3014
|
CommonModule,
|
|
2768
|
-
ProductPageModule
|
|
3015
|
+
ProductPageModule,
|
|
3016
|
+
ProductHdModule
|
|
2769
3017
|
],
|
|
2770
3018
|
declarations: [
|
|
2771
3019
|
ProductExternalSourceComponent
|
|
@@ -2776,9 +3024,43 @@ ProductExternalSourceModule.decorators = [
|
|
|
2776
3024
|
},] }
|
|
2777
3025
|
];
|
|
2778
3026
|
|
|
3027
|
+
class IoneProductModule {
|
|
3028
|
+
}
|
|
3029
|
+
IoneProductModule.decorators = [
|
|
3030
|
+
{ type: NgModule, args: [{
|
|
3031
|
+
imports: [
|
|
3032
|
+
//BrowserAnimationsModule,
|
|
3033
|
+
CommonModule,
|
|
3034
|
+
ProductPageModule,
|
|
3035
|
+
ProductHdModule,
|
|
3036
|
+
ProductExternalSourceModule,
|
|
3037
|
+
ButtonModule$1
|
|
3038
|
+
],
|
|
3039
|
+
declarations: [
|
|
3040
|
+
IoneProductComponent
|
|
3041
|
+
],
|
|
3042
|
+
exports: [
|
|
3043
|
+
IoneProductComponent
|
|
3044
|
+
],
|
|
3045
|
+
schemas: [
|
|
3046
|
+
CUSTOM_ELEMENTS_SCHEMA,
|
|
3047
|
+
NO_ERRORS_SCHEMA
|
|
3048
|
+
],
|
|
3049
|
+
bootstrap: [
|
|
3050
|
+
IoneProductComponent
|
|
3051
|
+
],
|
|
3052
|
+
providers: [
|
|
3053
|
+
ProductSettingsService,
|
|
3054
|
+
ProductConnectorService,
|
|
3055
|
+
ProductEventService,
|
|
3056
|
+
ProductConnectorAdapterService
|
|
3057
|
+
]
|
|
3058
|
+
},] }
|
|
3059
|
+
];
|
|
3060
|
+
|
|
2779
3061
|
/**
|
|
2780
3062
|
* Generated bundle index. Do not edit.
|
|
2781
3063
|
*/
|
|
2782
3064
|
|
|
2783
|
-
export { IoneProductComponent, IoneProductModule, ProductConnectorAdapterService, ProductConnectorService, ProductEventService, ProductExternalSourceComponent, ProductExternalSourceModule, ProductSettingsService, Version, ProductPageModule as ɵa, ProductSelectorTypeModule as ɵb, ProductInfoTabsModule as ɵba, ProductAdditionalInfoModule as ɵbb, ProductAdditionalInfoComponent as ɵbc, ProductPropertiesModule as ɵbd, ProductPropertiesComponent as ɵbe, ProductDocumentModule as ɵbf, ProductDocumentsComponent as ɵbg, ProductSymbolsModule as ɵbh, ProductSymbolsComponent as ɵbi, ProductInfoTabsComponent as ɵbj, ProductDialogModule as ɵbk, ProductDialogComponent as ɵbl, ProductPageComponent as ɵbm, PipeModule as ɵc, LocalizePipe as ɵd, DictionaryService as ɵe, JsonUtilsService as ɵf, ProductSelectorTypeComponent as ɵg, IconCacheService as ɵh, ImageCarouselModule as ɵi, ImageCarouselComponent as ɵj, ProductDescriptionModule as ɵk, ProductDescriptionComponent as ɵl, ProductAdditionalDescriptionModule as ɵm, ProductAdditionalDescriptionComponent as ɵn, ProductPriceModule as ɵo, ProductPriceComponent as ɵp, ProductAddtocartModule as ɵq, ProductAddtocartComponent as ɵr, ProductRelatedModule as ɵs, HeaderModule as ɵt, HeaderComponent as ɵu, ProductRelatedComponent as ɵv, ProductStockModule as ɵw, ProductStockComponent as ɵx, ProductDeliveryModule as ɵy, ProductDeliveryComponent as ɵz };
|
|
3065
|
+
export { IoneProductComponent, IoneProductModule, ProductConnectorAdapterService, ProductConnectorService, ProductEventService, ProductExternalSourceComponent, ProductExternalSourceModule, ProductSettingsService, Version, ProductPageModule as ɵa, ProductSelectorTypeModule as ɵb, ProductInfoTabsModule as ɵba, ProductAdditionalInfoModule as ɵbb, ProductAdditionalInfoComponent as ɵbc, ProductPropertiesModule as ɵbd, ProductPropertiesComponent as ɵbe, ProductDocumentModule as ɵbf, ProductDocumentsComponent as ɵbg, ProductSymbolsModule as ɵbh, ProductSymbolsComponent as ɵbi, ProductInfoTabsComponent as ɵbj, ProductDialogModule as ɵbk, ProductDialogComponent as ɵbl, ProductPageComponent as ɵbm, ProductHdModule as ɵbn, ProductHdComponent as ɵbo, ProductScriptLoaderService as ɵbp, PipeModule as ɵc, LocalizePipe as ɵd, DictionaryService as ɵe, JsonUtilsService as ɵf, ProductSelectorTypeComponent as ɵg, IconCacheService as ɵh, ImageCarouselModule as ɵi, ImageCarouselComponent as ɵj, ProductDescriptionModule as ɵk, ProductDescriptionComponent as ɵl, ProductAdditionalDescriptionModule as ɵm, ProductAdditionalDescriptionComponent as ɵn, ProductPriceModule as ɵo, ProductPriceComponent as ɵp, ProductAddtocartModule as ɵq, ProductAddtocartComponent as ɵr, ProductRelatedModule as ɵs, HeaderModule as ɵt, HeaderComponent as ɵu, ProductRelatedComponent as ɵv, ProductStockModule as ɵw, ProductStockComponent as ɵx, ProductDeliveryModule as ɵy, ProductDeliveryComponent as ɵz };
|
|
2784
3066
|
//# sourceMappingURL=colijnit-product.js.map
|