@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.
Files changed (145) hide show
  1. package/fesm2022/colijnit-product.mjs +4534 -0
  2. package/fesm2022/colijnit-product.mjs.map +1 -0
  3. package/index.d.ts +948 -0
  4. package/package.json +28 -29
  5. package/app/bundle/service/local-storage.service.d.ts +0 -14
  6. package/app/components/core/header/header.component.d.ts +0 -7
  7. package/app/components/core/header/header.module.d.ts +0 -2
  8. package/app/components/image-carousel/image-carousel.component.d.ts +0 -48
  9. package/app/components/image-carousel/image-carousel.module.d.ts +0 -2
  10. package/app/components/product-additional-description/product-additional-description.component.d.ts +0 -14
  11. package/app/components/product-additional-description/product-additional-description.module.d.ts +0 -2
  12. package/app/components/product-additional-info/product-additional-info.component.d.ts +0 -21
  13. package/app/components/product-additional-info/product-additional-info.module.d.ts +0 -2
  14. package/app/components/product-addtocart/product-addtocart.component.d.ts +0 -42
  15. package/app/components/product-addtocart/product-addtocart.module.d.ts +0 -2
  16. package/app/components/product-delivery/product-delivery.component.d.ts +0 -18
  17. package/app/components/product-delivery/product-delivery.module.d.ts +0 -2
  18. package/app/components/product-description/product-description.component.d.ts +0 -7
  19. package/app/components/product-description/product-description.module.d.ts +0 -2
  20. package/app/components/product-dialog/product-dialog.component.d.ts +0 -27
  21. package/app/components/product-dialog/product-dialog.module.d.ts +0 -2
  22. package/app/components/product-documents/product-document.module.d.ts +0 -2
  23. package/app/components/product-documents/product-documents.component.d.ts +0 -10
  24. package/app/components/product-external-source/product-external-source.component.d.ts +0 -51
  25. package/app/components/product-external-source/product-external-source.module.d.ts +0 -2
  26. package/app/components/product-hd/product-hd.component.d.ts +0 -25
  27. package/app/components/product-hd/product-hd.module.d.ts +0 -2
  28. package/app/components/product-info-tabs/product-info-tabs.component.d.ts +0 -18
  29. package/app/components/product-info-tabs/product-info-tabs.module.d.ts +0 -2
  30. package/app/components/product-page/product-page.component.d.ts +0 -66
  31. package/app/components/product-page/product-page.module.d.ts +0 -2
  32. package/app/components/product-price/product-price.component.d.ts +0 -19
  33. package/app/components/product-price/product-price.module.d.ts +0 -2
  34. package/app/components/product-properties/product-properties.component.d.ts +0 -16
  35. package/app/components/product-properties/product-properties.module.d.ts +0 -2
  36. package/app/components/product-related/product-related.component.d.ts +0 -33
  37. package/app/components/product-related/product-related.module.d.ts +0 -2
  38. package/app/components/product-selector-type/product-selector-type.component.d.ts +0 -22
  39. package/app/components/product-selector-type/product-selector-type.module.d.ts +0 -2
  40. package/app/components/product-stock/product-stock.component.d.ts +0 -20
  41. package/app/components/product-stock/product-stock.module.d.ts +0 -2
  42. package/app/components/product-symbols/product-symbols.component.d.ts +0 -10
  43. package/app/components/product-symbols/product-symbols.module.d.ts +0 -2
  44. package/app/components/render-carousel/render-carousel.component.d.ts +0 -40
  45. package/app/components/render-carousel/render-carousel.module.d.ts +0 -2
  46. package/app/enum/icon.enum.d.ts +0 -22
  47. package/app/enum/language-code.enum.d.ts +0 -6
  48. package/app/enum/selector-type.enum.d.ts +0 -5
  49. package/app/ione-product.component.d.ts +0 -47
  50. package/app/ione-product.module.d.ts +0 -2
  51. package/app/model/article-quantity.model.d.ts +0 -5
  52. package/app/model/icon.d.ts +0 -4
  53. package/app/model/productSettings.d.ts +0 -18
  54. package/app/model/render-modes.d.ts +0 -5
  55. package/app/model/render-parameters.d.ts +0 -7
  56. package/app/model/settings-options.d.ts +0 -10
  57. package/app/model/stock-and-delivery.d.ts +0 -5
  58. package/app/pipe/localize.pipe.d.ts +0 -7
  59. package/app/pipe/pipe.module.d.ts +0 -2
  60. package/app/product-version.d.ts +0 -6
  61. package/app/service/dictionary.service.d.ts +0 -24
  62. package/app/service/icon-cache.service.d.ts +0 -17
  63. package/app/service/product-connector-adapter.service.d.ts +0 -43
  64. package/app/service/product-connector.service.d.ts +0 -43
  65. package/app/service/product-event.service.d.ts +0 -27
  66. package/app/service/product-script-loader.service.d.ts +0 -9
  67. package/app/service/product-settings.service.d.ts +0 -16
  68. package/app/utils/bit-utils.d.ts +0 -7
  69. package/app/utils/json-utils.service.d.ts +0 -3
  70. package/assets/dictionary/text.properties.d.ts +0 -3
  71. package/bundles/colijnit-product.umd.js +0 -4317
  72. package/bundles/colijnit-product.umd.js.map +0 -1
  73. package/colijnit-product.d.ts +0 -49
  74. package/colijnit-product.metadata.json +0 -1
  75. package/esm2015/app/bundle/service/local-storage.service.js +0 -37
  76. package/esm2015/app/components/core/header/header.component.js +0 -26
  77. package/esm2015/app/components/core/header/header.module.js +0 -19
  78. package/esm2015/app/components/image-carousel/image-carousel.component.js +0 -288
  79. package/esm2015/app/components/image-carousel/image-carousel.module.js +0 -23
  80. package/esm2015/app/components/product-additional-description/product-additional-description.component.js +0 -58
  81. package/esm2015/app/components/product-additional-description/product-additional-description.module.js +0 -21
  82. package/esm2015/app/components/product-additional-info/product-additional-info.component.js +0 -108
  83. package/esm2015/app/components/product-additional-info/product-additional-info.module.js +0 -21
  84. package/esm2015/app/components/product-addtocart/product-addtocart.component.js +0 -185
  85. package/esm2015/app/components/product-addtocart/product-addtocart.module.js +0 -26
  86. package/esm2015/app/components/product-delivery/product-delivery.component.js +0 -49
  87. package/esm2015/app/components/product-delivery/product-delivery.module.js +0 -23
  88. package/esm2015/app/components/product-description/product-description.component.js +0 -23
  89. package/esm2015/app/components/product-description/product-description.module.js +0 -19
  90. package/esm2015/app/components/product-dialog/product-dialog.component.js +0 -86
  91. package/esm2015/app/components/product-dialog/product-dialog.module.js +0 -25
  92. package/esm2015/app/components/product-documents/product-document.module.js +0 -25
  93. package/esm2015/app/components/product-documents/product-documents.component.js +0 -31
  94. package/esm2015/app/components/product-external-source/product-external-source.component.js +0 -192
  95. package/esm2015/app/components/product-external-source/product-external-source.module.js +0 -23
  96. package/esm2015/app/components/product-hd/product-hd.component.js +0 -124
  97. package/esm2015/app/components/product-hd/product-hd.module.js +0 -23
  98. package/esm2015/app/components/product-info-tabs/product-info-tabs.component.js +0 -82
  99. package/esm2015/app/components/product-info-tabs/product-info-tabs.module.js +0 -29
  100. package/esm2015/app/components/product-page/product-page.component.js +0 -254
  101. package/esm2015/app/components/product-page/product-page.module.js +0 -50
  102. package/esm2015/app/components/product-price/product-price.component.js +0 -75
  103. package/esm2015/app/components/product-price/product-price.module.js +0 -23
  104. package/esm2015/app/components/product-properties/product-properties.component.js +0 -61
  105. package/esm2015/app/components/product-properties/product-properties.module.js +0 -21
  106. package/esm2015/app/components/product-related/product-related.component.js +0 -137
  107. package/esm2015/app/components/product-related/product-related.module.js +0 -25
  108. package/esm2015/app/components/product-selector-type/product-selector-type.component.js +0 -63
  109. package/esm2015/app/components/product-selector-type/product-selector-type.module.js +0 -26
  110. package/esm2015/app/components/product-stock/product-stock.component.js +0 -69
  111. package/esm2015/app/components/product-stock/product-stock.module.js +0 -23
  112. package/esm2015/app/components/product-symbols/product-symbols.component.js +0 -49
  113. package/esm2015/app/components/product-symbols/product-symbols.module.js +0 -26
  114. package/esm2015/app/components/render-carousel/render-carousel.component.js +0 -127
  115. package/esm2015/app/components/render-carousel/render-carousel.module.js +0 -25
  116. package/esm2015/app/enum/icon.enum.js +0 -24
  117. package/esm2015/app/enum/language-code.enum.js +0 -8
  118. package/esm2015/app/enum/selector-type.enum.js +0 -7
  119. package/esm2015/app/ione-product.component.js +0 -165
  120. package/esm2015/app/ione-product.module.js +0 -36
  121. package/esm2015/app/model/article-quantity.model.js +0 -3
  122. package/esm2015/app/model/icon.js +0 -23
  123. package/esm2015/app/model/productSettings.js +0 -14
  124. package/esm2015/app/model/render-modes.js +0 -7
  125. package/esm2015/app/model/render-parameters.js +0 -10
  126. package/esm2015/app/model/settings-options.js +0 -13
  127. package/esm2015/app/model/stock-and-delivery.js +0 -8
  128. package/esm2015/app/pipe/localize.pipe.js +0 -27
  129. package/esm2015/app/pipe/pipe.module.js +0 -18
  130. package/esm2015/app/product-version.js +0 -10
  131. package/esm2015/app/service/dictionary.service.js +0 -94
  132. package/esm2015/app/service/icon-cache.service.js +0 -40
  133. package/esm2015/app/service/product-connector-adapter.service.js +0 -199
  134. package/esm2015/app/service/product-connector.service.js +0 -115
  135. package/esm2015/app/service/product-event.service.js +0 -27
  136. package/esm2015/app/service/product-script-loader.service.js +0 -68
  137. package/esm2015/app/service/product-settings.service.js +0 -86
  138. package/esm2015/app/utils/bit-utils.js +0 -18
  139. package/esm2015/app/utils/json-utils.service.js +0 -29
  140. package/esm2015/assets/dictionary/text.properties.js +0 -102
  141. package/esm2015/colijnit-product.js +0 -50
  142. package/esm2015/public_api.js +0 -10
  143. package/fesm2015/colijnit-product.js +0 -3529
  144. package/fesm2015/colijnit-product.js.map +0 -1
  145. 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=