@snabcentr/client-core 2.66.15 → 2.66.16
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.
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import {
|
|
5
|
-
import { filter, map, shareReplay, switchMap } from 'rxjs';
|
|
3
|
+
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
|
4
|
+
import { filter, of, shareReplay, startWith, switchMap } from 'rxjs';
|
|
6
5
|
import { ScCatalogService } from '../catalog/services/sc-catalog.service';
|
|
7
6
|
import { scGetCurrentRoute } from '../helpers';
|
|
8
7
|
/**
|
|
@@ -12,11 +11,18 @@ export const SC_CATEGORY_INFO = new InjectionToken('A stream with current catego
|
|
|
12
11
|
/**
|
|
13
12
|
* Фабрика создания потока данных о категории.
|
|
14
13
|
*
|
|
14
|
+
* @param router Сервис для работы с маршрутом.
|
|
15
15
|
* @param route Маршрут.
|
|
16
16
|
* @param catalogService Сервис для работы с каталогом.
|
|
17
17
|
*/
|
|
18
|
-
function categoryFactory(route, catalogService) {
|
|
19
|
-
return
|
|
18
|
+
function categoryFactory(router, route, catalogService) {
|
|
19
|
+
return router.events.pipe(filter((event) => event instanceof NavigationEnd)).pipe(startWith(null), switchMap(() => {
|
|
20
|
+
const categoryIdOrSlug = scGetCurrentRoute(route).snapshot.paramMap.get('categoryIdOrSlug');
|
|
21
|
+
if (categoryIdOrSlug) {
|
|
22
|
+
return catalogService.getCategoryCached$(categoryIdOrSlug);
|
|
23
|
+
}
|
|
24
|
+
return of(null);
|
|
25
|
+
}), shareReplay({ bufferSize: 1, refCount: true }), takeUntilDestroyed());
|
|
20
26
|
}
|
|
21
27
|
/**
|
|
22
28
|
* Провайдеры потока данных о категории.
|
|
@@ -24,8 +30,8 @@ function categoryFactory(route, catalogService) {
|
|
|
24
30
|
export const CATEGORY_PROVIDERS = [
|
|
25
31
|
{
|
|
26
32
|
provide: SC_CATEGORY_INFO,
|
|
27
|
-
deps: [ActivatedRoute, ScCatalogService],
|
|
33
|
+
deps: [Router, ActivatedRoute, ScCatalogService],
|
|
28
34
|
useFactory: categoryFactory,
|
|
29
35
|
},
|
|
30
36
|
];
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcnkucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9wcm92aWRlcnMvc2MtY2F0ZWdvcnkucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWdDLDRDQUE0QyxDQUFDLENBQUM7QUFFaEk7Ozs7OztHQU1HO0FBQ0gsU0FBUyxlQUFlLENBQUMsTUFBYyxFQUFFLEtBQXFCLEVBQUUsY0FBZ0M7SUFDNUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0UsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDWCxNQUFNLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFNUYsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLE9BQU8sY0FBYyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQzlDLGtCQUFrQixFQUFFLENBQ3ZCLENBQUM7QUFDTixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZTtJQUMxQztRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNoRCxVQUFVLEVBQUUsZUFBZTtLQUM5QjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjQ2F0ZWdvcnkgfSBmcm9tICcuLi9jYXRhbG9nL2R0by9zYy1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY0NhdGFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vY2F0YWxvZy9zZXJ2aWNlcy9zYy1jYXRhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgc2NHZXRDdXJyZW50Um91dGUgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuLyoqXG4gKiDQotC+0LrQtdC9INC/0L7RgtC+0LrQsCDQtNCw0L3QvdGL0YUg0L4g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICovXG5leHBvcnQgY29uc3QgU0NfQ0FURUdPUllfSU5GTyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPFNjQ2F0ZWdvcnkgfCBudWxsPj4oJ0Egc3RyZWFtIHdpdGggY3VycmVudCBjYXRlZ29yeSBpbmZvcm1hdGlvbicpO1xuXG4vKipcbiAqINCk0LDQsdGA0LjQutCwINGB0L7Qt9C00LDQvdC40Y8g0L/QvtGC0L7QutCwINC00LDQvdC90YvRhSDQviDQutCw0YLQtdCz0L7RgNC40LguXG4gKlxuICogQHBhcmFtIHJvdXRlciDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQvNCw0YDRiNGA0YPRgtC+0LwuXG4gKiBAcGFyYW0gcm91dGUg0JzQsNGA0YjRgNGD0YIuXG4gKiBAcGFyYW0gY2F0YWxvZ1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LrQsNGC0LDQu9C+0LPQvtC8LlxuICovXG5mdW5jdGlvbiBjYXRlZ29yeUZhY3Rvcnkocm91dGVyOiBSb3V0ZXIsIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgY2F0YWxvZ1NlcnZpY2U6IFNjQ2F0YWxvZ1NlcnZpY2UpOiBPYnNlcnZhYmxlPFNjQ2F0ZWdvcnkgfCBudWxsPiB7XG4gICAgcmV0dXJuIHJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yeUlkT3JTbHVnID0gc2NHZXRDdXJyZW50Um91dGUocm91dGUpLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnY2F0ZWdvcnlJZE9yU2x1ZycpO1xuXG4gICAgICAgICAgICBpZiAoY2F0ZWdvcnlJZE9yU2x1Zykge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYXRhbG9nU2VydmljZS5nZXRDYXRlZ29yeUNhY2hlZCQoY2F0ZWdvcnlJZE9yU2x1Zyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgKTtcbn1cblxuLyoqXG4gKiDQn9GA0L7QstCw0LnQtNC10YDRiyDQv9C+0YLQvtC60LAg0LTQsNC90L3Ri9GFINC+INC60LDRgtC10LPQvtGA0LjQuC5cbiAqL1xuZXhwb3J0IGNvbnN0IENBVEVHT1JZX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFNDX0NBVEVHT1JZX0lORk8sXG4gICAgICAgIGRlcHM6IFtSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlLCBTY0NhdGFsb2dTZXJ2aWNlXSxcbiAgICAgICAgdXNlRmFjdG9yeTogY2F0ZWdvcnlGYWN0b3J5LFxuICAgIH0sXG5dO1xuIl19
|
|
@@ -14,7 +14,7 @@ import { tuiIsPresent, TuiDay, tuiPure, TUI_TRUE_HANDLER } from '@taiga-ui/cdk';
|
|
|
14
14
|
import { tuiCleanObject } from '@taiga-ui/addon-doc/utils';
|
|
15
15
|
import { __decorate } from 'tslib';
|
|
16
16
|
import * as i2 from '@angular/router';
|
|
17
|
-
import {
|
|
17
|
+
import { NavigationEnd, Router, ActivatedRoute } from '@angular/router';
|
|
18
18
|
import { objectToSnake, objectToCamel, toSnake } from 'ts-case-convert';
|
|
19
19
|
import { Meta, Title } from '@angular/platform-browser';
|
|
20
20
|
|
|
@@ -4303,11 +4303,18 @@ const SC_CATEGORY_INFO = new InjectionToken('A stream with current category info
|
|
|
4303
4303
|
/**
|
|
4304
4304
|
* Фабрика создания потока данных о категории.
|
|
4305
4305
|
*
|
|
4306
|
+
* @param router Сервис для работы с маршрутом.
|
|
4306
4307
|
* @param route Маршрут.
|
|
4307
4308
|
* @param catalogService Сервис для работы с каталогом.
|
|
4308
4309
|
*/
|
|
4309
|
-
function categoryFactory(route, catalogService) {
|
|
4310
|
-
return
|
|
4310
|
+
function categoryFactory(router, route, catalogService) {
|
|
4311
|
+
return router.events.pipe(filter((event) => event instanceof NavigationEnd)).pipe(startWith(null), switchMap(() => {
|
|
4312
|
+
const categoryIdOrSlug = scGetCurrentRoute(route).snapshot.paramMap.get('categoryIdOrSlug');
|
|
4313
|
+
if (categoryIdOrSlug) {
|
|
4314
|
+
return catalogService.getCategoryCached$(categoryIdOrSlug);
|
|
4315
|
+
}
|
|
4316
|
+
return of(null);
|
|
4317
|
+
}), shareReplay({ bufferSize: 1, refCount: true }), takeUntilDestroyed());
|
|
4311
4318
|
}
|
|
4312
4319
|
/**
|
|
4313
4320
|
* Провайдеры потока данных о категории.
|
|
@@ -4315,7 +4322,7 @@ function categoryFactory(route, catalogService) {
|
|
|
4315
4322
|
const CATEGORY_PROVIDERS = [
|
|
4316
4323
|
{
|
|
4317
4324
|
provide: SC_CATEGORY_INFO,
|
|
4318
|
-
deps: [ActivatedRoute, ScCatalogService],
|
|
4325
|
+
deps: [Router, ActivatedRoute, ScCatalogService],
|
|
4319
4326
|
useFactory: categoryFactory,
|
|
4320
4327
|
},
|
|
4321
4328
|
];
|