@colijnit/product 261.1.0 → 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 +28 -29
- 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,288 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
|
|
3
|
-
import { ProductConnectorService } from '../../service/product-connector.service';
|
|
4
|
-
import { ProductEventService } from '../../service/product-event.service';
|
|
5
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
|
-
export class ImageViewModel {
|
|
7
|
-
}
|
|
8
|
-
export class ImageCarouselComponent {
|
|
9
|
-
constructor(_ione, _appEventService, _changeDetector, _domSanitizer) {
|
|
10
|
-
this._ione = _ione;
|
|
11
|
-
this._appEventService = _appEventService;
|
|
12
|
-
this._changeDetector = _changeDetector;
|
|
13
|
-
this._domSanitizer = _domSanitizer;
|
|
14
|
-
this.isPopupOpen = false;
|
|
15
|
-
this.showRefresh = false;
|
|
16
|
-
this.resizing = false;
|
|
17
|
-
this.imageViewModels = [];
|
|
18
|
-
this.showLoader = false;
|
|
19
|
-
this._currentIndex = 0;
|
|
20
|
-
this._images = [];
|
|
21
|
-
this._subs = [];
|
|
22
|
-
this._resizeCanvasHeight = 500;
|
|
23
|
-
this._subs.push(this._appEventService.onRenderStarted.subscribe(() => {
|
|
24
|
-
this.showLoader = true;
|
|
25
|
-
this._changeDetector.detectChanges();
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
this.showLoader = false;
|
|
28
|
-
this._changeDetector.detectChanges();
|
|
29
|
-
}, 10000);
|
|
30
|
-
}), this._appEventService.onDraftRenderImageReceived.subscribe((event) => {
|
|
31
|
-
if (event && event.detail) {
|
|
32
|
-
if (this._images[0] instanceof CoDocument) {
|
|
33
|
-
this._images.unshift(event.detail);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this._images[0] = event.detail;
|
|
37
|
-
}
|
|
38
|
-
this._loadAndRescaleImages();
|
|
39
|
-
}
|
|
40
|
-
this.showLoader = false;
|
|
41
|
-
this._changeDetector.detectChanges();
|
|
42
|
-
}));
|
|
43
|
-
}
|
|
44
|
-
// Close on ESC
|
|
45
|
-
onEsc() {
|
|
46
|
-
if (this.isPopupOpen) {
|
|
47
|
-
this.closePopup();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
set images(value) {
|
|
51
|
-
if (value && value.length > 0) {
|
|
52
|
-
this._images = this._filterValidImages(value);
|
|
53
|
-
this._loadAndRescaleImages();
|
|
54
|
-
this._changeDetector.detectChanges();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
get images() {
|
|
58
|
-
return this._images;
|
|
59
|
-
}
|
|
60
|
-
handleWindowResize() {
|
|
61
|
-
this.resizing = true;
|
|
62
|
-
this._scrollCarouselToIndex();
|
|
63
|
-
clearTimeout(this._resizeTimer);
|
|
64
|
-
this._resizeTimer = setTimeout(() => {
|
|
65
|
-
this.resizing = false;
|
|
66
|
-
}, 200);
|
|
67
|
-
}
|
|
68
|
-
gotoNextSlide() {
|
|
69
|
-
this.currentIndex++;
|
|
70
|
-
}
|
|
71
|
-
gotoPrevSlide() {
|
|
72
|
-
this.currentIndex--;
|
|
73
|
-
}
|
|
74
|
-
isCurrentIndex(index) {
|
|
75
|
-
return this.currentIndex === index;
|
|
76
|
-
}
|
|
77
|
-
get currentIndex() {
|
|
78
|
-
return this._currentIndex;
|
|
79
|
-
}
|
|
80
|
-
set currentIndex(value) {
|
|
81
|
-
this._currentIndex = value;
|
|
82
|
-
this._scrollCarouselToIndex();
|
|
83
|
-
}
|
|
84
|
-
ngOnDestroy() {
|
|
85
|
-
this.carousel = undefined;
|
|
86
|
-
this._subs.forEach(s => s.unsubscribe());
|
|
87
|
-
}
|
|
88
|
-
handleThumbClick(index) {
|
|
89
|
-
this.currentIndex = index;
|
|
90
|
-
}
|
|
91
|
-
onForceRenderImage() {
|
|
92
|
-
this._appEventService.onForceRenderImage.next();
|
|
93
|
-
}
|
|
94
|
-
handleShowImage(imageViewModel) {
|
|
95
|
-
if (imageViewModel && imageViewModel.originalSource) {
|
|
96
|
-
this.selectedImage = imageViewModel;
|
|
97
|
-
this.isPopupOpen = true;
|
|
98
|
-
this._changeDetector.markForCheck();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
closePopup() {
|
|
102
|
-
this.isPopupOpen = false;
|
|
103
|
-
this.selectedImage = undefined;
|
|
104
|
-
this._changeDetector.markForCheck();
|
|
105
|
-
}
|
|
106
|
-
_filterValidImages(value) {
|
|
107
|
-
if (!value) {
|
|
108
|
-
return [];
|
|
109
|
-
}
|
|
110
|
-
return value.filter((doc) => {
|
|
111
|
-
const pattern = /\.(jpg|jpeg|png|gif|bmp|tiff|webp)$/i;
|
|
112
|
-
return typeof doc === 'string' || (pattern.test(doc.fileName) || !!doc.filePath);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
_loadAndRescaleImages() {
|
|
116
|
-
this.imageViewModels.length = 0;
|
|
117
|
-
if (this._images) {
|
|
118
|
-
this._images.forEach((i) => {
|
|
119
|
-
let imageViewModel = new ImageViewModel();
|
|
120
|
-
imageViewModel.image = i;
|
|
121
|
-
if (typeof i === 'string') { // is a rendered image coming from configurator
|
|
122
|
-
this._resizeAndSanitizeSource(i, imageViewModel);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
if (i.filePath) {
|
|
126
|
-
this._resizeAndSanitizeSource(i.filePath, imageViewModel);
|
|
127
|
-
}
|
|
128
|
-
else if (i.documentBody) {
|
|
129
|
-
this._resizeAndSanitizeSource(i.documentBodyAsDataUri, imageViewModel);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
this._ione.getDocumentContent(i.documentId, false).then((content) => {
|
|
133
|
-
if (content) {
|
|
134
|
-
i.documentBody = content.documentContent;
|
|
135
|
-
this._resizeAndSanitizeSource(i.documentBodyAsDataUri, imageViewModel);
|
|
136
|
-
this._changeDetector.detectChanges();
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
this.imageViewModels.push(imageViewModel);
|
|
142
|
-
this._changeDetector.detectChanges();
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
_resizeAndSanitizeSource(source, imageViewModel) {
|
|
147
|
-
const resizeCanvas = document.createElement('canvas');
|
|
148
|
-
const ctx = resizeCanvas.getContext('2d');
|
|
149
|
-
const img = document.createElement('img');
|
|
150
|
-
img.crossOrigin = 'anonymous';
|
|
151
|
-
img.onload = () => {
|
|
152
|
-
ctx.imageSmoothingEnabled = true;
|
|
153
|
-
ctx.imageSmoothingQuality = 'high';
|
|
154
|
-
const ow = img.width;
|
|
155
|
-
const oh = img.height;
|
|
156
|
-
const aspect = ow / oh;
|
|
157
|
-
let newW = this._resizeCanvasHeight;
|
|
158
|
-
let newH = this._resizeCanvasHeight;
|
|
159
|
-
if (ow > oh) {
|
|
160
|
-
newH = this._resizeCanvasHeight / aspect;
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
newW = this._resizeCanvasHeight * aspect;
|
|
164
|
-
}
|
|
165
|
-
resizeCanvas.width = Math.round(newW);
|
|
166
|
-
resizeCanvas.height = Math.round(newH);
|
|
167
|
-
// Ensure transparent background before drawing
|
|
168
|
-
ctx.clearRect(0, 0, resizeCanvas.width, resizeCanvas.height);
|
|
169
|
-
ctx.drawImage(img, 0, 0, resizeCanvas.width, resizeCanvas.height);
|
|
170
|
-
const mime = this._detectPreferredMime(source);
|
|
171
|
-
const resizedSource = mime === 'image/jpeg'
|
|
172
|
-
? resizeCanvas.toDataURL('image/jpeg', 0.92) // only if original was JPEG
|
|
173
|
-
: resizeCanvas.toDataURL(mime); // PNG/WebP keep alpha
|
|
174
|
-
imageViewModel.source = this._domSanitizer.bypassSecurityTrustUrl(resizedSource);
|
|
175
|
-
imageViewModel.originalSource = source;
|
|
176
|
-
this._changeDetector.detectChanges();
|
|
177
|
-
};
|
|
178
|
-
img.src = source;
|
|
179
|
-
}
|
|
180
|
-
_detectPreferredMime(source) {
|
|
181
|
-
// Data URI check
|
|
182
|
-
const m = source.match(/^data:(image\/[a-zA-Z+.-]+);base64,/);
|
|
183
|
-
if (m) {
|
|
184
|
-
const t = m[1].toLowerCase();
|
|
185
|
-
if (t === 'image/png' || t === 'image/webp' || t === 'image/jpeg')
|
|
186
|
-
return t;
|
|
187
|
-
}
|
|
188
|
-
const lower = source.toLowerCase();
|
|
189
|
-
if (lower.endsWith('.png'))
|
|
190
|
-
return 'image/png';
|
|
191
|
-
if (lower.endsWith('.webp'))
|
|
192
|
-
return 'image/webp';
|
|
193
|
-
if (lower.endsWith('.jpg') || lower.endsWith('.jpeg'))
|
|
194
|
-
return 'image/jpeg';
|
|
195
|
-
return 'image/png';
|
|
196
|
-
}
|
|
197
|
-
_scrollCarouselToIndex() {
|
|
198
|
-
if (this.currentIndex > -1 && this.currentIndex <= this.images.length) {
|
|
199
|
-
const movePx = this.currentIndex * this.carousel.nativeElement.clientWidth;
|
|
200
|
-
if (this.carousel && this.carousel.nativeElement) {
|
|
201
|
-
this.carousel.nativeElement.scrollLeft = movePx;
|
|
202
|
-
// this.carousel.nativeElement.scrollTo({
|
|
203
|
-
// left: movePx,
|
|
204
|
-
// behavior: 'smooth'
|
|
205
|
-
// });
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
ImageCarouselComponent.decorators = [
|
|
211
|
-
{ type: Component, args: [{
|
|
212
|
-
selector: 'app-image-carousel',
|
|
213
|
-
template: `
|
|
214
|
-
<div id="product_page_carousel">
|
|
215
|
-
<div id="product_page_carousel_items">
|
|
216
|
-
<co-loader [isShown]="true" *ngIf="showLoader"></co-loader>
|
|
217
|
-
<div #carousel class="inner-carousel">
|
|
218
|
-
<!-- This has been taken out of the for loop to prevent flashing images when updating. -->
|
|
219
|
-
<div *ngIf="imageViewModels[0]" class="carousel-item" [id]="'slide-0'" [class.active]="isCurrentIndex(0)" (click)="handleShowImage(imageViewModels[0])">
|
|
220
|
-
<img [src]="imageViewModels[0].source">
|
|
221
|
-
</div>
|
|
222
|
-
<div *ngFor="let imageViewModel of imageViewModels.slice(1); let index = index" class="carousel-item"
|
|
223
|
-
[id]="'slide-' + (index + 1)" [class.active]="isCurrentIndex((index + 1))" (click)="handleShowImage(imageViewModel)">
|
|
224
|
-
<img [src]="imageViewModel.source">
|
|
225
|
-
</div>
|
|
226
|
-
<div class="carousel-scroller-layer" *ngIf="imageViewModels && imageViewModels.length > 1">
|
|
227
|
-
<div class="carousel-item-scroller prev" (click)="gotoPrevSlide()" *ngIf="currentIndex > 0"></div>
|
|
228
|
-
<div class="carousel-item-scroller next" (click)="gotoNextSlide()" *ngIf="currentIndex < images.length - 1"></div>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
<!--
|
|
232
|
-
<co-icon class="selector-type-icon refresh-button" [iconData]="iconCache.getIcon(icons.Refresh)" (click)="onForceRenderImage()" [class.loading]="showLoader" *ngIf="showRefresh"></co-icon>
|
|
233
|
-
-->
|
|
234
|
-
</div>
|
|
235
|
-
|
|
236
|
-
<div id="product_page_carousel_thumbs">
|
|
237
|
-
<co-scroll-container class="scroll-container" *ngIf="imageViewModels && imageViewModels.length > 1">
|
|
238
|
-
<div *ngFor="let imageViewModel of imageViewModels; let index = index" class="carousel-thumb"
|
|
239
|
-
[class.active]="index === currentIndex">
|
|
240
|
-
<img [src]="imageViewModel.source" (click)="handleThumbClick(index)"/>
|
|
241
|
-
</div>
|
|
242
|
-
</co-scroll-container>
|
|
243
|
-
</div>
|
|
244
|
-
</div>
|
|
245
|
-
<!-- Modal (real popup) -->
|
|
246
|
-
<div
|
|
247
|
-
class="image-modal"
|
|
248
|
-
*ngIf="isPopupOpen"
|
|
249
|
-
(click)="closePopup()"
|
|
250
|
-
role="dialog"
|
|
251
|
-
aria-modal="true"
|
|
252
|
-
aria-label="Image preview"
|
|
253
|
-
>
|
|
254
|
-
<div class="image-modal__content" (click)="$event.stopPropagation()">
|
|
255
|
-
<button
|
|
256
|
-
class="image-modal__close"
|
|
257
|
-
type="button"
|
|
258
|
-
aria-label="Close"
|
|
259
|
-
(click)="closePopup()"
|
|
260
|
-
>
|
|
261
|
-
×
|
|
262
|
-
</button>
|
|
263
|
-
|
|
264
|
-
<img [src]="selectedImage?.originalSource" alt="Image preview" />
|
|
265
|
-
</div>
|
|
266
|
-
</div>
|
|
267
|
-
`,
|
|
268
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
269
|
-
styles: [":host{max-height:540px;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_items{position:relative;margin-bottom:10px}#product_page_carousel #product_page_carousel_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:500px;border:1px solid #efefef}#product_page_carousel .carousel-item{max-height:500px;width:100%;display:flex;cursor:zoom-in;flex-shrink:0;flex-grow:0}#product_page_carousel .carousel-item img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;pointer-events:none;top:0;left:0}#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}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb{opacity:1;cursor:pointer;transition:all .2s ease;padding:4px;border:1px solid #f6f5f4}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb.active,#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:hover{border-color:#22313c}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:not(:last-child){margin-right:10px}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb img{height:68px}.image-modal{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal__content{position:relative;max-width:90vw;max-height:90vh}.image-modal__content img{max-width:90vw;max-height:90vh;-o-object-fit:contain;object-fit:contain;display:block}.image-modal__close{position:fixed;top:15px;right:30px;background:transparent;border:none;color:#fff;font-size:60px;line-height:1;cursor:pointer}@media screen and (max-width: 650px){#product_page_carousel_thumbs{height:57px!important}#product_page_carousel_thumbs .carousel-thumb img{height:50px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"]
|
|
270
|
-
},] }
|
|
271
|
-
];
|
|
272
|
-
ImageCarouselComponent.ctorParameters = () => [
|
|
273
|
-
{ type: ProductConnectorService },
|
|
274
|
-
{ type: ProductEventService },
|
|
275
|
-
{ type: ChangeDetectorRef },
|
|
276
|
-
{ type: DomSanitizer }
|
|
277
|
-
];
|
|
278
|
-
ImageCarouselComponent.propDecorators = {
|
|
279
|
-
carousel: [{ type: ViewChild, args: ['carousel', { read: ElementRef },] }],
|
|
280
|
-
onEsc: [{ type: HostListener, args: ['document:keydown.escape',] }],
|
|
281
|
-
showRefresh: [{ type: Input }],
|
|
282
|
-
images: [{ type: Input }],
|
|
283
|
-
handleWindowResize: [{ type: HostListener, args: ['window:resize',] }],
|
|
284
|
-
gotoNextSlide: [{ type: HostListener, args: ['swipeleft',] }],
|
|
285
|
-
gotoPrevSlide: [{ type: HostListener, args: ['swiperight',] }],
|
|
286
|
-
resizing: [{ type: HostBinding, args: ['class.resizing',] }]
|
|
287
|
-
};
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHeEUsT0FBTyxFQUFDLFlBQVksRUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE1BQU0sT0FBTyxjQUFjO0NBSTFCO0FBOERELE1BQU0sT0FBTyxzQkFBc0I7SUE2RWpDLFlBQ1UsS0FBOEIsRUFDOUIsZ0JBQXFDLEVBQ3JDLGVBQWtDLEVBQ2xDLGFBQTJCO1FBSDNCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFDckMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBN0U5QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVlwQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWlEN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixvQkFBZSxHQUFxQixFQUFFLENBQUM7UUFDdkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUczQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixZQUFPLEdBQTRCLEVBQUUsQ0FBQztRQUN0QyxVQUFLLEdBQW1CLEVB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QW1CO1lBWHpCLGlCQUFpQjtZQWNYLFlBQVk7Ozt1QkFzRWpCLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO29CQU94QyxZQUFZLFNBQUMseUJBQXlCOzBCQU90QyxLQUFLO3FCQUdMLEtBQUs7aUNBYUwsWUFBWSxTQUFDLGVBQWU7NEJBVTVCLFlBQVksU0FBQyxXQUFXOzRCQUt4QixZQUFZLFNBQUMsWUFBWTt1QkFrQnpCLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0ljb25FbnVtfSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtEb2N1bWVudENvbnRlbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2RvY3VtZW50LWNvbnRlbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEltYWdlVmlld01vZGVsIHtcclxuICBwdWJsaWMgaW1hZ2U6IENvRG9jdW1lbnQgfCBzdHJpbmc7XHJcbiAgcHVibGljIHNvdXJjZTogU2FmZVVybDtcclxuICBwdWJsaWMgb3JpZ2luYWxTb3VyY2U6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW1hZ2UtY2Fyb3VzZWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgaWQ9XCJwcm9kdWN0X3BhZ2VfY2Fyb3VzZWxcIj5cclxuICAgICAgICAgIDxkaXYgaWQ9XCJwcm9kdWN0X3BhZ2VfY2Fyb3VzZWxfaXRlbXNcIj5cclxuICAgICAgICAgICAgICA8Y28tbG9hZGVyIFtpc1Nob3duXT1cInRydWVcIiAqbmdJZj1cInNob3dMb2FkZXJcIj48L2NvLWxvYWRlcj5cclxuICAgICAgICAgICAgICA8ZGl2ICNjYXJvdXNlbCBjbGFzcz1cImlubmVyLWNhcm91c2VsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gVGhpcyBoYXMgYmVlbiB0YWtlbiBvdXQgb2YgdGhlIGZvciBsb29wIHRvIHByZXZlbnQgZmxhc2hpbmcgaW1hZ2VzIHdoZW4gdXBkYXRpbmcuIC0tPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW1hZ2VWaWV3TW9kZWxzWzBdXCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2lkXT1cIidzbGlkZS0wJ1wiIFtjbGFzcy5hY3RpdmVdPVwiaXNDdXJyZW50SW5kZXgoMClcIiAoY2xpY2spPVwiaGFuZGxlU2hvd0ltYWdlKGltYWdlVmlld01vZGVsc1swXSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbHNbMF0uc291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWFnZVZpZXdNb2RlbCBvZiBpbWFnZVZpZXdNb2RlbHMuc2xpY2UoMSk7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ3NsaWRlLScgKyAoaW5kZXggKyAxKVwiIFtjbGFzcy5hY3RpdmVdPVwiaXNDdXJyZW50SW5kZXgoKGluZGV4ICsgMSkpXCIgKGNsaWNrKT1cImhhbmRsZVNob3dJbWFnZShpbWFnZVZpZXdNb2RlbClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbC5zb3VyY2VcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1zY3JvbGxlci1sYXllclwiICpuZ0lmPVwiaW1hZ2VWaWV3TW9kZWxzICYmIGltYWdlVmlld01vZGVscy5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbS1zY3JvbGxlciBwcmV2XCIgKGNsaWNrKT1cImdvdG9QcmV2U2xpZGUoKVwiICpuZ0lmPVwiY3VycmVudEluZGV4ID4gMFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0tc2Nyb2xsZXIgbmV4dFwiIChjbGljayk9XCJnb3RvTmV4dFNsaWRlKClcIiAqbmdJZj1cImN1cnJlbnRJbmRleCA8IGltYWdlcy5sZW5ndGggLSAxXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0b3ItdHlwZS1pY29uIHJlZnJlc2gtYnV0dG9uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZS5nZXRJY29uKGljb25zLlJlZnJlc2gpXCIgKGNsaWNrKT1cIm9uRm9yY2VSZW5kZXJJbWFnZSgpXCIgW2NsYXNzLmxvYWRpbmddPVwic2hvd0xvYWRlclwiICpuZ0lmPVwic2hvd1JlZnJlc2hcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGlkPVwicHJvZHVjdF9wYWdlX2Nhcm91c2VsX3RodW1ic1wiPlxyXG4gICAgICAgICAgICAgIDxjby1zY3JvbGwtY29udGFpbmVyIGNsYXNzPVwic2Nyb2xsLWNvbnRhaW5lclwiICpuZ0lmPVwiaW1hZ2VWaWV3TW9kZWxzICYmIGltYWdlVmlld01vZGVscy5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltYWdlVmlld01vZGVsIG9mIGltYWdlVmlld01vZGVsczsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNhcm91c2VsLXRodW1iXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImluZGV4ID09PSBjdXJyZW50SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVZpZXdNb2RlbC5zb3VyY2VcIiAoY2xpY2spPVwiaGFuZGxlVGh1bWJDbGljayhpbmRleClcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvY28tc2Nyb2xsLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSBNb2RhbCAocmVhbCBwb3B1cCkgLS0+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImltYWdlLW1vZGFsXCJcclxuICAgICAgICAqbmdJZj1cImlzUG9wdXBPcGVuXCJcclxuICAgICAgICAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCJcclxuICAgICAgICByb2xlPVwiZGlhbG9nXCJcclxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXHJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkltYWdlIHByZXZpZXdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLW1vZGFsX19jb250ZW50XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImltYWdlLW1vZGFsX19jbG9zZVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgw5dcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJzZWxlY3RlZEltYWdlPy5vcmlnaW5hbFNvdXJjZVwiIGFsdD1cIkltYWdlIHByZXZpZXdcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBjYXJvdXNlbDogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIGlzUG9wdXBPcGVuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkSW1hZ2U/OiBJbWFnZVZpZXdNb2RlbDtcclxuXHJcbiAgLy8gQ2xvc2Ugb24gRVNDXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxyXG4gIG9uRXNjKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNQb3B1cE9wZW4pIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW1hZ2VzKHZhbHVlOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5faW1hZ2VzID0gdGhpcy5fZmlsdGVyVmFsaWRJbWFnZXModmFsdWUpO1xyXG4gICAgICB0aGlzLl9sb2FkQW5kUmVzY2FsZUltYWdlcygpO1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGltYWdlcygpOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW1hZ2VzO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcHVibGljIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzaXppbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2Nyb2xsQ2Fyb3VzZWxUb0luZGV4KCk7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplVGltZXIpO1xyXG4gICAgdGhpcy5fcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5yZXNpemluZyA9IGZhbHNlO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3N3aXBlbGVmdCcpXHJcbiAgcHVibGljIGdvdG9OZXh0U2xpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleCsrO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignc3dpcGVyaWdodCcpXHJcbiAgcHVibGljIGdvdG9QcmV2U2xpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleC0tO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQ3VycmVudEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRJbmRleCA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGN1cnJlbnRJbmRleCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRJbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgY3VycmVudEluZGV4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2Nyb2xsQ2Fyb3VzZWxUb0luZGV4KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlc2l6aW5nJylcclxuICBwdWJsaWMgcmVzaXppbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGltYWdlVmlld01vZGVsczogSW1hZ2VWaWV3TW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZVRpbWVyOiBhbnk7XHJcbiAgcHJpdmF0ZSBfY3VycmVudEluZGV4ID0gMDtcclxuICBwcml2YXRlIF9pbWFnZXM6IChDb0RvY3VtZW50IHwgc3RyaW5nKVtdID0gW107XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfcmVzaXplQ2FudmFzSGVpZ2h0OiBudW1iZXIgPSA1MDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaW9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25SZW5kZXJTdGFydGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCAxMDAwMCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25EcmFmdFJlbmRlckltYWdlUmVjZWl2ZWQuc3Vic2NyaWJlKChldmVudDogQ3VzdG9tRXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQuZGV0YWlsKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5faW1hZ2VzWzBdIGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9pbWFnZXMudW5zaGlmdChldmVudC5kZXRhaWwpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5faW1hZ2VzWzBdID0gZXZlbnQuZGV0YWlsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fbG9hZEFuZFJlc2NhbGVJbWFnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXJvdXNlbCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVGh1bWJDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRm9yY2VSZW5kZXJJbWFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkZvcmNlUmVuZGVySW1hZ2UubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dJbWFnZShpbWFnZVZpZXdNb2RlbDogSW1hZ2VWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChpbWFnZVZpZXdNb2RlbCAmJiBpbWFnZVZpZXdNb2RlbC5vcmlnaW5hbFNvdXJjZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSBpbWFnZVZpZXdNb2RlbDtcclxuICAgICAgdGhpcy5pc1BvcHVwT3BlbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wdXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzUG9wdXBPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlclZhbGlkSW1hZ2VzKHZhbHVlOiAoQ29Eb2N1bWVudCB8IHN0cmluZylbXSk6IChDb0RvY3VtZW50IHwgc3RyaW5nKVtdIHtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlLmZpbHRlcigoZG9jOiBDb0RvY3VtZW50IHwgc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhdHRlcm4gPSAvXFwuKGpwZ3xqcGVnfHBuZ3xnaWZ8Ym1wfHRpZmZ8d2VicCkkL2k7XHJcbiAgICAgIHJldHVybiB0eXBlb2YgZG9jID09PSAnc3RyaW5nJyB8fCAocGF0dGVybi50ZXN0KGRvYy5maWxlTmFtZSkgfHwgISFkb2MuZmlsZVBhdGgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkQW5kUmVzY2FsZUltYWdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1hZ2VWaWV3TW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICBpZiAodGhpcy5faW1hZ2VzKSB7XHJcbiAgICAgIHRoaXMuX2ltYWdlcy5mb3JFYWNoKChpOiBDb0RvY3VtZW50IHwgc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgbGV0IGltYWdlVmlld01vZGVsID0gbmV3IEltYWdlVmlld01vZGVsKCk7XHJcbiAgICAgICAgaW1hZ2VWaWV3TW9kZWwuaW1hZ2UgPSBpO1xyXG4gICAgICAgIGlmICh0eXBlb2YgaSA9PT0gJ3N0cmluZycpIHsgLy8gaXMgYSByZW5kZXJlZCBpbWFnZSBjb21pbmcgZnJvbSBjb25maWd1cmF0b3JcclxuICAgICAgICAgIHRoaXMuX3Jlc2l6ZUFuZFNhbml0aXplU291cmNlKGksIGltYWdlVmlld01vZGVsKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGkuZmlsZVBhdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVzaXplQW5kU2FuaXRpemVTb3VyY2UoaS5maWxlUGF0aCwgaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpLmRvY3VtZW50Qm9keSkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNpemVBbmRTYW5pdGl6ZVNvdXJjZShpLmRvY3VtZW50Qm9keUFzRGF0YVVyaSwgaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5faW9uZS5nZXREb2N1bWVudENvbnRlbnQoaS5kb2N1bWVudElkLCBmYWxzZSkudGhlbigoY29udGVudDogRG9jdW1lbnRDb250ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIGkuZG9jdW1lbnRCb2R5ID0gY29udGVudC5kb2N1bWVudENvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXNpemVBbmRTYW5pdGl6ZVNvdXJjZShpLmRvY3VtZW50Qm9keUFzRGF0YVVyaSwgaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW1hZ2VWaWV3TW9kZWxzLnB1c2goaW1hZ2VWaWV3TW9kZWwpO1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNpemVBbmRTYW5pdGl6ZVNvdXJjZShzb3VyY2U6IHN0cmluZywgaW1hZ2VWaWV3TW9kZWw6IEltYWdlVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXNpemVDYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICBjb25zdCBjdHggPSByZXNpemVDYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcbiAgICBjb25zdCBpbWc6IEhUTUxJbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcclxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xyXG5cclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIGN0eC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgICBjdHguaW1hZ2VTbW9vdGhpbmdRdWFsaXR5ID0gJ2hpZ2gnO1xyXG5cclxuICAgICAgY29uc3Qgb3cgPSBpbWcud2lkdGg7XHJcbiAgICAgIGNvbnN0IG9oID0gaW1nLmhlaWdodDtcclxuICAgICAgY29uc3QgYXNwZWN0ID0gb3cgLyBvaDtcclxuXHJcbiAgICAgIGxldCBuZXdXID0gdGhpcy5fcmVzaXplQ2FudmFzSGVpZ2h0O1xyXG4gICAgICBsZXQgbmV3SCA9IHRoaXMuX3Jlc2l6ZUNhbnZhc0hlaWdodDtcclxuICAgICAgaWYgKG93ID4gb2gpIHtcclxuICAgICAgICBuZXdIID0gdGhpcy5fcmVzaXplQ2FudmFzSGVpZ2h0IC8gYXNwZWN0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1cgPSB0aGlzLl9yZXNpemVDYW52YXNIZWlnaHQgKiBhc3BlY3Q7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJlc2l6ZUNhbnZhcy53aWR0aCA9IE1hdGgucm91bmQobmV3Vyk7XHJcbiAgICAgIHJlc2l6ZUNhbnZhcy5oZWlnaHQgPSBNYXRoLnJvdW5kKG5ld0gpO1xyXG5cclxuICAgICAgLy8gRW5zdXJlIHRyYW5zcGFyZW50IGJhY2tncm91bmQgYmVmb3JlIGRyYXdpbmdcclxuICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCByZXNpemVDYW52YXMud2lkdGgsIHJlc2l6ZUNhbnZhcy5oZWlnaHQpO1xyXG5cclxuICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIHJlc2l6ZUNhbnZhcy53aWR0aCwgcmVzaXplQ2FudmFzLmhlaWdodCk7XHJcblxyXG4gICAgICBjb25zdCBtaW1lID0gdGhpcy5fZGV0ZWN0UHJlZmVycmVkTWltZShzb3VyY2UpO1xyXG4gICAgICBjb25zdCByZXNpemVkU291cmNlID1cclxuICAgICAgICBtaW1lID09PSAnaW1hZ2UvanBlZydcclxuICAgICAgICAgID8gcmVzaXplQ2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsIDAuOTIpIC8vIG9ubHkgaWYgb3JpZ2luYWwgd2FzIEpQRUdcclxuICAgICAgICAgIDogcmVzaXplQ2FudmFzLnRvRGF0YVVSTChtaW1lKTsgICAgICAgICAgICAgIC8vIFBORy9XZWJQIGtlZXAgYWxwaGFcclxuXHJcbiAgICAgIGltYWdlVmlld01vZGVsLnNvdXJjZSA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHJlc2l6ZWRTb3VyY2UpO1xyXG4gICAgICBpbWFnZVZpZXdNb2RlbC5vcmlnaW5hbFNvdXJjZSA9IHNvdXJjZTtcclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfTtcclxuXHJcbiAgICBpbWcuc3JjID0gc291cmNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGV0ZWN0UHJlZmVycmVkTWltZShzb3VyY2U6IHN0cmluZyk6ICdpbWFnZS9wbmcnIHwgJ2ltYWdlL3dlYnAnIHwgJ2ltYWdlL2pwZWcnIHtcclxuICAgIC8vIERhdGEgVVJJIGNoZWNrXHJcbiAgICBjb25zdCBtID0gc291cmNlLm1hdGNoKC9eZGF0YTooaW1hZ2VcXC9bYS16QS1aKy4tXSspO2Jhc2U2NCwvKTtcclxuICAgIGlmIChtKSB7XHJcbiAgICAgIGNvbnN0IHQgPSBtWzFdLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICh0ID09PSAnaW1hZ2UvcG5nJyB8fCB0ID09PSAnaW1hZ2Uvd2VicCcgfHwgdCA9PT0gJ2ltYWdlL2pwZWcnKSByZXR1cm4gdCBhcyBhbnk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbG93ZXIgPSBzb3VyY2UudG9Mb3dlckNhc2UoKTtcclxuICAgIGlmIChsb3dlci5lbmRzV2l0aCgnLnBuZycpKSByZXR1cm4gJ2ltYWdlL3BuZyc7XHJcbiAgICBpZiAobG93ZXIuZW5kc1dpdGgoJy53ZWJwJykpIHJldHVybiAnaW1hZ2Uvd2VicCc7XHJcbiAgICBpZiAobG93ZXIuZW5kc1dpdGgoJy5qcGcnKSB8fCBsb3dlci5lbmRzV2l0aCgnLmpwZWcnKSkgcmV0dXJuICdpbWFnZS9qcGVnJztcclxuXHJcbiAgICByZXR1cm4gJ2ltYWdlL3BuZyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zY3JvbGxDYXJvdXNlbFRvSW5kZXgoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPiAtMSAmJiB0aGlzLmN1cnJlbnRJbmRleCA8PSB0aGlzLmltYWdlcy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgbW92ZVB4OiBudW1iZXIgPSB0aGlzLmN1cnJlbnRJbmRleCAqIHRoaXMuY2Fyb3VzZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgaWYgKHRoaXMuY2Fyb3VzZWwgJiYgdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSBtb3ZlUHg7XHJcbiAgICAgICAgLy8gdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgICAgICAvLyAgIGxlZnQ6IG1vdmVQeCxcclxuICAgICAgICAvLyAgIGJlaGF2aW9yOiAnc21vb3RoJ1xyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ImageCarouselComponent } from './image-carousel.component';
|
|
4
|
-
import { /*IconModule, */ LoaderModule, ScrollContainerModule } from '@colijnit/corecomponents';
|
|
5
|
-
export class ImageCarouselModule {
|
|
6
|
-
}
|
|
7
|
-
ImageCarouselModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [
|
|
10
|
-
CommonModule,
|
|
11
|
-
LoaderModule,
|
|
12
|
-
// IconModule,
|
|
13
|
-
ScrollContainerModule
|
|
14
|
-
],
|
|
15
|
-
declarations: [
|
|
16
|
-
ImageCarouselComponent
|
|
17
|
-
],
|
|
18
|
-
exports: [
|
|
19
|
-
ImageCarouselComponent
|
|
20
|
-
]
|
|
21
|
-
},] }
|
|
22
|
-
];
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2Fyb3VzZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLENBQUEsWUFBWSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFnQjdGLE1BQU0sT0FBTyxtQkFBbUI7OztZQWQvQixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixjQUFjO29CQUNkLHFCQUFxQjtpQkFDeEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLHNCQUFzQjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLHNCQUFzQjtpQkFDekI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtJbWFnZUNhcm91c2VsQ29tcG9uZW50fSBmcm9tICcuL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7LypJY29uTW9kdWxlLCAqL0xvYWRlck1vZHVsZSwgU2Nyb2xsQ29udGFpbmVyTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgTG9hZGVyTW9kdWxlLFxyXG4gICAgICAgIC8vIEljb25Nb2R1bGUsXHJcbiAgICAgICAgU2Nyb2xsQ29udGFpbmVyTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgSW1hZ2VDYXJvdXNlbENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBJbWFnZUNhcm91c2VsQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUNhcm91c2VsTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { ProductEventService } from '../../service/product-event.service';
|
|
3
|
-
import { BitUtils } from '../../utils/bit-utils';
|
|
4
|
-
export class ProductAdditionalDescriptionComponent {
|
|
5
|
-
constructor(_appEventService) {
|
|
6
|
-
this._appEventService = _appEventService;
|
|
7
|
-
}
|
|
8
|
-
set article(value) {
|
|
9
|
-
this._article = value;
|
|
10
|
-
if (this._article) {
|
|
11
|
-
this.description = this.article.additionalDescription;
|
|
12
|
-
this._prepareDescription();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
get article() {
|
|
16
|
-
return this._article;
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
}
|
|
20
|
-
onReadMore() {
|
|
21
|
-
this._appEventService.onUpdateProductInfoTab.next(0);
|
|
22
|
-
}
|
|
23
|
-
_prepareDescription() {
|
|
24
|
-
this.description = '';
|
|
25
|
-
if (this.article.texts && this.article.texts.length > 0) {
|
|
26
|
-
this.article.texts.forEach((txt) => {
|
|
27
|
-
if (BitUtils.IsShortDescription(txt.publication)) {
|
|
28
|
-
this.description += txt.text;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
this.description = this.description.replace(/<[^>]*>?/gm, '');
|
|
32
|
-
if (this.description.length > 250) {
|
|
33
|
-
this.description = this.description.substr(0, 250) + ' [..]';
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ProductAdditionalDescriptionComponent.decorators = [
|
|
39
|
-
{ type: Component, args: [{
|
|
40
|
-
selector: 'app-product-additional-description',
|
|
41
|
-
template: `
|
|
42
|
-
<ng-container *ngIf="description !== ''">
|
|
43
|
-
<div class="pd-additional-description">
|
|
44
|
-
<p [innerHTML]="description"></p>
|
|
45
|
-
<button class="pd-read-more-btn" [textContent]="'READ_MORE' | localize" (click)="onReadMore()"></button>
|
|
46
|
-
</div>
|
|
47
|
-
</ng-container>
|
|
48
|
-
`,
|
|
49
|
-
styles: [":host{display:block;padding-top:0!important}:host *:focus{outline:0!important}:host .pd-additional-description{line-height:190%;color:#22313c;font-size:13px}:host .pd-read-more-btn{color:#2b60a7;border:none;background:transparent;cursor:pointer;text-decoration:underline;font-family:iOneMontserrat}:host .pd-read-more-btn:hover{color:#74b77f}@media screen and (max-width: 650px){:host .pd-additional-description{font-size:12px}}\n"]
|
|
50
|
-
},] }
|
|
51
|
-
];
|
|
52
|
-
ProductAdditionalDescriptionComponent.ctorParameters = () => [
|
|
53
|
-
{ type: ProductEventService }
|
|
54
|
-
];
|
|
55
|
-
ProductAdditionalDescriptionComponent.propDecorators = {
|
|
56
|
-
article: [{ type: Input }]
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGRpdGlvbmFsLWRlc2NyaXB0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24vcHJvZHVjdC1hZGRpdGlvbmFsLWRlc2NyaXB0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFjakQsTUFBTSxPQUFPLHFDQUFxQztJQW1CaEQsWUFDVSxnQkFBcUM7UUFBckMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtJQUM1QyxDQUFDO0lBbkJKLElBQ1csT0FBTyxDQUFDLEtBQXdCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7WUFDdEQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBVUQsUUFBUTtJQUNSLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sbUJBQW1CO1FBRXpCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUNoRCxJQUFJLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUM7aUJBQzlCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM5RCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQzlEO1NBQ0Y7SUFFSCxDQUFDOzs7WUEzREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFFBQVEsRUFBRTs7Ozs7OztHQU9UOzthQUVGOzs7WUFkUSxtQkFBbUI7OztzQkFpQnpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXJ0aWNsZUZ1bGxPYmplY3QgfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcclxuaW1wb3J0IHsgQ29UZXh0IH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tdGV4dCc7XHJcbmltcG9ydCB7IFByb2R1Y3RFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpdFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYml0LXV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtYWRkaXRpb25hbC1kZXNjcmlwdGlvbicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXNjcmlwdGlvbiAhPT0gJydcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBkLWFkZGl0aW9uYWwtZGVzY3JpcHRpb25cIj5cclxuICAgICAgICA8cCBbaW5uZXJIVE1MXT1cImRlc2NyaXB0aW9uXCI+PC9wPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJwZC1yZWFkLW1vcmUtYnRuXCIgW3RleHRDb250ZW50XT1cIidSRUFEX01PUkUnIHwgbG9jYWxpemVcIiAoY2xpY2spPVwib25SZWFkTW9yZSgpXCI+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFkZGl0aW9uYWxEZXNjcmlwdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhcnRpY2xlKHZhbHVlOiBBcnRpY2xlRnVsbE9iamVjdCkge1xyXG4gICAgdGhpcy5fYXJ0aWNsZSA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuX2FydGljbGUpIHtcclxuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHRoaXMuYXJ0aWNsZS5hZGRpdGlvbmFsRGVzY3JpcHRpb247XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVEZXNjcmlwdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhcnRpY2xlKCk6IEFydGljbGVGdWxsT2JqZWN0IHtcclxuICAgIHJldHVybiB0aGlzLl9hcnRpY2xlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX2FydGljbGU6IEFydGljbGVGdWxsT2JqZWN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25SZWFkTW9yZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vblVwZGF0ZVByb2R1Y3RJbmZvVGFiLm5leHQoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlRGVzY3JpcHRpb24oKTogdm9pZCB7XHJcblxyXG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLmFydGljbGUudGV4dHMgJiYgdGhpcy5hcnRpY2xlLnRleHRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hcnRpY2xlLnRleHRzLmZvckVhY2goKHR4dDogQ29UZXh0KSA9PiB7XHJcbiAgICAgICAgaWYgKEJpdFV0aWxzLklzU2hvcnREZXNjcmlwdGlvbih0eHQucHVibGljYXRpb24pKSB7XHJcbiAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uICs9IHR4dC50ZXh0O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmRlc2NyaXB0aW9uID0gdGhpcy5kZXNjcmlwdGlvbi5yZXBsYWNlKC88W14+XSo+Py9nbSwgJycpO1xyXG4gICAgICBpZiAodGhpcy5kZXNjcmlwdGlvbi5sZW5ndGggPiAyNTApIHtcclxuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gdGhpcy5kZXNjcmlwdGlvbi5zdWJzdHIoMCwgMjUwKSArICcgWy4uXSc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ProductAdditionalDescriptionComponent } from './product-additional-description.component';
|
|
4
|
-
import { PipeModule } from '../../pipe/pipe.module';
|
|
5
|
-
export class ProductAdditionalDescriptionModule {
|
|
6
|
-
}
|
|
7
|
-
ProductAdditionalDescriptionModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [
|
|
10
|
-
CommonModule,
|
|
11
|
-
PipeModule
|
|
12
|
-
],
|
|
13
|
-
declarations: [
|
|
14
|
-
ProductAdditionalDescriptionComponent
|
|
15
|
-
],
|
|
16
|
-
exports: [
|
|
17
|
-
ProductAdditionalDescriptionComponent
|
|
18
|
-
]
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGRpdGlvbmFsLWRlc2NyaXB0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24vcHJvZHVjdC1hZGRpdGlvbmFsLWRlc2NyaXB0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFjbEQsTUFBTSxPQUFPLGtDQUFrQzs7O1lBWjlDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDVixxQ0FBcUM7aUJBQ3hDO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxxQ0FBcUM7aUJBQ3hDO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7UHJvZHVjdEFkZGl0aW9uYWxEZXNjcmlwdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tICcuLi8uLi9waXBlL3BpcGUubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBQcm9kdWN0QWRkaXRpb25hbERlc2NyaXB0aW9uQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFByb2R1Y3RBZGRpdGlvbmFsRGVzY3JpcHRpb25Db21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RBZGRpdGlvbmFsRGVzY3JpcHRpb25Nb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, Input, SecurityContext } from '@angular/core';
|
|
3
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
-
import { BitUtils } from '../../utils/bit-utils';
|
|
5
|
-
import { ProductConnectorService } from '../../service/product-connector.service';
|
|
6
|
-
export class ProductAdditionalInfoComponent {
|
|
7
|
-
constructor(_sanitizer, _connectorService, _changeDetector) {
|
|
8
|
-
this._sanitizer = _sanitizer;
|
|
9
|
-
this._connectorService = _connectorService;
|
|
10
|
-
this._changeDetector = _changeDetector;
|
|
11
|
-
this.showLabel = false;
|
|
12
|
-
this.textParts = [];
|
|
13
|
-
this._superArticles = new Map();
|
|
14
|
-
}
|
|
15
|
-
set article(value) {
|
|
16
|
-
if (value) {
|
|
17
|
-
this._article = value;
|
|
18
|
-
this._buildInfo().then(() => {
|
|
19
|
-
this._changeDetector.detectChanges();
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
get article() {
|
|
24
|
-
return this._article;
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
}
|
|
28
|
-
_getTextsSuperArticle() {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
const texts = [];
|
|
32
|
-
if (this.article.superArticleNr) {
|
|
33
|
-
let mainArticle;
|
|
34
|
-
if (this._superArticles.has(this.article.superArticleNr)) {
|
|
35
|
-
mainArticle = this._superArticles.get(this.article.superArticleNr);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
mainArticle = yield this._connectorService.getSuperArticle(this.article.superArticleNr);
|
|
39
|
-
this._superArticles.set(this.article.superArticleNr, mainArticle);
|
|
40
|
-
}
|
|
41
|
-
mainArticle.texts.forEach((txt) => {
|
|
42
|
-
if (BitUtils.IsFullDescription(txt.publication)) {
|
|
43
|
-
const safeTxt = this._sanitizer.sanitize(SecurityContext.HTML, txt.text);
|
|
44
|
-
texts.push(safeTxt);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
resolve(texts);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
resolve(texts);
|
|
51
|
-
}
|
|
52
|
-
}));
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
_prepareArticleTexts() {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const texts = yield this._getTextsSuperArticle();
|
|
58
|
-
if (texts.length > 0) {
|
|
59
|
-
this.textParts.push(...texts);
|
|
60
|
-
}
|
|
61
|
-
if (this.article.texts) {
|
|
62
|
-
this.article.texts.forEach((txt) => {
|
|
63
|
-
if (BitUtils.IsFullDescription(txt.publication)) {
|
|
64
|
-
const safeTxt = this._sanitizer.sanitize(SecurityContext.HTML, txt.text);
|
|
65
|
-
this.textParts.push(safeTxt);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
_buildInfo() {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
this.textParts.length = 0;
|
|
74
|
-
yield this._prepareArticleTexts();
|
|
75
|
-
if (this.textParts.length === 0) {
|
|
76
|
-
if (this.article.additionalDescription) {
|
|
77
|
-
this.textParts.push(this.article.additionalDescription);
|
|
78
|
-
}
|
|
79
|
-
else if (this.article.description) {
|
|
80
|
-
this.textParts.push(this.article.description);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
ProductAdditionalInfoComponent.decorators = [
|
|
88
|
-
{ type: Component, args: [{
|
|
89
|
-
selector: 'app-product-additional-info',
|
|
90
|
-
template: `
|
|
91
|
-
<h3 *ngIf="showLabel" [textContent]="'ADDITIONAL_DATA' | localize"></h3>
|
|
92
|
-
<ng-container *ngIf="textParts && textParts.length > 0">
|
|
93
|
-
<div class="additional-info-parts" *ngFor="let text of textParts" [innerHTML]="text"></div>
|
|
94
|
-
</ng-container>
|
|
95
|
-
`,
|
|
96
|
-
styles: [":host{display:block}:host .additional-info-parts{margin-bottom:20px;line-height:190%;color:#22313c;font-size:13px}:host ::ng-deep p{line-height:190%;margin:15px 0}:host ::ng-deep font{font-family:\"iOneMontserrat\"}:host .additional-info-parts>*:first-child{margin-top:0}:host .additional-info-parts>*:last-child{margin-bottom:0}\n"]
|
|
97
|
-
},] }
|
|
98
|
-
];
|
|
99
|
-
ProductAdditionalInfoComponent.ctorParameters = () => [
|
|
100
|
-
{ type: DomSanitizer },
|
|
101
|
-
{ type: ProductConnectorService },
|
|
102
|
-
{ type: ChangeDetectorRef }
|
|
103
|
-
];
|
|
104
|
-
ProductAdditionalInfoComponent.propDecorators = {
|
|
105
|
-
article: [{ type: Input }],
|
|
106
|
-
showLabel: [{ type: Input }]
|
|
107
|
-
};
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGRpdGlvbmFsLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkaXRpb25hbC1pbmZvL3Byb2R1Y3QtYWRkaXRpb25hbC1pbmZvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdGLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUduRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFZaEYsTUFBTSxPQUFPLDhCQUE4QjtJQXlCekMsWUFDVSxVQUF3QixFQUN4QixpQkFBMEMsRUFDMUMsZUFBa0M7UUFGbEMsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBQzFDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQVhyQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFJMUIsbUJBQWMsR0FBOEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQU85RCxDQUFDO0lBNUJELElBQ1csT0FBTyxDQUFDLEtBQXdCO1FBQ3pDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FB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QUFPLENBQUMsV0FBVyxFQUFFO29CQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUMvQzthQUNGO1lBQ0QsT0FBTztRQUNULENBQUM7S0FBQTs7O1lBL0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxRQUFRLEVBQUU7Ozs7O0dBS1Q7O2FBRUY7OztZQWZRLFlBQVk7WUFJYix1QkFBdUI7WUFOdEIsaUJBQWlCOzs7c0JBb0J2QixLQUFLO3dCQWNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBTZWN1cml0eUNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29UZXh0IH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tdGV4dCc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQXJ0aWNsZUZ1bGxPYmplY3QgfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcclxuaW1wb3J0IHsgU3VwZXJBcnRpY2xlIH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3VwZXItYXJ0aWNsZSc7XHJcbmltcG9ydCB7IEJpdFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYml0LXV0aWxzJztcclxuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtYWRkaXRpb25hbC1pbmZvJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGgzICpuZ0lmPVwic2hvd0xhYmVsXCIgW3RleHRDb250ZW50XT1cIidBRERJVElPTkFMX0RBVEEnIHwgbG9jYWxpemVcIj48L2gzPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRleHRQYXJ0cyAmJiB0ZXh0UGFydHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWRkaXRpb25hbC1pbmZvLXBhcnRzXCIgKm5nRm9yPVwibGV0IHRleHQgb2YgdGV4dFBhcnRzXCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtYWRkaXRpb25hbC1pbmZvLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RBZGRpdGlvbmFsSW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhcnRpY2xlKHZhbHVlOiBBcnRpY2xlRnVsbE9iamVjdCkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2FydGljbGUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5fYnVpbGRJbmZvKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYXJ0aWNsZSgpOiBBcnRpY2xlRnVsbE9iamVjdCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXJ0aWNsZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgdGV4dFBhcnRzOiBTYWZlSHRtbFtdID0gW107XHJcbiAgcHVibGljIGluZm86IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSBfYXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3Q7XHJcbiAgcHJpdmF0ZSBfc3VwZXJBcnRpY2xlczogTWFwPHN0cmluZywgU3VwZXJBcnRpY2xlPiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgX2Nvbm5lY3RvclNlcnZpY2U6IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldFRleHRzU3VwZXJBcnRpY2xlKCk6IFByb21pc2U8U2FmZUh0bWxbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICBjb25zdCB0ZXh0czogU2FmZUh0bWxbXSA9IFtdO1xyXG4gICAgICBpZiAodGhpcy5hcnRpY2xlLnN1cGVyQXJ0aWNsZU5yKSB7XHJcbiAgICAgICAgbGV0IG1haW5BcnRpY2xlO1xyXG4gICAgICAgIGlmICh0aGlzLl9zdXBlckFydGljbGVzLmhhcyh0aGlzLmFydGljbGUuc3VwZXJBcnRpY2xlTnIpKSB7XHJcbiAgICAgICAgICBtYWluQXJ0aWNsZSA9IHRoaXMuX3N1cGVyQXJ0aWNsZXMuZ2V0KHRoaXMuYXJ0aWNsZS5zdXBlckFydGljbGVOcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG1haW5BcnRpY2xlID0gYXdhaXQgdGhpcy5fY29ubmVjdG9yU2VydmljZS5nZXRTdXBlckFydGljbGUodGhpcy5hcnRpY2xlLnN1cGVyQXJ0aWNsZU5yKTtcclxuICAgICAgICAgIHRoaXMuX3N1cGVyQXJ0aWNsZXMuc2V0KHRoaXMuYXJ0aWNsZS5zdXBlckFydGljbGVOciwgbWFpbkFydGljbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYWluQXJ0aWNsZS50ZXh0cy5mb3JFYWNoKCh0eHQ6IENvVGV4dCkgPT4ge1xyXG4gICAgICAgICAgaWYgKEJpdFV0aWxzLklzRnVsbERlc2NyaXB0aW9uKHR4dC5wdWJsaWNhdGlvbikpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2FmZVR4dDogU2FmZUh0bWwgPSB0aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHR4dC50ZXh0KTtcclxuICAgICAgICAgICAgdGV4dHMucHVzaChzYWZlVHh0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXNvbHZlKHRleHRzKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXNvbHZlKHRleHRzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9wcmVwYXJlQXJ0aWNsZVRleHRzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgdGV4dHM6IFNhZmVIdG1sW10gPSBhd2FpdCB0aGlzLl9nZXRUZXh0c1N1cGVyQXJ0aWNsZSgpO1xyXG4gICAgaWYgKHRleHRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy50ZXh0UGFydHMucHVzaCguLi50ZXh0cyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5hcnRpY2xlLnRleHRzKSB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZS50ZXh0cy5mb3JFYWNoKCh0eHQ6IENvVGV4dCkgPT4ge1xyXG4gICAgICAgIGlmIChCaXRVdGlscy5Jc0Z1bGxEZXNjcmlwdGlvbih0eHQucHVibGljYXRpb24pKSB7XHJcbiAgICAgICAgICBjb25zdCBzYWZlVHh0OiBTYWZlSHRtbCA9IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgdHh0LnRleHQpO1xyXG4gICAgICAgICAgdGhpcy50ZXh0UGFydHMucHVzaChzYWZlVHh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfYnVpbGRJbmZvKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy50ZXh0UGFydHMubGVuZ3RoID0gMDtcclxuICAgIGF3YWl0IHRoaXMuX3ByZXBhcmVBcnRpY2xlVGV4dHMoKTtcclxuICAgIGlmICh0aGlzLnRleHRQYXJ0cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgaWYgKHRoaXMuYXJ0aWNsZS5hZGRpdGlvbmFsRGVzY3JpcHRpb24pIHtcclxuICAgICAgICB0aGlzLnRleHRQYXJ0cy5wdXNoKHRoaXMuYXJ0aWNsZS5hZGRpdGlvbmFsRGVzY3JpcHRpb24pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYXJ0aWNsZS5kZXNjcmlwdGlvbikge1xyXG4gICAgICAgIHRoaXMudGV4dFBhcnRzLnB1c2godGhpcy5hcnRpY2xlLmRlc2NyaXB0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ProductAdditionalInfoComponent } from './product-additional-info.component';
|
|
4
|
-
import { PipeModule } from '../../pipe/pipe.module';
|
|
5
|
-
export class ProductAdditionalInfoModule {
|
|
6
|
-
}
|
|
7
|
-
ProductAdditionalInfoModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [
|
|
10
|
-
CommonModule,
|
|
11
|
-
PipeModule
|
|
12
|
-
],
|
|
13
|
-
declarations: [
|
|
14
|
-
ProductAdditionalInfoComponent
|
|
15
|
-
],
|
|
16
|
-
exports: [
|
|
17
|
-
ProductAdditionalInfoComponent
|
|
18
|
-
]
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGRpdGlvbmFsLWluZm8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkaXRpb25hbC1pbmZvL3Byb2R1Y3QtYWRkaXRpb25hbC1pbmZvLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFjbEQsTUFBTSxPQUFPLDJCQUEyQjs7O1lBWnZDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDViw4QkFBOEI7aUJBQ2pDO2dCQUNELE9BQU8sRUFBRTtvQkFDTCw4QkFBOEI7aUJBQ2pDO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7UHJvZHVjdEFkZGl0aW9uYWxJbmZvQ29tcG9uZW50fSBmcm9tICcuL3Byb2R1Y3QtYWRkaXRpb25hbC1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUHJvZHVjdEFkZGl0aW9uYWxJbmZvQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFByb2R1Y3RBZGRpdGlvbmFsSW5mb0NvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFkZGl0aW9uYWxJbmZvTW9kdWxlIHtcclxufVxyXG4iXX0=
|