@snabcentr/client-core 2.53.1 → 2.55.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/banners/dto/index.d.ts +2 -0
- package/banners/dto/sc-banner.d.ts +56 -0
- package/banners/dto/sc-i-banner.d.ts +6 -2
- package/banners/index.d.ts +1 -1
- package/banners/services/sc-banner.service.d.ts +1 -1
- package/catalog/dto/sc-i-product-images.d.ts +8 -0
- package/catalog/dto/sc-i-properties.d.ts +4 -0
- package/catalog/dto/sc-product.d.ts +12 -0
- package/common/classes/index.d.ts +1 -0
- package/common/classes/sc-image.d.ts +26 -0
- package/common/index.d.ts +2 -0
- package/common/interfaces/index.d.ts +1 -0
- package/common/interfaces/sc-i-image.d.ts +17 -0
- package/esm2022/banners/dto/index.mjs +3 -0
- package/esm2022/banners/dto/sc-banner.mjs +34 -0
- package/esm2022/banners/dto/sc-i-banner.mjs +1 -1
- package/esm2022/banners/index.mjs +2 -2
- package/esm2022/banners/services/sc-banner.service.mjs +4 -9
- package/esm2022/catalog/dto/sc-i-product-images.mjs +1 -1
- package/esm2022/catalog/dto/sc-i-properties.mjs +1 -1
- package/esm2022/catalog/dto/sc-product.mjs +17 -1
- package/esm2022/common/classes/index.mjs +2 -0
- package/esm2022/common/classes/sc-image.mjs +18 -0
- package/esm2022/common/index.mjs +3 -0
- package/esm2022/common/interfaces/index.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-image.mjs +2 -0
- package/esm2022/helpers/sc-image-helper.mjs +32 -41
- package/esm2022/news/classes/sc-news-tile.mjs +1 -1
- package/esm2022/news/classes/sc-news.mjs +2 -1
- package/esm2022/news/internal/sc-i-news-dto.mjs +1 -1
- package/esm2022/pipes/index.mjs +2 -1
- package/esm2022/pipes/sc-media-image-transformer.pipe.mjs +34 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/snabcentr-client-core.mjs +128 -44
- package/fesm2022/snabcentr-client-core.mjs.map +1 -1
- package/helpers/sc-image-helper.d.ts +10 -16
- package/news/classes/sc-news-tile.d.ts +4 -0
- package/news/classes/sc-news.d.ts +4 -0
- package/news/internal/sc-i-news-dto.d.ts +4 -0
- package/package.json +1 -1
- package/pipes/index.d.ts +1 -0
- package/pipes/sc-media-image-transformer.pipe.d.ts +26 -0
- package/public-api.d.ts +1 -0
- package/release_notes.tmp +1 -5
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ScImage } from '../common/classes/sc-image';
|
|
3
|
+
import { ScMediaImageTransformerPipe } from '../pipes/sc-media-image-transformer.pipe';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
/**
|
|
5
6
|
* Класс с вспомогательными методами для работы с изображениями.
|
|
@@ -9,11 +10,7 @@ export class ScImageHelper {
|
|
|
9
10
|
/**
|
|
10
11
|
* Список ссылок на разделы backend'a.
|
|
11
12
|
*/
|
|
12
|
-
this.
|
|
13
|
-
/**
|
|
14
|
-
* Путь до изображения 'Товар не найден'.
|
|
15
|
-
*/
|
|
16
|
-
this.pathImageNotFound = inject(SC_PATH_IMAGE_NOT_FOUND);
|
|
13
|
+
this.mediaImageTransformerPipe = inject(ScMediaImageTransformerPipe);
|
|
17
14
|
}
|
|
18
15
|
/**
|
|
19
16
|
* Возвращает изображение товара по индексу.
|
|
@@ -23,11 +20,11 @@ export class ScImageHelper {
|
|
|
23
20
|
* @returns Возвращает изображение товара по индексу. Возвращает пути до изображения 'Товар не найден' {@link pathImageNotFound} если изображения по индексу не найдено.
|
|
24
21
|
*/
|
|
25
22
|
getImage(product, imgIndex = 0) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
return {
|
|
24
|
+
image: this.mediaImageTransformerPipe.transform(product.getImage(imgIndex), true),
|
|
25
|
+
alt: `Изображение товара ${product.name} №${imgIndex + 1}`,
|
|
26
|
+
imageWebp: this.mediaImageTransformerPipe.transform(product.getImageWebp(imgIndex), false),
|
|
27
|
+
};
|
|
31
28
|
}
|
|
32
29
|
/**
|
|
33
30
|
* Возвращает превью-изображение товара по индексу.
|
|
@@ -37,37 +34,31 @@ export class ScImageHelper {
|
|
|
37
34
|
* @returns Возвращает превью-изображение товара по индексу. Возвращает основное изображение если превью-изображения по индексу не найдено.
|
|
38
35
|
*/
|
|
39
36
|
getImagePreview(product, previewIndex = 0) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Формирует полный URI изображения на media сервере.
|
|
48
|
-
*
|
|
49
|
-
* @param image Путь до изображения.
|
|
50
|
-
* @returns Полный URI до изображения.
|
|
51
|
-
*/
|
|
52
|
-
getMediaImageURI(image) {
|
|
53
|
-
return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
|
|
37
|
+
return {
|
|
38
|
+
image: this.mediaImageTransformerPipe.transform(product.getImagePreview(previewIndex) ?? product.getImage(previewIndex), true),
|
|
39
|
+
alt: `Изображение предварительного просмотра товара ${product.name} №${previewIndex + 1}`,
|
|
40
|
+
imageWebp: this.mediaImageTransformerPipe.transform(product.getImagePreviewWebp(previewIndex) ?? product.getImageWebp(previewIndex), false),
|
|
41
|
+
};
|
|
54
42
|
}
|
|
55
|
-
|
|
56
|
-
* Возвращает массив изображений товара.
|
|
57
|
-
*
|
|
58
|
-
* @param product Позиция товара/услуги.
|
|
59
|
-
*/
|
|
60
|
-
getProductImageList(product) {
|
|
43
|
+
getProductImageList(product, useDefaultImage) {
|
|
61
44
|
const images = product.images?.filter((image) => image.image).map((_, index) => this.getImage(product, index));
|
|
62
|
-
|
|
45
|
+
if (images?.length) {
|
|
46
|
+
return images;
|
|
47
|
+
}
|
|
48
|
+
if (useDefaultImage) {
|
|
49
|
+
return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение товара ${product.name} не найдено`)];
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
63
52
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
53
|
+
getProductImagePreviewList(product, useDefaultImage) {
|
|
54
|
+
const images = product.images?.filter((image) => image.preview).map((_, index) => this.getImagePreview(product, index));
|
|
55
|
+
if (images?.length) {
|
|
56
|
+
return images;
|
|
57
|
+
}
|
|
58
|
+
if (useDefaultImage) {
|
|
59
|
+
return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение предварительного просмотра товара ${product.name} не найдено`)];
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
71
62
|
}
|
|
72
63
|
/**
|
|
73
64
|
* Возвращает признак того, что файл является изображением.
|
|
@@ -76,7 +67,7 @@ export class ScImageHelper {
|
|
|
76
67
|
*/
|
|
77
68
|
// eslint-disable-next-line class-methods-use-this
|
|
78
69
|
isImg(format) {
|
|
79
|
-
return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff'].includes(format);
|
|
70
|
+
return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff', 'webp'].includes(format);
|
|
80
71
|
}
|
|
81
72
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
82
73
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, providedIn: 'root' }); }
|
|
@@ -87,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
87
78
|
providedIn: 'root',
|
|
88
79
|
}]
|
|
89
80
|
}] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaW1hZ2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9oZWxwZXJzL3NjLWltYWdlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUU3RDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUk7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2Msc0JBQWlCLEdBQVcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0EyRWhGO0lBekVHOzs7Ozs7T0FNRztJQUNJLFFBQVEsQ0FBQyxPQUFrQixFQUFFLFdBQW1CLENBQUM7UUFDcEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNsQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGVBQWUsQ0FBQyxPQUFrQixFQUFFLGVBQXVCLENBQUM7UUFDL0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQ3pHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsT0FBa0I7UUFDekMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRS9HLE9BQU8sTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSwwQkFBMEIsQ0FBQyxPQUFrQjtRQUNoRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUgsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrREFBa0Q7SUFDM0MsS0FBSyxDQUFDLE1BQWM7UUFDdkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7K0dBbkZRLGFBQWE7bUhBQWIsYUFBYSxjQUZWLE1BQU07OzRGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjUHJvZHVjdCB9IGZyb20gJy4uL2NhdGFsb2cvZHRvJztcbmltcG9ydCB7IFNjSVVybHMgfSBmcm9tICcuLi9jb25maWcvc2MtaS11cmxzJztcbmltcG9ydCB7IFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5ELCBTQ19VUkxTIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiDQmtC70LDRgdGBINGBINCy0YHQv9C+0LzQvtCz0LDRgtC10LvRjNC90YvQvNC4INC80LXRgtC+0LTQsNC80Lgg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQuNC30L7QsdGA0LDQttC10L3QuNGP0LzQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NJbWFnZUhlbHBlciB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF0aEltYWdlTm90Rm91bmQ6IHN0cmluZyA9IGluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCk7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuC5cbiAgICAgKiBAcGFyYW0gaW1nSW5kZXgg0JjQvdC00LXQutGBINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LIg0LzQsNGB0YHQuNCy0LUuXG4gICAgICogQHJldHVybnMg0JLQvtC30LLRgNCw0YnQsNC10YIg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAg0L/QviDQuNC90LTQtdC60YHRgy4g0JLQvtC30LLRgNCw0YnQsNC10YIg0L/Rg9GC0Lgg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9JyB7QGxpbmsgcGF0aEltYWdlTm90Rm91bmR9INC10YHQu9C4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L/QviDQuNC90LTQtdC60YHRgyDQvdC1INC90LDQudC00LXQvdC+LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZShwcm9kdWN0OiBTY1Byb2R1Y3QsIGltZ0luZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBwcm9kdWN0LmdldEltYWdlKGltZ0luZGV4KTtcblxuICAgICAgICBpZiAoIWltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXRoSW1hZ2VOb3RGb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhSW1hZ2VVUkkoaW1hZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuC5cbiAgICAgKiBAcGFyYW0gcHJldmlld0luZGV4INCY0L3QtNC10LrRgSDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsiDQvNCw0YHRgdC40LLQtS5cbiAgICAgKiBAcmV0dXJucyDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAg0L/QviDQuNC90LTQtdC60YHRgy4g0JLQvtC30LLRgNCw0YnQsNC10YIg0L7RgdC90L7QstC90L7QtSDQuNC30L7QsdGA0LDQttC10L3QuNC1INC10YHQu9C4INC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNGPINC/0L4g0LjQvdC00LXQutGB0YMg0L3QtSDQvdCw0LnQtNC10L3Qvi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQcmV2aWV3KHByb2R1Y3Q6IFNjUHJvZHVjdCwgcHJldmlld0luZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBwcm9kdWN0LmdldEltYWdlUHJldmlldyhwcmV2aWV3SW5kZXgpO1xuXG4gICAgICAgIGlmICghaW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlKHByb2R1Y3QsIHByZXZpZXdJbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYUltYWdlVVJJKGltYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNC40YDRg9C10YIg0L/QvtC70L3Ri9C5IFVSSSDQuNC30L7QsdGA0LDQttC10L3QuNGPINC90LAgbWVkaWEg0YHQtdGA0LLQtdGA0LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW1hZ2Ug0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqIEByZXR1cm5zINCf0L7Qu9C90YvQuSBVUkkg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZWRpYUltYWdlVVJJKGltYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaW1hZ2Uuc3RhcnRzV2l0aCgnLycpID8gdGhpcy51cmxzLmltZ1NlcnZlclVybCArIGltYWdlIDogYCR7dGhpcy51cmxzLmltZ1NlcnZlclVybH0vJHtpbWFnZX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDQuNC30L7QsdGA0LDQttC10L3QuNC5INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0INCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcHVibGljIGdldFByb2R1Y3RJbWFnZUxpc3QocHJvZHVjdDogU2NQcm9kdWN0KTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpbWFnZXMgPSBwcm9kdWN0LmltYWdlcz8uZmlsdGVyKChpbWFnZSkgPT4gaW1hZ2UuaW1hZ2UpLm1hcCgoXywgaW5kZXgpID0+IHRoaXMuZ2V0SW1hZ2UocHJvZHVjdCwgaW5kZXgpKTtcblxuICAgICAgICByZXR1cm4gaW1hZ2VzPy5sZW5ndGggPyBpbWFnZXMgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LzQsNGB0YHQuNCyINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC5INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0INCU0LDQvdC90YvQtSDQviDRgtC+0LLQsNGA0LUv0YPRgdC70YPQs9C1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0SW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBwcm9kdWN0LmltYWdlcz8uZmlsdGVyKChpbWFnZSkgPT4gaW1hZ2UucHJldmlldykubWFwKChfLCBpbmRleCkgPT4gdGhpcy5nZXRJbWFnZVByZXZpZXcocHJvZHVjdCwgaW5kZXgpKSA/PyBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INGE0LDQudC7INGP0LLQu9GP0LXRgtGB0Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjQtdC8LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1hdCDQpNC+0YDQvNCw0YIg0YTQsNC50LvQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICAgIHB1YmxpYyBpc0ltZyhmb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gWydqcGVnJywgJ2pwZycsICdwbmcnLCAnZ2lmJywgJ2JtcCcsICd0aWZmJ10uaW5jbHVkZXMoZm9ybWF0KTtcbiAgICB9XG59XG4iXX0=
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaW1hZ2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9oZWxwZXJzL3NjLWltYWdlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRXZGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJSTs7V0FFRztRQUNjLDhCQUF5QixHQUFnQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQXlGakg7SUF2Rkc7Ozs7OztPQU1HO0lBQ0ksUUFBUSxDQUFDLE9BQWtCLEVBQUUsV0FBbUIsQ0FBQztRQUNwRCxPQUFPO1lBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUM7WUFDakYsR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDMUQsU0FBUyxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7U0FDN0YsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxlQUFlLENBQUMsT0FBa0IsRUFBRSxlQUF1QixDQUFDO1FBQy9ELE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDO1lBQzlILEdBQUcsRUFBRSxpREFBaUQsT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQ3pGLFNBQVMsRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssQ0FBQztTQUM5SSxDQUFDO0lBQ04sQ0FBQztJQVlNLG1CQUFtQixDQUFDLE9BQWtCLEVBQUUsZUFBeUI7UUFDcEUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRS9HLElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxzQkFBc0IsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNySSxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQVlNLDBCQUEwQixDQUFDLE9BQWtCLEVBQUUsZUFBeUI7UUFDM0UsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXhILElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxpREFBaUQsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNoSyxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrREFBa0Q7SUFDM0MsS0FBSyxDQUFDLE1BQWM7UUFDdkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRixDQUFDOytHQTVGUSxhQUFhO21IQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTY1Byb2R1Y3QgfSBmcm9tICcuLi9jYXRhbG9nL2R0byc7XG5pbXBvcnQgeyBTY0ltYWdlIH0gZnJvbSAnLi4vY29tbW9uL2NsYXNzZXMvc2MtaW1hZ2UnO1xuaW1wb3J0IHsgU2NJSW1hZ2UgfSBmcm9tICcuLi9jb21tb24vaW50ZXJmYWNlcy9zYy1pLWltYWdlJztcbmltcG9ydCB7IFNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSB9IGZyb20gJy4uL3BpcGVzL3NjLW1lZGlhLWltYWdlLXRyYW5zZm9ybWVyLnBpcGUnO1xuXG4vKipcbiAqINCa0LvQsNGB0YEg0YEg0LLRgdC/0L7QvNC+0LPQsNGC0LXQu9GM0L3Ri9C80Lgg0LzQtdGC0L7QtNCw0LzQuCDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC40LfQvtCx0YDQsNC20LXQvdC40Y/QvNC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0ltYWdlSGVscGVyIHtcbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZTogU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlID0gaW5qZWN0KFNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSk7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuC5cbiAgICAgKiBAcGFyYW0gaW1nSW5kZXgg0JjQvdC00LXQutGBINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LIg0LzQsNGB0YHQuNCy0LUuXG4gICAgICogQHJldHVybnMg0JLQvtC30LLRgNCw0YnQsNC10YIg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAg0L/QviDQuNC90LTQtdC60YHRgy4g0JLQvtC30LLRgNCw0YnQsNC10YIg0L/Rg9GC0Lgg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9JyB7QGxpbmsgcGF0aEltYWdlTm90Rm91bmR9INC10YHQu9C4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L/QviDQuNC90LTQtdC60YHRgyDQvdC1INC90LDQudC00LXQvdC+LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZShwcm9kdWN0OiBTY1Byb2R1Y3QsIGltZ0luZGV4OiBudW1iZXIgPSAwKTogU2NJSW1hZ2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaW1hZ2U6IHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0ocHJvZHVjdC5nZXRJbWFnZShpbWdJbmRleCksIHRydWUpLFxuICAgICAgICAgICAgYWx0OiBg0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAgJHtwcm9kdWN0Lm5hbWV9IOKEliR7aW1nSW5kZXggKyAxfWAsXG4gICAgICAgICAgICBpbWFnZVdlYnA6IHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0ocHJvZHVjdC5nZXRJbWFnZVdlYnAoaW1nSW5kZXgpLCBmYWxzZSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwINC/0L4g0LjQvdC00LXQutGB0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4LlxuICAgICAqIEBwYXJhbSBwcmV2aWV3SW5kZXgg0JjQvdC00LXQutGBINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNGPINCyINC80LDRgdGB0LjQstC1LlxuICAgICAqIEByZXR1cm5zINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0LXRgdC70Lgg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L/QviDQuNC90LTQtdC60YHRgyDQvdC1INC90LDQudC00LXQvdC+LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZVByZXZpZXcocHJvZHVjdDogU2NQcm9kdWN0LCBwcmV2aWV3SW5kZXg6IG51bWJlciA9IDApOiBTY0lJbWFnZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbWFnZTogdGhpcy5tZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlLnRyYW5zZm9ybShwcm9kdWN0LmdldEltYWdlUHJldmlldyhwcmV2aWV3SW5kZXgpID8/IHByb2R1Y3QuZ2V0SW1hZ2UocHJldmlld0luZGV4KSwgdHJ1ZSksXG4gICAgICAgICAgICBhbHQ6IGDQmNC30L7QsdGA0LDQttC10L3QuNC1INC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L7Qs9C+INC/0YDQvtGB0LzQvtGC0YDQsCDRgtC+0LLQsNGA0LAgJHtwcm9kdWN0Lm5hbWV9IOKEliR7cHJldmlld0luZGV4ICsgMX1gLFxuICAgICAgICAgICAgaW1hZ2VXZWJwOiB0aGlzLm1lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUudHJhbnNmb3JtKHByb2R1Y3QuZ2V0SW1hZ2VQcmV2aWV3V2VicChwcmV2aWV3SW5kZXgpID8/IHByb2R1Y3QuZ2V0SW1hZ2VXZWJwKHByZXZpZXdJbmRleCksIGZhbHNlKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0LjQt9C+0LHRgNCw0LbQtdC90LjQuSDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4LlxuICAgICAqIEBwYXJhbSB1c2VEZWZhdWx0SW1hZ2Ug0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQv9GA0Lgg0L7RgtGB0YPRgtGB0YLQstC40Lgg0LjQt9C+0LHRgNCw0LbQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlTGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QsIHVzZURlZmF1bHRJbWFnZTogdHJ1ZSk6IFNjSUltYWdlW107XG5cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlTGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QsIHVzZURlZmF1bHRJbWFnZT86IGZhbHNlKTogU2NJSW1hZ2VbXSB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBnZXRQcm9kdWN0SW1hZ2VMaXN0KHByb2R1Y3Q6IFNjUHJvZHVjdCwgdXNlRGVmYXVsdEltYWdlPzogYm9vbGVhbik6IFNjSUltYWdlW10gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpbWFnZXMgPSBwcm9kdWN0LmltYWdlcz8uZmlsdGVyKChpbWFnZSkgPT4gaW1hZ2UuaW1hZ2UpLm1hcCgoXywgaW5kZXgpID0+IHRoaXMuZ2V0SW1hZ2UocHJvZHVjdCwgaW5kZXgpKTtcblxuICAgICAgICBpZiAoaW1hZ2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpbWFnZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXNlRGVmYXVsdEltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gW25ldyBTY0ltYWdlKHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0odW5kZWZpbmVkLCB0cnVlKSwgYNCY0LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwICR7cHJvZHVjdC5uYW1lfSDQvdC1INC90LDQudC00LXQvdC+YCldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40Lkg0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0JTQsNC90L3Ri9C1INC+INGC0L7QstCw0YDQtS/Rg9GB0LvRg9Cz0LUuXG4gICAgICogQHBhcmFtIHVzZURlZmF1bHRJbWFnZSDQn9GA0LjQt9C90LDQuiDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQuNC30L7QsdGA0LDQttC10L3QuNGPINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0YDQuCDQvtGC0YHRg9GC0YHRgtCy0LjQuCDQuNC30L7QsdGA0LDQttC10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0SW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QsIHVzZURlZmF1bHRJbWFnZTogdHJ1ZSk6IFNjSUltYWdlW107XG5cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlUHJldmlld0xpc3QocHJvZHVjdDogU2NQcm9kdWN0LCB1c2VEZWZhdWx0SW1hZ2U/OiBmYWxzZSk6IFNjSUltYWdlW10gfCB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlUHJldmlld0xpc3QocHJvZHVjdDogU2NQcm9kdWN0LCB1c2VEZWZhdWx0SW1hZ2U/OiBib29sZWFuKTogU2NJSW1hZ2VbXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGltYWdlcyA9IHByb2R1Y3QuaW1hZ2VzPy5maWx0ZXIoKGltYWdlKSA9PiBpbWFnZS5wcmV2aWV3KS5tYXAoKF8sIGluZGV4KSA9PiB0aGlzLmdldEltYWdlUHJldmlldyhwcm9kdWN0LCBpbmRleCkpO1xuXG4gICAgICAgIGlmIChpbWFnZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGltYWdlcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VEZWZhdWx0SW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBbbmV3IFNjSW1hZ2UodGhpcy5tZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlLnRyYW5zZm9ybSh1bmRlZmluZWQsIHRydWUpLCBg0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+0LPQviDQv9GA0L7RgdC80L7RgtGA0LAg0YLQvtCy0LDRgNCwICR7cHJvZHVjdC5uYW1lfSDQvdC1INC90LDQudC00LXQvdC+YCldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INGE0LDQudC7INGP0LLQu9GP0LXRgtGB0Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjQtdC8LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1hdCDQpNC+0YDQvNCw0YIg0YTQsNC50LvQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICAgIHB1YmxpYyBpc0ltZyhmb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gWydqcGVnJywgJ2pwZycsICdwbmcnLCAnZ2lmJywgJ2JtcCcsICd0aWZmJywgJ3dlYnAnXS5pbmNsdWRlcyhmb3JtYXQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy10aWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9uZXdzL2NsYXNzZXMvc2MtbmV3cy10aWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCc0L7QtNC10LvRjCDQtNCw0L3QvdGL0YUg0LrRgNCw0YLQutC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L3QvtCy0L7RgdGC0LguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NOZXdzVGlsZSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy10aWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9uZXdzL2NsYXNzZXMvc2MtbmV3cy10aWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCc0L7QtNC10LvRjCDQtNCw0L3QvdGL0YUg0LrRgNCw0YLQutC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L3QvtCy0L7RgdGC0LguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NOZXdzVGlsZSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0Lgg0LIg0YTQvtGA0LzQsNGC0LUgV2ViUC5cbiAgICAgKi9cbiAgICBpbWFnZVdlYnA/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -13,8 +13,9 @@ export class ScNews extends ScSeoResource {
|
|
|
13
13
|
this.id = newsDTO.id;
|
|
14
14
|
this.subject = newsDTO.subject;
|
|
15
15
|
this.image = newsDTO.image;
|
|
16
|
+
this.imageWebp = newsDTO.imageWebp;
|
|
16
17
|
this.createdAt = newsDTO.createdAt;
|
|
17
18
|
this.text = newsDTO.text;
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbmV3cy9jbGFzc2VzL3NjLW5ld3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR2xFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU8sU0FBUSxhQUFhO0lBMEJyQzs7OztPQUlHO0lBQ0gsWUFBbUIsT0FBbUI7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NTZW9SZXNvdXJjZSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvZHRvL3NjLXNlby1yZXNvdXJjZSc7XG5pbXBvcnQgeyBTY0lOZXdzRFRPIH0gZnJvbSAnLi4vaW50ZXJuYWwvc2MtaS1uZXdzLWR0byc7XG5cbi8qKlxuICog0JzQvtC00LXQu9GMINC00LDQvdC90YvRhSDQvdC+0LLQvtGB0YLQuC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjTmV3cyBleHRlbmRzIFNjU2VvUmVzb3VyY2Uge1xuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90L7QstC+0YHRgtC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBpZDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JfQsNCz0L7Qu9C+0LLQvtC6INC90L7QstC+0YHRgtC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZWRBdDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0KHRgtGA0L7QutCwIEhUTUwg0YEg0YHQvtC00LXRgNC20LjQvNGL0Lwg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgcHVibGljIHRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINC+0YHQvdC+0LLQvdC+0LUg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQvdC+0LLQvtGB0YLQuCDQsiDRhNC+0YDQvNCw0YLQtSBXZWJQLlxuICAgICAqL1xuICAgIHB1YmxpYyBpbWFnZVdlYnA/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQ2F0ZWdvcnl9LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld3NEVE8g0JTQsNC90L3Ri9C1INC00LvRjyDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IobmV3c0RUTzogU2NJTmV3c0RUTykge1xuICAgICAgICBzdXBlcihuZXdzRFRPKTtcblxuICAgICAgICB0aGlzLmlkID0gbmV3c0RUTy5pZDtcbiAgICAgICAgdGhpcy5zdWJqZWN0ID0gbmV3c0RUTy5zdWJqZWN0O1xuICAgICAgICB0aGlzLmltYWdlID0gbmV3c0RUTy5pbWFnZTtcbiAgICAgICAgdGhpcy5pbWFnZVdlYnAgPSBuZXdzRFRPLmltYWdlV2VicDtcbiAgICAgICAgdGhpcy5jcmVhdGVkQXQgPSBuZXdzRFRPLmNyZWF0ZWRBdDtcbiAgICAgICAgdGhpcy50ZXh0ID0gbmV3c0RUTy50ZXh0O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1uZXdzLWR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbmV3cy9pbnRlcm5hbC9zYy1pLW5ld3MtZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lTZW9SZXNvdXJjZURUTyB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJuYWwvc2MtaS1zZW8tcmVzb3VyY2UtZHRvJztcblxuLyoqXG4gKiDQnNC+0LTQtdC70Ywg0LTQsNC90L3Ri9GFINC90L7QstC+0YHRgtC4LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU5ld3NEVE8gZXh0ZW5kcyBTY0lTZW9SZXNvdXJjZURUTyB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0YDQvtC60LAgSFRNTCDRgSDRgdC+0LTQtdGA0LbQuNC80YvQvCDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG59XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1uZXdzLWR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbmV3cy9pbnRlcm5hbC9zYy1pLW5ld3MtZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lTZW9SZXNvdXJjZURUTyB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJuYWwvc2MtaS1zZW8tcmVzb3VyY2UtZHRvJztcblxuLyoqXG4gKiDQnNC+0LTQtdC70Ywg0LTQsNC90L3Ri9GFINC90L7QstC+0YHRgtC4LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU5ld3NEVE8gZXh0ZW5kcyBTY0lTZW9SZXNvdXJjZURUTyB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0Lgg0LIg0YTQvtGA0LzQsNGC0LUgV2ViUC5cbiAgICAgKi9cbiAgICBpbWFnZVdlYnA/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0YDQvtC60LAgSFRNTCDRgSDRgdC+0LTQtdGA0LbQuNC80YvQvCDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG59XG4iXX0=
|
package/esm2022/pipes/index.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './sc-id-or-slug.pipe';
|
|
2
|
-
|
|
2
|
+
export * from './sc-media-image-transformer.pipe';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtaWQtb3Itc2x1Zy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZSc7XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
|
+
import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS } from '../tokens';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Пайп для формирования полного URI изображения на media сервере.
|
|
6
|
+
*/
|
|
7
|
+
export class ScMediaImageTransformerPipe {
|
|
8
|
+
constructor() {
|
|
9
|
+
/**
|
|
10
|
+
* Список ссылок на разделы backend'a.
|
|
11
|
+
*/
|
|
12
|
+
this.urls = inject(SC_URLS);
|
|
13
|
+
/**
|
|
14
|
+
* Путь до изображения 'Товар не найден'.
|
|
15
|
+
*/
|
|
16
|
+
this.pathImageNotFound = inject(SC_PATH_IMAGE_NOT_FOUND);
|
|
17
|
+
}
|
|
18
|
+
transform(image, useDefaultImage) {
|
|
19
|
+
if (!image) {
|
|
20
|
+
return useDefaultImage ? this.pathImageNotFound : undefined;
|
|
21
|
+
}
|
|
22
|
+
return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
25
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, isStandalone: true, name: "scMediaImageTransformer" }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, decorators: [{
|
|
28
|
+
type: Pipe,
|
|
29
|
+
args: [{
|
|
30
|
+
name: 'scMediaImageTransformer',
|
|
31
|
+
standalone: true,
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcGlwZXMvc2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBSnhDO1FBS0k7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2Msc0JBQWlCLEdBQVcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FvQmhGO0lBUEcsU0FBUyxDQUFDLEtBQWdDLEVBQUUsZUFBeUI7UUFDakUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUN6RyxDQUFDOytHQTVCUSwyQkFBMkI7NkdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUseUJBQXlCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uL2NvbmZpZy9zYy1pLXVybHMnO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMgfSBmcm9tICcuLi90b2tlbnMnO1xuXG4vKipcbiAqINCf0LDQudC/INC00LvRjyDRhNC+0YDQvNC40YDQvtCy0LDQvdC40Y8g0L/QvtC70L3QvtCz0L4gVVJJINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L3QsCBtZWRpYSDRgdC10YDQstC10YDQtS5cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdzY01lZGlhSW1hZ2VUcmFuc2Zvcm1lcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF0aEltYWdlTm90Rm91bmQ6IHN0cmluZyA9IGluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCk7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNC40YDRg9C10YIg0L/QvtC70L3Ri9C5IFVSSSDQuNC30L7QsdGA0LDQttC10L3QuNGPINC90LAgbWVkaWEg0YHQtdGA0LLQtdGA0LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW1hZ2Ug0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqIEBwYXJhbSB1c2VEZWZhdWx0SW1hZ2Ug0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQv9GA0Lgg0L7RgtGB0YPRgtGB0YLQstC40Lgg0LjQt9C+0LHRgNCw0LbQtdC90LjRjy5cbiAgICAgKiBAcmV0dXJucyDQn9C+0LvQvdGL0LkgVVJJINC00L4g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQuNC70Lgg0L/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9JyDQtdGB0LvQuCDQuNC30L7QsdGA0LDQttC10L3QuNC1INC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0LggdXNlRGVmYXVsdEltYWdlID0gdHJ1ZS5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm0oaW1hZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsIHVzZURlZmF1bHRJbWFnZTogdHJ1ZSk6IHN0cmluZztcblxuICAgIHRyYW5zZm9ybShpbWFnZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCwgdXNlRGVmYXVsdEltYWdlPzogZmFsc2UpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICB0cmFuc2Zvcm0oaW1hZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsIHVzZURlZmF1bHRJbWFnZT86IGJvb2xlYW4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoIWltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdXNlRGVmYXVsdEltYWdlID8gdGhpcy5wYXRoSW1hZ2VOb3RGb3VuZCA6IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbWFnZS5zdGFydHNXaXRoKCcvJykgPyB0aGlzLnVybHMuaW1nU2VydmVyVXJsICsgaW1hZ2UgOiBgJHt0aGlzLnVybHMuaW1nU2VydmVyVXJsfS8ke2ltYWdlfWA7XG4gICAgfVxufVxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Публичное API библиотеки бизнес-логики.
|
|
3
3
|
*/
|
|
4
|
+
export * from './common';
|
|
4
5
|
export * from './auth';
|
|
5
6
|
export * from './banners';
|
|
6
7
|
export * from './cart';
|
|
@@ -40,4 +41,4 @@ export * from './vacancies';
|
|
|
40
41
|
export * from './vCard';
|
|
41
42
|
export * from './verification';
|
|
42
43
|
export * from './warehouse';
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsTUFBTSxDQUFDO0FBQ3JCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqINCf0YPQsdC70LjRh9C90L7QtSBBUEkg0LHQuNCx0LvQuNC+0YLQtdC60Lgg0LHQuNC30L3QtdGBLdC70L7Qs9C40LrQuC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5uZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY2FydCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyYWdlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJ0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsaXZlcnktYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cEludGVyY2VwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL25ld3MnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdXRtJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVzdGlvbm5haXJlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjbGFtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZlcmVuY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtanNvbi1sZCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL3N1Z2dlc3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL3VpJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItbWV0cmlrYSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3Bob25lLWZvdG1hdHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3ZhY2FuY2llcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZDYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vdmVyaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vd2FyZWhvdXNlJztcbiJdfQ==
|
|
@@ -19,6 +19,24 @@ import { format, parse } from 'date-fns';
|
|
|
19
19
|
import * as i1$2 from '@angular/platform-browser';
|
|
20
20
|
import { Meta, Title } from '@angular/platform-browser';
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Базовый класс для изображений.
|
|
24
|
+
*/
|
|
25
|
+
class ScImage {
|
|
26
|
+
/**
|
|
27
|
+
* Инициализирует экземпляр класса {@link ScImage}.
|
|
28
|
+
*
|
|
29
|
+
* @param image Изображение.
|
|
30
|
+
* @param alt Альтернативный текст.
|
|
31
|
+
* @param imageWebp Изображение в формате WebP.
|
|
32
|
+
*/
|
|
33
|
+
constructor(image, alt, imageWebp) {
|
|
34
|
+
this.image = image;
|
|
35
|
+
this.imageWebp = imageWebp;
|
|
36
|
+
this.alt = alt;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
22
40
|
/**
|
|
23
41
|
* Токен, указывающий ключ токена доступа пользователя к API в {@link Storage}.
|
|
24
42
|
*/
|
|
@@ -845,6 +863,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
845
863
|
args: [SC_API_KEYS]
|
|
846
864
|
}] }, { type: ScTokenService }, { type: ScUserMetrikaService }] });
|
|
847
865
|
|
|
866
|
+
/**
|
|
867
|
+
* Данные баннера.
|
|
868
|
+
*/
|
|
869
|
+
class ScBanner {
|
|
870
|
+
/**
|
|
871
|
+
* Инициализирует экземпляр класса {@link ScBanner}.
|
|
872
|
+
*
|
|
873
|
+
* @param bannerDTO Данные для инициализации.
|
|
874
|
+
*/
|
|
875
|
+
constructor(bannerDTO) {
|
|
876
|
+
this.id = bannerDTO.id;
|
|
877
|
+
this.location = bannerDTO.location;
|
|
878
|
+
this.mediaType = bannerDTO.mediaType;
|
|
879
|
+
this.mediaFile = bannerDTO.mediaFile;
|
|
880
|
+
this.mediaFileWebp = bannerDTO.mediaFileWebp;
|
|
881
|
+
this.title = bannerDTO.title;
|
|
882
|
+
this.url = bannerDTO.url;
|
|
883
|
+
this.width = bannerDTO.width;
|
|
884
|
+
this.height = bannerDTO.height;
|
|
885
|
+
}
|
|
886
|
+
/**
|
|
887
|
+
* Возвращает признак того, что баннер является изображением.
|
|
888
|
+
*/
|
|
889
|
+
get isImage() {
|
|
890
|
+
return this.mediaType === 'image';
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Возвращает признак того, что баннер является видео.
|
|
894
|
+
*/
|
|
895
|
+
get isVideo() {
|
|
896
|
+
return this.mediaType === 'video';
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
|
|
848
900
|
/**
|
|
849
901
|
* Сервис для работы с баннерами.
|
|
850
902
|
*/
|
|
@@ -863,13 +915,7 @@ class ScBannerService {
|
|
|
863
915
|
/**
|
|
864
916
|
* Список баннеров.
|
|
865
917
|
*/
|
|
866
|
-
this.banners$ = this.authService.getAuthChange().pipe(switchMap(() => this.http.get(`${this.urls.apiUrl}/banners`)),
|
|
867
|
-
// eslint-disable-next-line no-param-reassign
|
|
868
|
-
banners.forEach((banner) => {
|
|
869
|
-
// eslint-disable-next-line no-param-reassign
|
|
870
|
-
banner.mediaFile = this.urls.imgServerUrl + banner.mediaFile;
|
|
871
|
-
});
|
|
872
|
-
}), shareReplay(1));
|
|
918
|
+
this.banners$ = this.authService.getAuthChange().pipe(switchMap(() => this.http.get(`${this.urls.apiUrl}/banners`)), map((banners) => banners.map((banner) => new ScBanner(banner))), shareReplay(1));
|
|
873
919
|
}
|
|
874
920
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScBannerService, deps: [{ token: i1$1.HttpClient }, { token: SC_URLS }, { token: ScAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
875
921
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScBannerService, providedIn: 'root' }); }
|
|
@@ -1214,6 +1260,14 @@ class ScProduct extends ScSeoResource {
|
|
|
1214
1260
|
getImage(imgIndex = 0) {
|
|
1215
1261
|
return this.images?.[`${imgIndex}`].image;
|
|
1216
1262
|
}
|
|
1263
|
+
/**
|
|
1264
|
+
* Возвращает основное изображение товара в формате WebP. Если WebP изображения нет, то возвращает undefined.
|
|
1265
|
+
*
|
|
1266
|
+
* @param imgIndex Индекс изображения в массиве.
|
|
1267
|
+
*/
|
|
1268
|
+
getImageWebp(imgIndex = 0) {
|
|
1269
|
+
return this.images?.[`${imgIndex}`].imageWebp;
|
|
1270
|
+
}
|
|
1217
1271
|
/**
|
|
1218
1272
|
* Возвращает первое превью-изображение товара. Если превью-изображений нет, то возвращает undefined.
|
|
1219
1273
|
*
|
|
@@ -1222,6 +1276,14 @@ class ScProduct extends ScSeoResource {
|
|
|
1222
1276
|
getImagePreview(imgIndex = 0) {
|
|
1223
1277
|
return this.images?.[`${imgIndex}`].preview;
|
|
1224
1278
|
}
|
|
1279
|
+
/**
|
|
1280
|
+
* Возвращает превью-изображение товара в формате WebP. Если WebP превью нет, то возвращает undefined.
|
|
1281
|
+
*
|
|
1282
|
+
* @param imgIndex Индекс превью-изображения в массиве.
|
|
1283
|
+
*/
|
|
1284
|
+
getImagePreviewWebp(imgIndex = 0) {
|
|
1285
|
+
return this.images?.[`${imgIndex}`].previewWebp;
|
|
1286
|
+
}
|
|
1225
1287
|
/**
|
|
1226
1288
|
* Возвращает количество товара на складе (остаток).
|
|
1227
1289
|
*
|
|
@@ -4692,9 +4754,9 @@ const ScIdOrSlugGuard = (route) => {
|
|
|
4692
4754
|
};
|
|
4693
4755
|
|
|
4694
4756
|
/**
|
|
4695
|
-
*
|
|
4757
|
+
* Пайп для формирования полного URI изображения на media сервере.
|
|
4696
4758
|
*/
|
|
4697
|
-
class
|
|
4759
|
+
class ScMediaImageTransformerPipe {
|
|
4698
4760
|
constructor() {
|
|
4699
4761
|
/**
|
|
4700
4762
|
* Список ссылок на разделы backend'a.
|
|
@@ -4705,6 +4767,33 @@ class ScImageHelper {
|
|
|
4705
4767
|
*/
|
|
4706
4768
|
this.pathImageNotFound = inject(SC_PATH_IMAGE_NOT_FOUND);
|
|
4707
4769
|
}
|
|
4770
|
+
transform(image, useDefaultImage) {
|
|
4771
|
+
if (!image) {
|
|
4772
|
+
return useDefaultImage ? this.pathImageNotFound : undefined;
|
|
4773
|
+
}
|
|
4774
|
+
return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
|
|
4775
|
+
}
|
|
4776
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4777
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, isStandalone: true, name: "scMediaImageTransformer" }); }
|
|
4778
|
+
}
|
|
4779
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, decorators: [{
|
|
4780
|
+
type: Pipe,
|
|
4781
|
+
args: [{
|
|
4782
|
+
name: 'scMediaImageTransformer',
|
|
4783
|
+
standalone: true,
|
|
4784
|
+
}]
|
|
4785
|
+
}] });
|
|
4786
|
+
|
|
4787
|
+
/**
|
|
4788
|
+
* Класс с вспомогательными методами для работы с изображениями.
|
|
4789
|
+
*/
|
|
4790
|
+
class ScImageHelper {
|
|
4791
|
+
constructor() {
|
|
4792
|
+
/**
|
|
4793
|
+
* Список ссылок на разделы backend'a.
|
|
4794
|
+
*/
|
|
4795
|
+
this.mediaImageTransformerPipe = inject(ScMediaImageTransformerPipe);
|
|
4796
|
+
}
|
|
4708
4797
|
/**
|
|
4709
4798
|
* Возвращает изображение товара по индексу.
|
|
4710
4799
|
*
|
|
@@ -4713,11 +4802,11 @@ class ScImageHelper {
|
|
|
4713
4802
|
* @returns Возвращает изображение товара по индексу. Возвращает пути до изображения 'Товар не найден' {@link pathImageNotFound} если изображения по индексу не найдено.
|
|
4714
4803
|
*/
|
|
4715
4804
|
getImage(product, imgIndex = 0) {
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4805
|
+
return {
|
|
4806
|
+
image: this.mediaImageTransformerPipe.transform(product.getImage(imgIndex), true),
|
|
4807
|
+
alt: `Изображение товара ${product.name} №${imgIndex + 1}`,
|
|
4808
|
+
imageWebp: this.mediaImageTransformerPipe.transform(product.getImageWebp(imgIndex), false),
|
|
4809
|
+
};
|
|
4721
4810
|
}
|
|
4722
4811
|
/**
|
|
4723
4812
|
* Возвращает превью-изображение товара по индексу.
|
|
@@ -4727,37 +4816,31 @@ class ScImageHelper {
|
|
|
4727
4816
|
* @returns Возвращает превью-изображение товара по индексу. Возвращает основное изображение если превью-изображения по индексу не найдено.
|
|
4728
4817
|
*/
|
|
4729
4818
|
getImagePreview(product, previewIndex = 0) {
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
}
|
|
4736
|
-
/**
|
|
4737
|
-
* Формирует полный URI изображения на media сервере.
|
|
4738
|
-
*
|
|
4739
|
-
* @param image Путь до изображения.
|
|
4740
|
-
* @returns Полный URI до изображения.
|
|
4741
|
-
*/
|
|
4742
|
-
getMediaImageURI(image) {
|
|
4743
|
-
return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
|
|
4819
|
+
return {
|
|
4820
|
+
image: this.mediaImageTransformerPipe.transform(product.getImagePreview(previewIndex) ?? product.getImage(previewIndex), true),
|
|
4821
|
+
alt: `Изображение предварительного просмотра товара ${product.name} №${previewIndex + 1}`,
|
|
4822
|
+
imageWebp: this.mediaImageTransformerPipe.transform(product.getImagePreviewWebp(previewIndex) ?? product.getImageWebp(previewIndex), false),
|
|
4823
|
+
};
|
|
4744
4824
|
}
|
|
4745
|
-
|
|
4746
|
-
* Возвращает массив изображений товара.
|
|
4747
|
-
*
|
|
4748
|
-
* @param product Позиция товара/услуги.
|
|
4749
|
-
*/
|
|
4750
|
-
getProductImageList(product) {
|
|
4825
|
+
getProductImageList(product, useDefaultImage) {
|
|
4751
4826
|
const images = product.images?.filter((image) => image.image).map((_, index) => this.getImage(product, index));
|
|
4752
|
-
|
|
4827
|
+
if (images?.length) {
|
|
4828
|
+
return images;
|
|
4829
|
+
}
|
|
4830
|
+
if (useDefaultImage) {
|
|
4831
|
+
return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение товара ${product.name} не найдено`)];
|
|
4832
|
+
}
|
|
4833
|
+
return undefined;
|
|
4753
4834
|
}
|
|
4754
|
-
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
|
|
4759
|
-
|
|
4760
|
-
|
|
4835
|
+
getProductImagePreviewList(product, useDefaultImage) {
|
|
4836
|
+
const images = product.images?.filter((image) => image.preview).map((_, index) => this.getImagePreview(product, index));
|
|
4837
|
+
if (images?.length) {
|
|
4838
|
+
return images;
|
|
4839
|
+
}
|
|
4840
|
+
if (useDefaultImage) {
|
|
4841
|
+
return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение предварительного просмотра товара ${product.name} не найдено`)];
|
|
4842
|
+
}
|
|
4843
|
+
return undefined;
|
|
4761
4844
|
}
|
|
4762
4845
|
/**
|
|
4763
4846
|
* Возвращает признак того, что файл является изображением.
|
|
@@ -4766,7 +4849,7 @@ class ScImageHelper {
|
|
|
4766
4849
|
*/
|
|
4767
4850
|
// eslint-disable-next-line class-methods-use-this
|
|
4768
4851
|
isImg(format) {
|
|
4769
|
-
return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff'].includes(format);
|
|
4852
|
+
return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff', 'webp'].includes(format);
|
|
4770
4853
|
}
|
|
4771
4854
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4772
4855
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, providedIn: 'root' }); }
|
|
@@ -5424,6 +5507,7 @@ class ScNews extends ScSeoResource {
|
|
|
5424
5507
|
this.id = newsDTO.id;
|
|
5425
5508
|
this.subject = newsDTO.subject;
|
|
5426
5509
|
this.image = newsDTO.image;
|
|
5510
|
+
this.imageWebp = newsDTO.imageWebp;
|
|
5427
5511
|
this.createdAt = newsDTO.createdAt;
|
|
5428
5512
|
this.text = newsDTO.text;
|
|
5429
5513
|
}
|
|
@@ -7155,5 +7239,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
7155
7239
|
* Generated bundle index. Do not edit.
|
|
7156
7240
|
*/
|
|
7157
7241
|
|
|
7158
|
-
export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
|
|
7242
|
+
export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImage, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
|
|
7159
7243
|
//# sourceMappingURL=snabcentr-client-core.mjs.map
|