@colijnit/product 262.1.3 → 262.1.6
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/style/product-globals.scss +1 -0
- package/fesm2022/colijnit-product.mjs +137 -448
- package/fesm2022/colijnit-product.mjs.map +1 -1
- package/index.d.ts +14 -80
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Pipe, EventEmitter, Output, Input, Component, ElementRef, HostBinding, HostListener, ViewChild, ChangeDetectionStrategy, SecurityContext, ViewEncapsulation, NgModule, CUSTOM_ELEMENTS_SCHEMA, PLATFORM_ID, Inject, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
3
|
-
import { Subject, BehaviorSubject,
|
|
3
|
+
import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
4
|
import { Options } from '@colijnit/ioneconnector/build/model/options';
|
|
5
5
|
import { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';
|
|
6
6
|
import { SuperArticle } from '@colijnit/articleapi/build/model/super-article';
|
|
@@ -15,27 +15,27 @@ import { ArticleListObjectExtended } from '@colijnit/articleapi/build/model/arti
|
|
|
15
15
|
import { ImageContent } from '@colijnit/mainapi/build/model/image-content.bo';
|
|
16
16
|
import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
|
|
17
17
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
18
|
-
import * as i5 from '@colijnit/configurator';
|
|
19
|
-
import { ConfigurationResultObject, ConfiguratorModule, ConfiguratorSceneModule } from '@colijnit/configurator';
|
|
20
18
|
import * as i1 from '@angular/platform-browser';
|
|
19
|
+
import * as i5 from '@colijnit/configurator';
|
|
20
|
+
import { ConfigurationPresetModule, ConfiguratorModule, ConfiguratorSceneModule } from '@colijnit/configurator';
|
|
21
21
|
import * as i6 from '@colijnit/corecomponents_v12';
|
|
22
22
|
import { IconModule, LoaderModule, ScrollContainerModule, InputNumberPickerModule, ButtonModule, ArticleTileModule, TileModule, IconCollapseHandleModule } from '@colijnit/corecomponents_v12';
|
|
23
23
|
import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
|
|
24
24
|
import * as i6$1 from '@angular/cdk/overlay';
|
|
25
25
|
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
26
|
-
import * as i1$1 from '@angular/common';
|
|
27
|
-
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
28
26
|
import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
|
|
29
27
|
import * as i3 from '@colijnit/sharedcomponents';
|
|
30
28
|
import { FilesUploadModule } from '@colijnit/sharedcomponents';
|
|
29
|
+
import * as i5$1 from '@angular/common';
|
|
30
|
+
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
31
31
|
|
|
32
32
|
// this file is dynamically created, do not change this
|
|
33
33
|
class Version {
|
|
34
34
|
constructor() {
|
|
35
35
|
this.name = "@colijnit/product";
|
|
36
36
|
this.description = "Product detail page project for iOne";
|
|
37
|
-
this.symVer = "262.1.
|
|
38
|
-
this.publishDate = "
|
|
37
|
+
this.symVer = "262.1.6";
|
|
38
|
+
this.publishDate = "28-5-2026, 16:34:41";
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -261,20 +261,6 @@ class ProductConnectorAdapterService {
|
|
|
261
261
|
return Promise.resolve(false);
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
|
-
async getGoogleTranslation(sourceLang, targetLang, list) {
|
|
265
|
-
const result = await this.mainConnector.getGoogleTranslation(sourceLang, targetLang, list);
|
|
266
|
-
if (result.validationResult && result.validationResult.success) {
|
|
267
|
-
return result.resultObject;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
async googleTranslateEnabled() {
|
|
271
|
-
// this should always be fetched from the mainapi from the client
|
|
272
|
-
const response = await this.mainConnector.isGoogleTranslateEnabled();
|
|
273
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
274
|
-
return response.resultObject;
|
|
275
|
-
}
|
|
276
|
-
return false;
|
|
277
|
-
}
|
|
278
264
|
async getDefaultLanguage(upId) {
|
|
279
265
|
// this should always be fetched from the mainapi from the client
|
|
280
266
|
const response = await this.mainConnector.getPublicParams(upId);
|
|
@@ -670,12 +656,6 @@ class ProductConnectorService {
|
|
|
670
656
|
async savePreset() {
|
|
671
657
|
return await this._adapterService.savePreset();
|
|
672
658
|
}
|
|
673
|
-
async getGoogleTranslation(sourceLang, targetLang, list) {
|
|
674
|
-
return await this._adapterService.getGoogleTranslation(sourceLang, targetLang, list);
|
|
675
|
-
}
|
|
676
|
-
googleTranslateEnabled() {
|
|
677
|
-
return this._adapterService.googleTranslateEnabled();
|
|
678
|
-
}
|
|
679
659
|
async getDefaultLanguage(upId) {
|
|
680
660
|
return await this._adapterService.getDefaultLanguage(upId);
|
|
681
661
|
}
|
|
@@ -689,77 +669,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
689
669
|
type: Injectable
|
|
690
670
|
}], ctorParameters: () => [{ type: ProductConnectorAdapterService }, { type: ProductSettingsService }] });
|
|
691
671
|
|
|
692
|
-
class GoogleTranslation {
|
|
693
|
-
constructor(label, translation, language) {
|
|
694
|
-
this.label = label;
|
|
695
|
-
this.translation = translation;
|
|
696
|
-
this.language = language;
|
|
697
|
-
}
|
|
698
|
-
}
|
|
699
|
-
class GoogleTranslateService {
|
|
700
|
-
constructor(_settingsService, _connectorService) {
|
|
701
|
-
this._settingsService = _settingsService;
|
|
702
|
-
this._connectorService = _connectorService;
|
|
703
|
-
this._translations = [];
|
|
704
|
-
this._initialized = false;
|
|
705
|
-
this._initializedSubject = new ReplaySubject(1);
|
|
706
|
-
this.googleApiEnabled = false;
|
|
707
|
-
this._connectionSubject = combineLatest([
|
|
708
|
-
this._settingsService.settingsLoaded,
|
|
709
|
-
this._connectorService.controllerInitialized
|
|
710
|
-
]).subscribe(async ([settingsInitialized, controllerInitialized]) => {
|
|
711
|
-
if (settingsInitialized && controllerInitialized) {
|
|
712
|
-
this._clientLanguage = this._settingsService.settings.languageCode;
|
|
713
|
-
const googleTranslateEnabled = await this._connectorService.googleTranslateEnabled();
|
|
714
|
-
if (googleTranslateEnabled) {
|
|
715
|
-
this.googleApiEnabled = true;
|
|
716
|
-
this._defaultLanguage = await this._connectorService.getDefaultLanguage(+this._settingsService.settings.schema);
|
|
717
|
-
}
|
|
718
|
-
this._initialized = true;
|
|
719
|
-
this._initializedSubject.next();
|
|
720
|
-
this._initializedSubject.complete();
|
|
721
|
-
}
|
|
722
|
-
});
|
|
723
|
-
}
|
|
724
|
-
ngOnDestroy() {
|
|
725
|
-
this._connectionSubject.unsubscribe();
|
|
726
|
-
}
|
|
727
|
-
async getTranslation(input) {
|
|
728
|
-
if (!this._initialized) {
|
|
729
|
-
await this._initializedSubject.toPromise();
|
|
730
|
-
}
|
|
731
|
-
if (!this.googleApiEnabled) {
|
|
732
|
-
return input;
|
|
733
|
-
}
|
|
734
|
-
const sourceLang = this._defaultLanguage.toLowerCase();
|
|
735
|
-
const targetLang = this._clientLanguage.toLowerCase();
|
|
736
|
-
const translationList = [input];
|
|
737
|
-
// When we do not need a translation
|
|
738
|
-
if (!input || (sourceLang === targetLang)) {
|
|
739
|
-
return input;
|
|
740
|
-
}
|
|
741
|
-
// When we might have cache
|
|
742
|
-
const result = this._translations.find(item => item.label === input && item.language === targetLang);
|
|
743
|
-
if (result && result.translation) {
|
|
744
|
-
return result.translation;
|
|
745
|
-
}
|
|
746
|
-
// translate
|
|
747
|
-
const translation = await this._connectorService.getGoogleTranslation(sourceLang, targetLang, translationList);
|
|
748
|
-
const key = Object.keys(translation)[0];
|
|
749
|
-
const cache = new GoogleTranslation(input, translation[key], targetLang);
|
|
750
|
-
this._translations.push(cache);
|
|
751
|
-
return translation[key];
|
|
752
|
-
}
|
|
753
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GoogleTranslateService, deps: [{ token: ProductSettingsService }, { token: ProductConnectorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
754
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GoogleTranslateService, providedIn: 'root' }); }
|
|
755
|
-
}
|
|
756
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GoogleTranslateService, decorators: [{
|
|
757
|
-
type: Injectable,
|
|
758
|
-
args: [{
|
|
759
|
-
providedIn: 'root'
|
|
760
|
-
}]
|
|
761
|
-
}], ctorParameters: () => [{ type: ProductSettingsService }, { type: ProductConnectorService }] });
|
|
762
|
-
|
|
763
672
|
class RootStorageObject {
|
|
764
673
|
}
|
|
765
674
|
class LocalStorageService {
|
|
@@ -836,13 +745,6 @@ var IconEnum;
|
|
|
836
745
|
IconEnum["Warehouse"] = "warehouse";
|
|
837
746
|
})(IconEnum || (IconEnum = {}));
|
|
838
747
|
|
|
839
|
-
var PresetDialogType;
|
|
840
|
-
(function (PresetDialogType) {
|
|
841
|
-
PresetDialogType[PresetDialogType["info"] = 0] = "info";
|
|
842
|
-
PresetDialogType[PresetDialogType["warning"] = 1] = "warning";
|
|
843
|
-
PresetDialogType[PresetDialogType["success"] = 2] = "success";
|
|
844
|
-
})(PresetDialogType || (PresetDialogType = {}));
|
|
845
|
-
|
|
846
748
|
/** AUTO GENERATED FILE. DO NOT CHANGE.. **/
|
|
847
749
|
const IconSvg = {
|
|
848
750
|
"add_to_cart_drop": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M16.58,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,16.58,34.84Z\" fill=\"#484f60\"/><path d=\"M31.49,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,31.49,34.84Z\" fill=\"#484f60\"/><path d=\"M35.6,17.9l-1.51.18L31.88,20.3l1.31-.17a.88.88,0,0,1,1,1.08L32.35,29.5a1.52,1.52,0,0,1-1.44,1.2H16.51a1.75,1.75,0,0,1-1.57-1.17l-2.31-5.6a1,1,0,0,1,.85-1.29l4.43-.56-1.86-1.86-5.13.61a1,1,0,0,0-.87,1.28l3.34,9.44A1.73,1.73,0,0,0,15,32.72H32.64a1.51,1.51,0,0,0,1.43-1.2L36.6,19A.89.89,0,0,0,35.6,17.9Z\" fill=\"#484f60\"/><path d=\"M39,17a1.87,1.87,0,0,0-1.36,1.46l-.42,2.89c-.1.67.31,1,.9.7a2.75,2.75,0,0,0,1.33-1.7L40,18A.73.73,0,0,0,39,17Z\" fill=\"#484f60\"/><polygon points=\"24 25.35 32.04 17.3 27.04 17.3 27.04 10 20.95 10 20.95 17.3 15.96 17.3 24 25.35\" fill=\"#484f60\"/></svg>",
|
|
@@ -1391,54 +1293,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1391
1293
|
args: ['class.resizing']
|
|
1392
1294
|
}] } });
|
|
1393
1295
|
|
|
1394
|
-
class GoogleTranslatePipe {
|
|
1395
|
-
constructor(_googleTranslateService) {
|
|
1396
|
-
this._googleTranslateService = _googleTranslateService;
|
|
1397
|
-
}
|
|
1398
|
-
transform(value) {
|
|
1399
|
-
return from(this._googleTranslateService.getTranslation(value));
|
|
1400
|
-
}
|
|
1401
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GoogleTranslatePipe, deps: [{ token: GoogleTranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1402
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: GoogleTranslatePipe, isStandalone: false, name: "googleTranslate" }); }
|
|
1403
|
-
}
|
|
1404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GoogleTranslatePipe, decorators: [{
|
|
1405
|
-
type: Pipe,
|
|
1406
|
-
args: [{
|
|
1407
|
-
name: 'googleTranslate',
|
|
1408
|
-
standalone: false
|
|
1409
|
-
}]
|
|
1410
|
-
}], ctorParameters: () => [{ type: GoogleTranslateService }] });
|
|
1411
|
-
|
|
1412
1296
|
class ProductDescriptionComponent {
|
|
1413
1297
|
constructor() { }
|
|
1414
1298
|
ngOnInit() {
|
|
1415
1299
|
}
|
|
1416
1300
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1417
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductDescriptionComponent, isStandalone: false, selector: "app-product-description", inputs: { article: "article" }, ngImport: i0, template: `
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductDescriptionComponent, isStandalone: false, selector: "app-product-description", inputs: { article: "article", configuring: "configuring" }, ngImport: i0, template: `
|
|
1302
|
+
<div class="product-description-wrapper">
|
|
1303
|
+
<div class="pd-title-wrapper">
|
|
1304
|
+
@if (article?.descriptionRetail) {
|
|
1305
|
+
<span class="pd-description" [textContent]="article?.descriptionRetail"></span>
|
|
1306
|
+
}
|
|
1307
|
+
@if (article?.articleNr) {
|
|
1308
|
+
<span class="pd-sku" [textContent]="article?.articleNr"></span>
|
|
1309
|
+
}
|
|
1310
|
+
</div>
|
|
1311
|
+
<div class="save-configuration-button">
|
|
1312
|
+
@if (configuring) {
|
|
1313
|
+
<co-configuration-preset></co-configuration-preset>
|
|
1314
|
+
}
|
|
1315
|
+
</div>
|
|
1316
|
+
</div>
|
|
1317
|
+
`, isInline: true, styles: [":host{display:block}:host .product-description-wrapper{display:flex;justify-content:space-between}:host .product-description-wrapper .pd-title-wrapper{margin:0;padding-bottom:30px}:host .product-description-wrapper .pd-title-wrapper .pd-description{color:#22313c;font-size:25px;font-weight:700;width:100%;display:block}:host .product-description-wrapper .pd-title-wrapper .pd-sku{font-size:14px}:host .product-description-wrapper .save-configuration-button ::ng-deep .open-save-load{display:none}:host .product-description-wrapper .save-configuration-button ::ng-deep .save-load-configuration-buttons{visibility:visible;position:relative;transform:none;pointer-events:all;opacity:1;box-shadow:none}:host .product-description-wrapper .save-configuration-button ::ng-deep .save-load-configuration-buttons .save-preset-button{border:1px solid #1A73E8;cursor:pointer}@media screen and (max-width: 650px){:host .product-description-wrapper .pd-description{font-size:21px}:host .product-description-wrapper .pd-sku{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i5.ConfigurationPresetComponent, selector: "co-configuration-preset" }] }); }
|
|
1427
1318
|
}
|
|
1428
1319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionComponent, decorators: [{
|
|
1429
1320
|
type: Component,
|
|
1430
1321
|
args: [{ selector: 'app-product-description', template: `
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1322
|
+
<div class="product-description-wrapper">
|
|
1323
|
+
<div class="pd-title-wrapper">
|
|
1324
|
+
@if (article?.descriptionRetail) {
|
|
1325
|
+
<span class="pd-description" [textContent]="article?.descriptionRetail"></span>
|
|
1326
|
+
}
|
|
1327
|
+
@if (article?.articleNr) {
|
|
1328
|
+
<span class="pd-sku" [textContent]="article?.articleNr"></span>
|
|
1329
|
+
}
|
|
1330
|
+
</div>
|
|
1331
|
+
<div class="save-configuration-button">
|
|
1332
|
+
@if (configuring) {
|
|
1333
|
+
<co-configuration-preset></co-configuration-preset>
|
|
1334
|
+
}
|
|
1335
|
+
</div>
|
|
1336
|
+
</div>
|
|
1337
|
+
`, standalone: false, styles: [":host{display:block}:host .product-description-wrapper{display:flex;justify-content:space-between}:host .product-description-wrapper .pd-title-wrapper{margin:0;padding-bottom:30px}:host .product-description-wrapper .pd-title-wrapper .pd-description{color:#22313c;font-size:25px;font-weight:700;width:100%;display:block}:host .product-description-wrapper .pd-title-wrapper .pd-sku{font-size:14px}:host .product-description-wrapper .save-configuration-button ::ng-deep .open-save-load{display:none}:host .product-description-wrapper .save-configuration-button ::ng-deep .save-load-configuration-buttons{visibility:visible;position:relative;transform:none;pointer-events:all;opacity:1;box-shadow:none}:host .product-description-wrapper .save-configuration-button ::ng-deep .save-load-configuration-buttons .save-preset-button{border:1px solid #1A73E8;cursor:pointer}@media screen and (max-width: 650px){:host .product-description-wrapper .pd-description{font-size:21px}:host .product-description-wrapper .pd-sku{font-size:13px}}\n"] }]
|
|
1440
1338
|
}], ctorParameters: () => [], propDecorators: { article: [{
|
|
1441
1339
|
type: Input
|
|
1340
|
+
}], configuring: [{
|
|
1341
|
+
type: Input
|
|
1442
1342
|
}] } });
|
|
1443
1343
|
|
|
1444
1344
|
class BitUtils {
|
|
@@ -1496,18 +1396,18 @@ class ProductAdditionalDescriptionComponent {
|
|
|
1496
1396
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductAdditionalDescriptionComponent, isStandalone: false, selector: "app-product-additional-description", inputs: { article: "article" }, ngImport: i0, template: `
|
|
1497
1397
|
@if (description !== '') {
|
|
1498
1398
|
<div class="pd-additional-description">
|
|
1499
|
-
<p [innerHTML]="description
|
|
1399
|
+
<p [innerHTML]="description"></p>
|
|
1500
1400
|
<button class="pd-read-more-btn" [textContent]="'READ_MORE' | localize" (click)="onReadMore()"></button>
|
|
1501
1401
|
</div>
|
|
1502
1402
|
}
|
|
1503
|
-
`, isInline: true, styles: [":host{display:block;padding-top:0!important}:host *:focus{outline:0!important}:host .pd-additional-description{line-height:190%;color:#22313c;font-size:13px}:host .pd-read-more-btn{color:#1a73e8;border:none;background:transparent;cursor:pointer;text-decoration:underline}:host .pd-read-more-btn:hover{color:#4e9b7e}@media screen and (max-width: 650px){:host .pd-additional-description{font-size:12px}}\n"], dependencies: [{ kind: "pipe", type:
|
|
1403
|
+
`, isInline: true, styles: [":host{display:block;padding-top:0!important}:host *:focus{outline:0!important}:host .pd-additional-description{line-height:190%;color:#22313c;font-size:13px}:host .pd-read-more-btn{color:#1a73e8;border:none;background:transparent;cursor:pointer;text-decoration:underline}:host .pd-read-more-btn:hover{color:#4e9b7e}@media screen and (max-width: 650px){:host .pd-additional-description{font-size:12px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
1504
1404
|
}
|
|
1505
1405
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductAdditionalDescriptionComponent, decorators: [{
|
|
1506
1406
|
type: Component,
|
|
1507
1407
|
args: [{ selector: 'app-product-additional-description', template: `
|
|
1508
1408
|
@if (description !== '') {
|
|
1509
1409
|
<div class="pd-additional-description">
|
|
1510
|
-
<p [innerHTML]="description
|
|
1410
|
+
<p [innerHTML]="description"></p>
|
|
1511
1411
|
<button class="pd-read-more-btn" [textContent]="'READ_MORE' | localize" (click)="onReadMore()"></button>
|
|
1512
1412
|
</div>
|
|
1513
1413
|
}
|
|
@@ -1985,7 +1885,7 @@ class ProductRelatedComponent {
|
|
|
1985
1885
|
<div class="article-wrapper">
|
|
1986
1886
|
<co-article-tile
|
|
1987
1887
|
[imageData]="articleViewModel.imageData"
|
|
1988
|
-
[description]="articleViewModel.article.description
|
|
1888
|
+
[description]="articleViewModel.article.description"
|
|
1989
1889
|
[price]="articleViewModel.article.price"
|
|
1990
1890
|
[level]="articleViewModel.article.stockStatus"
|
|
1991
1891
|
[hasCartButton]="true"
|
|
@@ -2001,7 +1901,7 @@ class ProductRelatedComponent {
|
|
|
2001
1901
|
</co-scroll-container>
|
|
2002
1902
|
</div>
|
|
2003
1903
|
}
|
|
2004
|
-
`, isInline: true, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;justify-content:flex-start}.article-wrapper ::ng-deep co-tile{transition:all .14s ease-out;border:1px solid transparent;padding:10px;display:flex;flex-direction:column;color:#171721;box-sizing:border-box;justify-content:space-between}.article-wrapper ::ng-deep co-tile .price{display:block;padding:10px 0}.article-wrapper ::ng-deep co-tile .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:30px}.article-wrapper ::ng-deep co-tile .tile-bottom{display:flex;flex-direction:column;gap:5px}.article-wrapper ::ng-deep co-tile:hover{border:1px solid #DCE4EA}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon{width:24px;height:24px}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon svg [fill]{fill:#fff}.article-wrapper ::ng-deep co-tile.small{width:100%;height:100%;cursor:pointer}.article-wrapper ::ng-deep co-tile.small:hover .tile-bottom .left-buttons{margin:0!important}.article-wrapper ::ng-deep co-tile.small .tile-wrapper{outline:none!important;padding-bottom:0;overflow:hidden;gap:10px;display:flex;flex-direction:column}.article-wrapper ::ng-deep co-tile.small .tile-wrapper div.image{height:100px}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .no-image-wrapper{min-height:100px;display:flex;align-items:center}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom{outline:none!important;background:transparent!important}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom .price{color:#4e9b7e;margin:5px 0 0;font-weight:400;font-size:12px}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:30px;height:30px;text-align:center;margin:0;border-radius:5px;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:24px;height:24px}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", inputs: ["label", "amount"] }, { kind: "component", type: i6.ScrollContainerComponent, selector: "co-scroll-container", inputs: ["vertical"] }, { kind: "component", type: i6.ArticleTileComponent, selector: "co-article-tile", inputs: ["imageData", "description", "price", "level", "isSelected", "isSmallModus", "hasConfigureButton", "hasThreeDButton", "hasCartButton"], outputs: ["contentClick", "configureButtonClick", "threeDButtonClick", "cartButtonClick"] }
|
|
1904
|
+
`, isInline: true, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;justify-content:flex-start}.article-wrapper ::ng-deep co-tile{transition:all .14s ease-out;border:1px solid transparent;padding:10px;display:flex;flex-direction:column;color:#171721;box-sizing:border-box;justify-content:space-between}.article-wrapper ::ng-deep co-tile .price{display:block;padding:10px 0}.article-wrapper ::ng-deep co-tile .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:30px}.article-wrapper ::ng-deep co-tile .tile-bottom{display:flex;flex-direction:column;gap:5px}.article-wrapper ::ng-deep co-tile:hover{border:1px solid #DCE4EA}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon{width:24px;height:24px}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon svg [fill]{fill:#fff}.article-wrapper ::ng-deep co-tile.small{width:100%;height:100%;cursor:pointer}.article-wrapper ::ng-deep co-tile.small:hover .tile-bottom .left-buttons{margin:0!important}.article-wrapper ::ng-deep co-tile.small .tile-wrapper{outline:none!important;padding-bottom:0;overflow:hidden;gap:10px;display:flex;flex-direction:column}.article-wrapper ::ng-deep co-tile.small .tile-wrapper div.image{height:100px}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .no-image-wrapper{min-height:100px;display:flex;align-items:center}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom{outline:none!important;background:transparent!important}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom .price{color:#4e9b7e;margin:5px 0 0;font-weight:400;font-size:12px}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:30px;height:30px;text-align:center;margin:0;border-radius:5px;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:24px;height:24px}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", inputs: ["label", "amount"] }, { kind: "component", type: i6.ScrollContainerComponent, selector: "co-scroll-container", inputs: ["vertical"] }, { kind: "component", type: i6.ArticleTileComponent, selector: "co-article-tile", inputs: ["imageData", "description", "price", "level", "isSelected", "isSmallModus", "hasConfigureButton", "hasThreeDButton", "hasCartButton"], outputs: ["contentClick", "configureButtonClick", "threeDButtonClick", "cartButtonClick"] }] }); }
|
|
2005
1905
|
}
|
|
2006
1906
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductRelatedComponent, decorators: [{
|
|
2007
1907
|
type: Component,
|
|
@@ -2016,7 +1916,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2016
1916
|
<div class="article-wrapper">
|
|
2017
1917
|
<co-article-tile
|
|
2018
1918
|
[imageData]="articleViewModel.imageData"
|
|
2019
|
-
[description]="articleViewModel.article.description
|
|
1919
|
+
[description]="articleViewModel.article.description"
|
|
2020
1920
|
[price]="articleViewModel.article.price"
|
|
2021
1921
|
[level]="articleViewModel.article.stockStatus"
|
|
2022
1922
|
[hasCartButton]="true"
|
|
@@ -2267,11 +2167,11 @@ class ProductPropertiesComponent {
|
|
|
2267
2167
|
@for (property of properties; track property) {
|
|
2268
2168
|
<div class="article-property">
|
|
2269
2169
|
<div class="article-property-key" [textContent]="property.key | localize"></div>
|
|
2270
|
-
<div class="article-property-value" [textContent]="property.value
|
|
2170
|
+
<div class="article-property-value" [textContent]="property.value"></div>
|
|
2271
2171
|
</div>
|
|
2272
2172
|
}
|
|
2273
2173
|
</div>
|
|
2274
|
-
`, isInline: true, styles: [":host{display:block}.article-properties-wrapper{display:flex;flex-direction:column}.article-property{display:flex;flex-direction:row;border-bottom:1px solid #f6f5f4;padding:11px 0;font-size:13px}.article-property:first-child{border-top:1px solid #f6f5f4}.article-property-key{flex-basis:200px;flex-shrink:0;color:#9ca5ae}@media screen and (max-width: 450px){.article-property-key{flex-basis:130px}}\n"], dependencies: [{ kind: "pipe", type:
|
|
2174
|
+
`, isInline: true, styles: [":host{display:block}.article-properties-wrapper{display:flex;flex-direction:column}.article-property{display:flex;flex-direction:row;border-bottom:1px solid #f6f5f4;padding:11px 0;font-size:13px}.article-property:first-child{border-top:1px solid #f6f5f4}.article-property-key{flex-basis:200px;flex-shrink:0;color:#9ca5ae}@media screen and (max-width: 450px){.article-property-key{flex-basis:130px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
2275
2175
|
}
|
|
2276
2176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPropertiesComponent, decorators: [{
|
|
2277
2177
|
type: Component,
|
|
@@ -2283,7 +2183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2283
2183
|
@for (property of properties; track property) {
|
|
2284
2184
|
<div class="article-property">
|
|
2285
2185
|
<div class="article-property-key" [textContent]="property.key | localize"></div>
|
|
2286
|
-
<div class="article-property-value" [textContent]="property.value
|
|
2186
|
+
<div class="article-property-value" [textContent]="property.value"></div>
|
|
2287
2187
|
</div>
|
|
2288
2188
|
}
|
|
2289
2189
|
</div>
|
|
@@ -2801,113 +2701,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2801
2701
|
args: ['class.resizing']
|
|
2802
2702
|
}] } });
|
|
2803
2703
|
|
|
2804
|
-
class PresetDialogComponent {
|
|
2805
|
-
showClass() {
|
|
2806
|
-
return true;
|
|
2807
|
-
}
|
|
2808
|
-
constructor(iconCache) {
|
|
2809
|
-
this.iconCache = iconCache;
|
|
2810
|
-
this.icon = IconEnum;
|
|
2811
|
-
this.presetId = undefined;
|
|
2812
|
-
this.cancelSavePreset = new EventEmitter();
|
|
2813
|
-
this.overwritePreset = new EventEmitter();
|
|
2814
|
-
this.PresetDialogType = PresetDialogType;
|
|
2815
|
-
}
|
|
2816
|
-
closeAndCancelPreset() {
|
|
2817
|
-
this.cancelSavePreset.emit(true);
|
|
2818
|
-
}
|
|
2819
|
-
closeAndOverwritePreset() {
|
|
2820
|
-
this.overwritePreset.emit(true);
|
|
2821
|
-
}
|
|
2822
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PresetDialogComponent, deps: [{ token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2823
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: PresetDialogComponent, isStandalone: false, selector: "co-preset-dialog", inputs: { type: "type", presetId: "presetId" }, outputs: { cancelSavePreset: "cancelSavePreset", overwritePreset: "overwritePreset" }, host: { properties: { "class.co-preset-dialog": "this.showClass" } }, ngImport: i0, template: `
|
|
2824
|
-
<div class="preset-dialog-wrap">
|
|
2825
|
-
<div class="preset-dialog-container">
|
|
2826
|
-
<div class="container-header">
|
|
2827
|
-
<div class="header-info">
|
|
2828
|
-
<h3 [textContent]="'PRESET_SAVE_AS' | localize"></h3>
|
|
2829
|
-
</div>
|
|
2830
|
-
<div class="close-icon" (click)="closeAndCancelPreset()">
|
|
2831
|
-
<co-icon class="fullscreen-button"
|
|
2832
|
-
[iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
2833
|
-
(click)="closeAndCancelPreset()"></co-icon>
|
|
2834
|
-
</div>
|
|
2835
|
-
</div>
|
|
2836
|
-
|
|
2837
|
-
<div class="body">
|
|
2838
|
-
@if (presetId !== undefined && type === PresetDialogType.warning) {
|
|
2839
|
-
<p [textContent]="'PRESET_OVERWRITE_TEXT' | localize"></p>
|
|
2840
|
-
}
|
|
2841
|
-
@if (presetId !== undefined && type === PresetDialogType.success) {
|
|
2842
|
-
<p [textContent]="'PRESET_SAVED_TEXT' | localize"></p>
|
|
2843
|
-
}
|
|
2844
|
-
</div>
|
|
2845
|
-
|
|
2846
|
-
<div class="close-button-container">
|
|
2847
|
-
@if (presetId !== undefined && type === PresetDialogType.warning) {
|
|
2848
|
-
<button class="ok-button" (click)="closeAndOverwritePreset()">
|
|
2849
|
-
<co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)" (click)="closeAndOverwritePreset()"></co-icon>
|
|
2850
|
-
</button>
|
|
2851
|
-
}
|
|
2852
|
-
<button class="close-button" (click)="closeAndCancelPreset()">
|
|
2853
|
-
<co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)" (click)="closeAndCancelPreset()"></co-icon>
|
|
2854
|
-
</button>
|
|
2855
|
-
</div>
|
|
2856
|
-
</div>
|
|
2857
|
-
</div>
|
|
2858
|
-
`, isInline: true, styles: [":host .preset-dialog-wrap{background:#00000080;position:fixed;z-index:1000;inset:0;display:flex;justify-content:center;align-items:center}:host .preset-dialog-wrap .preset-dialog-container{background:#fff;max-width:500px;width:75vw;max-height:90vh;border:1px solid #F8F8F8}:host .preset-dialog-wrap .preset-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3{display:flex;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}:host .preset-dialog-wrap .preset-dialog-container .container-header .close-icon{cursor:pointer}:host .preset-dialog-wrap .preset-dialog-container .body{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button ::ng-deep co-icon [fill]{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon{height:25px;width:25px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg path,:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg polygon{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .ok-button{background:#1a73e8}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .close-button{background:#475060}:host ::ng-deep .content-wrapper{width:auto!important}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
2859
|
-
}
|
|
2860
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PresetDialogComponent, decorators: [{
|
|
2861
|
-
type: Component,
|
|
2862
|
-
args: [{ selector: 'co-preset-dialog', template: `
|
|
2863
|
-
<div class="preset-dialog-wrap">
|
|
2864
|
-
<div class="preset-dialog-container">
|
|
2865
|
-
<div class="container-header">
|
|
2866
|
-
<div class="header-info">
|
|
2867
|
-
<h3 [textContent]="'PRESET_SAVE_AS' | localize"></h3>
|
|
2868
|
-
</div>
|
|
2869
|
-
<div class="close-icon" (click)="closeAndCancelPreset()">
|
|
2870
|
-
<co-icon class="fullscreen-button"
|
|
2871
|
-
[iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
2872
|
-
(click)="closeAndCancelPreset()"></co-icon>
|
|
2873
|
-
</div>
|
|
2874
|
-
</div>
|
|
2875
|
-
|
|
2876
|
-
<div class="body">
|
|
2877
|
-
@if (presetId !== undefined && type === PresetDialogType.warning) {
|
|
2878
|
-
<p [textContent]="'PRESET_OVERWRITE_TEXT' | localize"></p>
|
|
2879
|
-
}
|
|
2880
|
-
@if (presetId !== undefined && type === PresetDialogType.success) {
|
|
2881
|
-
<p [textContent]="'PRESET_SAVED_TEXT' | localize"></p>
|
|
2882
|
-
}
|
|
2883
|
-
</div>
|
|
2884
|
-
|
|
2885
|
-
<div class="close-button-container">
|
|
2886
|
-
@if (presetId !== undefined && type === PresetDialogType.warning) {
|
|
2887
|
-
<button class="ok-button" (click)="closeAndOverwritePreset()">
|
|
2888
|
-
<co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)" (click)="closeAndOverwritePreset()"></co-icon>
|
|
2889
|
-
</button>
|
|
2890
|
-
}
|
|
2891
|
-
<button class="close-button" (click)="closeAndCancelPreset()">
|
|
2892
|
-
<co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)" (click)="closeAndCancelPreset()"></co-icon>
|
|
2893
|
-
</button>
|
|
2894
|
-
</div>
|
|
2895
|
-
</div>
|
|
2896
|
-
</div>
|
|
2897
|
-
`, standalone: false, styles: [":host .preset-dialog-wrap{background:#00000080;position:fixed;z-index:1000;inset:0;display:flex;justify-content:center;align-items:center}:host .preset-dialog-wrap .preset-dialog-container{background:#fff;max-width:500px;width:75vw;max-height:90vh;border:1px solid #F8F8F8}:host .preset-dialog-wrap .preset-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3{display:flex;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}:host .preset-dialog-wrap .preset-dialog-container .container-header .close-icon{cursor:pointer}:host .preset-dialog-wrap .preset-dialog-container .body{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button ::ng-deep co-icon [fill]{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon{height:25px;width:25px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg path,:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg polygon{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .ok-button{background:#1a73e8}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .close-button{background:#475060}:host ::ng-deep .content-wrapper{width:auto!important}\n"] }]
|
|
2898
|
-
}], ctorParameters: () => [{ type: IconCacheService }], propDecorators: { showClass: [{
|
|
2899
|
-
type: HostBinding,
|
|
2900
|
-
args: ['class.co-preset-dialog']
|
|
2901
|
-
}], type: [{
|
|
2902
|
-
type: Input
|
|
2903
|
-
}], presetId: [{
|
|
2904
|
-
type: Input
|
|
2905
|
-
}], cancelSavePreset: [{
|
|
2906
|
-
type: Output
|
|
2907
|
-
}], overwritePreset: [{
|
|
2908
|
-
type: Output
|
|
2909
|
-
}] } });
|
|
2910
|
-
|
|
2911
2704
|
class ProductPageComponent {
|
|
2912
2705
|
showClass() {
|
|
2913
2706
|
return true;
|
|
@@ -2963,14 +2756,16 @@ class ProductPageComponent {
|
|
|
2963
2756
|
get currentView() {
|
|
2964
2757
|
return this._currentView;
|
|
2965
2758
|
}
|
|
2966
|
-
constructor(iconCache, settingsService, appEventService, _changeDetector, _ione,
|
|
2759
|
+
constructor(iconCache, settingsService, appEventService, _changeDetector, _ione, _configuratorEventService, _configuratorConnectorService, _configuringService /*,
|
|
2760
|
+
private _configuratorSceneService: SceneService*/) {
|
|
2967
2761
|
this.iconCache = iconCache;
|
|
2968
2762
|
this.settingsService = settingsService;
|
|
2969
2763
|
this.appEventService = appEventService;
|
|
2970
2764
|
this._changeDetector = _changeDetector;
|
|
2971
2765
|
this._ione = _ione;
|
|
2766
|
+
this._configuratorEventService = _configuratorEventService;
|
|
2767
|
+
this._configuratorConnectorService = _configuratorConnectorService;
|
|
2972
2768
|
this._configuringService = _configuringService;
|
|
2973
|
-
this._configuratorSceneService = _configuratorSceneService;
|
|
2974
2769
|
this.icon = IconEnum;
|
|
2975
2770
|
this.createFrozenArticle = true;
|
|
2976
2771
|
this.isReturn = false;
|
|
@@ -2984,20 +2779,16 @@ class ProductPageComponent {
|
|
|
2984
2779
|
this.showAddToCart = false;
|
|
2985
2780
|
this.fullscreenAnimationEnd = false;
|
|
2986
2781
|
this.settingsLoaded = false;
|
|
2987
|
-
this.showPresetDialog = false;
|
|
2988
|
-
this.configPresetId = undefined;
|
|
2989
|
-
this.presetDialogType = PresetDialogType.info;
|
|
2990
2782
|
this._fullScreen = false;
|
|
2991
2783
|
this._subs = [];
|
|
2992
2784
|
this._subs.push(this.appEventService.onForceRenderImage.subscribe((x) => {
|
|
2993
2785
|
// TODO
|
|
2994
|
-
}), this.settingsService.settingsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),
|
|
2786
|
+
}), this.settingsService.settingsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)), combineLatest([
|
|
2995
2787
|
this._ione.controllerInitialized,
|
|
2996
2788
|
this._ione.articleLoaded
|
|
2997
2789
|
]).subscribe(([initialized, articleLoaded]) => {
|
|
2998
2790
|
if (initialized && articleLoaded) {
|
|
2999
2791
|
this.settingsLoaded = initialized;
|
|
3000
|
-
this._initConfigurator();
|
|
3001
2792
|
}
|
|
3002
2793
|
}), this.appEventService.onAnswersAvailable.subscribe((answers) => {
|
|
3003
2794
|
if (answers && this.configurable) {
|
|
@@ -3008,15 +2799,14 @@ class ProductPageComponent {
|
|
|
3008
2799
|
}
|
|
3009
2800
|
}), this.appEventService.onGetRenderForRenderCarousel.subscribe((renderParameters) => {
|
|
3010
2801
|
this._createRenderForCarousel(renderParameters);
|
|
3011
|
-
}), this.
|
|
3012
|
-
if (
|
|
3013
|
-
this.
|
|
3014
|
-
this._startConfigurator();
|
|
2802
|
+
}), this._configuratorEventService.addedToScene.subscribe((buildResult) => {
|
|
2803
|
+
if (buildResult) {
|
|
2804
|
+
this.handleObjectAddedToScene(buildResult);
|
|
3015
2805
|
}
|
|
3016
|
-
}), this.
|
|
2806
|
+
}), this._configuratorEventService.renderImageChanged.subscribe((image) => {
|
|
3017
2807
|
appEventService.onRenderImageReceived.next(image);
|
|
3018
|
-
}), this.
|
|
3019
|
-
appEventService.onAnswersAvailable.next(
|
|
2808
|
+
}), this._configuratorEventService.answerCountReceived.subscribe((count) => {
|
|
2809
|
+
appEventService.onAnswersAvailable.next(count > 0);
|
|
3020
2810
|
}));
|
|
3021
2811
|
}
|
|
3022
2812
|
ngOnInit() {
|
|
@@ -3035,9 +2825,7 @@ class ProductPageComponent {
|
|
|
3035
2825
|
if (this._initializedSub) {
|
|
3036
2826
|
this._initializedSub.unsubscribe();
|
|
3037
2827
|
}
|
|
3038
|
-
this._pageLoadedSubscription.unsubscribe();
|
|
3039
2828
|
this.fullscreenbutton = undefined;
|
|
3040
|
-
this._configuringService.isConfiguring = false;
|
|
3041
2829
|
}
|
|
3042
2830
|
setInstance(event) {
|
|
3043
2831
|
if (event.detail) {
|
|
@@ -3053,6 +2841,8 @@ class ProductPageComponent {
|
|
|
3053
2841
|
}
|
|
3054
2842
|
_handleSettingsLoaded(loaded) {
|
|
3055
2843
|
if (loaded) {
|
|
2844
|
+
// @ts-ignore
|
|
2845
|
+
this._configuratorConnectorService.init(this.settingsService.settings);
|
|
3056
2846
|
this._ione.initConnection();
|
|
3057
2847
|
}
|
|
3058
2848
|
}
|
|
@@ -3094,34 +2884,9 @@ class ProductPageComponent {
|
|
|
3094
2884
|
handlePopUpChange(event) {
|
|
3095
2885
|
this.showRelatedProductsPopup = event;
|
|
3096
2886
|
}
|
|
3097
|
-
|
|
3098
|
-
if (
|
|
3099
|
-
this.configPresetId = presetId;
|
|
3100
|
-
}
|
|
3101
|
-
}
|
|
3102
|
-
handleSavePreset() {
|
|
3103
|
-
if (this.configPresetId !== undefined) {
|
|
3104
|
-
// prompt warning
|
|
3105
|
-
this.presetDialogType = PresetDialogType.warning;
|
|
3106
|
-
this.showPresetDialog = true;
|
|
3107
|
-
}
|
|
3108
|
-
else {
|
|
3109
|
-
this._savePreset();
|
|
3110
|
-
}
|
|
3111
|
-
}
|
|
3112
|
-
handleCancelSavePreset(event) {
|
|
3113
|
-
this.presetDialogType = PresetDialogType.info;
|
|
3114
|
-
this.showPresetDialog = false;
|
|
3115
|
-
}
|
|
3116
|
-
handleOverwritePreset(event) {
|
|
3117
|
-
this.presetDialogType = PresetDialogType.info;
|
|
3118
|
-
this.showPresetDialog = false;
|
|
3119
|
-
this._savePreset();
|
|
3120
|
-
}
|
|
3121
|
-
handleBuildFinished(build) {
|
|
3122
|
-
if (this.threeD) {
|
|
2887
|
+
handleObjectAddedToScene(build) {
|
|
2888
|
+
if (this.threeD && this.enableRenderCarousel) {
|
|
3123
2889
|
this._buildResult = build;
|
|
3124
|
-
this._configuringService.addBuildToScene(build);
|
|
3125
2890
|
if (this.settingsService.settings && this.settingsService.settings.renderParameters) {
|
|
3126
2891
|
// Start a render
|
|
3127
2892
|
const options = {
|
|
@@ -3136,40 +2901,32 @@ class ProductPageComponent {
|
|
|
3136
2901
|
}
|
|
3137
2902
|
}
|
|
3138
2903
|
}
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
}
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
}
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
}
|
|
3162
|
-
}
|
|
3163
|
-
_startSceneInit() {
|
|
3164
|
-
if (this.settingsLoaded) {
|
|
3165
|
-
this._configuringService.handleLoadSceneContent();
|
|
3166
|
-
this._configuringService.scene = this._configuratorSceneService.scene;
|
|
3167
|
-
}
|
|
3168
|
-
}
|
|
2904
|
+
// private _initConfigurator(): void {
|
|
2905
|
+
// // this should be async
|
|
2906
|
+
// if (this.settingsLoaded) {
|
|
2907
|
+
// this._configuringService.init(this.settings).then(done => {
|
|
2908
|
+
// // this._configuringService.isConfiguring = true;
|
|
2909
|
+
// });
|
|
2910
|
+
// }
|
|
2911
|
+
// }
|
|
2912
|
+
// private _startConfigurator(): void {
|
|
2913
|
+
// if (this.settingsLoaded) {
|
|
2914
|
+
// const furnitureData: ConfigurationResultObject = new ConfigurationResultObject();
|
|
2915
|
+
// furnitureData.sku = this.sku;
|
|
2916
|
+
// this._configuringService.configure(furnitureData).then(loaded => {
|
|
2917
|
+
// });
|
|
2918
|
+
// }
|
|
2919
|
+
// }
|
|
2920
|
+
// private _startSceneInit(): void {
|
|
2921
|
+
// if (this.settingsLoaded) {
|
|
2922
|
+
// this._configuringService.handleLoadSceneContent();
|
|
2923
|
+
// this._configuringService.scene = this._configuratorSceneService.scene;
|
|
2924
|
+
// }
|
|
2925
|
+
// }
|
|
3169
2926
|
_createRenderForCarousel(renderOptions) {
|
|
3170
2927
|
this._configuringService.renderImage(this._buildResult, renderOptions, false);
|
|
3171
2928
|
}
|
|
3172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageComponent, deps: [{ token: IconCacheService }, { token: ProductSettingsService }, { token: ProductEventService }, { token: i0.ChangeDetectorRef }, { token: ProductConnectorService }, { token: i5.
|
|
2929
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageComponent, deps: [{ token: IconCacheService }, { token: ProductSettingsService }, { token: ProductEventService }, { token: i0.ChangeDetectorRef }, { token: ProductConnectorService }, { token: i5.ConfiguratorEventService }, { token: i5.ConfiguratorConnectorService }, { token: i5.ConfiguringService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3173
2930
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductPageComponent, isStandalone: false, selector: "app-product-page", inputs: { sku: "sku", settings: "settings", externalSource: "externalSource", createFrozenArticle: "createFrozenArticle", isReturn: "isReturn", showRelatedProductsPopup: "showRelatedProductsPopup", enableRenderCarousel: "enableRenderCarousel" }, outputs: { openStockEvent: "openStockEvent" }, host: { properties: { "class.co-product-page": "this.showClass" } }, viewQueries: [{ propertyName: "fullscreenbutton", first: true, predicate: ["fullscreenbutton"], descendants: true, read: ElementRef }], ngImport: i0, template: `
|
|
3174
2931
|
@if (settingsLoaded) {
|
|
3175
2932
|
<div class="page-wrapper">
|
|
@@ -3200,6 +2957,7 @@ class ProductPageComponent {
|
|
|
3200
2957
|
}
|
|
3201
2958
|
@if (settingsLoaded) {
|
|
3202
2959
|
<co-configurator-scene
|
|
2960
|
+
[@toggleVisibilityByState]="!show2D ? 'show' : 'hide'"
|
|
3203
2961
|
[class.show-full-screen]="fullScreen"
|
|
3204
2962
|
[class.hide-3d-scene]="!show3D"
|
|
3205
2963
|
[class.show-3d-scene]="show3D">
|
|
@@ -3227,45 +2985,33 @@ class ProductPageComponent {
|
|
|
3227
2985
|
<div class="product-page-scroll-container">
|
|
3228
2986
|
<div class="product-page-block-description">
|
|
3229
2987
|
<app-product-description
|
|
3230
|
-
|
|
3231
|
-
[
|
|
2988
|
+
[article]="article"
|
|
2989
|
+
[configuring]="configuring">
|
|
3232
2990
|
</app-product-description>
|
|
3233
2991
|
</div>
|
|
3234
2992
|
<div class="product-page-block-additional">
|
|
3235
2993
|
<div class="product-page-block-additional-description">
|
|
3236
2994
|
<app-product-additional-description
|
|
3237
|
-
|
|
3238
2995
|
[article]="article">
|
|
3239
2996
|
</app-product-additional-description>
|
|
3240
2997
|
</div>
|
|
3241
2998
|
<div class="product-page-block-price" [class.full]="configuring">
|
|
3242
|
-
@if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
|
|
3243
|
-
<div class="preset-container">
|
|
3244
|
-
<co-button
|
|
3245
|
-
class="save-preset-button"
|
|
3246
|
-
[iconData]="iconCache.getIcon(icon.SaveDisk)"
|
|
3247
|
-
[label]="'PRESET_SAVE_AS' | localize"
|
|
3248
|
-
(onClick)="handleSavePreset()">
|
|
3249
|
-
</co-button>
|
|
3250
|
-
</div>
|
|
3251
|
-
}
|
|
3252
2999
|
@if (!configuring) {
|
|
3253
3000
|
<app-product-price
|
|
3254
|
-
|
|
3255
3001
|
[pricing]="article?.pricing"
|
|
3256
3002
|
[configurable]="configurable">
|
|
3257
3003
|
</app-product-price>
|
|
3258
3004
|
}
|
|
3259
|
-
|
|
3260
3005
|
@if (settingsLoaded) {
|
|
3261
3006
|
<co-configurator
|
|
3262
3007
|
[class.hide-configurator]="!configuring"
|
|
3263
3008
|
[class.show-configurator]="configuring"
|
|
3009
|
+
[sku]="sku"
|
|
3010
|
+
[show]="configuring"
|
|
3264
3011
|
[showLoader]="true"
|
|
3265
3012
|
[animateSlideout]="false"
|
|
3266
3013
|
[showHeaderInformation]="false"
|
|
3267
|
-
[canCloseConfigurator]="false"
|
|
3268
|
-
(buildResult)="handleBuildFinished($event)">
|
|
3014
|
+
[canCloseConfigurator]="false">
|
|
3269
3015
|
</co-configurator>
|
|
3270
3016
|
}
|
|
3271
3017
|
</div>
|
|
@@ -3288,7 +3034,6 @@ class ProductPageComponent {
|
|
|
3288
3034
|
@if (configuring) {
|
|
3289
3035
|
<div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
|
|
3290
3036
|
<app-product-addtocart
|
|
3291
|
-
|
|
3292
3037
|
[configurable]="false"
|
|
3293
3038
|
[fullscreen]="fullScreen"
|
|
3294
3039
|
[showAddToCart]="showAddToCart"
|
|
@@ -3303,7 +3048,6 @@ class ProductPageComponent {
|
|
|
3303
3048
|
<div class="product-page-block-variants">
|
|
3304
3049
|
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3305
3050
|
<app-product-related
|
|
3306
|
-
|
|
3307
3051
|
[externalSource]="externalSource"
|
|
3308
3052
|
[articles]="article?.relatedArticles" [refType]="64"
|
|
3309
3053
|
[label]="'VARIANTS' | localize">
|
|
@@ -3312,7 +3056,6 @@ class ProductPageComponent {
|
|
|
3312
3056
|
</div>
|
|
3313
3057
|
<div class="product-page-block-stock">
|
|
3314
3058
|
<app-product-stock
|
|
3315
|
-
|
|
3316
3059
|
[goodId]="article?.goodId"
|
|
3317
3060
|
(openStockEvent)="openStock()">
|
|
3318
3061
|
</app-product-stock>
|
|
@@ -3325,7 +3068,6 @@ class ProductPageComponent {
|
|
|
3325
3068
|
@if (article) {
|
|
3326
3069
|
<div class="page-wrapper-left swimming-lane">
|
|
3327
3070
|
<app-product-info-tabs
|
|
3328
|
-
|
|
3329
3071
|
[article]="article">
|
|
3330
3072
|
</app-product-info-tabs>
|
|
3331
3073
|
</div>
|
|
@@ -3369,17 +3111,8 @@ class ProductPageComponent {
|
|
|
3369
3111
|
</div>
|
|
3370
3112
|
}
|
|
3371
3113
|
</div>
|
|
3372
|
-
|
|
3373
|
-
@if (presetDialogType) {
|
|
3374
|
-
<co-preset-dialog
|
|
3375
|
-
[type]="presetDialogType"
|
|
3376
|
-
[presetId]="configPresetId"
|
|
3377
|
-
(cancelSavePreset)="handleCancelSavePreset($event)"
|
|
3378
|
-
(overwritePreset)="handleOverwritePreset($event)">
|
|
3379
|
-
</co-preset-dialog>
|
|
3380
|
-
}
|
|
3381
3114
|
}
|
|
3382
|
-
`, isInline: true, styles: [".co-product-page .page-wrapper{font-family:Public Sans;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 10px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:0 0 10px;gap:10px}.co-product-page .page-wrapper-content:first-child{margin-top:10px}.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.co-product-page .swimming-lane{display:flex;flex-wrap:wrap;box-shadow:1px 1px 4px #0000001a;padding:30px;background:#fff}.co-product-page .page-wrapper-left{display:flex;width:65%;flex-direction:column}.co-product-page .page-wrapper-right{display:flex;width:35%;flex-direction:column}.co-product-page .page-wrapper-right .product-page-scroll-container{max-height:100vh;overflow-y:scroll}.co-product-page .page-wrapper-full{display:flex;width:100%;flex-direction:column}.co-product-page .page-wrapper-66{display:flex;width:60%;flex-direction:column}.co-product-page .page-wrapper-33{display:flex;width:40%;flex-direction:column}.co-product-page .product-action-buttons{position:relative}.co-product-page .product-action-buttons.full-screen{z-index:10}.co-product-page .product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.co-product-page .product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.co-product-page .product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.co-product-page .product-page-block-image .co-configurator-scene{width:100%;height:300px;display:block;position:relative}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container{position:relative;height:650px;width:100%}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer{min-height:0;min-width:0;width:auto;height:auto}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer canvas{width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.hide-3d-scene{visibility:hidden;overflow:hidden;height:0}.co-product-page .product-page-block-image .co-configurator-scene.show-3d-scene{min-height:650px;position:relative}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen{position:fixed;inset:0;width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen .configurator-bundle-container{height:100%}.co-product-page .product-page-block-image .co-configurator-scene canvas{height:100%}.co-product-page .product-page-block-image app-image-carousel.show-animated,.co-product-page .product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.co-product-page .product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.co-product-page .product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.co-product-page .product-page-block-description{grid-column:7/12;grid-row:1/1}.co-product-page .product-page-block-additional,.co-product-page .product-page-block-additional-description{width:100%}.co-product-page .product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.co-product-page .product-page-block-price.full{grid-column:1/5}.co-product-page .product-page-block-price .hide-configurator{display:none}.co-product-page .product-page-block-price .show-configurator{display:block}.co-product-page .product-page-block-price .show-configurator .co-threedselector{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-product-configurator .product-configurator-container{position:relative;width:auto;top:auto;right:auto;padding-left:0;padding-right:0;height:auto;max-height:100%}.co-product-page .preset-container{display:flex;justify-content:right}.co-product-page .preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.co-product-page .preset-container .save-preset-button:hover{background:#4e9b7e}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#4e9b7e}.co-product-page .addtocart-reserved{grid-column:1/3;grid-row:3/3}.co-product-page .product-page-block-stock{grid-column:1/3;grid-row:4/4}.co-product-page .product-page-block-delivery{grid-column:3/5;grid-row:4/4}.co-product-page ::ng-deep co-scroll-container{overflow:hidden;position:relative}.co-product-page ::ng-deep co-scroll-container .content-wrapper{padding:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer{left:0;top:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.co-product-page .product-page-block-variants{margin:20px 0 0}.co-product-page .product-page-block-variants app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.co-product-page .product-page-block-variants app-product-related>div app-header h3{font-size:14px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container{width:320px;max-width:100%;padding:0 16px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller{width:26px;height:26px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll{left:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll{right:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.co-product-page .product-page-block-variants co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.co-product-page .product-page-block-variants co-tile.small:hover{border-color:#22313c}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper{padding:0}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-top{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-bottom{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-extra-bottom{display:none}.co-product-page .product-page-block-alternatives .co-scroll-container,.co-product-page .product-page-block-alternatives .co-scroll-container .content-wrapper{width:auto}.co-product-page .product-page-block-alternatives .article-wrapper{margin:0 20px 0 0}.co-product-page .product-page-block-alternatives .article-wrapper:last-child{margin:0}.co-product-page .product-page-block-alternatives .co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.co-product-page .product-page-block-alternatives .co-tile:hover{box-shadow:none;border-color:#f6f5f4}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper .tile-bottom{margin:0}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;object-fit:contain;transition:all .2s ease}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:5px 0;background:transparent!important;min-height:60px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button{margin:0 0 5px!important;width:34px;height:34px;border:none;background:#1a73e8;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button .co-icon{width:28px;height:28px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main{padding:0 10px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#1a73e8}.co-product-page .product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.co-product-page .product-page-block-properties{grid-column:7/10;grid-row:3/3}.co-product-page .product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.co-product-page .product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.co-product-page .product-page-block-documents{grid-column:2/6;grid-row:5/5}.co-product-page .product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.co-product-page .default-padding{padding-top:20px;padding-bottom:20px}.co-product-page .m-padding{padding-top:15px;padding-bottom:15px}.co-product-page .s-padding{padding-top:5px;padding-bottom:5px}.co-product-page .page-wrapper{max-width:650px}.co-product-page .page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-left,.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.co-product-page .product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){.co-product-page [class*=-padding]{padding-left:0!important;padding-right:0!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"], dependencies: [{ kind: "component", type: ProductSelectorTypeComponent, selector: "app-product-selector-type", inputs: ["show2D", "show3D", "showRenderCarousel", "currentType"], outputs: ["onIconClick", "currentTypeChange"] }, { kind: "component", type: ImageCarouselComponent, selector: "app-image-carousel", inputs: ["showRefresh", "images"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ProductDescriptionComponent, selector: "app-product-description", inputs: ["article"] }, { kind: "component", type: ProductAdditionalDescriptionComponent, selector: "app-product-additional-description", inputs: ["article"] }, { kind: "component", type: ProductPriceComponent, selector: "app-product-price", inputs: ["pricing", "configurable"] }, { kind: "component", type: ProductAddtocartComponent, selector: "app-product-addtocart", inputs: ["article", "externalSource", "createFrozenArticle", "configurable", "configuring", "showAddToCart", "isReturn", "fullscreen", "quantity"], outputs: ["startConfiguration", "addToCartClick", "addToQuoteClick", "showRelatedPopup"] }, { kind: "component", type: ProductRelatedComponent, selector: "app-product-related", inputs: ["refType", "label", "externalSource", "isSmallModus", "createFrozenArticle", "articles"] }, { kind: "component", type: ProductStockComponent, selector: "app-product-stock", inputs: ["goodId"], outputs: ["openStockEvent"] }, { kind: "component", type: ProductInfoTabsComponent, selector: "app-product-info-tabs", inputs: ["article"] }, { kind: "component", type: ProductDialogComponent, selector: "co-product-dialog", inputs: ["refType", "mainArticle", "articles"], outputs: ["closeRelatedPopup"] }, { kind: "component", type: RenderCarouselComponent, selector: "app-render-carousel", inputs: ["showRefresh", "article"] }, { kind: "component", type: i6.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: PresetDialogComponent, selector: "co-preset-dialog", inputs: ["type", "presetId"], outputs: ["cancelSavePreset", "overwritePreset"] }, { kind: "component", type: i5.ConfiguratorComponent, selector: "co-configurator", inputs: ["showLoader", "showProgressBar", "showErrorMessages", "outputErrorMessages", "canCloseConfigurator", "animateSlideout", "showHeaderInformation"], outputs: ["buildResult", "isLoading", "updateProgressBar", "errorMessages", "showChange"] }, { kind: "component", type: i5.ConfiguratorSceneComponent, selector: "co-configurator-scene" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
3115
|
+
`, isInline: true, styles: [".co-product-page .page-wrapper{font-family:Public Sans;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 10px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:0 0 10px;gap:10px}.co-product-page .page-wrapper-content:first-child{margin-top:10px}.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.co-product-page .swimming-lane{display:flex;box-shadow:1px 1px 4px #0000001a;padding:30px;background:#fff}.co-product-page .page-wrapper-left{display:flex;width:65%;flex-direction:column}.co-product-page .page-wrapper-right{display:flex;width:35%;flex-direction:column}.co-product-page .page-wrapper-right .product-page-scroll-container{max-height:100vh;overflow-y:scroll}.co-product-page .page-wrapper-full{display:flex;width:100%;flex-direction:column}.co-product-page .page-wrapper-66{display:flex;width:60%;flex-direction:column}.co-product-page .page-wrapper-33{display:flex;width:40%;flex-direction:column}.co-product-page .product-action-buttons{position:relative}.co-product-page .product-action-buttons.full-screen{z-index:10}.co-product-page .product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.co-product-page .product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.co-product-page .product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.co-product-page .product-page-block-image .co-configurator-scene{width:100%;height:300px;display:block;position:relative}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container{position:relative;height:650px;width:100%}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer{min-height:0;min-width:0;width:auto;height:auto}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer canvas{width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.hide-3d-scene{visibility:hidden;overflow:hidden;height:0}.co-product-page .product-page-block-image .co-configurator-scene.show-3d-scene{min-height:650px;position:relative}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen{position:fixed;inset:0;width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen .configurator-bundle-container{height:100%}.co-product-page .product-page-block-image .co-configurator-scene canvas{height:100%}.co-product-page .product-page-block-image app-image-carousel.show-animated,.co-product-page .product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.co-product-page .product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.co-product-page .product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.co-product-page .product-page-block-description{grid-column:7/12;grid-row:1/1}.co-product-page .product-page-block-additional,.co-product-page .product-page-block-additional-description{width:100%}.co-product-page .product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.co-product-page .product-page-block-price.full{grid-column:1/5}.co-product-page .product-page-block-price .hide-configurator{display:none}.co-product-page .product-page-block-price .show-configurator{display:block}.co-product-page .product-page-block-price .show-configurator .co-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .co-product-configurator .product-configurator-container{position:relative;width:auto;top:auto;right:auto;padding-left:0;padding-right:0;height:auto;max-height:100%}.co-product-page .preset-container{display:flex;justify-content:right}.co-product-page .preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.co-product-page .preset-container .save-preset-button:hover{background:#4e9b7e}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#4e9b7e}.co-product-page .addtocart-reserved{grid-column:1/3;grid-row:3/3}.co-product-page .product-page-block-stock{grid-column:1/3;grid-row:4/4}.co-product-page .product-page-block-delivery{grid-column:3/5;grid-row:4/4}.co-product-page ::ng-deep co-scroll-container{overflow:hidden;position:relative}.co-product-page ::ng-deep co-scroll-container .content-wrapper{padding:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer{left:0;top:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.co-product-page .product-page-block-variants{margin:20px 0 0}.co-product-page .product-page-block-variants app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.co-product-page .product-page-block-variants app-product-related>div app-header h3{font-size:14px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container{width:320px;max-width:100%;padding:0 16px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller{width:26px;height:26px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll{left:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll{right:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.co-product-page .product-page-block-variants co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.co-product-page .product-page-block-variants co-tile.small:hover{border-color:#22313c}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper{padding:0}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-top{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-bottom{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-extra-bottom{display:none}.co-product-page .product-page-block-alternatives .co-scroll-container,.co-product-page .product-page-block-alternatives .co-scroll-container .content-wrapper{width:auto}.co-product-page .product-page-block-alternatives .article-wrapper{margin:0 20px 0 0}.co-product-page .product-page-block-alternatives .article-wrapper:last-child{margin:0}.co-product-page .product-page-block-alternatives .co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.co-product-page .product-page-block-alternatives .co-tile:hover{box-shadow:none;border-color:#f6f5f4}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper .tile-bottom{margin:0}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;object-fit:contain;transition:all .2s ease}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:5px 0;background:transparent!important;min-height:60px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button{margin:0 0 5px!important;width:34px;height:34px;border:none;background:#1a73e8;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button .co-icon{width:28px;height:28px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main{padding:0 10px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#1a73e8}.co-product-page .product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.co-product-page .product-page-block-properties{grid-column:7/10;grid-row:3/3}.co-product-page .product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.co-product-page .product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.co-product-page .product-page-block-documents{grid-column:2/6;grid-row:5/5}.co-product-page .product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.co-product-page .default-padding{padding-top:20px;padding-bottom:20px}.co-product-page .m-padding{padding-top:15px;padding-bottom:15px}.co-product-page .s-padding{padding-top:5px;padding-bottom:5px}.co-product-page .page-wrapper{max-width:650px}.co-product-page .page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-left,.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.co-product-page .product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){.co-product-page [class*=-padding]{padding-left:0!important;padding-right:0!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"], dependencies: [{ kind: "component", type: ProductSelectorTypeComponent, selector: "app-product-selector-type", inputs: ["show2D", "show3D", "showRenderCarousel", "currentType"], outputs: ["onIconClick", "currentTypeChange"] }, { kind: "component", type: ImageCarouselComponent, selector: "app-image-carousel", inputs: ["showRefresh", "images"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ProductDescriptionComponent, selector: "app-product-description", inputs: ["article", "configuring"] }, { kind: "component", type: ProductAdditionalDescriptionComponent, selector: "app-product-additional-description", inputs: ["article"] }, { kind: "component", type: ProductPriceComponent, selector: "app-product-price", inputs: ["pricing", "configurable"] }, { kind: "component", type: ProductAddtocartComponent, selector: "app-product-addtocart", inputs: ["article", "externalSource", "createFrozenArticle", "configurable", "configuring", "showAddToCart", "isReturn", "fullscreen", "quantity"], outputs: ["startConfiguration", "addToCartClick", "addToQuoteClick", "showRelatedPopup"] }, { kind: "component", type: ProductRelatedComponent, selector: "app-product-related", inputs: ["refType", "label", "externalSource", "isSmallModus", "createFrozenArticle", "articles"] }, { kind: "component", type: ProductStockComponent, selector: "app-product-stock", inputs: ["goodId"], outputs: ["openStockEvent"] }, { kind: "component", type: ProductInfoTabsComponent, selector: "app-product-info-tabs", inputs: ["article"] }, { kind: "component", type: ProductDialogComponent, selector: "co-product-dialog", inputs: ["refType", "mainArticle", "articles"], outputs: ["closeRelatedPopup"] }, { kind: "component", type: RenderCarouselComponent, selector: "app-render-carousel", inputs: ["showRefresh", "article"] }, { kind: "component", type: i5.ConfiguratorComponent, selector: "co-configurator", inputs: ["show", "sku", "instanceId", "settings", "scene", "showLoader", "showProgressBar", "showErrorMessages", "outputErrorMessages", "canCloseConfigurator", "animateSlideout", "showHeaderInformation"], outputs: ["isLoading", "updateProgressBar", "errorMessages", "showChange"] }, { kind: "component", type: i5.ConfiguratorSceneComponent, selector: "co-configurator-scene" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
3383
3116
|
trigger('toggleFullScreen', [
|
|
3384
3117
|
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
3385
3118
|
state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
|
|
@@ -3400,10 +3133,11 @@ class ProductPageComponent {
|
|
|
3400
3133
|
state('halfscreen', style({ 'position': '*', 'width': '*', 'top': '*', 'right': '*' })),
|
|
3401
3134
|
transition('halfscreen <=> fullscreen', animate('200ms ease-in-out'))
|
|
3402
3135
|
]),
|
|
3136
|
+
// TODO we should change this animation, we can't display none and block with nice transitions
|
|
3403
3137
|
trigger('toggleVisibilityByState', [
|
|
3404
3138
|
state('hide', style({ 'opacity': '0', 'display': 'none' })),
|
|
3405
3139
|
state('show', style({ 'display': 'block', 'opacity': '1' })),
|
|
3406
|
-
transition('hide <=> show', animate('
|
|
3140
|
+
transition('hide <=> show', animate('20ms 10ms ease-in-out'))
|
|
3407
3141
|
]),
|
|
3408
3142
|
trigger('toggleVisibility', [
|
|
3409
3143
|
state('void', style({ 'opacity': '0' })),
|
|
@@ -3444,6 +3178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3444
3178
|
}
|
|
3445
3179
|
@if (settingsLoaded) {
|
|
3446
3180
|
<co-configurator-scene
|
|
3181
|
+
[@toggleVisibilityByState]="!show2D ? 'show' : 'hide'"
|
|
3447
3182
|
[class.show-full-screen]="fullScreen"
|
|
3448
3183
|
[class.hide-3d-scene]="!show3D"
|
|
3449
3184
|
[class.show-3d-scene]="show3D">
|
|
@@ -3471,45 +3206,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3471
3206
|
<div class="product-page-scroll-container">
|
|
3472
3207
|
<div class="product-page-block-description">
|
|
3473
3208
|
<app-product-description
|
|
3474
|
-
|
|
3475
|
-
[
|
|
3209
|
+
[article]="article"
|
|
3210
|
+
[configuring]="configuring">
|
|
3476
3211
|
</app-product-description>
|
|
3477
3212
|
</div>
|
|
3478
3213
|
<div class="product-page-block-additional">
|
|
3479
3214
|
<div class="product-page-block-additional-description">
|
|
3480
3215
|
<app-product-additional-description
|
|
3481
|
-
|
|
3482
3216
|
[article]="article">
|
|
3483
3217
|
</app-product-additional-description>
|
|
3484
3218
|
</div>
|
|
3485
3219
|
<div class="product-page-block-price" [class.full]="configuring">
|
|
3486
|
-
@if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
|
|
3487
|
-
<div class="preset-container">
|
|
3488
|
-
<co-button
|
|
3489
|
-
class="save-preset-button"
|
|
3490
|
-
[iconData]="iconCache.getIcon(icon.SaveDisk)"
|
|
3491
|
-
[label]="'PRESET_SAVE_AS' | localize"
|
|
3492
|
-
(onClick)="handleSavePreset()">
|
|
3493
|
-
</co-button>
|
|
3494
|
-
</div>
|
|
3495
|
-
}
|
|
3496
3220
|
@if (!configuring) {
|
|
3497
3221
|
<app-product-price
|
|
3498
|
-
|
|
3499
3222
|
[pricing]="article?.pricing"
|
|
3500
3223
|
[configurable]="configurable">
|
|
3501
3224
|
</app-product-price>
|
|
3502
3225
|
}
|
|
3503
|
-
|
|
3504
3226
|
@if (settingsLoaded) {
|
|
3505
3227
|
<co-configurator
|
|
3506
3228
|
[class.hide-configurator]="!configuring"
|
|
3507
3229
|
[class.show-configurator]="configuring"
|
|
3230
|
+
[sku]="sku"
|
|
3231
|
+
[show]="configuring"
|
|
3508
3232
|
[showLoader]="true"
|
|
3509
3233
|
[animateSlideout]="false"
|
|
3510
3234
|
[showHeaderInformation]="false"
|
|
3511
|
-
[canCloseConfigurator]="false"
|
|
3512
|
-
(buildResult)="handleBuildFinished($event)">
|
|
3235
|
+
[canCloseConfigurator]="false">
|
|
3513
3236
|
</co-configurator>
|
|
3514
3237
|
}
|
|
3515
3238
|
</div>
|
|
@@ -3532,7 +3255,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3532
3255
|
@if (configuring) {
|
|
3533
3256
|
<div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
|
|
3534
3257
|
<app-product-addtocart
|
|
3535
|
-
|
|
3536
3258
|
[configurable]="false"
|
|
3537
3259
|
[fullscreen]="fullScreen"
|
|
3538
3260
|
[showAddToCart]="showAddToCart"
|
|
@@ -3547,7 +3269,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3547
3269
|
<div class="product-page-block-variants">
|
|
3548
3270
|
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3549
3271
|
<app-product-related
|
|
3550
|
-
|
|
3551
3272
|
[externalSource]="externalSource"
|
|
3552
3273
|
[articles]="article?.relatedArticles" [refType]="64"
|
|
3553
3274
|
[label]="'VARIANTS' | localize">
|
|
@@ -3556,7 +3277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3556
3277
|
</div>
|
|
3557
3278
|
<div class="product-page-block-stock">
|
|
3558
3279
|
<app-product-stock
|
|
3559
|
-
|
|
3560
3280
|
[goodId]="article?.goodId"
|
|
3561
3281
|
(openStockEvent)="openStock()">
|
|
3562
3282
|
</app-product-stock>
|
|
@@ -3569,7 +3289,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3569
3289
|
@if (article) {
|
|
3570
3290
|
<div class="page-wrapper-left swimming-lane">
|
|
3571
3291
|
<app-product-info-tabs
|
|
3572
|
-
|
|
3573
3292
|
[article]="article">
|
|
3574
3293
|
</app-product-info-tabs>
|
|
3575
3294
|
</div>
|
|
@@ -3613,15 +3332,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3613
3332
|
</div>
|
|
3614
3333
|
}
|
|
3615
3334
|
</div>
|
|
3616
|
-
|
|
3617
|
-
@if (presetDialogType) {
|
|
3618
|
-
<co-preset-dialog
|
|
3619
|
-
[type]="presetDialogType"
|
|
3620
|
-
[presetId]="configPresetId"
|
|
3621
|
-
(cancelSavePreset)="handleCancelSavePreset($event)"
|
|
3622
|
-
(overwritePreset)="handleOverwritePreset($event)">
|
|
3623
|
-
</co-preset-dialog>
|
|
3624
|
-
}
|
|
3625
3335
|
}
|
|
3626
3336
|
`, encapsulation: ViewEncapsulation.None, animations: [
|
|
3627
3337
|
trigger('toggleFullScreen', [
|
|
@@ -3644,18 +3354,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3644
3354
|
state('halfscreen', style({ 'position': '*', 'width': '*', 'top': '*', 'right': '*' })),
|
|
3645
3355
|
transition('halfscreen <=> fullscreen', animate('200ms ease-in-out'))
|
|
3646
3356
|
]),
|
|
3357
|
+
// TODO we should change this animation, we can't display none and block with nice transitions
|
|
3647
3358
|
trigger('toggleVisibilityByState', [
|
|
3648
3359
|
state('hide', style({ 'opacity': '0', 'display': 'none' })),
|
|
3649
3360
|
state('show', style({ 'display': 'block', 'opacity': '1' })),
|
|
3650
|
-
transition('hide <=> show', animate('
|
|
3361
|
+
transition('hide <=> show', animate('20ms 10ms ease-in-out'))
|
|
3651
3362
|
]),
|
|
3652
3363
|
trigger('toggleVisibility', [
|
|
3653
3364
|
state('void', style({ 'opacity': '0' })),
|
|
3654
3365
|
state('*', style({ 'opacity': '1' })),
|
|
3655
3366
|
transition('void => *', animate('200ms ease-in-out'))
|
|
3656
3367
|
])
|
|
3657
|
-
], standalone: false, styles: [".co-product-page .page-wrapper{font-family:Public Sans;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 10px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:0 0 10px;gap:10px}.co-product-page .page-wrapper-content:first-child{margin-top:10px}.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.co-product-page .swimming-lane{display:flex;flex-wrap:wrap;box-shadow:1px 1px 4px #0000001a;padding:30px;background:#fff}.co-product-page .page-wrapper-left{display:flex;width:65%;flex-direction:column}.co-product-page .page-wrapper-right{display:flex;width:35%;flex-direction:column}.co-product-page .page-wrapper-right .product-page-scroll-container{max-height:100vh;overflow-y:scroll}.co-product-page .page-wrapper-full{display:flex;width:100%;flex-direction:column}.co-product-page .page-wrapper-66{display:flex;width:60%;flex-direction:column}.co-product-page .page-wrapper-33{display:flex;width:40%;flex-direction:column}.co-product-page .product-action-buttons{position:relative}.co-product-page .product-action-buttons.full-screen{z-index:10}.co-product-page .product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.co-product-page .product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.co-product-page .product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.co-product-page .product-page-block-image .co-configurator-scene{width:100%;height:300px;display:block;position:relative}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container{position:relative;height:650px;width:100%}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer{min-height:0;min-width:0;width:auto;height:auto}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer canvas{width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.hide-3d-scene{visibility:hidden;overflow:hidden;height:0}.co-product-page .product-page-block-image .co-configurator-scene.show-3d-scene{min-height:650px;position:relative}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen{position:fixed;inset:0;width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen .configurator-bundle-container{height:100%}.co-product-page .product-page-block-image .co-configurator-scene canvas{height:100%}.co-product-page .product-page-block-image app-image-carousel.show-animated,.co-product-page .product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.co-product-page .product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.co-product-page .product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.co-product-page .product-page-block-description{grid-column:7/12;grid-row:1/1}.co-product-page .product-page-block-additional,.co-product-page .product-page-block-additional-description{width:100%}.co-product-page .product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.co-product-page .product-page-block-price.full{grid-column:1/5}.co-product-page .product-page-block-price .hide-configurator{display:none}.co-product-page .product-page-block-price .show-configurator{display:block}.co-product-page .product-page-block-price .show-configurator .co-threedselector{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-product-configurator .product-configurator-container{position:relative;width:auto;top:auto;right:auto;padding-left:0;padding-right:0;height:auto;max-height:100%}.co-product-page .preset-container{display:flex;justify-content:right}.co-product-page .preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.co-product-page .preset-container .save-preset-button:hover{background:#4e9b7e}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#4e9b7e}.co-product-page .addtocart-reserved{grid-column:1/3;grid-row:3/3}.co-product-page .product-page-block-stock{grid-column:1/3;grid-row:4/4}.co-product-page .product-page-block-delivery{grid-column:3/5;grid-row:4/4}.co-product-page ::ng-deep co-scroll-container{overflow:hidden;position:relative}.co-product-page ::ng-deep co-scroll-container .content-wrapper{padding:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer{left:0;top:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.co-product-page .product-page-block-variants{margin:20px 0 0}.co-product-page .product-page-block-variants app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.co-product-page .product-page-block-variants app-product-related>div app-header h3{font-size:14px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container{width:320px;max-width:100%;padding:0 16px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller{width:26px;height:26px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll{left:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll{right:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.co-product-page .product-page-block-variants co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.co-product-page .product-page-block-variants co-tile.small:hover{border-color:#22313c}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper{padding:0}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-top{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-bottom{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-extra-bottom{display:none}.co-product-page .product-page-block-alternatives .co-scroll-container,.co-product-page .product-page-block-alternatives .co-scroll-container .content-wrapper{width:auto}.co-product-page .product-page-block-alternatives .article-wrapper{margin:0 20px 0 0}.co-product-page .product-page-block-alternatives .article-wrapper:last-child{margin:0}.co-product-page .product-page-block-alternatives .co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.co-product-page .product-page-block-alternatives .co-tile:hover{box-shadow:none;border-color:#f6f5f4}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper .tile-bottom{margin:0}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;object-fit:contain;transition:all .2s ease}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:5px 0;background:transparent!important;min-height:60px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button{margin:0 0 5px!important;width:34px;height:34px;border:none;background:#1a73e8;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button .co-icon{width:28px;height:28px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main{padding:0 10px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#1a73e8}.co-product-page .product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.co-product-page .product-page-block-properties{grid-column:7/10;grid-row:3/3}.co-product-page .product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.co-product-page .product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.co-product-page .product-page-block-documents{grid-column:2/6;grid-row:5/5}.co-product-page .product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.co-product-page .default-padding{padding-top:20px;padding-bottom:20px}.co-product-page .m-padding{padding-top:15px;padding-bottom:15px}.co-product-page .s-padding{padding-top:5px;padding-bottom:5px}.co-product-page .page-wrapper{max-width:650px}.co-product-page .page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-left,.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.co-product-page .product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){.co-product-page [class*=-padding]{padding-left:0!important;padding-right:0!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"] }]
|
|
3658
|
-
}], ctorParameters: () => [{ type: IconCacheService }, { type: ProductSettingsService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }, { type: ProductConnectorService }, { type: i5.
|
|
3368
|
+
], standalone: false, styles: [".co-product-page .page-wrapper{font-family:Public Sans;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 10px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:0 0 10px;gap:10px}.co-product-page .page-wrapper-content:first-child{margin-top:10px}.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.co-product-page .swimming-lane{display:flex;box-shadow:1px 1px 4px #0000001a;padding:30px;background:#fff}.co-product-page .page-wrapper-left{display:flex;width:65%;flex-direction:column}.co-product-page .page-wrapper-right{display:flex;width:35%;flex-direction:column}.co-product-page .page-wrapper-right .product-page-scroll-container{max-height:100vh;overflow-y:scroll}.co-product-page .page-wrapper-full{display:flex;width:100%;flex-direction:column}.co-product-page .page-wrapper-66{display:flex;width:60%;flex-direction:column}.co-product-page .page-wrapper-33{display:flex;width:40%;flex-direction:column}.co-product-page .product-action-buttons{position:relative}.co-product-page .product-action-buttons.full-screen{z-index:10}.co-product-page .product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.co-product-page .product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.co-product-page .product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.co-product-page .product-page-block-image .co-configurator-scene{width:100%;height:300px;display:block;position:relative}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container{position:relative;height:650px;width:100%}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer{min-height:0;min-width:0;width:auto;height:auto}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer canvas{width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.hide-3d-scene{visibility:hidden;overflow:hidden;height:0}.co-product-page .product-page-block-image .co-configurator-scene.show-3d-scene{min-height:650px;position:relative}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen{position:fixed;inset:0;width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen .configurator-bundle-container{height:100%}.co-product-page .product-page-block-image .co-configurator-scene canvas{height:100%}.co-product-page .product-page-block-image app-image-carousel.show-animated,.co-product-page .product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.co-product-page .product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.co-product-page .product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.co-product-page .product-page-block-description{grid-column:7/12;grid-row:1/1}.co-product-page .product-page-block-additional,.co-product-page .product-page-block-additional-description{width:100%}.co-product-page .product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.co-product-page .product-page-block-price.full{grid-column:1/5}.co-product-page .product-page-block-price .hide-configurator{display:none}.co-product-page .product-page-block-price .show-configurator{display:block}.co-product-page .product-page-block-price .show-configurator .co-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .co-product-configurator .product-configurator-container{position:relative;width:auto;top:auto;right:auto;padding-left:0;padding-right:0;height:auto;max-height:100%}.co-product-page .preset-container{display:flex;justify-content:right}.co-product-page .preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.co-product-page .preset-container .save-preset-button:hover{background:#4e9b7e}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#4e9b7e}.co-product-page .addtocart-reserved{grid-column:1/3;grid-row:3/3}.co-product-page .product-page-block-stock{grid-column:1/3;grid-row:4/4}.co-product-page .product-page-block-delivery{grid-column:3/5;grid-row:4/4}.co-product-page ::ng-deep co-scroll-container{overflow:hidden;position:relative}.co-product-page ::ng-deep co-scroll-container .content-wrapper{padding:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer{left:0;top:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.co-product-page .product-page-block-variants{margin:20px 0 0}.co-product-page .product-page-block-variants app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.co-product-page .product-page-block-variants app-product-related>div app-header h3{font-size:14px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container{width:320px;max-width:100%;padding:0 16px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller{width:26px;height:26px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll{left:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll{right:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.co-product-page .product-page-block-variants co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.co-product-page .product-page-block-variants co-tile.small:hover{border-color:#22313c}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper{padding:0}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-top{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-bottom{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-extra-bottom{display:none}.co-product-page .product-page-block-alternatives .co-scroll-container,.co-product-page .product-page-block-alternatives .co-scroll-container .content-wrapper{width:auto}.co-product-page .product-page-block-alternatives .article-wrapper{margin:0 20px 0 0}.co-product-page .product-page-block-alternatives .article-wrapper:last-child{margin:0}.co-product-page .product-page-block-alternatives .co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.co-product-page .product-page-block-alternatives .co-tile:hover{box-shadow:none;border-color:#f6f5f4}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper .tile-bottom{margin:0}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;object-fit:contain;transition:all .2s ease}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:5px 0;background:transparent!important;min-height:60px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button{margin:0 0 5px!important;width:34px;height:34px;border:none;background:#1a73e8;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button .co-icon{width:28px;height:28px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main{padding:0 10px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#1a73e8}.co-product-page .product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.co-product-page .product-page-block-properties{grid-column:7/10;grid-row:3/3}.co-product-page .product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.co-product-page .product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.co-product-page .product-page-block-documents{grid-column:2/6;grid-row:5/5}.co-product-page .product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.co-product-page .default-padding{padding-top:20px;padding-bottom:20px}.co-product-page .m-padding{padding-top:15px;padding-bottom:15px}.co-product-page .s-padding{padding-top:5px;padding-bottom:5px}.co-product-page .page-wrapper{max-width:650px}.co-product-page .page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-left,.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.co-product-page .product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){.co-product-page [class*=-padding]{padding-left:0!important;padding-right:0!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"] }]
|
|
3369
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: ProductSettingsService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }, { type: ProductConnectorService }, { type: i5.ConfiguratorEventService }, { type: i5.ConfiguratorConnectorService }, { type: i5.ConfiguringService }], propDecorators: { showClass: [{
|
|
3659
3370
|
type: HostBinding,
|
|
3660
3371
|
args: ['class.co-product-page']
|
|
3661
3372
|
}], fullscreenbutton: [{
|
|
@@ -3726,7 +3437,7 @@ class IoneProductComponent {
|
|
|
3726
3437
|
// this.sku = '104';
|
|
3727
3438
|
// this.sku = "70000107";
|
|
3728
3439
|
// this.sku = "grover";
|
|
3729
|
-
this.sku = "
|
|
3440
|
+
this.sku = "1000610952"; // bank istanbul jillis
|
|
3730
3441
|
// this.sku = "4387";
|
|
3731
3442
|
// this.sku = "1000612725";
|
|
3732
3443
|
// this.sku = '22000';
|
|
@@ -3789,8 +3500,7 @@ class IoneProductComponent {
|
|
|
3789
3500
|
ProductSettingsService,
|
|
3790
3501
|
ProductConnectorService,
|
|
3791
3502
|
ProductEventService,
|
|
3792
|
-
ProductConnectorAdapterService
|
|
3793
|
-
GoogleTranslateService
|
|
3503
|
+
ProductConnectorAdapterService
|
|
3794
3504
|
], ngImport: i0, template: `
|
|
3795
3505
|
@if (settingsLoaded) {
|
|
3796
3506
|
<app-product-page
|
|
@@ -3821,8 +3531,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3821
3531
|
ProductSettingsService,
|
|
3822
3532
|
ProductConnectorService,
|
|
3823
3533
|
ProductEventService,
|
|
3824
|
-
ProductConnectorAdapterService
|
|
3825
|
-
GoogleTranslateService
|
|
3534
|
+
ProductConnectorAdapterService
|
|
3826
3535
|
], encapsulation: ViewEncapsulation.Emulated, standalone: false }]
|
|
3827
3536
|
}], ctorParameters: () => [{ type: ProductEventService }, { type: ProductSettingsService }, { type: ProductConnectorService }, { type: LocalStorageService }], propDecorators: { sku: [{
|
|
3828
3537
|
type: Input
|
|
@@ -3863,10 +3572,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3863
3572
|
class PipeModule {
|
|
3864
3573
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3865
3574
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: PipeModule, declarations: [LocalizePipe,
|
|
3866
|
-
PriceDisplayPipe,
|
|
3867
|
-
|
|
3868
|
-
PriceDisplayPipe,
|
|
3869
|
-
GoogleTranslatePipe] }); }
|
|
3575
|
+
PriceDisplayPipe], exports: [LocalizePipe,
|
|
3576
|
+
PriceDisplayPipe] }); }
|
|
3870
3577
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PipeModule, providers: [
|
|
3871
3578
|
LocalizePipe
|
|
3872
3579
|
] }); }
|
|
@@ -3876,16 +3583,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3876
3583
|
args: [{
|
|
3877
3584
|
declarations: [
|
|
3878
3585
|
LocalizePipe,
|
|
3879
|
-
PriceDisplayPipe
|
|
3880
|
-
GoogleTranslatePipe
|
|
3586
|
+
PriceDisplayPipe
|
|
3881
3587
|
],
|
|
3882
3588
|
providers: [
|
|
3883
3589
|
LocalizePipe
|
|
3884
3590
|
],
|
|
3885
3591
|
exports: [
|
|
3886
3592
|
LocalizePipe,
|
|
3887
|
-
PriceDisplayPipe
|
|
3888
|
-
GoogleTranslatePipe
|
|
3593
|
+
PriceDisplayPipe
|
|
3889
3594
|
]
|
|
3890
3595
|
}]
|
|
3891
3596
|
}] });
|
|
@@ -3952,16 +3657,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3952
3657
|
class ProductDescriptionModule {
|
|
3953
3658
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3954
3659
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, declarations: [ProductDescriptionComponent], imports: [CommonModule,
|
|
3955
|
-
PipeModule
|
|
3660
|
+
PipeModule,
|
|
3661
|
+
ConfigurationPresetModule], exports: [ProductDescriptionComponent] }); }
|
|
3956
3662
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, imports: [CommonModule,
|
|
3957
|
-
PipeModule
|
|
3663
|
+
PipeModule,
|
|
3664
|
+
ConfigurationPresetModule] }); }
|
|
3958
3665
|
}
|
|
3959
3666
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, decorators: [{
|
|
3960
3667
|
type: NgModule,
|
|
3961
3668
|
args: [{
|
|
3962
3669
|
imports: [
|
|
3963
3670
|
CommonModule,
|
|
3964
|
-
PipeModule
|
|
3671
|
+
PipeModule,
|
|
3672
|
+
ConfigurationPresetModule
|
|
3965
3673
|
],
|
|
3966
3674
|
declarations: [
|
|
3967
3675
|
ProductDescriptionComponent
|
|
@@ -4156,7 +3864,7 @@ class ProductDeliveryComponent {
|
|
|
4156
3864
|
<div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
|
|
4157
3865
|
</div>
|
|
4158
3866
|
</div>
|
|
4159
|
-
`, isInline: true, styles: [":host{display:block}.product-delivery-wrapper{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #f6f5f4;padding:20px 15px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:40px;height:37px}.product-delivery-wrapper .product-delivery-fields{display:flex;flex-direction:column}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:14px;margin:0}@media screen and (max-width: 400px){.product-delivery-wrapper{padding:15px 0 15px 10px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:32px;height:28px}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type:
|
|
3867
|
+
`, isInline: true, styles: [":host{display:block}.product-delivery-wrapper{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #f6f5f4;padding:20px 15px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:40px;height:37px}.product-delivery-wrapper .product-delivery-fields{display:flex;flex-direction:column}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:14px;margin:0}@media screen and (max-width: 400px){.product-delivery-wrapper{padding:15px 0 15px 10px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:32px;height:28px}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: i5$1.DatePipe, name: "date" }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
4160
3868
|
}
|
|
4161
3869
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, decorators: [{
|
|
4162
3870
|
type: Component,
|
|
@@ -4403,32 +4111,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4403
4111
|
}]
|
|
4404
4112
|
}] });
|
|
4405
4113
|
|
|
4406
|
-
class PresetDialogModule {
|
|
4407
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PresetDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4408
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: PresetDialogModule, declarations: [PresetDialogComponent], imports: [IconModule,
|
|
4409
|
-
PipeModule,
|
|
4410
|
-
ProductRelatedModule], exports: [PresetDialogComponent] }); }
|
|
4411
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PresetDialogModule, imports: [IconModule,
|
|
4412
|
-
PipeModule,
|
|
4413
|
-
ProductRelatedModule] }); }
|
|
4414
|
-
}
|
|
4415
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PresetDialogModule, decorators: [{
|
|
4416
|
-
type: NgModule,
|
|
4417
|
-
args: [{
|
|
4418
|
-
imports: [
|
|
4419
|
-
IconModule,
|
|
4420
|
-
PipeModule,
|
|
4421
|
-
ProductRelatedModule
|
|
4422
|
-
],
|
|
4423
|
-
declarations: [
|
|
4424
|
-
PresetDialogComponent
|
|
4425
|
-
],
|
|
4426
|
-
exports: [
|
|
4427
|
-
PresetDialogComponent
|
|
4428
|
-
]
|
|
4429
|
-
}]
|
|
4430
|
-
}] });
|
|
4431
|
-
|
|
4432
4114
|
class ProductPageModule {
|
|
4433
4115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4434
4116
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, declarations: [ProductPageComponent], imports: [CommonModule,
|
|
@@ -4448,7 +4130,6 @@ class ProductPageModule {
|
|
|
4448
4130
|
LoaderModule,
|
|
4449
4131
|
RenderCarouselModule,
|
|
4450
4132
|
ButtonModule,
|
|
4451
|
-
PresetDialogModule,
|
|
4452
4133
|
ConfiguratorModule,
|
|
4453
4134
|
ConfiguratorSceneModule], exports: [ProductPageComponent] }); }
|
|
4454
4135
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, imports: [CommonModule,
|
|
@@ -4468,7 +4149,6 @@ class ProductPageModule {
|
|
|
4468
4149
|
LoaderModule,
|
|
4469
4150
|
RenderCarouselModule,
|
|
4470
4151
|
ButtonModule,
|
|
4471
|
-
PresetDialogModule,
|
|
4472
4152
|
ConfiguratorModule,
|
|
4473
4153
|
ConfiguratorSceneModule] }); }
|
|
4474
4154
|
}
|
|
@@ -4493,7 +4173,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4493
4173
|
LoaderModule,
|
|
4494
4174
|
RenderCarouselModule,
|
|
4495
4175
|
ButtonModule,
|
|
4496
|
-
PresetDialogModule,
|
|
4497
4176
|
ConfiguratorModule,
|
|
4498
4177
|
ConfiguratorSceneModule
|
|
4499
4178
|
],
|
|
@@ -4821,6 +4500,16 @@ class ProductExternalSourceComponent {
|
|
|
4821
4500
|
if (this.options) {
|
|
4822
4501
|
this.externalSettings.options = this.options;
|
|
4823
4502
|
}
|
|
4503
|
+
// TODO this should be a temp solution, but we want to make sure that we got a decent scene for external sources
|
|
4504
|
+
if (this.ownSettings && this.ownSettings.lightPresetsIndex) {
|
|
4505
|
+
this.externalSettings.lightPresetsIndex = this.ownSettings.lightPresetsIndex;
|
|
4506
|
+
}
|
|
4507
|
+
if (this.ownSettings && this.ownSettings.assetIndex) {
|
|
4508
|
+
this.externalSettings.assetIndex = this.ownSettings.assetIndex;
|
|
4509
|
+
}
|
|
4510
|
+
if (this.ownSettings && this.ownSettings.options && this.ownSettings.options.useStandaloneFloors) {
|
|
4511
|
+
this.externalSettings.options.useStandaloneFloors = this.ownSettings.options.useStandaloneFloors;
|
|
4512
|
+
}
|
|
4824
4513
|
// this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
|
|
4825
4514
|
// this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
|
|
4826
4515
|
if (this.externalSource.username && this.externalSource.password) {
|
|
@@ -4864,12 +4553,11 @@ class ProductExternalSourceComponent {
|
|
|
4864
4553
|
this.showSource = true;
|
|
4865
4554
|
}
|
|
4866
4555
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductExternalSourceComponent, deps: [{ token: i1.DomSanitizer }, { token: ProductConnectorService }, { token: ProductEventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4867
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductExternalSourceComponent, isStandalone: false, selector: "co-product-external-source", inputs: { sku: "sku", catalogDefinition: "catalogDefinition", externalSource: "externalSource", externalCatalogStartupInfo: "externalCatalogStartupInfo", options: "options" }, outputs: { addToCart: "addToCart", addToQuote: "addToQuote", alternativeClick: "alternativeClick", configuratorFinished: "configuratorFinished" }, host: { properties: { "class.co-product-external-source": "this.showClass" } }, providers: [
|
|
4556
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductExternalSourceComponent, isStandalone: false, selector: "co-product-external-source", inputs: { sku: "sku", catalogDefinition: "catalogDefinition", ownSettings: "ownSettings", externalSource: "externalSource", externalCatalogStartupInfo: "externalCatalogStartupInfo", options: "options" }, outputs: { addToCart: "addToCart", addToQuote: "addToQuote", alternativeClick: "alternativeClick", configuratorFinished: "configuratorFinished" }, host: { properties: { "class.co-product-external-source": "this.showClass" } }, providers: [
|
|
4868
4557
|
ProductSettingsService,
|
|
4869
4558
|
ProductConnectorService,
|
|
4870
4559
|
ProductEventService,
|
|
4871
|
-
ProductConnectorAdapterService
|
|
4872
|
-
GoogleTranslateService
|
|
4560
|
+
ProductConnectorAdapterService
|
|
4873
4561
|
], ngImport: i0, template: `
|
|
4874
4562
|
@if (loaded) {
|
|
4875
4563
|
@if (showProduct) {
|
|
@@ -4923,8 +4611,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4923
4611
|
ProductSettingsService,
|
|
4924
4612
|
ProductConnectorService,
|
|
4925
4613
|
ProductEventService,
|
|
4926
|
-
ProductConnectorAdapterService
|
|
4927
|
-
GoogleTranslateService
|
|
4614
|
+
ProductConnectorAdapterService
|
|
4928
4615
|
],
|
|
4929
4616
|
encapsulation: ViewEncapsulation.None,
|
|
4930
4617
|
standalone: false
|
|
@@ -4933,6 +4620,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4933
4620
|
type: Input
|
|
4934
4621
|
}], catalogDefinition: [{
|
|
4935
4622
|
type: Input
|
|
4623
|
+
}], ownSettings: [{
|
|
4624
|
+
type: Input
|
|
4936
4625
|
}], externalSource: [{
|
|
4937
4626
|
type: Input
|
|
4938
4627
|
}], externalCatalogStartupInfo: [{
|