@colijnit/product 260.1.2 → 261.20.0
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 +4534 -0
- package/fesm2022/colijnit-product.mjs.map +1 -0
- package/index.d.ts +948 -0
- package/package.json +32 -33
- package/app/bundle/service/local-storage.service.d.ts +0 -14
- package/app/components/core/header/header.component.d.ts +0 -7
- package/app/components/core/header/header.module.d.ts +0 -2
- package/app/components/image-carousel/image-carousel.component.d.ts +0 -48
- package/app/components/image-carousel/image-carousel.module.d.ts +0 -2
- package/app/components/product-additional-description/product-additional-description.component.d.ts +0 -14
- package/app/components/product-additional-description/product-additional-description.module.d.ts +0 -2
- package/app/components/product-additional-info/product-additional-info.component.d.ts +0 -21
- package/app/components/product-additional-info/product-additional-info.module.d.ts +0 -2
- package/app/components/product-addtocart/product-addtocart.component.d.ts +0 -42
- package/app/components/product-addtocart/product-addtocart.module.d.ts +0 -2
- package/app/components/product-delivery/product-delivery.component.d.ts +0 -18
- package/app/components/product-delivery/product-delivery.module.d.ts +0 -2
- package/app/components/product-description/product-description.component.d.ts +0 -7
- package/app/components/product-description/product-description.module.d.ts +0 -2
- package/app/components/product-dialog/product-dialog.component.d.ts +0 -27
- package/app/components/product-dialog/product-dialog.module.d.ts +0 -2
- package/app/components/product-documents/product-document.module.d.ts +0 -2
- package/app/components/product-documents/product-documents.component.d.ts +0 -10
- package/app/components/product-external-source/product-external-source.component.d.ts +0 -51
- package/app/components/product-external-source/product-external-source.module.d.ts +0 -2
- package/app/components/product-hd/product-hd.component.d.ts +0 -25
- package/app/components/product-hd/product-hd.module.d.ts +0 -2
- package/app/components/product-info-tabs/product-info-tabs.component.d.ts +0 -18
- package/app/components/product-info-tabs/product-info-tabs.module.d.ts +0 -2
- package/app/components/product-page/product-page.component.d.ts +0 -66
- package/app/components/product-page/product-page.module.d.ts +0 -2
- package/app/components/product-price/product-price.component.d.ts +0 -19
- package/app/components/product-price/product-price.module.d.ts +0 -2
- package/app/components/product-properties/product-properties.component.d.ts +0 -16
- package/app/components/product-properties/product-properties.module.d.ts +0 -2
- package/app/components/product-related/product-related.component.d.ts +0 -33
- package/app/components/product-related/product-related.module.d.ts +0 -2
- package/app/components/product-selector-type/product-selector-type.component.d.ts +0 -22
- package/app/components/product-selector-type/product-selector-type.module.d.ts +0 -2
- package/app/components/product-stock/product-stock.component.d.ts +0 -20
- package/app/components/product-stock/product-stock.module.d.ts +0 -2
- package/app/components/product-symbols/product-symbols.component.d.ts +0 -10
- package/app/components/product-symbols/product-symbols.module.d.ts +0 -2
- package/app/components/render-carousel/render-carousel.component.d.ts +0 -40
- package/app/components/render-carousel/render-carousel.module.d.ts +0 -2
- package/app/enum/icon.enum.d.ts +0 -22
- package/app/enum/language-code.enum.d.ts +0 -6
- package/app/enum/selector-type.enum.d.ts +0 -5
- package/app/ione-product.component.d.ts +0 -47
- package/app/ione-product.module.d.ts +0 -2
- package/app/model/article-quantity.model.d.ts +0 -5
- package/app/model/icon.d.ts +0 -4
- package/app/model/productSettings.d.ts +0 -18
- package/app/model/render-modes.d.ts +0 -5
- package/app/model/render-parameters.d.ts +0 -7
- package/app/model/settings-options.d.ts +0 -10
- package/app/model/stock-and-delivery.d.ts +0 -5
- package/app/pipe/localize.pipe.d.ts +0 -7
- package/app/pipe/pipe.module.d.ts +0 -2
- package/app/product-version.d.ts +0 -6
- package/app/service/dictionary.service.d.ts +0 -24
- package/app/service/icon-cache.service.d.ts +0 -17
- package/app/service/product-connector-adapter.service.d.ts +0 -43
- package/app/service/product-connector.service.d.ts +0 -43
- package/app/service/product-event.service.d.ts +0 -27
- package/app/service/product-script-loader.service.d.ts +0 -9
- package/app/service/product-settings.service.d.ts +0 -16
- package/app/utils/bit-utils.d.ts +0 -7
- package/app/utils/json-utils.service.d.ts +0 -3
- package/assets/dictionary/text.properties.d.ts +0 -3
- package/bundles/colijnit-product.umd.js +0 -4317
- package/bundles/colijnit-product.umd.js.map +0 -1
- package/colijnit-product.d.ts +0 -49
- package/colijnit-product.metadata.json +0 -1
- package/esm2015/app/bundle/service/local-storage.service.js +0 -37
- package/esm2015/app/components/core/header/header.component.js +0 -26
- package/esm2015/app/components/core/header/header.module.js +0 -19
- package/esm2015/app/components/image-carousel/image-carousel.component.js +0 -288
- package/esm2015/app/components/image-carousel/image-carousel.module.js +0 -23
- package/esm2015/app/components/product-additional-description/product-additional-description.component.js +0 -58
- package/esm2015/app/components/product-additional-description/product-additional-description.module.js +0 -21
- package/esm2015/app/components/product-additional-info/product-additional-info.component.js +0 -108
- package/esm2015/app/components/product-additional-info/product-additional-info.module.js +0 -21
- package/esm2015/app/components/product-addtocart/product-addtocart.component.js +0 -185
- package/esm2015/app/components/product-addtocart/product-addtocart.module.js +0 -26
- package/esm2015/app/components/product-delivery/product-delivery.component.js +0 -49
- package/esm2015/app/components/product-delivery/product-delivery.module.js +0 -23
- package/esm2015/app/components/product-description/product-description.component.js +0 -23
- package/esm2015/app/components/product-description/product-description.module.js +0 -19
- package/esm2015/app/components/product-dialog/product-dialog.component.js +0 -86
- package/esm2015/app/components/product-dialog/product-dialog.module.js +0 -25
- package/esm2015/app/components/product-documents/product-document.module.js +0 -25
- package/esm2015/app/components/product-documents/product-documents.component.js +0 -31
- package/esm2015/app/components/product-external-source/product-external-source.component.js +0 -192
- package/esm2015/app/components/product-external-source/product-external-source.module.js +0 -23
- package/esm2015/app/components/product-hd/product-hd.component.js +0 -124
- package/esm2015/app/components/product-hd/product-hd.module.js +0 -23
- package/esm2015/app/components/product-info-tabs/product-info-tabs.component.js +0 -82
- package/esm2015/app/components/product-info-tabs/product-info-tabs.module.js +0 -29
- package/esm2015/app/components/product-page/product-page.component.js +0 -254
- package/esm2015/app/components/product-page/product-page.module.js +0 -50
- package/esm2015/app/components/product-price/product-price.component.js +0 -75
- package/esm2015/app/components/product-price/product-price.module.js +0 -23
- package/esm2015/app/components/product-properties/product-properties.component.js +0 -61
- package/esm2015/app/components/product-properties/product-properties.module.js +0 -21
- package/esm2015/app/components/product-related/product-related.component.js +0 -137
- package/esm2015/app/components/product-related/product-related.module.js +0 -25
- package/esm2015/app/components/product-selector-type/product-selector-type.component.js +0 -63
- package/esm2015/app/components/product-selector-type/product-selector-type.module.js +0 -26
- package/esm2015/app/components/product-stock/product-stock.component.js +0 -69
- package/esm2015/app/components/product-stock/product-stock.module.js +0 -23
- package/esm2015/app/components/product-symbols/product-symbols.component.js +0 -49
- package/esm2015/app/components/product-symbols/product-symbols.module.js +0 -26
- package/esm2015/app/components/render-carousel/render-carousel.component.js +0 -127
- package/esm2015/app/components/render-carousel/render-carousel.module.js +0 -25
- package/esm2015/app/enum/icon.enum.js +0 -24
- package/esm2015/app/enum/language-code.enum.js +0 -8
- package/esm2015/app/enum/selector-type.enum.js +0 -7
- package/esm2015/app/ione-product.component.js +0 -165
- package/esm2015/app/ione-product.module.js +0 -36
- package/esm2015/app/model/article-quantity.model.js +0 -3
- package/esm2015/app/model/icon.js +0 -23
- package/esm2015/app/model/productSettings.js +0 -14
- package/esm2015/app/model/render-modes.js +0 -7
- package/esm2015/app/model/render-parameters.js +0 -10
- package/esm2015/app/model/settings-options.js +0 -13
- package/esm2015/app/model/stock-and-delivery.js +0 -8
- package/esm2015/app/pipe/localize.pipe.js +0 -27
- package/esm2015/app/pipe/pipe.module.js +0 -18
- package/esm2015/app/product-version.js +0 -10
- package/esm2015/app/service/dictionary.service.js +0 -94
- package/esm2015/app/service/icon-cache.service.js +0 -40
- package/esm2015/app/service/product-connector-adapter.service.js +0 -199
- package/esm2015/app/service/product-connector.service.js +0 -115
- package/esm2015/app/service/product-event.service.js +0 -27
- package/esm2015/app/service/product-script-loader.service.js +0 -68
- package/esm2015/app/service/product-settings.service.js +0 -86
- package/esm2015/app/utils/bit-utils.js +0 -18
- package/esm2015/app/utils/json-utils.service.js +0 -29
- package/esm2015/assets/dictionary/text.properties.js +0 -102
- package/esm2015/colijnit-product.js +0 -50
- package/esm2015/public_api.js +0 -10
- package/fesm2015/colijnit-product.js +0 -3529
- package/fesm2015/colijnit-product.js.map +0 -1
- package/public_api.d.ts +0 -9
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core';
|
|
3
|
-
import { ProductConnectorService } from '../../service/product-connector.service';
|
|
4
|
-
import { combineLatest } from 'rxjs';
|
|
5
|
-
import { StockAndDelivery } from '../../model/stock-and-delivery';
|
|
6
|
-
import { SelectorType } from '../../enum/selector-type.enum';
|
|
7
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
8
|
-
import { IconEnum } from '../../enum/icon.enum';
|
|
9
|
-
import { IconCacheService } from '../../service/icon-cache.service';
|
|
10
|
-
import { ProductSettingsService } from '../../service/product-settings.service';
|
|
11
|
-
import { ProductEventService } from '../../service/product-event.service';
|
|
12
|
-
export class ProductPageComponent {
|
|
13
|
-
constructor(_ione, _renderer, _changeDetector, iconCache, settingsService, appEventService) {
|
|
14
|
-
this._ione = _ione;
|
|
15
|
-
this._renderer = _renderer;
|
|
16
|
-
this._changeDetector = _changeDetector;
|
|
17
|
-
this.iconCache = iconCache;
|
|
18
|
-
this.settingsService = settingsService;
|
|
19
|
-
this.appEventService = appEventService;
|
|
20
|
-
this.icon = IconEnum;
|
|
21
|
-
this.createFrozenArticle = true;
|
|
22
|
-
this.isReturn = false;
|
|
23
|
-
this.showRelatedProductsPopup = false;
|
|
24
|
-
this.openStockEvent = new EventEmitter();
|
|
25
|
-
this.configurable = true;
|
|
26
|
-
this.threeD = false;
|
|
27
|
-
this.show2D = true;
|
|
28
|
-
this.show3D = false;
|
|
29
|
-
this.configuring = false;
|
|
30
|
-
this.showAddToCart = false;
|
|
31
|
-
this.fullscreenAnimationEnd = false;
|
|
32
|
-
this.settingsLoaded = false;
|
|
33
|
-
this._fullScreen = false;
|
|
34
|
-
this._subs = [];
|
|
35
|
-
this._subs.push(this.appEventService.onForceRenderImage.subscribe((x) => {
|
|
36
|
-
if (this.selections.nativeElement) {
|
|
37
|
-
this.selections.nativeElement.forceRenderImage();
|
|
38
|
-
}
|
|
39
|
-
}), this.settingsService.settingsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)), this._pageLoadedSubscription = combineLatest([
|
|
40
|
-
this._ione.controllerInitialized,
|
|
41
|
-
this._ione.articleLoaded
|
|
42
|
-
]).subscribe(([initialized, articleLoaded]) => {
|
|
43
|
-
if (initialized && articleLoaded) {
|
|
44
|
-
this.settingsLoaded = initialized;
|
|
45
|
-
}
|
|
46
|
-
}),
|
|
47
|
-
// this._ione.controllerInitialized.subscribe((initialized: boolean) => {
|
|
48
|
-
// this.settingsLoaded = initialized;
|
|
49
|
-
// }),
|
|
50
|
-
this.appEventService.onAnswersAvailable.subscribe((answers) => {
|
|
51
|
-
if (answers && this.configurable) {
|
|
52
|
-
this.showAddToCart = false;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.showAddToCart = true;
|
|
56
|
-
}
|
|
57
|
-
}), this.appEventService.onGetRenderForRenderCarousel.subscribe((renderParameters) => {
|
|
58
|
-
if (this.selections.nativeElement) {
|
|
59
|
-
this.selections.nativeElement.getRenderForRenderCarousel(renderParameters);
|
|
60
|
-
}
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
set sku(value) {
|
|
64
|
-
if (value) {
|
|
65
|
-
if (this.configuring) {
|
|
66
|
-
this.show3D = false;
|
|
67
|
-
this.fullScreen = false;
|
|
68
|
-
this.configuring = false;
|
|
69
|
-
this._changeDetector.detectChanges();
|
|
70
|
-
}
|
|
71
|
-
this._sku = value;
|
|
72
|
-
this._getArticle();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
get sku() {
|
|
76
|
-
return this._sku;
|
|
77
|
-
}
|
|
78
|
-
set settings(value) {
|
|
79
|
-
if (value) {
|
|
80
|
-
if (typeof value === 'string') {
|
|
81
|
-
this._settings = JSON.parse(value);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
this._settings = value;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
get settings() {
|
|
89
|
-
return this._settings;
|
|
90
|
-
}
|
|
91
|
-
set fullScreen(value) {
|
|
92
|
-
this._fullScreen = value;
|
|
93
|
-
this.fullscreenAnimationEnd = true;
|
|
94
|
-
this._changeDetector.detectChanges();
|
|
95
|
-
// setTimeout(() => {
|
|
96
|
-
// this.fullscreenAnimationEnd = true;
|
|
97
|
-
// }, 400)
|
|
98
|
-
}
|
|
99
|
-
get fullScreen() {
|
|
100
|
-
return this._fullScreen;
|
|
101
|
-
}
|
|
102
|
-
get fullScreenIcon() {
|
|
103
|
-
return this.fullScreen ? this.icon.NormalScreen : this.icon.FullScreen;
|
|
104
|
-
}
|
|
105
|
-
set currentView(value) {
|
|
106
|
-
this._currentView = value;
|
|
107
|
-
this.show2D = this._currentView === SelectorType.TwoD;
|
|
108
|
-
this.show3D = this._currentView === SelectorType.ThreeD;
|
|
109
|
-
this._changeDetector.detectChanges();
|
|
110
|
-
}
|
|
111
|
-
get currentView() {
|
|
112
|
-
return this._currentView;
|
|
113
|
-
}
|
|
114
|
-
ngOnInit() {
|
|
115
|
-
if (this._settings) {
|
|
116
|
-
this.settingsService.settings = undefined;
|
|
117
|
-
this.settingsService.createSettingsFromObject(this._settings);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
this._settings = this.settingsService.settings;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
ngAfterViewInit() {
|
|
124
|
-
}
|
|
125
|
-
ngOnDestroy() {
|
|
126
|
-
this._subs.forEach(s => s.unsubscribe());
|
|
127
|
-
if (this._initializedSub) {
|
|
128
|
-
this._initializedSub.unsubscribe();
|
|
129
|
-
}
|
|
130
|
-
this._pageLoadedSubscription.unsubscribe();
|
|
131
|
-
this.configurator = undefined;
|
|
132
|
-
this.selections = undefined;
|
|
133
|
-
this.fullscreenbutton = undefined;
|
|
134
|
-
}
|
|
135
|
-
setInstance(event) {
|
|
136
|
-
if (event.detail) {
|
|
137
|
-
this._ione.setInstance(event.detail);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
handleStartConfiguration() {
|
|
141
|
-
this.configuring = true;
|
|
142
|
-
this._changeDetector.detectChanges();
|
|
143
|
-
}
|
|
144
|
-
showFullScreen() {
|
|
145
|
-
this.fullScreen = !this.fullScreen;
|
|
146
|
-
}
|
|
147
|
-
_handleSettingsLoaded(loaded) {
|
|
148
|
-
if (loaded) {
|
|
149
|
-
this._ione.initConnection();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
_getArticle() {
|
|
153
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
if (this._initializedSub) {
|
|
155
|
-
this._initializedSub.unsubscribe();
|
|
156
|
-
}
|
|
157
|
-
this._initializedSub = this._ione.controllerInitialized.subscribe((init) => __awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
if (init) {
|
|
159
|
-
this._ione.getFullArticle(this._sku).then((article) => {
|
|
160
|
-
this.article = article;
|
|
161
|
-
if (this.article) {
|
|
162
|
-
this.configurable = this.article.goodType === 'B' && (this.article.isConfigurable || this.article.isConfigurable === undefined);
|
|
163
|
-
// this.configurable = this.article.goodType === 'B';
|
|
164
|
-
if (this.configurable) {
|
|
165
|
-
this.showAddToCart = false;
|
|
166
|
-
this.currentView = SelectorType.TwoD;
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
this.showAddToCart = true;
|
|
170
|
-
}
|
|
171
|
-
this.threeD = this.article.is3D;
|
|
172
|
-
this.selectorType = this.article.selectorTypeCustomer;
|
|
173
|
-
this._ione.getDeliveryPrognosis(this.article.goodId).then((stockInfo) => {
|
|
174
|
-
const stockAndDelivery = stockInfo;
|
|
175
|
-
this.stockAndDelivery = new StockAndDelivery(0, stockAndDelivery.returnValue ? stockAndDelivery.returnValue : ' ');
|
|
176
|
-
this._changeDetector.detectChanges();
|
|
177
|
-
});
|
|
178
|
-
this._changeDetector.detectChanges();
|
|
179
|
-
}
|
|
180
|
-
this._ione.articleLoaded.next(true);
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
}));
|
|
184
|
-
this.showRelatedProductsPopup = false;
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
openStock() {
|
|
188
|
-
this.openStockEvent.emit();
|
|
189
|
-
}
|
|
190
|
-
handlePopUpChange(event) {
|
|
191
|
-
this.showRelatedProductsPopup = event;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
ProductPageComponent.decorators = [
|
|
195
|
-
{ type: Component, args: [{
|
|
196
|
-
selector: 'app-product-page',
|
|
197
|
-
template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n\r\n <app-image-carousel\r\n *ngIf=\"!enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [images]=\"article?.images\"\r\n [showRefresh]=\"configurable && threeD\">\r\n </app-image-carousel>\r\n\r\n <app-render-carousel\r\n *ngIf=\"enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [article]=\"article\">\r\n </app-render-carousel>\r\n\r\n <ng-container *ngIf=\"settingsLoaded && this.configurable\">\r\n <threed-configurator\r\n #configurator\r\n class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n </threed-configurator>\r\n </ng-container>\r\n\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\"\r\n [class.show-selections]=\"configuring\"\r\n [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n (onAnswersAvailable)=\"appEventService.onAnswersAvailable.next($event.detail)\"\r\n (onReadyToRender)=\"appEventService.onReadyToRender.next($event.detail)\"\r\n (onRenderImageReceived)=\"appEventService.onRenderImageReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n (showRelatedPopup)=\"handlePopUpChange($event)\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\" *ngIf=\"article\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showRelatedProductsPopup\">\r\n <co-product-dialog\r\n [mainArticle]=\"article\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n (closeRelatedPopup)=\"handlePopUpChange($event)\"\r\n >\r\n </co-product-dialog>\r\n\r\n <!-- <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"-->\r\n <!-- [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>-->\r\n </div>\r\n\r\n\r\n </div>\r\n</ng-container>\r\n",
|
|
198
|
-
animations: [
|
|
199
|
-
trigger('toggleFullScreen', [
|
|
200
|
-
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
201
|
-
state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
|
|
202
|
-
transition('halfscreen <=> fullscreen', animate('200ms ease-in-out'))
|
|
203
|
-
]),
|
|
204
|
-
trigger('toggleTopLeft', [
|
|
205
|
-
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0' })),
|
|
206
|
-
state('halfscreen', style({ 'position': 'absolute', 'top': '*', 'left': '*' })),
|
|
207
|
-
transition('halfscreen <=> fullscreen', animate('200ms ease-in-out'))
|
|
208
|
-
]),
|
|
209
|
-
trigger('toggleTopRight', [
|
|
210
|
-
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'right': '0' })),
|
|
211
|
-
state('halfscreen', style({ 'position': '*', 'top': '*', 'right': '*' })),
|
|
212
|
-
transition('halfscreen <=> fullscreen', animate('200ms ease-in-out'))
|
|
213
|
-
]),
|
|
214
|
-
trigger('toggleFullScreenRight', [
|
|
215
|
-
state('fullscreen', style({ 'position': 'fixed', 'width': '400px', 'top': '0', 'right': '0' })),
|
|
216
|
-
state('halfscreen', style({ 'position': '*', 'width': '*', 'top': '*', 'right': '*' })),
|
|
217
|
-
transition('halfscreen <=> fullscreen', animate('200ms ease-in-out'))
|
|
218
|
-
]),
|
|
219
|
-
trigger('toggleVisibilityByState', [
|
|
220
|
-
state('hide', style({ 'opacity': '0', 'display': 'none' })),
|
|
221
|
-
state('show', style({ 'display': 'block', 'opacity': '1' })),
|
|
222
|
-
transition('hide <=> show', animate('200ms 100ms ease-in-out'))
|
|
223
|
-
]),
|
|
224
|
-
trigger('toggleVisibility', [
|
|
225
|
-
state('void', style({ 'opacity': '0' })),
|
|
226
|
-
state('*', style({ 'opacity': '1' })),
|
|
227
|
-
transition('void => *', animate('200ms ease-in-out'))
|
|
228
|
-
])
|
|
229
|
-
],
|
|
230
|
-
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{margin-top:0}.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{width:100%}.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}.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;grid-gap:15px;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:bold;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:bold;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{width:100%}.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"]
|
|
231
|
-
},] }
|
|
232
|
-
];
|
|
233
|
-
ProductPageComponent.ctorParameters = () => [
|
|
234
|
-
{ type: ProductConnectorService },
|
|
235
|
-
{ type: Renderer2 },
|
|
236
|
-
{ type: ChangeDetectorRef },
|
|
237
|
-
{ type: IconCacheService },
|
|
238
|
-
{ type: ProductSettingsService },
|
|
239
|
-
{ type: ProductEventService }
|
|
240
|
-
];
|
|
241
|
-
ProductPageComponent.propDecorators = {
|
|
242
|
-
configurator: [{ type: ViewChild, args: ['configurator', { read: ElementRef },] }],
|
|
243
|
-
selections: [{ type: ViewChild, args: ['selections', { read: ElementRef },] }],
|
|
244
|
-
fullscreenbutton: [{ type: ViewChild, args: ['fullscreenbutton', { read: ElementRef },] }],
|
|
245
|
-
sku: [{ type: Input }],
|
|
246
|
-
settings: [{ type: Input }],
|
|
247
|
-
externalSource: [{ type: Input }],
|
|
248
|
-
createFrozenArticle: [{ type: Input }],
|
|
249
|
-
isReturn: [{ type: Input }],
|
|
250
|
-
showRelatedProductsPopup: [{ type: Input }],
|
|
251
|
-
enableRenderCarousel: [{ type: Input }],
|
|
252
|
-
openStockEvent: [{ type: Output }]
|
|
253
|
-
};
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXBhZ2UvcHJvZHVjdC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE9BQU8sRUFBQyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBMEN4RSxNQUFNLE9BQU8sb0JBQW9CO0lBOEcvQixZQUFvQixLQUE4QixFQUN4QyxTQUFvQixFQUNwQixlQUFrQyxFQUNuQyxTQUEyQixFQUMzQixlQUF1QyxFQUN2QyxlQUFvQztRQUx6QixVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFB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QUMsQ0FBQzt3QkFDdEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDbkMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDdEQsQ0FBQztpQkFDSDs7YUFFRjs7O1lBbERPLHVCQUF1QjtZQURrRixTQUFTO1lBQW5HLGlCQUFpQjtZQVFoQyxnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLG1CQUFtQjs7OzJCQTZDeEIsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7eUJBRzVDLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDOytCQUcxQyxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2tCQUdoRCxLQUFLO3VCQWtCTCxLQUFLOzZCQVdMLEtBQUs7a0NBR0wsS0FBSzt1QkFHTCxLQUFLO3VDQUdMLEtBQUs7bUNBR0wsS0FBSzs2QkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UHJvZHVjdENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3QnO1xyXG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U3RvY2tBbmREZWxpdmVyeX0gZnJvbSAnLi4vLi4vbW9kZWwvc3RvY2stYW5kLWRlbGl2ZXJ5JztcclxuaW1wb3J0IHtTZWxlY3RvclR5cGV9IGZyb20gJy4uLy4uL2VudW0vc2VsZWN0b3ItdHlwZS5lbnVtJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge0ljb25FbnVtfSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1zZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHtQcm9kdWN0RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7RGVsaXZlcnlQcm9nbm9zaXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LXByb2dub3Npcyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2V9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtcGFnZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3RvZ2dsZUZ1bGxTY3JlZW4nLCBbXHJcbiAgICAgIHN0YXRlKCdmdWxsc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICdmaXhlZCcsICd0b3AnOiAnMCcsICdsZWZ0JzogJzAnLCAnd2lkdGgnOiAnMTAwJScsICdoZWlnaHQnOiAnMTAwJSd9KSksXHJcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICcqJywgJ3RvcCc6ICcqJywgJ2xlZnQnOiAnKicsICd3aWR0aCc6ICcqJywgJ2hlaWdodCc6ICcqJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcExlZnQnLCBbXHJcbiAgICAgIHN0YXRlKCdmdWxsc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICdmaXhlZCcsICd0b3AnOiAnMCcsICdsZWZ0JzogJzAnfSkpLFxyXG4gICAgICBzdGF0ZSgnaGFsZnNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnYWJzb2x1dGUnLCAndG9wJzogJyonLCAnbGVmdCc6ICcqJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcFJpZ2h0JywgW1xyXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAndG9wJzogJzAnLCAncmlnaHQnOiAnMCd9KSksXHJcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICcqJywgJ3RvcCc6ICcqJywgJ3JpZ2h0JzogJyonfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdoYWxmc2NyZWVuIDw9PiBmdWxsc2NyZWVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSlcclxuICAgIF0pLFxyXG4gICAgdHJpZ2dlcigndG9nZ2xlRnVsbFNjcmVlblJpZ2h0JywgW1xyXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAnd2lkdGgnOiAnNDAwcHgnLCAndG9wJzogJzAnLCAncmlnaHQnOiAnMCd9KSksXHJcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICcqJywgJ3dpZHRoJzogJyonLCAndG9wJzogJyonLCAncmlnaHQnOiAnKid9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ2hhbGZzY3JlZW4gPD0+IGZ1bGxzY3JlZW4nLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKVxyXG4gICAgXSksXHJcbiAgICB0cmlnZ2VyKCd0b2dnbGVWaXNpYmlsaXR5QnlTdGF0ZScsIFtcclxuICAgICAgc3RhdGUoJ2hpZGUnLCBzdHlsZSh7J29wYWNpdHknOiAnMCcsICdkaXNwbGF5JzogJ25vbmUnfSkpLFxyXG4gICAgICBzdGF0ZSgnc2hvdycsIHN0eWxlKHsnZGlzcGxheSc6ICdibG9jaycsICdvcGFjaXR5JzogJzEnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdoaWRlIDw9PiBzaG93JywgYW5pbWF0ZSgnMjAwbXMgMTAwbXMgZWFzZS1pbi1vdXQnKSlcclxuICAgIF0pLFxyXG4gICAgdHJpZ2dlcigndG9nZ2xlVmlzaWJpbGl0eScsIFtcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7J29wYWNpdHknOiAnMCd9KSksXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoeydvcGFjaXR5JzogJzEnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKVxyXG4gICAgXSlcclxuICBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb246IHR5cGVvZiBJY29uRW51bSA9IEljb25FbnVtO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb25maWd1cmF0b3InLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGNvbmZpZ3VyYXRvcjogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0aW9ucycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgc2VsZWN0aW9uczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZnVsbHNjcmVlbmJ1dHRvbicsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZnVsbHNjcmVlbmJ1dHRvbjogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNrdSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMuY29uZmlndXJpbmcpIHtcclxuICAgICAgICB0aGlzLnNob3czRCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZnVsbFNjcmVlbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29uZmlndXJpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fc2t1ID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuX2dldEFydGljbGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2t1KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2t1O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNldHRpbmdzKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gSlNPTi5wYXJzZSh2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXh0ZXJuYWxTb3VyY2U6IEV4dGVybmFsU291cmNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjcmVhdGVGcm96ZW5BcnRpY2xlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXR1cm46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVuYWJsZVJlbmRlckNhcm91c2VsOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb3BlblN0b2NrRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBmdWxsU2NyZWVuKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9mdWxsU2NyZWVuID0gdmFsdWU7XHJcbiAgICB0aGlzLmZ1bGxzY3JlZW5BbmltYXRpb25FbmQgPSB0cnVlO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgIHRoaXMuZnVsbHNjcmVlbkFuaW1hdGlvbkVuZCA9IHRydWU7XHJcbiAgICAvLyB9LCA0MDApXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGZ1bGxTY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZnVsbFNjcmVlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZnVsbFNjcmVlbkljb24oKTogSWNvbkVudW0ge1xyXG4gICAgcmV0dXJuIHRoaXMuZnVsbFNjcmVlbiA/IHRoaXMuaWNvbi5Ob3JtYWxTY3JlZW4gOiB0aGlzLmljb24uRnVsbFNjcmVlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgY3VycmVudFZpZXcodmFsdWU6IFNlbGVjdG9yVHlwZSkge1xyXG4gICAgdGhpcy5fY3VycmVudFZpZXcgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2hvdzJEID0gdGhpcy5fY3VycmVudFZpZXcgPT09IFNlbGVjdG9yVHlwZS5Ud29EO1xyXG4gICAgdGhpcy5zaG93M0QgPSB0aGlzLl9jdXJyZW50VmlldyA9PT0gU2VsZWN0b3JUeXBlLlRocmVlRDtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFZpZXcoKTogU2VsZWN0b3JUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VmlldztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcclxuICBwdWJsaWMgc3RvY2tBbmREZWxpdmVyeTogU3RvY2tBbmREZWxpdmVyeTtcclxuICBwdWJsaWMgY29uZmlndXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgdGhyZWVEOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdG9yVHlwZTogU2VsZWN0b3JUeXBlO1xyXG4gIHB1YmxpYyBzaG93MkQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93M0Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY29uZmlndXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0FkZFRvQ2FydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBmdWxsc2NyZWVuQW5pbWF0aW9uRW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc2t1OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWRTdWI6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIF9mdWxsU2NyZWVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfY3VycmVudFZpZXc6IFNlbGVjdG9yVHlwZTtcclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3NldHRpbmdzOiBhbnk7XHJcbiAgcHJpdmF0ZSBfcGFnZUxvYWRlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pb25lOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZSxcclxuICAgIHB1YmxpYyBhcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5hcHBFdmVudFNlcnZpY2Uub25Gb3JjZVJlbmRlckltYWdlLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbnMubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3Rpb25zLm5hdGl2ZUVsZW1lbnQuZm9yY2VSZW5kZXJJbWFnZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXHJcbiAgICAgIHRoaXMuX3BhZ2VMb2FkZWRTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgICB0aGlzLl9pb25lLmNvbnRyb2xsZXJJbml0aWFsaXplZCxcclxuICAgICAgICB0aGlzLl9pb25lLmFydGljbGVMb2FkZWRcclxuICAgICAgXSkuc3Vic2NyaWJlKChbaW5pdGlhbGl6ZWQsIGFydGljbGVMb2FkZWRdKSA9PiB7XHJcbiAgICAgICAgaWYgKGluaXRpYWxpemVkICYmIGFydGljbGVMb2FkZWQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0dGluZ3NMb2FkZWQgPSBpbml0aWFsaXplZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICAvLyB0aGlzLl9pb25lLmNvbnRyb2xsZXJJbml0aWFsaXplZC5zdWJzY3JpYmUoKGluaXRpYWxpemVkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIC8vICAgdGhpcy5zZXR0aW5nc0xvYWRlZCA9IGluaXRpYWxpemVkO1xyXG4gICAgICAvLyB9KSxcclxuICAgICAgdGhpcy5hcHBFdmVudFNlcnZpY2Uub25BbnN3ZXJzQXZhaWxhYmxlLnN1YnNjcmliZSgoYW5zd2VycykgPT4ge1xyXG4gICAgICAgIGlmIChhbnN3ZXJzICYmIHRoaXMuY29uZmlndXJhYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dBZGRUb0NhcnQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zaG93QWRkVG9DYXJ0ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLmFwcEV2ZW50U2VydmljZS5vbkdldFJlbmRlckZvclJlbmRlckNhcm91c2VsLnN1YnNjcmliZSgocmVuZGVyUGFyYW1ldGVyczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9ucy5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGlvbnMubmF0aXZlRWxlbWVudC5nZXRSZW5kZXJGb3JSZW5kZXJDYXJvdXNlbChyZW5kZXJQYXJhbWV0ZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuX3NldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5jcmVhdGVTZXR0aW5nc0Zyb21PYmplY3QodGhpcy5fc2V0dGluZ3MpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZFN1Yikge1xyXG4gICAgICB0aGlzLl9pbml0aWFsaXplZFN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcGFnZUxvYWRlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5jb25maWd1cmF0b3IgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNlbGVjdGlvbnMgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmZ1bGxzY3JlZW5idXR0b24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SW5zdGFuY2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQuZGV0YWlsKSB7XHJcbiAgICAgIHRoaXMuX2lvbmUuc2V0SW5zdGFuY2UoZXZlbnQuZGV0YWlsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdGFydENvbmZpZ3VyYXRpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZ3VyaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93RnVsbFNjcmVlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZnVsbFNjcmVlbiA9ICF0aGlzLmZ1bGxTY3JlZW47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChsb2FkZWQpIHtcclxuICAgICAgdGhpcy5faW9uZS5pbml0Q29ubmVjdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZ2V0QXJ0aWNsZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZFN1Yikge1xyXG4gICAgICB0aGlzLl9pbml0aWFsaXplZFN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW5pdGlhbGl6ZWRTdWIgPSB0aGlzLl9pb25lLmNvbnRyb2xsZXJJbml0aWFsaXplZC5zdWJzY3JpYmUoYXN5bmMgKGluaXQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKGluaXQpIHtcclxuICAgICAgICB0aGlzLl9pb25lLmdldEZ1bGxBcnRpY2xlKHRoaXMuX3NrdSkudGhlbigoYXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3QpID0+IHtcclxuICAgICAgICAgIHRoaXMuYXJ0aWNsZSA9IGFydGljbGU7XHJcbiAgICAgICAgICBpZiAodGhpcy5hcnRpY2xlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhYmxlID0gdGhpcy5hcnRpY2xlLmdvb2RUeXBlID09PSAnQicgJiYgKHRoaXMuYXJ0aWNsZS5pc0NvbmZpZ3VyYWJsZSB8fCB0aGlzLmFydGljbGUuaXNDb25maWd1cmFibGUgPT09IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuY29uZmlndXJhYmxlID0gdGhpcy5hcnRpY2xlLmdvb2RUeXBlID09PSAnQic7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYWJsZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0FkZFRvQ2FydCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXcgPSBTZWxlY3RvclR5cGUuVHdvRDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnNob3dBZGRUb0NhcnQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudGhyZWVEID0gdGhpcy5hcnRpY2xlLmlzM0Q7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0b3JUeXBlID0gdGhpcy5hcnRpY2xlLnNlbGVjdG9yVHlwZUN1c3RvbWVyO1xyXG4gICAgICAgICAgICB0aGlzLl9pb25lLmdldERlbGl2ZXJ5UHJvZ25vc2lzKHRoaXMuYXJ0aWNsZS5nb29kSWQpLnRoZW4oKHN0b2NrSW5mbzogRGVsaXZlcnlQcm9nbm9zaXMpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBzdG9ja0FuZERlbGl2ZXJ5OiBEZWxpdmVyeVByb2dub3NpcyA9IHN0b2NrSW5mbztcclxuICAgICAgICAgICAgICB0aGlzLnN0b2NrQW5kRGVsaXZlcnkgPSBuZXcgU3RvY2tBbmREZWxpdmVyeSgwLCBzdG9ja0FuZERlbGl2ZXJ5LnJldHVyblZhbHVlID8gc3RvY2tBbmREZWxpdmVyeS5yZXR1cm5WYWx1ZSA6ICcgJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5faW9uZS5hcnRpY2xlTG9hZGVkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaG93UmVsYXRlZFByb2R1Y3RzUG9wdXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuU3RvY2soKSB7XHJcbiAgICB0aGlzLm9wZW5TdG9ja0V2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVQb3BVcENoYW5nZShldmVudDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zaG93UmVsYXRlZFByb2R1Y3RzUG9wdXAgPSBldmVudDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ProductPageComponent } from './product-page.component';
|
|
4
|
-
import { ProductSelectorTypeModule } from '../product-selector-type/product-selector-type.module';
|
|
5
|
-
import { ImageCarouselModule } from '../image-carousel/image-carousel.module';
|
|
6
|
-
import { IconModule } from '@colijnit/corecomponents';
|
|
7
|
-
import { ProductDescriptionModule } from '../product-description/product-description.module';
|
|
8
|
-
import { ProductAdditionalDescriptionModule } from '../product-additional-description/product-additional-description.module';
|
|
9
|
-
import { ProductPriceModule } from '../product-price/product-price.module';
|
|
10
|
-
import { ProductAddtocartModule } from '../product-addtocart/product-addtocart.module';
|
|
11
|
-
import { ProductRelatedModule } from '../product-related/product-related.module';
|
|
12
|
-
import { ProductStockModule } from '../product-stock/product-stock.module';
|
|
13
|
-
import { ProductDeliveryModule } from '../product-delivery/product-delivery.module';
|
|
14
|
-
import { ProductInfoTabsModule } from '../product-info-tabs/product-info-tabs.module';
|
|
15
|
-
import { PipeModule } from '../../pipe/pipe.module';
|
|
16
|
-
import { ProductDialogModule } from "../product-dialog/product-dialog.module";
|
|
17
|
-
import { LoaderModule } from "@colijnit/corecomponents_v12";
|
|
18
|
-
import { RenderCarouselModule } from "../render-carousel/render-carousel.module";
|
|
19
|
-
export class ProductPageModule {
|
|
20
|
-
}
|
|
21
|
-
ProductPageModule.decorators = [
|
|
22
|
-
{ type: NgModule, args: [{
|
|
23
|
-
imports: [
|
|
24
|
-
CommonModule,
|
|
25
|
-
ProductSelectorTypeModule,
|
|
26
|
-
ImageCarouselModule,
|
|
27
|
-
IconModule,
|
|
28
|
-
ProductDescriptionModule,
|
|
29
|
-
ProductAdditionalDescriptionModule,
|
|
30
|
-
ProductPriceModule,
|
|
31
|
-
ProductAddtocartModule,
|
|
32
|
-
ProductRelatedModule,
|
|
33
|
-
ProductStockModule,
|
|
34
|
-
ProductDeliveryModule,
|
|
35
|
-
ProductInfoTabsModule,
|
|
36
|
-
PipeModule,
|
|
37
|
-
ProductDialogModule,
|
|
38
|
-
LoaderModule,
|
|
39
|
-
RenderCarouselModule
|
|
40
|
-
],
|
|
41
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
42
|
-
declarations: [
|
|
43
|
-
ProductPageComponent
|
|
44
|
-
],
|
|
45
|
-
exports: [
|
|
46
|
-
ProductPageComponent
|
|
47
|
-
]
|
|
48
|
-
},] }
|
|
49
|
-
];
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wYWdlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXBhZ2UvcHJvZHVjdC1wYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUVBQXlFLENBQUM7QUFDM0gsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQTZCL0UsTUFBTSxPQUFPLGlCQUFpQjs7O1lBM0I3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixtQkFBbUI7b0JBQ25CLFVBQVU7b0JBQ1Ysd0JBQXdCO29CQUN4QixrQ0FBa0M7b0JBQ2xDLGtCQUFrQjtvQkFDbEIsc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLFVBQVU7b0JBQ1YsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLG9CQUFvQjtpQkFDckI7Z0JBQ0MsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ2pDLFlBQVksRUFBRTtvQkFDVixvQkFBb0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxvQkFBb0I7aUJBQ3ZCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7UHJvZHVjdFBhZ2VDb21wb25lbnR9IGZyb20gJy4vcHJvZHVjdC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvZHVjdFNlbGVjdG9yVHlwZU1vZHVsZX0gZnJvbSAnLi4vcHJvZHVjdC1zZWxlY3Rvci10eXBlL3Byb2R1Y3Qtc2VsZWN0b3ItdHlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge0ltYWdlQ2Fyb3VzZWxNb2R1bGV9IGZyb20gJy4uL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLm1vZHVsZSc7XHJcbmltcG9ydCB7SWNvbk1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzJztcclxuaW1wb3J0IHtQcm9kdWN0RGVzY3JpcHRpb25Nb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtZGVzY3JpcHRpb24vcHJvZHVjdC1kZXNjcmlwdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1Byb2R1Y3RBZGRpdGlvbmFsRGVzY3JpcHRpb25Nb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtYWRkaXRpb25hbC1kZXNjcmlwdGlvbi9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24ubW9kdWxlJztcclxuaW1wb3J0IHtQcm9kdWN0UHJpY2VNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtcHJpY2UvcHJvZHVjdC1wcmljZS5tb2R1bGUnO1xyXG5pbXBvcnQge1Byb2R1Y3RBZGR0b2NhcnRNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtYWRkdG9jYXJ0L3Byb2R1Y3QtYWRkdG9jYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7UHJvZHVjdFJlbGF0ZWRNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtcmVsYXRlZC9wcm9kdWN0LXJlbGF0ZWQubW9kdWxlJztcclxuaW1wb3J0IHtQcm9kdWN0U3RvY2tNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3Qtc3RvY2svcHJvZHVjdC1zdG9jay5tb2R1bGUnO1xyXG5pbXBvcnQge1Byb2R1Y3REZWxpdmVyeU1vZHVsZX0gZnJvbSAnLi4vcHJvZHVjdC1kZWxpdmVyeS9wcm9kdWN0LWRlbGl2ZXJ5Lm1vZHVsZSc7XHJcbmltcG9ydCB7UHJvZHVjdEluZm9UYWJzTW9kdWxlfSBmcm9tICcuLi9wcm9kdWN0LWluZm8tdGFicy9wcm9kdWN0LWluZm8tdGFicy5tb2R1bGUnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1Byb2R1Y3REaWFsb2dNb2R1bGV9IGZyb20gXCIuLi9wcm9kdWN0LWRpYWxvZy9wcm9kdWN0LWRpYWxvZy5tb2R1bGVcIjtcclxuaW1wb3J0IHtMb2FkZXJNb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7UmVuZGVyQ2Fyb3VzZWxNb2R1bGV9IGZyb20gXCIuLi9yZW5kZXItY2Fyb3VzZWwvcmVuZGVyLWNhcm91c2VsLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcm9kdWN0U2VsZWN0b3JUeXBlTW9kdWxlLFxyXG4gICAgSW1hZ2VDYXJvdXNlbE1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBQcm9kdWN0RGVzY3JpcHRpb25Nb2R1bGUsXHJcbiAgICBQcm9kdWN0QWRkaXRpb25hbERlc2NyaXB0aW9uTW9kdWxlLFxyXG4gICAgUHJvZHVjdFByaWNlTW9kdWxlLFxyXG4gICAgUHJvZHVjdEFkZHRvY2FydE1vZHVsZSxcclxuICAgIFByb2R1Y3RSZWxhdGVkTW9kdWxlLFxyXG4gICAgUHJvZHVjdFN0b2NrTW9kdWxlLFxyXG4gICAgUHJvZHVjdERlbGl2ZXJ5TW9kdWxlLFxyXG4gICAgUHJvZHVjdEluZm9UYWJzTW9kdWxlLFxyXG4gICAgUGlwZU1vZHVsZSxcclxuICAgIFByb2R1Y3REaWFsb2dNb2R1bGUsXHJcbiAgICBMb2FkZXJNb2R1bGUsXHJcbiAgICBSZW5kZXJDYXJvdXNlbE1vZHVsZVxyXG4gIF0sXHJcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBQcm9kdWN0UGFnZUNvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBQcm9kdWN0UGFnZUNvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFBhZ2VNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
2
|
-
export class ProductPriceComponent {
|
|
3
|
-
constructor(_changeDetector) {
|
|
4
|
-
this._changeDetector = _changeDetector;
|
|
5
|
-
this.showFromPrice = false;
|
|
6
|
-
this._configurable = false;
|
|
7
|
-
}
|
|
8
|
-
set pricing(value) {
|
|
9
|
-
this._pricing = value;
|
|
10
|
-
this._setPrices();
|
|
11
|
-
}
|
|
12
|
-
get pricing() {
|
|
13
|
-
return this._pricing;
|
|
14
|
-
}
|
|
15
|
-
set configurable(value) {
|
|
16
|
-
this._configurable = value;
|
|
17
|
-
this._setPrices();
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
}
|
|
21
|
-
_setPrices() {
|
|
22
|
-
if (this._pricing) {
|
|
23
|
-
this.valutaSign = this._getSign(this._pricing.retailCurrency);
|
|
24
|
-
if (this._configurable) {
|
|
25
|
-
this.fromPrice = this._pricing.retailBasePrice ? this._pricing.retailBasePrice : this._pricing.priceBaseline;
|
|
26
|
-
this.fromLabel = this._pricing.retailBasePrice ? 'PRICE' : 'FROM';
|
|
27
|
-
this.toPrice = undefined;
|
|
28
|
-
this.toLabel = '';
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
const hasSuggested = this._pricing.retailSuggestedPrice !== undefined && this._pricing.retailSuggestedPrice !== null;
|
|
32
|
-
this.fromPrice = hasSuggested ? this._pricing.retailSuggestedPrice : this._pricing.retailBasePrice;
|
|
33
|
-
this.fromLabel = hasSuggested ? 'Was' : 'PRICE';
|
|
34
|
-
// Always set toPrice to base price
|
|
35
|
-
this.toPrice = this._pricing.retailBasePrice;
|
|
36
|
-
this.toLabel = hasSuggested ? 'IS_NOW' : 'PRICE';
|
|
37
|
-
}
|
|
38
|
-
this._changeDetector.detectChanges();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
_getSign(currency) {
|
|
42
|
-
switch (currency) {
|
|
43
|
-
case 'EUR':
|
|
44
|
-
return '€';
|
|
45
|
-
default:
|
|
46
|
-
return '€';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
ProductPriceComponent.decorators = [
|
|
51
|
-
{ type: Component, args: [{
|
|
52
|
-
selector: 'app-product-price',
|
|
53
|
-
template: `
|
|
54
|
-
<div *ngIf="toPrice">
|
|
55
|
-
<div class="price-wrapper" *ngIf="fromPrice > toPrice">
|
|
56
|
-
<div class="from-price-label" [textContent]="fromLabel | localize"></div>
|
|
57
|
-
<div class="from-price" [textContent]="fromPrice | priceDisplay: valutaSign"></div>
|
|
58
|
-
</div>
|
|
59
|
-
<div class="price-wrapper">
|
|
60
|
-
<div class="to-price-label" [textContent]="toLabel | localize"></div>
|
|
61
|
-
<div class="to-price" [textContent]="toPrice | priceDisplay: valutaSign"></div>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
`,
|
|
65
|
-
styles: [":host{display:flex;flex-direction:column}.price-wrapper{width:100%;font-size:15px;margin:0 0 5px;display:inline-block}.price-wrapper:last-child{margin:0}.from-price-label,.to-price-label{color:#5b6875;display:none}.from-price{font-size:16px;font-weight:bold;text-decoration:line-through;color:#5b6875}.to-price{font-size:25px;font-weight:bold;color:#74b77f}@media screen and (max-width: 650px){.from-price{font-size:13px}.to-price{font-size:21px}}\n"]
|
|
66
|
-
},] }
|
|
67
|
-
];
|
|
68
|
-
ProductPriceComponent.ctorParameters = () => [
|
|
69
|
-
{ type: ChangeDetectorRef }
|
|
70
|
-
];
|
|
71
|
-
ProductPriceComponent.propDecorators = {
|
|
72
|
-
pricing: [{ type: Input }],
|
|
73
|
-
configurable: [{ type: Input }]
|
|
74
|
-
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wcmljZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wcmljZS9wcm9kdWN0LXByaWNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQW1CNUUsTUFBTSxPQUFPLHFCQUFxQjtJQTRCaEMsWUFBb0IsZUFBa0M7UUFBbEMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBTC9DLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRzlCLGtCQUFhLEdBQVksS0FBSyxDQUFDO0lBRW1CLENBQUM7SUExQjNELElBQ1csT0FBTyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBY0QsUUFBUTtJQUNSLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5RCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztnQkFDN0csSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO2dCQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzthQUNuQjtpQkFBTTtnQkFDTCxNQUFNLFlBQVksR0FBWSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixLQUFLLElBQUksQ0FBQztnQkFDOUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO2dCQUNuRyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ2hELG1DQUFtQztnQkFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQ2xEO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsUUFBZ0I7UUFDL0IsUUFBUSxRQUFRLEVBQUU7WUFDaEIsS0FBSyxLQUFLO2dCQUNSLE9BQU8sR0FBRyxDQUFDO1lBQ2I7Z0JBQ0UsT0FBTyxHQUFHLENBQUM7U0FDZDtJQUNILENBQUM7OztZQTVFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7OztHQVdUOzthQUVGOzs7WUFsQlEsaUJBQWlCOzs7c0JBcUJ2QixLQUFLOzJCQVVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFydGljbGVQcmljaW5nIH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1wcmljaW5nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtcHJpY2UnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2ICpuZ0lmPVwidG9QcmljZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utd3JhcHBlclwiICpuZ0lmPVwiZnJvbVByaWNlID4gdG9QcmljZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcm9tLXByaWNlLWxhYmVsXCIgW3RleHRDb250ZW50XT1cImZyb21MYWJlbCB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZyb20tcHJpY2VcIiBbdGV4dENvbnRlbnRdPVwiZnJvbVByaWNlIHwgcHJpY2VEaXNwbGF5OiB2YWx1dGFTaWduXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0by1wcmljZS1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCJ0b0xhYmVsIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG8tcHJpY2VcIiBbdGV4dENvbnRlbnRdPVwidG9QcmljZSB8IHByaWNlRGlzcGxheTogdmFsdXRhU2lnblwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1wcmljZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0UHJpY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcHJpY2luZyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9wcmljaW5nID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZXRQcmljZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcHJpY2luZygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ByaWNpbmc7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY29uZmlndXJhYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9jb25maWd1cmFibGUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3NldFByaWNlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZyb21QcmljZTogbnVtYmVyO1xyXG4gIHB1YmxpYyB0b1ByaWNlOiBudW1iZXI7XHJcbiAgcHVibGljIHZhbHV0YVNpZ246IHN0cmluZztcclxuICBwdWJsaWMgZnJvbUxhYmVsOiBzdHJpbmc7XHJcbiAgcHVibGljIHRvTGFiZWw6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0Zyb21QcmljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9wcmljaW5nOiBBcnRpY2xlUHJpY2luZztcclxuICBwcml2YXRlIF9jb25maWd1cmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRQcmljZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fcHJpY2luZykge1xyXG4gICAgICB0aGlzLnZhbHV0YVNpZ24gPSB0aGlzLl9nZXRTaWduKHRoaXMuX3ByaWNpbmcucmV0YWlsQ3VycmVuY3kpO1xyXG4gICAgICBpZiAodGhpcy5fY29uZmlndXJhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5mcm9tUHJpY2UgPSB0aGlzLl9wcmljaW5nLnJldGFpbEJhc2VQcmljZSA/IHRoaXMuX3ByaWNpbmcucmV0YWlsQmFzZVByaWNlIDogdGhpcy5fcHJpY2luZy5wcmljZUJhc2VsaW5lO1xyXG4gICAgICAgIHRoaXMuZnJvbUxhYmVsID0gdGhpcy5fcHJpY2luZy5yZXRhaWxCYXNlUHJpY2UgPyAnUFJJQ0UnIDogJ0ZST00nO1xyXG4gICAgICAgIHRoaXMudG9QcmljZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnRvTGFiZWwgPSAnJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBoYXNTdWdnZXN0ZWQ6IGJvb2xlYW4gPSB0aGlzLl9wcmljaW5nLnJldGFpbFN1Z2dlc3RlZFByaWNlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fcHJpY2luZy5yZXRhaWxTdWdnZXN0ZWRQcmljZSAhPT0gbnVsbDtcclxuICAgICAgICB0aGlzLmZyb21QcmljZSA9IGhhc1N1Z2dlc3RlZCA/IHRoaXMuX3ByaWNpbmcucmV0YWlsU3VnZ2VzdGVkUHJpY2UgOiB0aGlzLl9wcmljaW5nLnJldGFpbEJhc2VQcmljZTtcclxuICAgICAgICB0aGlzLmZyb21MYWJlbCA9IGhhc1N1Z2dlc3RlZCA/ICdXYXMnIDogJ1BSSUNFJztcclxuICAgICAgICAvLyBBbHdheXMgc2V0IHRvUHJpY2UgdG8gYmFzZSBwcmljZVxyXG4gICAgICAgIHRoaXMudG9QcmljZSA9IHRoaXMuX3ByaWNpbmcucmV0YWlsQmFzZVByaWNlO1xyXG4gICAgICAgIHRoaXMudG9MYWJlbCA9IGhhc1N1Z2dlc3RlZCA/ICdJU19OT1cnIDogJ1BSSUNFJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRTaWduKGN1cnJlbmN5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChjdXJyZW5jeSkge1xyXG4gICAgICBjYXNlICdFVVInOlxyXG4gICAgICAgIHJldHVybiAn4oKsJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ+KCrCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ProductPriceComponent } from './product-price.component';
|
|
4
|
-
import { PipeModule } from '../../pipe/pipe.module';
|
|
5
|
-
import { PriceDisplayPipeModule } from '@colijnit/corecomponents';
|
|
6
|
-
export class ProductPriceModule {
|
|
7
|
-
}
|
|
8
|
-
ProductPriceModule.decorators = [
|
|
9
|
-
{ type: NgModule, args: [{
|
|
10
|
-
imports: [
|
|
11
|
-
CommonModule,
|
|
12
|
-
PipeModule,
|
|
13
|
-
PriceDisplayPipeModule
|
|
14
|
-
],
|
|
15
|
-
declarations: [
|
|
16
|
-
ProductPriceComponent
|
|
17
|
-
],
|
|
18
|
-
exports: [
|
|
19
|
-
ProductPriceComponent
|
|
20
|
-
]
|
|
21
|
-
},] }
|
|
22
|
-
];
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wcmljZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wcmljZS9wcm9kdWN0LXByaWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFlaEUsTUFBTSxPQUFPLGtCQUFrQjs7O1lBYjlCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO29CQUNWLHNCQUFzQjtpQkFDekI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLHFCQUFxQjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLHFCQUFxQjtpQkFDeEI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtQcm9kdWN0UHJpY2VDb21wb25lbnR9IGZyb20gJy4vcHJvZHVjdC1wcmljZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1ByaWNlRGlzcGxheVBpcGVNb2R1bGV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50cyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIFByaWNlRGlzcGxheVBpcGVNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBQcm9kdWN0UHJpY2VDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgUHJvZHVjdFByaWNlQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0UHJpY2VNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
export const propertyMap = new Map([
|
|
3
|
-
['articleNr', 'ARTICLE_NUMBER'],
|
|
4
|
-
['catExtra', 'CATEGORY'],
|
|
5
|
-
['catType', 'CATEGORY_TYPE'],
|
|
6
|
-
['description', 'DESCRIPTION'],
|
|
7
|
-
['material', 'MATERIAL'],
|
|
8
|
-
['title', 'TITLE'],
|
|
9
|
-
['turnOverGroup', 'TURNOVERGROUP'],
|
|
10
|
-
['height', 'HEIGHT'],
|
|
11
|
-
['width', 'WIDTH']
|
|
12
|
-
]);
|
|
13
|
-
export class ProductPropertiesComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.showLabel = false;
|
|
16
|
-
this.properties = [];
|
|
17
|
-
}
|
|
18
|
-
set article(value) {
|
|
19
|
-
this._article = value;
|
|
20
|
-
this._prepareProperties();
|
|
21
|
-
}
|
|
22
|
-
get article() {
|
|
23
|
-
return this._article;
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
}
|
|
27
|
-
_prepareProperties() {
|
|
28
|
-
this.properties.length = 0;
|
|
29
|
-
if (!this._article) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
propertyMap.forEach((value, key) => {
|
|
33
|
-
if (this.article.hasOwnProperty(key)) {
|
|
34
|
-
this.properties.push({ key: value, value: this.article[key] });
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
ProductPropertiesComponent.decorators = [
|
|
40
|
-
{ type: Component, args: [{
|
|
41
|
-
selector: 'app-product-properties',
|
|
42
|
-
template: `
|
|
43
|
-
<div class="article-properties-wrapper">
|
|
44
|
-
<h3 *ngIf="showLabel" [textContent]="'PROPERTIES' | localize"></h3>
|
|
45
|
-
<ng-container *ngFor="let property of properties">
|
|
46
|
-
<div class="article-property">
|
|
47
|
-
<div class="article-property-key" [textContent]="property.key | localize"></div>
|
|
48
|
-
<div class="article-property-value" [textContent]="property.value"></div>
|
|
49
|
-
</div>
|
|
50
|
-
</ng-container>
|
|
51
|
-
</div>
|
|
52
|
-
`,
|
|
53
|
-
styles: [":host{display:block}.article-properties-wrapper{display:flex;flex-direction:column}.article-property{display:flex;flex-direction:row;border-bottom:1px solid #f6f5f4;padding:11px 0;font-size:13px}.article-property:first-child{border-top:1px solid #f6f5f4}.article-property-key{flex-basis:200px;flex-shrink:0;color:#5b6875}@media screen and (max-width: 450px){.article-property-key{flex-basis:130px}}\n"]
|
|
54
|
-
},] }
|
|
55
|
-
];
|
|
56
|
-
ProductPropertiesComponent.ctorParameters = () => [];
|
|
57
|
-
ProductPropertiesComponent.propDecorators = {
|
|
58
|
-
article: [{ type: Input }],
|
|
59
|
-
showLabel: [{ type: Input }]
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXByb3BlcnRpZXMvcHJvZHVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXdCLElBQUksR0FBRyxDQUFDO0lBQ3RELENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDO0lBQy9CLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN4QixDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUM7SUFDNUIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzlCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN4QixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDbEIsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDO0lBQ2xDLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztJQUNwQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7Q0FDbkIsQ0FBQyxDQUFDO0FBaUJILE1BQU0sT0FBTywwQkFBMEI7SUFtQnJDO1FBTk8sY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixlQUFVLEdBQW1DLEVBQUUsQ0FBQztJQUl2QyxDQUFDO0lBakJqQixJQUNXLE9BQU8sQ0FBQyxLQUF3QjtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBV0QsUUFBUTtJQUNSLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUNELFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQzthQUM5RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBakRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDs7YUFFRjs7OztzQkFHRSxLQUFLO3dCQVVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXJ0aWNsZUZ1bGxPYmplY3QgfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcclxuXHJcbmV4cG9ydCBjb25zdCBwcm9wZXJ0eU1hcDogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoW1xyXG4gIFsnYXJ0aWNsZU5yJywgJ0FSVElDTEVfTlVNQkVSJ10sXHJcbiAgWydjYXRFeHRyYScsICdDQVRFR09SWSddLFxyXG4gIFsnY2F0VHlwZScsICdDQVRFR09SWV9UWVBFJ10sXHJcbiAgWydkZXNjcmlwdGlvbicsICdERVNDUklQVElPTiddLFxyXG4gIFsnbWF0ZXJpYWwnLCAnTUFURVJJQUwnXSxcclxuICBbJ3RpdGxlJywgJ1RJVExFJ10sXHJcbiAgWyd0dXJuT3Zlckdyb3VwJywgJ1RVUk5PVkVSR1JPVVAnXSxcclxuICBbJ2hlaWdodCcsICdIRUlHSFQnXSxcclxuICBbJ3dpZHRoJywgJ1dJRFRIJ11cclxuXSk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LXByb3BlcnRpZXMnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJ0aWNsZS1wcm9wZXJ0aWVzLXdyYXBwZXJcIj5cclxuICAgICAgPGgzICpuZ0lmPVwic2hvd0xhYmVsXCIgW3RleHRDb250ZW50XT1cIidQUk9QRVJUSUVTJyB8IGxvY2FsaXplXCI+PC9oMz5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgcHJvcGVydGllc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnRpY2xlLXByb3BlcnR5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJ0aWNsZS1wcm9wZXJ0eS1rZXlcIiBbdGV4dENvbnRlbnRdPVwicHJvcGVydHkua2V5IHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcnRpY2xlLXByb3BlcnR5LXZhbHVlXCIgW3RleHRDb250ZW50XT1cInByb3BlcnR5LnZhbHVlXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LXByb3BlcnRpZXMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFByb3BlcnRpZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYXJ0aWNsZSh2YWx1ZTogQXJ0aWNsZUZ1bGxPYmplY3QpIHtcclxuICAgIHRoaXMuX2FydGljbGUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3ByZXBhcmVQcm9wZXJ0aWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFydGljbGUoKTogQXJ0aWNsZUZ1bGxPYmplY3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FydGljbGU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93TGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHByb3BlcnRpZXM6IHtrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZ31bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9hcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlUHJvcGVydGllcygpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGVydGllcy5sZW5ndGggPSAwO1xyXG4gICAgaWYgKCF0aGlzLl9hcnRpY2xlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHByb3BlcnR5TWFwLmZvckVhY2goKHZhbHVlOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmFydGljbGUuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgIHRoaXMucHJvcGVydGllcy5wdXNoKHtrZXk6IHZhbHVlLCB2YWx1ZTogdGhpcy5hcnRpY2xlW2tleV19KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ProductPropertiesComponent } from './product-properties.component';
|
|
4
|
-
import { PipeModule } from '../../pipe/pipe.module';
|
|
5
|
-
export class ProductPropertiesModule {
|
|
6
|
-
}
|
|
7
|
-
ProductPropertiesModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [
|
|
10
|
-
CommonModule,
|
|
11
|
-
PipeModule
|
|
12
|
-
],
|
|
13
|
-
declarations: [
|
|
14
|
-
ProductPropertiesComponent
|
|
15
|
-
],
|
|
16
|
-
exports: [
|
|
17
|
-
ProductPropertiesComponent
|
|
18
|
-
]
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wcm9wZXJ0aWVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXByb3BlcnRpZXMvcHJvZHVjdC1wcm9wZXJ0aWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFjbEQsTUFBTSxPQUFPLHVCQUF1Qjs7O1lBWm5DLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDViwwQkFBMEI7aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCwwQkFBMEI7aUJBQzdCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7UHJvZHVjdFByb3BlcnRpZXNDb21wb25lbnR9IGZyb20gJy4vcHJvZHVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUHJvZHVjdFByb3BlcnRpZXNDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgUHJvZHVjdFByb3BlcnRpZXNDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RQcm9wZXJ0aWVzTW9kdWxlIHtcclxufVxyXG4iXX0=
|