@colijnit/product 262.1.2 → 262.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/colijnit-product-262.1.4.tgz +0 -0
- package/fesm2022/colijnit-product.mjs +122 -447
- package/fesm2022/colijnit-product.mjs.map +1 -1
- package/index.d.ts +12 -79
- package/package.json +3 -3
- package/colijnit-product-262.1.1.tgz +0 -0
|
@@ -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.5";
|
|
38
|
+
this.publishDate = "26-5-2026, 13:21:58";
|
|
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">
|
|
@@ -3227,45 +2984,32 @@ class ProductPageComponent {
|
|
|
3227
2984
|
<div class="product-page-scroll-container">
|
|
3228
2985
|
<div class="product-page-block-description">
|
|
3229
2986
|
<app-product-description
|
|
3230
|
-
|
|
3231
|
-
[
|
|
2987
|
+
[article]="article"
|
|
2988
|
+
[configuring]="configuring">
|
|
3232
2989
|
</app-product-description>
|
|
3233
2990
|
</div>
|
|
3234
2991
|
<div class="product-page-block-additional">
|
|
3235
2992
|
<div class="product-page-block-additional-description">
|
|
3236
2993
|
<app-product-additional-description
|
|
3237
|
-
|
|
3238
2994
|
[article]="article">
|
|
3239
2995
|
</app-product-additional-description>
|
|
3240
2996
|
</div>
|
|
3241
2997
|
<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
2998
|
@if (!configuring) {
|
|
3253
2999
|
<app-product-price
|
|
3254
|
-
|
|
3255
3000
|
[pricing]="article?.pricing"
|
|
3256
3001
|
[configurable]="configurable">
|
|
3257
3002
|
</app-product-price>
|
|
3258
3003
|
}
|
|
3259
|
-
|
|
3260
|
-
@if (settingsLoaded) {
|
|
3004
|
+
@if (settingsLoaded && configuring) {
|
|
3261
3005
|
<co-configurator
|
|
3262
3006
|
[class.hide-configurator]="!configuring"
|
|
3263
3007
|
[class.show-configurator]="configuring"
|
|
3008
|
+
[sku]="sku"
|
|
3264
3009
|
[showLoader]="true"
|
|
3265
3010
|
[animateSlideout]="false"
|
|
3266
3011
|
[showHeaderInformation]="false"
|
|
3267
|
-
[canCloseConfigurator]="false"
|
|
3268
|
-
(buildResult)="handleBuildFinished($event)">
|
|
3012
|
+
[canCloseConfigurator]="false">
|
|
3269
3013
|
</co-configurator>
|
|
3270
3014
|
}
|
|
3271
3015
|
</div>
|
|
@@ -3288,7 +3032,6 @@ class ProductPageComponent {
|
|
|
3288
3032
|
@if (configuring) {
|
|
3289
3033
|
<div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
|
|
3290
3034
|
<app-product-addtocart
|
|
3291
|
-
|
|
3292
3035
|
[configurable]="false"
|
|
3293
3036
|
[fullscreen]="fullScreen"
|
|
3294
3037
|
[showAddToCart]="showAddToCart"
|
|
@@ -3303,7 +3046,6 @@ class ProductPageComponent {
|
|
|
3303
3046
|
<div class="product-page-block-variants">
|
|
3304
3047
|
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3305
3048
|
<app-product-related
|
|
3306
|
-
|
|
3307
3049
|
[externalSource]="externalSource"
|
|
3308
3050
|
[articles]="article?.relatedArticles" [refType]="64"
|
|
3309
3051
|
[label]="'VARIANTS' | localize">
|
|
@@ -3312,7 +3054,6 @@ class ProductPageComponent {
|
|
|
3312
3054
|
</div>
|
|
3313
3055
|
<div class="product-page-block-stock">
|
|
3314
3056
|
<app-product-stock
|
|
3315
|
-
|
|
3316
3057
|
[goodId]="article?.goodId"
|
|
3317
3058
|
(openStockEvent)="openStock()">
|
|
3318
3059
|
</app-product-stock>
|
|
@@ -3325,7 +3066,6 @@ class ProductPageComponent {
|
|
|
3325
3066
|
@if (article) {
|
|
3326
3067
|
<div class="page-wrapper-left swimming-lane">
|
|
3327
3068
|
<app-product-info-tabs
|
|
3328
|
-
|
|
3329
3069
|
[article]="article">
|
|
3330
3070
|
</app-product-info-tabs>
|
|
3331
3071
|
</div>
|
|
@@ -3369,17 +3109,8 @@ class ProductPageComponent {
|
|
|
3369
3109
|
</div>
|
|
3370
3110
|
}
|
|
3371
3111
|
</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
3112
|
}
|
|
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: [
|
|
3113
|
+
`, 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-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: ["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", inputs: ["showSceneBuildLoader"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
3383
3114
|
trigger('toggleFullScreen', [
|
|
3384
3115
|
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
3385
3116
|
state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
|
|
@@ -3471,45 +3202,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3471
3202
|
<div class="product-page-scroll-container">
|
|
3472
3203
|
<div class="product-page-block-description">
|
|
3473
3204
|
<app-product-description
|
|
3474
|
-
|
|
3475
|
-
[
|
|
3205
|
+
[article]="article"
|
|
3206
|
+
[configuring]="configuring">
|
|
3476
3207
|
</app-product-description>
|
|
3477
3208
|
</div>
|
|
3478
3209
|
<div class="product-page-block-additional">
|
|
3479
3210
|
<div class="product-page-block-additional-description">
|
|
3480
3211
|
<app-product-additional-description
|
|
3481
|
-
|
|
3482
3212
|
[article]="article">
|
|
3483
3213
|
</app-product-additional-description>
|
|
3484
3214
|
</div>
|
|
3485
3215
|
<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
3216
|
@if (!configuring) {
|
|
3497
3217
|
<app-product-price
|
|
3498
|
-
|
|
3499
3218
|
[pricing]="article?.pricing"
|
|
3500
3219
|
[configurable]="configurable">
|
|
3501
3220
|
</app-product-price>
|
|
3502
3221
|
}
|
|
3503
|
-
|
|
3504
|
-
@if (settingsLoaded) {
|
|
3222
|
+
@if (settingsLoaded && configuring) {
|
|
3505
3223
|
<co-configurator
|
|
3506
3224
|
[class.hide-configurator]="!configuring"
|
|
3507
3225
|
[class.show-configurator]="configuring"
|
|
3226
|
+
[sku]="sku"
|
|
3508
3227
|
[showLoader]="true"
|
|
3509
3228
|
[animateSlideout]="false"
|
|
3510
3229
|
[showHeaderInformation]="false"
|
|
3511
|
-
[canCloseConfigurator]="false"
|
|
3512
|
-
(buildResult)="handleBuildFinished($event)">
|
|
3230
|
+
[canCloseConfigurator]="false">
|
|
3513
3231
|
</co-configurator>
|
|
3514
3232
|
}
|
|
3515
3233
|
</div>
|
|
@@ -3532,7 +3250,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3532
3250
|
@if (configuring) {
|
|
3533
3251
|
<div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
|
|
3534
3252
|
<app-product-addtocart
|
|
3535
|
-
|
|
3536
3253
|
[configurable]="false"
|
|
3537
3254
|
[fullscreen]="fullScreen"
|
|
3538
3255
|
[showAddToCart]="showAddToCart"
|
|
@@ -3547,7 +3264,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3547
3264
|
<div class="product-page-block-variants">
|
|
3548
3265
|
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3549
3266
|
<app-product-related
|
|
3550
|
-
|
|
3551
3267
|
[externalSource]="externalSource"
|
|
3552
3268
|
[articles]="article?.relatedArticles" [refType]="64"
|
|
3553
3269
|
[label]="'VARIANTS' | localize">
|
|
@@ -3556,7 +3272,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3556
3272
|
</div>
|
|
3557
3273
|
<div class="product-page-block-stock">
|
|
3558
3274
|
<app-product-stock
|
|
3559
|
-
|
|
3560
3275
|
[goodId]="article?.goodId"
|
|
3561
3276
|
(openStockEvent)="openStock()">
|
|
3562
3277
|
</app-product-stock>
|
|
@@ -3569,7 +3284,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3569
3284
|
@if (article) {
|
|
3570
3285
|
<div class="page-wrapper-left swimming-lane">
|
|
3571
3286
|
<app-product-info-tabs
|
|
3572
|
-
|
|
3573
3287
|
[article]="article">
|
|
3574
3288
|
</app-product-info-tabs>
|
|
3575
3289
|
</div>
|
|
@@ -3613,15 +3327,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3613
3327
|
</div>
|
|
3614
3328
|
}
|
|
3615
3329
|
</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
3330
|
}
|
|
3626
3331
|
`, encapsulation: ViewEncapsulation.None, animations: [
|
|
3627
3332
|
trigger('toggleFullScreen', [
|
|
@@ -3654,8 +3359,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3654
3359
|
state('*', style({ 'opacity': '1' })),
|
|
3655
3360
|
transition('void => *', animate('200ms ease-in-out'))
|
|
3656
3361
|
])
|
|
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.
|
|
3362
|
+
], 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-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"] }]
|
|
3363
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: ProductSettingsService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }, { type: ProductConnectorService }, { type: i5.ConfiguratorEventService }, { type: i5.ConfiguratorConnectorService }, { type: i5.ConfiguringService }], propDecorators: { showClass: [{
|
|
3659
3364
|
type: HostBinding,
|
|
3660
3365
|
args: ['class.co-product-page']
|
|
3661
3366
|
}], fullscreenbutton: [{
|
|
@@ -3726,7 +3431,7 @@ class IoneProductComponent {
|
|
|
3726
3431
|
// this.sku = '104';
|
|
3727
3432
|
// this.sku = "70000107";
|
|
3728
3433
|
// this.sku = "grover";
|
|
3729
|
-
this.sku = "
|
|
3434
|
+
this.sku = "1000610952"; // bank istanbul jillis
|
|
3730
3435
|
// this.sku = "4387";
|
|
3731
3436
|
// this.sku = "1000612725";
|
|
3732
3437
|
// this.sku = '22000';
|
|
@@ -3789,8 +3494,7 @@ class IoneProductComponent {
|
|
|
3789
3494
|
ProductSettingsService,
|
|
3790
3495
|
ProductConnectorService,
|
|
3791
3496
|
ProductEventService,
|
|
3792
|
-
ProductConnectorAdapterService
|
|
3793
|
-
GoogleTranslateService
|
|
3497
|
+
ProductConnectorAdapterService
|
|
3794
3498
|
], ngImport: i0, template: `
|
|
3795
3499
|
@if (settingsLoaded) {
|
|
3796
3500
|
<app-product-page
|
|
@@ -3821,8 +3525,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3821
3525
|
ProductSettingsService,
|
|
3822
3526
|
ProductConnectorService,
|
|
3823
3527
|
ProductEventService,
|
|
3824
|
-
ProductConnectorAdapterService
|
|
3825
|
-
GoogleTranslateService
|
|
3528
|
+
ProductConnectorAdapterService
|
|
3826
3529
|
], encapsulation: ViewEncapsulation.Emulated, standalone: false }]
|
|
3827
3530
|
}], ctorParameters: () => [{ type: ProductEventService }, { type: ProductSettingsService }, { type: ProductConnectorService }, { type: LocalStorageService }], propDecorators: { sku: [{
|
|
3828
3531
|
type: Input
|
|
@@ -3863,10 +3566,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3863
3566
|
class PipeModule {
|
|
3864
3567
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3865
3568
|
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] }); }
|
|
3569
|
+
PriceDisplayPipe], exports: [LocalizePipe,
|
|
3570
|
+
PriceDisplayPipe] }); }
|
|
3870
3571
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PipeModule, providers: [
|
|
3871
3572
|
LocalizePipe
|
|
3872
3573
|
] }); }
|
|
@@ -3876,16 +3577,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3876
3577
|
args: [{
|
|
3877
3578
|
declarations: [
|
|
3878
3579
|
LocalizePipe,
|
|
3879
|
-
PriceDisplayPipe
|
|
3880
|
-
GoogleTranslatePipe
|
|
3580
|
+
PriceDisplayPipe
|
|
3881
3581
|
],
|
|
3882
3582
|
providers: [
|
|
3883
3583
|
LocalizePipe
|
|
3884
3584
|
],
|
|
3885
3585
|
exports: [
|
|
3886
3586
|
LocalizePipe,
|
|
3887
|
-
PriceDisplayPipe
|
|
3888
|
-
GoogleTranslatePipe
|
|
3587
|
+
PriceDisplayPipe
|
|
3889
3588
|
]
|
|
3890
3589
|
}]
|
|
3891
3590
|
}] });
|
|
@@ -3952,16 +3651,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3952
3651
|
class ProductDescriptionModule {
|
|
3953
3652
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3954
3653
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, declarations: [ProductDescriptionComponent], imports: [CommonModule,
|
|
3955
|
-
PipeModule
|
|
3654
|
+
PipeModule,
|
|
3655
|
+
ConfigurationPresetModule], exports: [ProductDescriptionComponent] }); }
|
|
3956
3656
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, imports: [CommonModule,
|
|
3957
|
-
PipeModule
|
|
3657
|
+
PipeModule,
|
|
3658
|
+
ConfigurationPresetModule] }); }
|
|
3958
3659
|
}
|
|
3959
3660
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionModule, decorators: [{
|
|
3960
3661
|
type: NgModule,
|
|
3961
3662
|
args: [{
|
|
3962
3663
|
imports: [
|
|
3963
3664
|
CommonModule,
|
|
3964
|
-
PipeModule
|
|
3665
|
+
PipeModule,
|
|
3666
|
+
ConfigurationPresetModule
|
|
3965
3667
|
],
|
|
3966
3668
|
declarations: [
|
|
3967
3669
|
ProductDescriptionComponent
|
|
@@ -4156,7 +3858,7 @@ class ProductDeliveryComponent {
|
|
|
4156
3858
|
<div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
|
|
4157
3859
|
</div>
|
|
4158
3860
|
</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:
|
|
3861
|
+
`, 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
3862
|
}
|
|
4161
3863
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, decorators: [{
|
|
4162
3864
|
type: Component,
|
|
@@ -4403,32 +4105,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4403
4105
|
}]
|
|
4404
4106
|
}] });
|
|
4405
4107
|
|
|
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
4108
|
class ProductPageModule {
|
|
4433
4109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4434
4110
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, declarations: [ProductPageComponent], imports: [CommonModule,
|
|
@@ -4448,7 +4124,6 @@ class ProductPageModule {
|
|
|
4448
4124
|
LoaderModule,
|
|
4449
4125
|
RenderCarouselModule,
|
|
4450
4126
|
ButtonModule,
|
|
4451
|
-
PresetDialogModule,
|
|
4452
4127
|
ConfiguratorModule,
|
|
4453
4128
|
ConfiguratorSceneModule], exports: [ProductPageComponent] }); }
|
|
4454
4129
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, imports: [CommonModule,
|
|
@@ -4468,7 +4143,6 @@ class ProductPageModule {
|
|
|
4468
4143
|
LoaderModule,
|
|
4469
4144
|
RenderCarouselModule,
|
|
4470
4145
|
ButtonModule,
|
|
4471
|
-
PresetDialogModule,
|
|
4472
4146
|
ConfiguratorModule,
|
|
4473
4147
|
ConfiguratorSceneModule] }); }
|
|
4474
4148
|
}
|
|
@@ -4493,7 +4167,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4493
4167
|
LoaderModule,
|
|
4494
4168
|
RenderCarouselModule,
|
|
4495
4169
|
ButtonModule,
|
|
4496
|
-
PresetDialogModule,
|
|
4497
4170
|
ConfiguratorModule,
|
|
4498
4171
|
ConfiguratorSceneModule
|
|
4499
4172
|
],
|
|
@@ -4866,8 +4539,9 @@ class ProductExternalSourceComponent {
|
|
|
4866
4539
|
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
4540
|
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: [
|
|
4868
4541
|
ProductSettingsService,
|
|
4869
|
-
|
|
4870
|
-
|
|
4542
|
+
ProductConnectorService,
|
|
4543
|
+
ProductEventService,
|
|
4544
|
+
ProductConnectorAdapterService
|
|
4871
4545
|
], ngImport: i0, template: `
|
|
4872
4546
|
@if (loaded) {
|
|
4873
4547
|
@if (showProduct) {
|
|
@@ -4919,8 +4593,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4919
4593
|
`,
|
|
4920
4594
|
providers: [
|
|
4921
4595
|
ProductSettingsService,
|
|
4922
|
-
|
|
4923
|
-
|
|
4596
|
+
ProductConnectorService,
|
|
4597
|
+
ProductEventService,
|
|
4598
|
+
ProductConnectorAdapterService
|
|
4924
4599
|
],
|
|
4925
4600
|
encapsulation: ViewEncapsulation.None,
|
|
4926
4601
|
standalone: false
|