@colijnit/product 261.20.2 → 261.20.3
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/fesm2022/colijnit-product.mjs +429 -327
- package/fesm2022/colijnit-product.mjs.map +1 -1
- package/index.d.ts +15 -5
- package/package.json +2 -1
|
@@ -14,10 +14,10 @@ import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/tr
|
|
|
14
14
|
import { ArticleListObjectExtended } from '@colijnit/articleapi/build/model/article-list-object-extended.bo';
|
|
15
15
|
import { ImageContent } from '@colijnit/mainapi/build/model/image-content.bo';
|
|
16
16
|
import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
|
|
17
|
-
import { trigger, state,
|
|
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';
|
|
18
20
|
import * as i1 from '@angular/platform-browser';
|
|
19
|
-
import * as i5 from '@angular/common';
|
|
20
|
-
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
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';
|
|
@@ -26,14 +26,16 @@ import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
|
26
26
|
import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
|
|
27
27
|
import * as i3 from '@colijnit/sharedcomponents';
|
|
28
28
|
import { FilesUploadModule } from '@colijnit/sharedcomponents';
|
|
29
|
+
import * as i5$1 from '@angular/common';
|
|
30
|
+
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
29
31
|
|
|
30
32
|
// this file is dynamically created, do not change this
|
|
31
33
|
class Version {
|
|
32
34
|
constructor() {
|
|
33
35
|
this.name = "@colijnit/product";
|
|
34
36
|
this.description = "Product detail page project for iOne";
|
|
35
|
-
this.symVer = "261.20.
|
|
36
|
-
this.publishDate = "
|
|
37
|
+
this.symVer = "261.20.3";
|
|
38
|
+
this.publishDate = "2-4-2026, 17:07:12";
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
|
|
@@ -1879,7 +1881,7 @@ class ProductRelatedComponent {
|
|
|
1879
1881
|
</co-scroll-container>
|
|
1880
1882
|
</div>
|
|
1881
1883
|
}
|
|
1882
|
-
`, isInline: true, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;
|
|
1884
|
+
`, 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-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:42px;height:42px;text-align:center;margin:0;border-radius:100%;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:30px;height:30px}.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:#74b77f;margin:5px 0 0;font-weight:400;font-size:12px}\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"] }] }); }
|
|
1883
1885
|
}
|
|
1884
1886
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductRelatedComponent, decorators: [{
|
|
1885
1887
|
type: Component,
|
|
@@ -1910,7 +1912,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1910
1912
|
</co-scroll-container>
|
|
1911
1913
|
</div>
|
|
1912
1914
|
}
|
|
1913
|
-
`, standalone: false, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;
|
|
1915
|
+
`, standalone: false, 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-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:42px;height:42px;text-align:center;margin:0;border-radius:100%;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:30px;height:30px}.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:#74b77f;margin:5px 0 0;font-weight:400;font-size:12px}\n"] }]
|
|
1914
1916
|
}], ctorParameters: () => [{ type: ProductConnectorService }, { type: ProductEventService }, { type: ProductConnectorAdapterService }, { type: ProductSettingsService }], propDecorators: { refType: [{
|
|
1915
1917
|
type: Input
|
|
1916
1918
|
}], label: [{
|
|
@@ -1974,7 +1976,7 @@ class ProductStockComponent {
|
|
|
1974
1976
|
<div class="pp-default-label" [class.in-stock]="inStock" [textContent]="stockLabel | localize"></div>
|
|
1975
1977
|
</div>
|
|
1976
1978
|
</div>
|
|
1977
|
-
`, isInline: true, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;
|
|
1979
|
+
`, isInline: true, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#f15152;display:inline-block;margin:0 0 0 15px}.product-stock-wrapper .product-stock-fields .pp-default-label.in-stock:after{background:#74b77f}@media screen and (max-width: 400px){.product-stock-wrapper{padding:15px 0 15px 10px}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:32px;height:28px}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
1978
1980
|
}
|
|
1979
1981
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductStockComponent, decorators: [{
|
|
1980
1982
|
type: Component,
|
|
@@ -1987,59 +1989,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1987
1989
|
<div class="pp-default-label" [class.in-stock]="inStock" [textContent]="stockLabel | localize"></div>
|
|
1988
1990
|
</div>
|
|
1989
1991
|
</div>
|
|
1990
|
-
`, standalone: false, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;
|
|
1992
|
+
`, standalone: false, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#f15152;display:inline-block;margin:0 0 0 15px}.product-stock-wrapper .product-stock-fields .pp-default-label.in-stock:after{background:#74b77f}@media screen and (max-width: 400px){.product-stock-wrapper{padding:15px 0 15px 10px}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:32px;height:28px}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:13px}}\n"] }]
|
|
1991
1993
|
}], ctorParameters: () => [{ type: ProductConnectorService }, { type: IconCacheService }], propDecorators: { goodId: [{
|
|
1992
1994
|
type: Input
|
|
1993
1995
|
}], openStockEvent: [{
|
|
1994
1996
|
type: Output
|
|
1995
1997
|
}] } });
|
|
1996
1998
|
|
|
1997
|
-
class ProductDeliveryComponent {
|
|
1998
|
-
set stockAndDelivery(value) {
|
|
1999
|
-
if (value) {
|
|
2000
|
-
this.deliveryDescription = value.deliveryDescription;
|
|
2001
|
-
if (this.deliveryDescription.length > 0 && this.deliveryDescription[0] === ' ') {
|
|
2002
|
-
this.deliveryDescription = this._localizePipe.transform('ASK_FOR_INFORMATION');
|
|
2003
|
-
}
|
|
2004
|
-
}
|
|
2005
|
-
}
|
|
2006
|
-
constructor(_localizePipe, _iOne, _iconCache) {
|
|
2007
|
-
this._localizePipe = _localizePipe;
|
|
2008
|
-
this._iOne = _iOne;
|
|
2009
|
-
this._iconCache = _iconCache;
|
|
2010
|
-
this.icon = IconEnum;
|
|
2011
|
-
this.iconData = this._iconCache.getIcon(this.icon.Truck);
|
|
2012
|
-
}
|
|
2013
|
-
ngOnInit() {
|
|
2014
|
-
}
|
|
2015
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, deps: [{ token: LocalizePipe }, { token: ProductConnectorService }, { token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2016
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ProductDeliveryComponent, isStandalone: false, selector: "app-product-delivery", inputs: { stockAndDelivery: "stockAndDelivery" }, ngImport: i0, template: `
|
|
2017
|
-
<!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
|
|
2018
|
-
<div class="product-delivery-wrapper">
|
|
2019
|
-
<co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
|
|
2020
|
-
<div class="product-delivery-fields">
|
|
2021
|
-
<div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
|
|
2022
|
-
<div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
|
|
2023
|
-
</div>
|
|
2024
|
-
</div>
|
|
2025
|
-
`, 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.DatePipe, name: "date" }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
2026
|
-
}
|
|
2027
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, decorators: [{
|
|
2028
|
-
type: Component,
|
|
2029
|
-
args: [{ selector: 'app-product-delivery', template: `
|
|
2030
|
-
<!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
|
|
2031
|
-
<div class="product-delivery-wrapper">
|
|
2032
|
-
<co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
|
|
2033
|
-
<div class="product-delivery-fields">
|
|
2034
|
-
<div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
|
|
2035
|
-
<div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
|
|
2036
|
-
</div>
|
|
2037
|
-
</div>
|
|
2038
|
-
`, standalone: false, 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"] }]
|
|
2039
|
-
}], ctorParameters: () => [{ type: LocalizePipe }, { type: ProductConnectorService }, { type: IconCacheService }], propDecorators: { stockAndDelivery: [{
|
|
2040
|
-
type: Input
|
|
2041
|
-
}] } });
|
|
2042
|
-
|
|
2043
1999
|
class ProductAdditionalInfoComponent {
|
|
2044
2000
|
set article(value) {
|
|
2045
2001
|
if (value) {
|
|
@@ -2074,12 +2030,14 @@ class ProductAdditionalInfoComponent {
|
|
|
2074
2030
|
mainArticle = await this._connectorService.getSuperArticle(this.article.superArticleNr);
|
|
2075
2031
|
this._superArticles.set(this.article.superArticleNr, mainArticle);
|
|
2076
2032
|
}
|
|
2077
|
-
mainArticle
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2033
|
+
if (mainArticle) {
|
|
2034
|
+
mainArticle.texts.forEach((txt) => {
|
|
2035
|
+
if (BitUtils.IsFullDescription(txt.publication)) {
|
|
2036
|
+
const safeTxt = this._sanitizer.sanitize(SecurityContext.HTML, txt.text);
|
|
2037
|
+
texts.push(safeTxt);
|
|
2038
|
+
}
|
|
2039
|
+
});
|
|
2040
|
+
}
|
|
2083
2041
|
resolve(texts);
|
|
2084
2042
|
}
|
|
2085
2043
|
else {
|
|
@@ -2578,6 +2536,7 @@ class RenderCarouselComponent {
|
|
|
2578
2536
|
this.resizing = false;
|
|
2579
2537
|
this.showLoader = true;
|
|
2580
2538
|
this.renderedImageLoaded = false;
|
|
2539
|
+
this.listOfRenders = [];
|
|
2581
2540
|
// For now we will just use mock data
|
|
2582
2541
|
this.renderAngles = [0, -45, -90, -135, -180, -225, -270, -315];
|
|
2583
2542
|
this.currentRenderAngleIndex = 0;
|
|
@@ -2593,12 +2552,14 @@ class RenderCarouselComponent {
|
|
|
2593
2552
|
this._changeDetector.detectChanges();
|
|
2594
2553
|
}), this._appEventService.onRenderImageReceived.subscribe((image) => {
|
|
2595
2554
|
this.renderedImage = image;
|
|
2555
|
+
this.listOfRenders.push(image);
|
|
2596
2556
|
this.showLoader = false;
|
|
2597
2557
|
this._changeDetector.detectChanges();
|
|
2598
2558
|
}));
|
|
2599
2559
|
}
|
|
2600
2560
|
ngOnDestroy() {
|
|
2601
2561
|
this.carousel = undefined;
|
|
2562
|
+
this.listOfRenders = [];
|
|
2602
2563
|
this._subs.forEach(s => s.unsubscribe());
|
|
2603
2564
|
}
|
|
2604
2565
|
ngOnChanges() {
|
|
@@ -2624,7 +2585,7 @@ class RenderCarouselComponent {
|
|
|
2624
2585
|
this._appEventService.onGetRenderForRenderCarousel.next(renderParams);
|
|
2625
2586
|
}
|
|
2626
2587
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderCarouselComponent, deps: [{ token: IconCacheService }, { token: ProductEventService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2627
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2588
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: RenderCarouselComponent, isStandalone: false, selector: "app-render-carousel", inputs: { showRefresh: "showRefresh", article: "article" }, host: { listeners: { "window:resize": "handleWindowResize()", "swipeleft": "gotoNextSlide()", "swiperight": "gotoPrevSlide()" }, properties: { "class.resizing": "this.resizing" } }, viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
|
|
2628
2589
|
<div id="product_page_carousel">
|
|
2629
2590
|
<div id="product_page_carousel_render_items">
|
|
2630
2591
|
<co-loader></co-loader>
|
|
@@ -2647,8 +2608,19 @@ class RenderCarouselComponent {
|
|
|
2647
2608
|
</div>
|
|
2648
2609
|
</div>
|
|
2649
2610
|
</div>
|
|
2611
|
+
|
|
2612
|
+
@if (listOfRenders && listOfRenders.length > 0) {
|
|
2613
|
+
<!-- <div class="renderThumbs">-->
|
|
2614
|
+
<!-- @for (render of listOfRenders; track render) {-->
|
|
2615
|
+
<!-- <div class="renderThumbnail">-->
|
|
2616
|
+
<!-- <img [src]="render" alt="">-->
|
|
2617
|
+
<!-- </div>-->
|
|
2618
|
+
<!-- }-->
|
|
2619
|
+
<!-- </div>-->
|
|
2620
|
+
}
|
|
2621
|
+
|
|
2650
2622
|
</div>
|
|
2651
|
-
`, isInline: true, styles: [":host{
|
|
2623
|
+
`, isInline: true, styles: [":host{height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_render_items{position:relative;margin-bottom:10px;min-height:400px}#product_page_carousel #product_page_carousel_render_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:700px}#product_page_carousel .inner-carousel .inner-carousel-render img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;top:0;left:0;z-index:100}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller{opacity:0;position:absolute;border-radius:50%;z-index:100;background:#fff6;color:#fff;width:30px;height:30px;top:calc(50% - 15px);cursor:pointer;transition:opacity .3s}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller co-icon{color:#fff}#product_page_carousel .carousel-scroller-layer .prev{left:15px}#product_page_carousel .carousel-scroller-layer .next{right:15px}#product_page_carousel .carousel-scroller-layer:hover .carousel-item-scroller{opacity:1}#product_page_carousel .renderThumbs{display:flex;justify-content:start;gap:10px;margin-top:10px}#product_page_carousel .renderThumbs img{width:100px;height:100px;object-fit:contain}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-image{opacity:0;transition:opacity 1.5s ease-in-out}.fade-image.loaded{opacity:1}\n"], dependencies: [{ kind: "component", type: i6.LoaderComponent, selector: "co-loader" }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2652
2624
|
}
|
|
2653
2625
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderCarouselComponent, decorators: [{
|
|
2654
2626
|
type: Component,
|
|
@@ -2675,8 +2647,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2675
2647
|
</div>
|
|
2676
2648
|
</div>
|
|
2677
2649
|
</div>
|
|
2650
|
+
|
|
2651
|
+
@if (listOfRenders && listOfRenders.length > 0) {
|
|
2652
|
+
<!-- <div class="renderThumbs">-->
|
|
2653
|
+
<!-- @for (render of listOfRenders; track render) {-->
|
|
2654
|
+
<!-- <div class="renderThumbnail">-->
|
|
2655
|
+
<!-- <img [src]="render" alt="">-->
|
|
2656
|
+
<!-- </div>-->
|
|
2657
|
+
<!-- }-->
|
|
2658
|
+
<!-- </div>-->
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2678
2661
|
</div>
|
|
2679
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{
|
|
2662
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_render_items{position:relative;margin-bottom:10px;min-height:400px}#product_page_carousel #product_page_carousel_render_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:700px}#product_page_carousel .inner-carousel .inner-carousel-render img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;top:0;left:0;z-index:100}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller{opacity:0;position:absolute;border-radius:50%;z-index:100;background:#fff6;color:#fff;width:30px;height:30px;top:calc(50% - 15px);cursor:pointer;transition:opacity .3s}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller co-icon{color:#fff}#product_page_carousel .carousel-scroller-layer .prev{left:15px}#product_page_carousel .carousel-scroller-layer .next{right:15px}#product_page_carousel .carousel-scroller-layer:hover .carousel-item-scroller{opacity:1}#product_page_carousel .renderThumbs{display:flex;justify-content:start;gap:10px;margin-top:10px}#product_page_carousel .renderThumbs img{width:100px;height:100px;object-fit:contain}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-image{opacity:0;transition:opacity 1.5s ease-in-out}.fade-image.loaded{opacity:1}\n"] }]
|
|
2680
2663
|
}], ctorParameters: () => [{ type: IconCacheService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }], propDecorators: { carousel: [{
|
|
2681
2664
|
type: ViewChild,
|
|
2682
2665
|
args: ['carousel', { read: ElementRef }]
|
|
@@ -2806,6 +2789,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2806
2789
|
}] } });
|
|
2807
2790
|
|
|
2808
2791
|
class ProductPageComponent {
|
|
2792
|
+
showClass() {
|
|
2793
|
+
return true;
|
|
2794
|
+
}
|
|
2809
2795
|
set sku(value) {
|
|
2810
2796
|
if (value) {
|
|
2811
2797
|
if (this.configuring) {
|
|
@@ -2857,12 +2843,14 @@ class ProductPageComponent {
|
|
|
2857
2843
|
get currentView() {
|
|
2858
2844
|
return this._currentView;
|
|
2859
2845
|
}
|
|
2860
|
-
constructor(
|
|
2861
|
-
this._ione = _ione;
|
|
2846
|
+
constructor(iconCache, settingsService, appEventService, _changeDetector, _ione, _configuringService, _configuratorSceneService) {
|
|
2862
2847
|
this.iconCache = iconCache;
|
|
2863
2848
|
this.settingsService = settingsService;
|
|
2864
2849
|
this.appEventService = appEventService;
|
|
2865
2850
|
this._changeDetector = _changeDetector;
|
|
2851
|
+
this._ione = _ione;
|
|
2852
|
+
this._configuringService = _configuringService;
|
|
2853
|
+
this._configuratorSceneService = _configuratorSceneService;
|
|
2866
2854
|
this.icon = IconEnum;
|
|
2867
2855
|
this.createFrozenArticle = true;
|
|
2868
2856
|
this.isReturn = false;
|
|
@@ -2882,21 +2870,16 @@ class ProductPageComponent {
|
|
|
2882
2870
|
this._fullScreen = false;
|
|
2883
2871
|
this._subs = [];
|
|
2884
2872
|
this._subs.push(this.appEventService.onForceRenderImage.subscribe((x) => {
|
|
2885
|
-
|
|
2886
|
-
this.selections.nativeElement.forceRenderImage();
|
|
2887
|
-
}
|
|
2873
|
+
// TODO
|
|
2888
2874
|
}), this.settingsService.settingsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)), this._pageLoadedSubscription = combineLatest([
|
|
2889
2875
|
this._ione.controllerInitialized,
|
|
2890
2876
|
this._ione.articleLoaded
|
|
2891
2877
|
]).subscribe(([initialized, articleLoaded]) => {
|
|
2892
2878
|
if (initialized && articleLoaded) {
|
|
2893
2879
|
this.settingsLoaded = initialized;
|
|
2880
|
+
this._initConfigurator();
|
|
2894
2881
|
}
|
|
2895
|
-
}),
|
|
2896
|
-
// this._ione.controllerInitialized.subscribe((initialized: boolean) => {
|
|
2897
|
-
// this.settingsLoaded = initialized;
|
|
2898
|
-
// }),
|
|
2899
|
-
this.appEventService.onAnswersAvailable.subscribe((answers) => {
|
|
2882
|
+
}), this.appEventService.onAnswersAvailable.subscribe((answers) => {
|
|
2900
2883
|
if (answers && this.configurable) {
|
|
2901
2884
|
this.showAddToCart = false;
|
|
2902
2885
|
}
|
|
@@ -2904,10 +2887,17 @@ class ProductPageComponent {
|
|
|
2904
2887
|
this.showAddToCart = true;
|
|
2905
2888
|
}
|
|
2906
2889
|
}), this.appEventService.onGetRenderForRenderCarousel.subscribe((renderParameters) => {
|
|
2907
|
-
|
|
2908
|
-
|
|
2890
|
+
this._createRenderForCarousel(renderParameters);
|
|
2891
|
+
}), this.appEventService.onArticleReceived.subscribe(article => this.setConfigPresetId(article.configPresetId)), this._configuringService.floorReady.subscribe((ready) => {
|
|
2892
|
+
if (ready) {
|
|
2893
|
+
this._startSceneInit();
|
|
2894
|
+
this._startConfigurator();
|
|
2909
2895
|
}
|
|
2910
|
-
}), this.
|
|
2896
|
+
}), this._configuringService.onRenderImageReceived.subscribe((image) => {
|
|
2897
|
+
appEventService.onRenderImageReceived.next(image);
|
|
2898
|
+
}), this._configuringService.onAnswersAvailable.subscribe((hasAnswers) => {
|
|
2899
|
+
appEventService.onAnswersAvailable.next(hasAnswers);
|
|
2900
|
+
}));
|
|
2911
2901
|
}
|
|
2912
2902
|
ngOnInit() {
|
|
2913
2903
|
if (this._settings) {
|
|
@@ -2919,14 +2909,15 @@ class ProductPageComponent {
|
|
|
2919
2909
|
}
|
|
2920
2910
|
}
|
|
2921
2911
|
ngOnDestroy() {
|
|
2912
|
+
this.settingsService.settings = undefined;
|
|
2913
|
+
this.settingsLoaded = false;
|
|
2922
2914
|
this._subs.forEach(s => s.unsubscribe());
|
|
2923
2915
|
if (this._initializedSub) {
|
|
2924
2916
|
this._initializedSub.unsubscribe();
|
|
2925
2917
|
}
|
|
2926
2918
|
this._pageLoadedSubscription.unsubscribe();
|
|
2927
|
-
this.configurator = undefined;
|
|
2928
|
-
this.selections = undefined;
|
|
2929
2919
|
this.fullscreenbutton = undefined;
|
|
2920
|
+
this._configuringService.isConfiguring = false;
|
|
2930
2921
|
}
|
|
2931
2922
|
setInstance(event) {
|
|
2932
2923
|
if (event.detail) {
|
|
@@ -2955,7 +2946,6 @@ class ProductPageComponent {
|
|
|
2955
2946
|
this.article = article;
|
|
2956
2947
|
if (this.article) {
|
|
2957
2948
|
this.configurable = this.article.goodType === 'B' && (this.article.isConfigurable || this.article.isConfigurable === undefined);
|
|
2958
|
-
// this.configurable = this.article.goodType === 'B';
|
|
2959
2949
|
if (this.configurable) {
|
|
2960
2950
|
this.showAddToCart = false;
|
|
2961
2951
|
this.currentView = SelectorType.TwoD;
|
|
@@ -3008,6 +2998,24 @@ class ProductPageComponent {
|
|
|
3008
2998
|
this.showPresetDialog = false;
|
|
3009
2999
|
this._savePreset();
|
|
3010
3000
|
}
|
|
3001
|
+
handleBuildFinished(build) {
|
|
3002
|
+
if (this.threeD) {
|
|
3003
|
+
this._buildResult = build;
|
|
3004
|
+
this._configuringService.addBuildToScene(build);
|
|
3005
|
+
if (this.settingsService.settings && this.settingsService.settings.renderParameters) {
|
|
3006
|
+
// Start a render
|
|
3007
|
+
const options = {
|
|
3008
|
+
objectRotation: { x: 0, y: 43, z: 0 },
|
|
3009
|
+
margin: 5,
|
|
3010
|
+
cameraRotationX: 75,
|
|
3011
|
+
objectHeight: 500,
|
|
3012
|
+
objectWidth: 500,
|
|
3013
|
+
renderType: 0
|
|
3014
|
+
};
|
|
3015
|
+
this._configuringService.renderImage(build, options, true);
|
|
3016
|
+
}
|
|
3017
|
+
}
|
|
3018
|
+
}
|
|
3011
3019
|
_savePreset() {
|
|
3012
3020
|
this._ione.savePreset().then((success) => {
|
|
3013
3021
|
if (success) {
|
|
@@ -3016,20 +3024,47 @@ class ProductPageComponent {
|
|
|
3016
3024
|
}
|
|
3017
3025
|
});
|
|
3018
3026
|
}
|
|
3019
|
-
|
|
3020
|
-
|
|
3027
|
+
_initConfigurator() {
|
|
3028
|
+
// this should be async
|
|
3029
|
+
if (this.settingsLoaded) {
|
|
3030
|
+
this._configuringService.init(this.settings).then(done => {
|
|
3031
|
+
this._configuringService.isConfiguring = true;
|
|
3032
|
+
});
|
|
3033
|
+
}
|
|
3034
|
+
}
|
|
3035
|
+
_startConfigurator() {
|
|
3036
|
+
if (this.settingsLoaded) {
|
|
3037
|
+
const furnitureData = new ConfigurationResultObject();
|
|
3038
|
+
furnitureData.sku = this.sku;
|
|
3039
|
+
this._configuringService.configure(furnitureData).then(loaded => {
|
|
3040
|
+
});
|
|
3041
|
+
}
|
|
3042
|
+
}
|
|
3043
|
+
_startSceneInit() {
|
|
3044
|
+
if (this.settingsLoaded) {
|
|
3045
|
+
this._configuringService.handleLoadSceneContent();
|
|
3046
|
+
this._configuringService.scene = this._configuratorSceneService.scene;
|
|
3047
|
+
}
|
|
3048
|
+
}
|
|
3049
|
+
_createRenderForCarousel(renderOptions) {
|
|
3050
|
+
this._configuringService.renderImage(this._buildResult, renderOptions, false);
|
|
3051
|
+
}
|
|
3052
|
+
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.ConfiguringService }, { token: i5.SceneService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3053
|
+
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: `
|
|
3021
3054
|
@if (settingsLoaded) {
|
|
3022
3055
|
<div class="page-wrapper">
|
|
3023
3056
|
<div class="page-wrapper-content">
|
|
3024
3057
|
<div class="page-wrapper-left">
|
|
3025
3058
|
<div class="product-image-container">
|
|
3026
3059
|
<div class="product-page-block-selector-type">
|
|
3027
|
-
<app-product-selector-type
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3060
|
+
<app-product-selector-type
|
|
3061
|
+
class="default-padding"
|
|
3062
|
+
[(currentType)]="currentView"
|
|
3063
|
+
[show2D]="configurable"
|
|
3064
|
+
[show3D]="threeD">
|
|
3065
|
+
</app-product-selector-type>
|
|
3032
3066
|
</div>
|
|
3067
|
+
|
|
3033
3068
|
<div class="product-page-block-image default-padding" [class.full]="fullScreen">
|
|
3034
3069
|
@if (!enableRenderCarousel) {
|
|
3035
3070
|
<app-image-carousel
|
|
@@ -3044,120 +3079,125 @@ class ProductPageComponent {
|
|
|
3044
3079
|
[article]="article">
|
|
3045
3080
|
</app-render-carousel>
|
|
3046
3081
|
}
|
|
3047
|
-
@if (settingsLoaded
|
|
3048
|
-
<
|
|
3049
|
-
|
|
3050
|
-
class="
|
|
3051
|
-
[class.
|
|
3052
|
-
|
|
3053
|
-
[@toggleFullScreen]="fullScreen ? 'fullscreen' : 'halfscreen'">
|
|
3054
|
-
</threed-configurator>
|
|
3082
|
+
@if (settingsLoaded) {
|
|
3083
|
+
<co-configurator-scene
|
|
3084
|
+
[class.show-full-screen]="fullScreen"
|
|
3085
|
+
[class.hide-3d-scene]="!show3D"
|
|
3086
|
+
[class.show-3d-scene]="show3D">
|
|
3087
|
+
</co-configurator-scene>
|
|
3055
3088
|
}
|
|
3056
3089
|
@if (show3D) {
|
|
3057
|
-
<co-icon
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3090
|
+
<co-icon
|
|
3091
|
+
#fullscreenbutton
|
|
3092
|
+
class="fullscreen-button"
|
|
3093
|
+
[@toggleTopLeft]="fullScreen ? 'fullscreen' : 'halfscreen'"
|
|
3094
|
+
[iconData]="iconCache.getIcon(fullScreenIcon)"
|
|
3095
|
+
(click)="showFullScreen()">
|
|
3096
|
+
</co-icon>
|
|
3061
3097
|
}
|
|
3062
3098
|
@if (show3D && fullScreen) {
|
|
3063
|
-
<co-icon
|
|
3064
|
-
|
|
3099
|
+
<co-icon
|
|
3100
|
+
class="threed-watermark"
|
|
3101
|
+
[iconData]="iconCache.getIcon(icon.Logo)">
|
|
3102
|
+
</co-icon>
|
|
3065
3103
|
}
|
|
3066
3104
|
</div>
|
|
3067
3105
|
</div>
|
|
3068
3106
|
</div>
|
|
3069
3107
|
<div class="page-wrapper-right">
|
|
3070
|
-
<div class="product-page-
|
|
3071
|
-
<
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3108
|
+
<div class="product-page-scroll-container">
|
|
3109
|
+
<div class="product-page-block-description">
|
|
3110
|
+
<app-product-description
|
|
3111
|
+
class="default-padding"
|
|
3112
|
+
[article]="article">
|
|
3113
|
+
</app-product-description>
|
|
3076
3114
|
</div>
|
|
3077
|
-
<div class="product-page-block-
|
|
3078
|
-
|
|
3079
|
-
<
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3115
|
+
<div class="product-page-block-additional">
|
|
3116
|
+
<div class="product-page-block-additional-description">
|
|
3117
|
+
<app-product-additional-description
|
|
3118
|
+
class="default-padding"
|
|
3119
|
+
[article]="article">
|
|
3120
|
+
</app-product-additional-description>
|
|
3121
|
+
</div>
|
|
3122
|
+
<div class="product-page-block-price" [class.full]="configuring">
|
|
3123
|
+
@if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
|
|
3124
|
+
<div class="preset-container">
|
|
3125
|
+
<co-button
|
|
3126
|
+
class="save-preset-button"
|
|
3127
|
+
[iconData]="iconCache.getIcon(icon.SaveDisk)"
|
|
3128
|
+
[label]="'PRESET_SAVE_AS' | localize"
|
|
3129
|
+
(onClick)="handleSavePreset()">
|
|
3130
|
+
</co-button>
|
|
3131
|
+
</div>
|
|
3132
|
+
}
|
|
3133
|
+
@if (!configuring) {
|
|
3134
|
+
<app-product-price
|
|
3135
|
+
class="s-padding"
|
|
3136
|
+
[pricing]="article?.pricing"
|
|
3137
|
+
[configurable]="configurable">
|
|
3138
|
+
</app-product-price>
|
|
3139
|
+
}
|
|
3140
|
+
|
|
3141
|
+
@if (settingsLoaded) {
|
|
3142
|
+
<co-configurator
|
|
3143
|
+
[class.hide-configurator]="!configuring"
|
|
3144
|
+
[class.show-configurator]="configuring"
|
|
3145
|
+
[showLoader]="true"
|
|
3146
|
+
[animateSlideout]="false"
|
|
3147
|
+
[showHeaderInformation]="false"
|
|
3148
|
+
[canCloseConfigurator]="false"
|
|
3149
|
+
(buildResult)="handleBuildFinished($event)">
|
|
3150
|
+
</co-configurator>
|
|
3151
|
+
}
|
|
3152
|
+
</div>
|
|
3088
3153
|
@if (!configuring) {
|
|
3089
|
-
<
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3154
|
+
<div class="product-page-block-addtocart no-padding product-action-buttons"
|
|
3155
|
+
[@toggleTopRight]="fullScreen ? 'fullscreen' : 'halfscreen'">
|
|
3156
|
+
<app-product-addtocart
|
|
3157
|
+
[configurable]="configurable"
|
|
3158
|
+
[createFrozenArticle]="createFrozenArticle"
|
|
3159
|
+
[configuring]="configuring"
|
|
3160
|
+
[showAddToCart]="showAddToCart"
|
|
3161
|
+
[article]="article"
|
|
3162
|
+
[externalSource]="externalSource"
|
|
3163
|
+
[isReturn]="isReturn"
|
|
3164
|
+
(startConfiguration)="handleStartConfiguration()"
|
|
3165
|
+
(showRelatedPopup)="handlePopUpChange($event)">
|
|
3166
|
+
</app-product-addtocart>
|
|
3167
|
+
</div>
|
|
3093
3168
|
}
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
(onDraftRenderImageReceived)="appEventService.onDraftRenderImageReceived.next($event)"
|
|
3109
|
-
(onArticleReceived)="appEventService.onArticleReceived.next($event.detail)"
|
|
3110
|
-
(onSelectionsReceived)="appEventService.onSelectionsReceived.next($event.detail)"
|
|
3111
|
-
(onArticleInfoReceived)="appEventService.onArticleInfoReceived.next($event.detail)"
|
|
3112
|
-
(onAnswersAvailable)="appEventService.onAnswersAvailable.next($event.detail)"
|
|
3113
|
-
(onReadyToRender)="appEventService.onReadyToRender.next($event.detail)"
|
|
3114
|
-
(onRenderImageReceived)="appEventService.onRenderImageReceived.next($event.detail)"
|
|
3115
|
-
></threed-selections>
|
|
3169
|
+
@if (configuring) {
|
|
3170
|
+
<div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
|
|
3171
|
+
<app-product-addtocart
|
|
3172
|
+
class="default-padding"
|
|
3173
|
+
[configurable]="false"
|
|
3174
|
+
[fullscreen]="fullScreen"
|
|
3175
|
+
[showAddToCart]="showAddToCart"
|
|
3176
|
+
[configuring]="configuring"
|
|
3177
|
+
[article]="article"
|
|
3178
|
+
[externalSource]="externalSource"
|
|
3179
|
+
[isReturn]="isReturn"
|
|
3180
|
+
(startConfiguration)="handleStartConfiguration()">
|
|
3181
|
+
</app-product-addtocart>
|
|
3182
|
+
</div>
|
|
3116
3183
|
}
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
[article]="article"
|
|
3127
|
-
[externalSource]="externalSource"
|
|
3128
|
-
[isReturn]="isReturn"
|
|
3129
|
-
(startConfiguration)="handleStartConfiguration()"
|
|
3130
|
-
(showRelatedPopup)="handlePopUpChange($event)"
|
|
3131
|
-
></app-product-addtocart>
|
|
3184
|
+
<div class="product-page-block-variants">
|
|
3185
|
+
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3186
|
+
<app-product-related
|
|
3187
|
+
class="no-padding"
|
|
3188
|
+
[externalSource]="externalSource"
|
|
3189
|
+
[articles]="article?.relatedArticles" [refType]="64"
|
|
3190
|
+
[label]="'VARIANTS' | localize">
|
|
3191
|
+
</app-product-related>
|
|
3192
|
+
}
|
|
3132
3193
|
</div>
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
[showAddToCart]="showAddToCart"
|
|
3140
|
-
[configuring]="configuring"
|
|
3141
|
-
[article]="article"
|
|
3142
|
-
[externalSource]="externalSource"
|
|
3143
|
-
[isReturn]="isReturn"
|
|
3144
|
-
(startConfiguration)="handleStartConfiguration()"
|
|
3145
|
-
></app-product-addtocart>
|
|
3194
|
+
<div class="product-page-block-stock">
|
|
3195
|
+
<app-product-stock
|
|
3196
|
+
class="no-padding"
|
|
3197
|
+
[goodId]="article?.goodId"
|
|
3198
|
+
(openStockEvent)="openStock()">
|
|
3199
|
+
</app-product-stock>
|
|
3146
3200
|
</div>
|
|
3147
|
-
}
|
|
3148
|
-
<div class="product-page-block-variants">
|
|
3149
|
-
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3150
|
-
<app-product-related class="no-padding"
|
|
3151
|
-
[externalSource]="externalSource"
|
|
3152
|
-
[articles]="article?.relatedArticles" [refType]="64"
|
|
3153
|
-
[label]="'VARIANTS' | localize"></app-product-related>
|
|
3154
|
-
}
|
|
3155
|
-
</div>
|
|
3156
|
-
<div class="product-page-block-stock">
|
|
3157
|
-
<app-product-stock class="no-padding" [goodId]="article?.goodId" (openStockEvent)="openStock()"></app-product-stock>
|
|
3158
|
-
</div>
|
|
3159
|
-
<div class="product-page-block-delivery">
|
|
3160
|
-
<app-product-delivery class="no-padding" [stockAndDelivery]="stockAndDelivery"></app-product-delivery>
|
|
3161
3201
|
</div>
|
|
3162
3202
|
</div>
|
|
3163
3203
|
</div>
|
|
@@ -3165,7 +3205,10 @@ class ProductPageComponent {
|
|
|
3165
3205
|
<div class="page-wrapper-content">
|
|
3166
3206
|
@if (article) {
|
|
3167
3207
|
<div class="page-wrapper-left">
|
|
3168
|
-
<app-product-info-tabs
|
|
3208
|
+
<app-product-info-tabs
|
|
3209
|
+
class="no-padding"
|
|
3210
|
+
[article]="article">
|
|
3211
|
+
</app-product-info-tabs>
|
|
3169
3212
|
</div>
|
|
3170
3213
|
}
|
|
3171
3214
|
<div class="page-wrapper-right">
|
|
@@ -3202,23 +3245,22 @@ class ProductPageComponent {
|
|
|
3202
3245
|
[mainArticle]="article"
|
|
3203
3246
|
[articles]="article?.relatedArticles"
|
|
3204
3247
|
[refType]="1"
|
|
3205
|
-
(closeRelatedPopup)="handlePopUpChange($event)"
|
|
3206
|
-
>
|
|
3248
|
+
(closeRelatedPopup)="handlePopUpChange($event)">
|
|
3207
3249
|
</co-product-dialog>
|
|
3208
3250
|
</div>
|
|
3209
3251
|
}
|
|
3210
3252
|
</div>
|
|
3211
3253
|
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3254
|
+
@if (presetDialogType) {
|
|
3255
|
+
<co-preset-dialog
|
|
3256
|
+
[type]="presetDialogType"
|
|
3257
|
+
[presetId]="configPresetId"
|
|
3258
|
+
(cancelSavePreset)="handleCancelSavePreset($event)"
|
|
3259
|
+
(overwritePreset)="handleOverwritePreset($event)">
|
|
3260
|
+
</co-preset-dialog>
|
|
3261
|
+
}
|
|
3220
3262
|
}
|
|
3221
|
-
`, isInline: true, styles: [".page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 15px;margin:0 auto}.page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.page-wrapper-content:first-child,.page-wrapper-content.no-top-margin{margin-top:0}.page-wrapper-left{display:flex;width:65%;flex-direction:column}.page-wrapper-right{display:flex;width:35%;flex-direction:column}.page-wrapper-full{display:flex;width:100%;flex-direction:column}.page-wrapper-66{display:flex;width:60%;flex-direction:column}.page-wrapper-33{display:flex;width:40%;flex-direction:column}.threed-selections{display:none}.threed-selections.show-selections{display:block}.threed-selections ::ng-deep .rp-lite-selector .rp-answers-slideout ::ng-deep co-slideout{width:480px;z-index:3}.threed-selections ::ng-deep .co-summary-line{cursor:pointer}.product-action-buttons{position:relative}.product-action-buttons.full-screen{z-index:10}.product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.product-page-block-image .threed-configurator{border:none}.product-page-block-image .threed-configurator .layer .viewer canvas{height:100%;width:100%}.product-page-block-image .threed-configurator ::ng-deep .rp-element-toolbar{top:30px}.product-page-block-image app-image-carousel.show-animated,.product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.product-page-block-description{grid-column:7/12;grid-row:1/1}.product-page-block-additional,.product-page-block-additional-description{width:100%}.product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.product-page-block-price.full{grid-column:1/5}.preset-container{display:flex;justify-content:right}.preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.preset-container .save-preset-button:hover{background:#74b77f}.product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#74b77f}.addtocart-reserved{grid-column:1/3;grid-row:3/3}.product-page-block-stock{grid-column:1/3;grid-row:4/4}.product-page-block-delivery{grid-column:3/5;grid-row:4/4}::ng-deep co-scroll-container{overflow:hidden;position:relative}::ng-deep co-scroll-container .content-wrapper{padding:0}::ng-deep co-scroll-container .scroll-layer{left:0;top:0}::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}::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}::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}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}::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}.product-page-block-variants{margin:20px 0 0}.product-page-block-variants ::ng-deep app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep app-header h3{font-size:14px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container{width:320px;max-width:100%;padding:0 16px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller{width:26px;height:26px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll{left:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll{right:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.product-page-block-variants ::ng-deep co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.product-page-block-variants ::ng-deep co-tile.small:hover{border-color:#22313c}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper{padding:0}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-top{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-bottom{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-extra-bottom{display:none}.product-page-block-alternatives ::ng-deep .article-wrapper{margin:0 20px 0 0}.product-page-block-alternatives ::ng-deep .article-wrapper:last-child{margin:0}.product-page-block-alternatives ::ng-deep co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;border-bottom-color:#f6f5f4;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.product-page-block-alternatives ::ng-deep co-tile:hover{box-shadow:none;border-color:#f6f5f4}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper .tile-bottom{margin:0}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.product-page-block-alternatives ::ng-deep 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}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;z-index:-1;transition:all .2s ease}.product-page-block-alternatives ::ng-deep 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}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button co-icon{width:32px;height:32px;margin:0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main{padding:0 10px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#2b60a7}.product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.product-page-block-properties{grid-column:7/10;grid-row:3/3}.product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.product-page-block-documents{grid-column:2/6;grid-row:5/5}.product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.default-padding{padding-top:20px;padding-bottom:20px}.m-padding{padding-top:15px;padding-bottom:15px}.s-padding{padding-top:5px;padding-bottom:5px}.page-wrapper{max-width:650px}.page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.page-wrapper .page-wrapper-content .page-wrapper-left,.page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){[class*=-padding]{padding-left:0!important;padding-right:0!important}.product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: ProductDeliveryComponent, selector: "app-product-delivery", inputs: ["stockAndDelivery"] }, { 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: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
3263
|
+
`, isInline: true, styles: [".co-product-page .page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 15px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.co-product-page .page-wrapper-content:first-child,.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.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:30px;padding-right:0;height:auto;max-height:100%}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-product-configurator .product-configurator-container .product-configurator-details{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:#74b77f}.co-product-page .product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.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:#74b77f}.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;z-index:-1;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-wrapper .tile-bottom .co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;background:#2b60a7;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom .co-button .co-icon{width:32px;height:32px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.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:#2b60a7}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;background:#2b60a7;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .co-button .co-icon{width:32px;height:32px;margin:0 2px}.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: [
|
|
3222
3264
|
trigger('toggleFullScreen', [
|
|
3223
3265
|
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
3224
3266
|
state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
|
|
@@ -3249,7 +3291,7 @@ class ProductPageComponent {
|
|
|
3249
3291
|
state('*', style({ 'opacity': '1' })),
|
|
3250
3292
|
transition('void => *', animate('200ms ease-in-out'))
|
|
3251
3293
|
])
|
|
3252
|
-
] }); }
|
|
3294
|
+
], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3253
3295
|
}
|
|
3254
3296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageComponent, decorators: [{
|
|
3255
3297
|
type: Component,
|
|
@@ -3260,12 +3302,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3260
3302
|
<div class="page-wrapper-left">
|
|
3261
3303
|
<div class="product-image-container">
|
|
3262
3304
|
<div class="product-page-block-selector-type">
|
|
3263
|
-
<app-product-selector-type
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3305
|
+
<app-product-selector-type
|
|
3306
|
+
class="default-padding"
|
|
3307
|
+
[(currentType)]="currentView"
|
|
3308
|
+
[show2D]="configurable"
|
|
3309
|
+
[show3D]="threeD">
|
|
3310
|
+
</app-product-selector-type>
|
|
3268
3311
|
</div>
|
|
3312
|
+
|
|
3269
3313
|
<div class="product-page-block-image default-padding" [class.full]="fullScreen">
|
|
3270
3314
|
@if (!enableRenderCarousel) {
|
|
3271
3315
|
<app-image-carousel
|
|
@@ -3280,120 +3324,125 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3280
3324
|
[article]="article">
|
|
3281
3325
|
</app-render-carousel>
|
|
3282
3326
|
}
|
|
3283
|
-
@if (settingsLoaded
|
|
3284
|
-
<
|
|
3285
|
-
|
|
3286
|
-
class="
|
|
3287
|
-
[class.
|
|
3288
|
-
|
|
3289
|
-
[@toggleFullScreen]="fullScreen ? 'fullscreen' : 'halfscreen'">
|
|
3290
|
-
</threed-configurator>
|
|
3327
|
+
@if (settingsLoaded) {
|
|
3328
|
+
<co-configurator-scene
|
|
3329
|
+
[class.show-full-screen]="fullScreen"
|
|
3330
|
+
[class.hide-3d-scene]="!show3D"
|
|
3331
|
+
[class.show-3d-scene]="show3D">
|
|
3332
|
+
</co-configurator-scene>
|
|
3291
3333
|
}
|
|
3292
3334
|
@if (show3D) {
|
|
3293
|
-
<co-icon
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3335
|
+
<co-icon
|
|
3336
|
+
#fullscreenbutton
|
|
3337
|
+
class="fullscreen-button"
|
|
3338
|
+
[@toggleTopLeft]="fullScreen ? 'fullscreen' : 'halfscreen'"
|
|
3339
|
+
[iconData]="iconCache.getIcon(fullScreenIcon)"
|
|
3340
|
+
(click)="showFullScreen()">
|
|
3341
|
+
</co-icon>
|
|
3297
3342
|
}
|
|
3298
3343
|
@if (show3D && fullScreen) {
|
|
3299
|
-
<co-icon
|
|
3300
|
-
|
|
3344
|
+
<co-icon
|
|
3345
|
+
class="threed-watermark"
|
|
3346
|
+
[iconData]="iconCache.getIcon(icon.Logo)">
|
|
3347
|
+
</co-icon>
|
|
3301
3348
|
}
|
|
3302
3349
|
</div>
|
|
3303
3350
|
</div>
|
|
3304
3351
|
</div>
|
|
3305
3352
|
<div class="page-wrapper-right">
|
|
3306
|
-
<div class="product-page-
|
|
3307
|
-
<
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3353
|
+
<div class="product-page-scroll-container">
|
|
3354
|
+
<div class="product-page-block-description">
|
|
3355
|
+
<app-product-description
|
|
3356
|
+
class="default-padding"
|
|
3357
|
+
[article]="article">
|
|
3358
|
+
</app-product-description>
|
|
3312
3359
|
</div>
|
|
3313
|
-
<div class="product-page-block-
|
|
3314
|
-
|
|
3315
|
-
<
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3360
|
+
<div class="product-page-block-additional">
|
|
3361
|
+
<div class="product-page-block-additional-description">
|
|
3362
|
+
<app-product-additional-description
|
|
3363
|
+
class="default-padding"
|
|
3364
|
+
[article]="article">
|
|
3365
|
+
</app-product-additional-description>
|
|
3366
|
+
</div>
|
|
3367
|
+
<div class="product-page-block-price" [class.full]="configuring">
|
|
3368
|
+
@if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
|
|
3369
|
+
<div class="preset-container">
|
|
3370
|
+
<co-button
|
|
3371
|
+
class="save-preset-button"
|
|
3372
|
+
[iconData]="iconCache.getIcon(icon.SaveDisk)"
|
|
3373
|
+
[label]="'PRESET_SAVE_AS' | localize"
|
|
3374
|
+
(onClick)="handleSavePreset()">
|
|
3375
|
+
</co-button>
|
|
3376
|
+
</div>
|
|
3377
|
+
}
|
|
3378
|
+
@if (!configuring) {
|
|
3379
|
+
<app-product-price
|
|
3380
|
+
class="s-padding"
|
|
3381
|
+
[pricing]="article?.pricing"
|
|
3382
|
+
[configurable]="configurable">
|
|
3383
|
+
</app-product-price>
|
|
3384
|
+
}
|
|
3385
|
+
|
|
3386
|
+
@if (settingsLoaded) {
|
|
3387
|
+
<co-configurator
|
|
3388
|
+
[class.hide-configurator]="!configuring"
|
|
3389
|
+
[class.show-configurator]="configuring"
|
|
3390
|
+
[showLoader]="true"
|
|
3391
|
+
[animateSlideout]="false"
|
|
3392
|
+
[showHeaderInformation]="false"
|
|
3393
|
+
[canCloseConfigurator]="false"
|
|
3394
|
+
(buildResult)="handleBuildFinished($event)">
|
|
3395
|
+
</co-configurator>
|
|
3396
|
+
}
|
|
3397
|
+
</div>
|
|
3324
3398
|
@if (!configuring) {
|
|
3325
|
-
<
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3399
|
+
<div class="product-page-block-addtocart no-padding product-action-buttons"
|
|
3400
|
+
[@toggleTopRight]="fullScreen ? 'fullscreen' : 'halfscreen'">
|
|
3401
|
+
<app-product-addtocart
|
|
3402
|
+
[configurable]="configurable"
|
|
3403
|
+
[createFrozenArticle]="createFrozenArticle"
|
|
3404
|
+
[configuring]="configuring"
|
|
3405
|
+
[showAddToCart]="showAddToCart"
|
|
3406
|
+
[article]="article"
|
|
3407
|
+
[externalSource]="externalSource"
|
|
3408
|
+
[isReturn]="isReturn"
|
|
3409
|
+
(startConfiguration)="handleStartConfiguration()"
|
|
3410
|
+
(showRelatedPopup)="handlePopUpChange($event)">
|
|
3411
|
+
</app-product-addtocart>
|
|
3412
|
+
</div>
|
|
3329
3413
|
}
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
(onDraftRenderImageReceived)="appEventService.onDraftRenderImageReceived.next($event)"
|
|
3345
|
-
(onArticleReceived)="appEventService.onArticleReceived.next($event.detail)"
|
|
3346
|
-
(onSelectionsReceived)="appEventService.onSelectionsReceived.next($event.detail)"
|
|
3347
|
-
(onArticleInfoReceived)="appEventService.onArticleInfoReceived.next($event.detail)"
|
|
3348
|
-
(onAnswersAvailable)="appEventService.onAnswersAvailable.next($event.detail)"
|
|
3349
|
-
(onReadyToRender)="appEventService.onReadyToRender.next($event.detail)"
|
|
3350
|
-
(onRenderImageReceived)="appEventService.onRenderImageReceived.next($event.detail)"
|
|
3351
|
-
></threed-selections>
|
|
3414
|
+
@if (configuring) {
|
|
3415
|
+
<div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
|
|
3416
|
+
<app-product-addtocart
|
|
3417
|
+
class="default-padding"
|
|
3418
|
+
[configurable]="false"
|
|
3419
|
+
[fullscreen]="fullScreen"
|
|
3420
|
+
[showAddToCart]="showAddToCart"
|
|
3421
|
+
[configuring]="configuring"
|
|
3422
|
+
[article]="article"
|
|
3423
|
+
[externalSource]="externalSource"
|
|
3424
|
+
[isReturn]="isReturn"
|
|
3425
|
+
(startConfiguration)="handleStartConfiguration()">
|
|
3426
|
+
</app-product-addtocart>
|
|
3427
|
+
</div>
|
|
3352
3428
|
}
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
[article]="article"
|
|
3363
|
-
[externalSource]="externalSource"
|
|
3364
|
-
[isReturn]="isReturn"
|
|
3365
|
-
(startConfiguration)="handleStartConfiguration()"
|
|
3366
|
-
(showRelatedPopup)="handlePopUpChange($event)"
|
|
3367
|
-
></app-product-addtocart>
|
|
3429
|
+
<div class="product-page-block-variants">
|
|
3430
|
+
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3431
|
+
<app-product-related
|
|
3432
|
+
class="no-padding"
|
|
3433
|
+
[externalSource]="externalSource"
|
|
3434
|
+
[articles]="article?.relatedArticles" [refType]="64"
|
|
3435
|
+
[label]="'VARIANTS' | localize">
|
|
3436
|
+
</app-product-related>
|
|
3437
|
+
}
|
|
3368
3438
|
</div>
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
[showAddToCart]="showAddToCart"
|
|
3376
|
-
[configuring]="configuring"
|
|
3377
|
-
[article]="article"
|
|
3378
|
-
[externalSource]="externalSource"
|
|
3379
|
-
[isReturn]="isReturn"
|
|
3380
|
-
(startConfiguration)="handleStartConfiguration()"
|
|
3381
|
-
></app-product-addtocart>
|
|
3439
|
+
<div class="product-page-block-stock">
|
|
3440
|
+
<app-product-stock
|
|
3441
|
+
class="no-padding"
|
|
3442
|
+
[goodId]="article?.goodId"
|
|
3443
|
+
(openStockEvent)="openStock()">
|
|
3444
|
+
</app-product-stock>
|
|
3382
3445
|
</div>
|
|
3383
|
-
}
|
|
3384
|
-
<div class="product-page-block-variants">
|
|
3385
|
-
@if (article?.relatedArticles && article?.relatedArticles.length > 0) {
|
|
3386
|
-
<app-product-related class="no-padding"
|
|
3387
|
-
[externalSource]="externalSource"
|
|
3388
|
-
[articles]="article?.relatedArticles" [refType]="64"
|
|
3389
|
-
[label]="'VARIANTS' | localize"></app-product-related>
|
|
3390
|
-
}
|
|
3391
|
-
</div>
|
|
3392
|
-
<div class="product-page-block-stock">
|
|
3393
|
-
<app-product-stock class="no-padding" [goodId]="article?.goodId" (openStockEvent)="openStock()"></app-product-stock>
|
|
3394
|
-
</div>
|
|
3395
|
-
<div class="product-page-block-delivery">
|
|
3396
|
-
<app-product-delivery class="no-padding" [stockAndDelivery]="stockAndDelivery"></app-product-delivery>
|
|
3397
3446
|
</div>
|
|
3398
3447
|
</div>
|
|
3399
3448
|
</div>
|
|
@@ -3401,7 +3450,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3401
3450
|
<div class="page-wrapper-content">
|
|
3402
3451
|
@if (article) {
|
|
3403
3452
|
<div class="page-wrapper-left">
|
|
3404
|
-
<app-product-info-tabs
|
|
3453
|
+
<app-product-info-tabs
|
|
3454
|
+
class="no-padding"
|
|
3455
|
+
[article]="article">
|
|
3456
|
+
</app-product-info-tabs>
|
|
3405
3457
|
</div>
|
|
3406
3458
|
}
|
|
3407
3459
|
<div class="page-wrapper-right">
|
|
@@ -3438,23 +3490,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3438
3490
|
[mainArticle]="article"
|
|
3439
3491
|
[articles]="article?.relatedArticles"
|
|
3440
3492
|
[refType]="1"
|
|
3441
|
-
(closeRelatedPopup)="handlePopUpChange($event)"
|
|
3442
|
-
>
|
|
3493
|
+
(closeRelatedPopup)="handlePopUpChange($event)">
|
|
3443
3494
|
</co-product-dialog>
|
|
3444
3495
|
</div>
|
|
3445
3496
|
}
|
|
3446
3497
|
</div>
|
|
3447
3498
|
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3499
|
+
@if (presetDialogType) {
|
|
3500
|
+
<co-preset-dialog
|
|
3501
|
+
[type]="presetDialogType"
|
|
3502
|
+
[presetId]="configPresetId"
|
|
3503
|
+
(cancelSavePreset)="handleCancelSavePreset($event)"
|
|
3504
|
+
(overwritePreset)="handleOverwritePreset($event)">
|
|
3505
|
+
</co-preset-dialog>
|
|
3506
|
+
}
|
|
3456
3507
|
}
|
|
3457
|
-
`, animations: [
|
|
3508
|
+
`, encapsulation: ViewEncapsulation.None, animations: [
|
|
3458
3509
|
trigger('toggleFullScreen', [
|
|
3459
3510
|
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
3460
3511
|
state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
|
|
@@ -3485,13 +3536,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3485
3536
|
state('*', style({ 'opacity': '1' })),
|
|
3486
3537
|
transition('void => *', animate('200ms ease-in-out'))
|
|
3487
3538
|
])
|
|
3488
|
-
], standalone: false, styles: [".page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 15px;margin:0 auto}.page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.page-wrapper-content:first-child,.page-wrapper-content.no-top-margin{margin-top:0}.page-wrapper-left{display:flex;width:65%;flex-direction:column}.page-wrapper-right{display:flex;width:35%;flex-direction:column}.page-wrapper-full{display:flex;width:100%;flex-direction:column}.page-wrapper-66{display:flex;width:60%;flex-direction:column}.page-wrapper-33{display:flex;width:40%;flex-direction:column}.threed-selections{display:none}.threed-selections.show-selections{display:block}.threed-selections ::ng-deep .rp-lite-selector .rp-answers-slideout ::ng-deep co-slideout{width:480px;z-index:3}.threed-selections ::ng-deep .co-summary-line{cursor:pointer}.product-action-buttons{position:relative}.product-action-buttons.full-screen{z-index:10}.product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.product-page-block-image .threed-configurator{border:none}.product-page-block-image .threed-configurator .layer .viewer canvas{height:100%;width:100%}.product-page-block-image .threed-configurator ::ng-deep .rp-element-toolbar{top:30px}.product-page-block-image app-image-carousel.show-animated,.product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.product-page-block-description{grid-column:7/12;grid-row:1/1}.product-page-block-additional,.product-page-block-additional-description{width:100%}.product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.product-page-block-price.full{grid-column:1/5}.preset-container{display:flex;justify-content:right}.preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.preset-container .save-preset-button:hover{background:#74b77f}.product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#74b77f}.addtocart-reserved{grid-column:1/3;grid-row:3/3}.product-page-block-stock{grid-column:1/3;grid-row:4/4}.product-page-block-delivery{grid-column:3/5;grid-row:4/4}::ng-deep co-scroll-container{overflow:hidden;position:relative}::ng-deep co-scroll-container .content-wrapper{padding:0}::ng-deep co-scroll-container .scroll-layer{left:0;top:0}::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}::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}::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}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}::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}.product-page-block-variants{margin:20px 0 0}.product-page-block-variants ::ng-deep app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep app-header h3{font-size:14px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container{width:320px;max-width:100%;padding:0 16px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller{width:26px;height:26px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll{left:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll{right:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.product-page-block-variants ::ng-deep co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.product-page-block-variants ::ng-deep co-tile.small:hover{border-color:#22313c}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper{padding:0}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-top{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-bottom{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-extra-bottom{display:none}.product-page-block-alternatives ::ng-deep .article-wrapper{margin:0 20px 0 0}.product-page-block-alternatives ::ng-deep .article-wrapper:last-child{margin:0}.product-page-block-alternatives ::ng-deep co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;border-bottom-color:#f6f5f4;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.product-page-block-alternatives ::ng-deep co-tile:hover{box-shadow:none;border-color:#f6f5f4}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper .tile-bottom{margin:0}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.product-page-block-alternatives ::ng-deep 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}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;z-index:-1;transition:all .2s ease}.product-page-block-alternatives ::ng-deep 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}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button co-icon{width:32px;height:32px;margin:0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main{padding:0 10px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#2b60a7}.product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.product-page-block-properties{grid-column:7/10;grid-row:3/3}.product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.product-page-block-documents{grid-column:2/6;grid-row:5/5}.product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.default-padding{padding-top:20px;padding-bottom:20px}.m-padding{padding-top:15px;padding-bottom:15px}.s-padding{padding-top:5px;padding-bottom:5px}.page-wrapper{max-width:650px}.page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.page-wrapper .page-wrapper-content .page-wrapper-left,.page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){[class*=-padding]{padding-left:0!important;padding-right:0!important}.product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"] }]
|
|
3489
|
-
}], ctorParameters: () => [{ type:
|
|
3490
|
-
type:
|
|
3491
|
-
args: ['
|
|
3492
|
-
}], selections: [{
|
|
3493
|
-
type: ViewChild,
|
|
3494
|
-
args: ['selections', { read: ElementRef }]
|
|
3539
|
+
], standalone: false, styles: [".co-product-page .page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 15px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.co-product-page .page-wrapper-content:first-child,.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.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:30px;padding-right:0;height:auto;max-height:100%}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-product-configurator .product-configurator-container .product-configurator-details{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:#74b77f}.co-product-page .product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.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:#74b77f}.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;z-index:-1;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-wrapper .tile-bottom .co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;background:#2b60a7;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom .co-button .co-icon{width:32px;height:32px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.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:#2b60a7}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;background:#2b60a7;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .co-button .co-icon{width:32px;height:32px;margin:0 2px}.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"] }]
|
|
3540
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: ProductSettingsService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }, { type: ProductConnectorService }, { type: i5.ConfiguringService }, { type: i5.SceneService }], propDecorators: { showClass: [{
|
|
3541
|
+
type: HostBinding,
|
|
3542
|
+
args: ['class.co-product-page']
|
|
3495
3543
|
}], fullscreenbutton: [{
|
|
3496
3544
|
type: ViewChild,
|
|
3497
3545
|
args: ['fullscreenbutton', { read: ElementRef }]
|
|
@@ -3560,11 +3608,13 @@ class IoneProductComponent {
|
|
|
3560
3608
|
// this.sku = '104';
|
|
3561
3609
|
// this.sku = "70000107";
|
|
3562
3610
|
// this.sku = "grover";
|
|
3563
|
-
|
|
3611
|
+
this.sku = "1000610952"; // bank istanbul jillis
|
|
3564
3612
|
// this.sku = "4387";
|
|
3565
3613
|
// this.sku = "1000612725";
|
|
3566
|
-
// this.sku = '
|
|
3614
|
+
// this.sku = '22000';
|
|
3615
|
+
// elix = 1000234793
|
|
3567
3616
|
// this.sku = 'A30';
|
|
3617
|
+
// this.sku = '22000';
|
|
3568
3618
|
}
|
|
3569
3619
|
async ngOnInit() {
|
|
3570
3620
|
this._subs.push(this._appEventService.onAddToCart.subscribe((data) => {
|
|
@@ -3948,6 +3998,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3948
3998
|
}]
|
|
3949
3999
|
}] });
|
|
3950
4000
|
|
|
4001
|
+
class ProductDeliveryComponent {
|
|
4002
|
+
set stockAndDelivery(value) {
|
|
4003
|
+
if (value) {
|
|
4004
|
+
this.deliveryDescription = value.deliveryDescription;
|
|
4005
|
+
if (this.deliveryDescription.length > 0 && this.deliveryDescription[0] === ' ') {
|
|
4006
|
+
this.deliveryDescription = this._localizePipe.transform('ASK_FOR_INFORMATION');
|
|
4007
|
+
}
|
|
4008
|
+
}
|
|
4009
|
+
}
|
|
4010
|
+
constructor(_localizePipe, _iOne, _iconCache) {
|
|
4011
|
+
this._localizePipe = _localizePipe;
|
|
4012
|
+
this._iOne = _iOne;
|
|
4013
|
+
this._iconCache = _iconCache;
|
|
4014
|
+
this.icon = IconEnum;
|
|
4015
|
+
this.iconData = this._iconCache.getIcon(this.icon.Truck);
|
|
4016
|
+
}
|
|
4017
|
+
ngOnInit() {
|
|
4018
|
+
}
|
|
4019
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, deps: [{ token: LocalizePipe }, { token: ProductConnectorService }, { token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4020
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ProductDeliveryComponent, isStandalone: false, selector: "app-product-delivery", inputs: { stockAndDelivery: "stockAndDelivery" }, ngImport: i0, template: `
|
|
4021
|
+
<!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
|
|
4022
|
+
<div class="product-delivery-wrapper">
|
|
4023
|
+
<co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
|
|
4024
|
+
<div class="product-delivery-fields">
|
|
4025
|
+
<div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
|
|
4026
|
+
<div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
|
|
4027
|
+
</div>
|
|
4028
|
+
</div>
|
|
4029
|
+
`, 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" }] }); }
|
|
4030
|
+
}
|
|
4031
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, decorators: [{
|
|
4032
|
+
type: Component,
|
|
4033
|
+
args: [{ selector: 'app-product-delivery', template: `
|
|
4034
|
+
<!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
|
|
4035
|
+
<div class="product-delivery-wrapper">
|
|
4036
|
+
<co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
|
|
4037
|
+
<div class="product-delivery-fields">
|
|
4038
|
+
<div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
|
|
4039
|
+
<div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
|
|
4040
|
+
</div>
|
|
4041
|
+
</div>
|
|
4042
|
+
`, standalone: false, 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"] }]
|
|
4043
|
+
}], ctorParameters: () => [{ type: LocalizePipe }, { type: ProductConnectorService }, { type: IconCacheService }], propDecorators: { stockAndDelivery: [{
|
|
4044
|
+
type: Input
|
|
4045
|
+
}] } });
|
|
4046
|
+
|
|
3951
4047
|
class ProductDeliveryModule {
|
|
3952
4048
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3953
4049
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryModule, declarations: [ProductDeliveryComponent], imports: [CommonModule,
|
|
@@ -4222,7 +4318,9 @@ class ProductPageModule {
|
|
|
4222
4318
|
LoaderModule,
|
|
4223
4319
|
RenderCarouselModule,
|
|
4224
4320
|
ButtonModule,
|
|
4225
|
-
PresetDialogModule
|
|
4321
|
+
PresetDialogModule,
|
|
4322
|
+
ConfiguratorModule,
|
|
4323
|
+
ConfiguratorSceneModule], exports: [ProductPageComponent] }); }
|
|
4226
4324
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, imports: [CommonModule,
|
|
4227
4325
|
ProductSelectorTypeModule,
|
|
4228
4326
|
ImageCarouselModule,
|
|
@@ -4240,7 +4338,9 @@ class ProductPageModule {
|
|
|
4240
4338
|
LoaderModule,
|
|
4241
4339
|
RenderCarouselModule,
|
|
4242
4340
|
ButtonModule,
|
|
4243
|
-
PresetDialogModule
|
|
4341
|
+
PresetDialogModule,
|
|
4342
|
+
ConfiguratorModule,
|
|
4343
|
+
ConfiguratorSceneModule] }); }
|
|
4244
4344
|
}
|
|
4245
4345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, decorators: [{
|
|
4246
4346
|
type: NgModule,
|
|
@@ -4263,7 +4363,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4263
4363
|
LoaderModule,
|
|
4264
4364
|
RenderCarouselModule,
|
|
4265
4365
|
ButtonModule,
|
|
4266
|
-
PresetDialogModule
|
|
4366
|
+
PresetDialogModule,
|
|
4367
|
+
ConfiguratorModule,
|
|
4368
|
+
ConfiguratorSceneModule
|
|
4267
4369
|
],
|
|
4268
4370
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
4269
4371
|
declarations: [
|