@snabcentr/client-core 3.5.1 → 3.5.2
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
|
|
|
@@ -4295,11 +4295,18 @@ const SC_CATEGORY_INFO = new InjectionToken('A stream with current category info
|
|
|
4295
4295
|
/**
|
|
4296
4296
|
* Фабрика создания потока данных о категории.
|
|
4297
4297
|
*
|
|
4298
|
+
* @param router Сервис для работы с маршрутом.
|
|
4298
4299
|
* @param route Маршрут.
|
|
4299
4300
|
* @param catalogService Сервис для работы с каталогом.
|
|
4300
4301
|
*/
|
|
4301
|
-
function categoryFactory(route, catalogService) {
|
|
4302
|
-
return
|
|
4302
|
+
function categoryFactory(router, route, catalogService) {
|
|
4303
|
+
return router.events.pipe(filter((event) => event instanceof NavigationEnd)).pipe(startWith(null), switchMap(() => {
|
|
4304
|
+
const categoryIdOrSlug = scGetCurrentRoute(route).snapshot.paramMap.get('categoryIdOrSlug');
|
|
4305
|
+
if (categoryIdOrSlug) {
|
|
4306
|
+
return catalogService.getCategoryCached$(categoryIdOrSlug);
|
|
4307
|
+
}
|
|
4308
|
+
return of(null);
|
|
4309
|
+
}), shareReplay({ bufferSize: 1, refCount: true }), takeUntilDestroyed());
|
|
4303
4310
|
}
|
|
4304
4311
|
/**
|
|
4305
4312
|
* Провайдеры потока данных о категории.
|
|
@@ -4307,7 +4314,7 @@ function categoryFactory(route, catalogService) {
|
|
|
4307
4314
|
const CATEGORY_PROVIDERS = [
|
|
4308
4315
|
{
|
|
4309
4316
|
provide: SC_CATEGORY_INFO,
|
|
4310
|
-
deps: [ActivatedRoute, ScCatalogService],
|
|
4317
|
+
deps: [Router, ActivatedRoute, ScCatalogService],
|
|
4311
4318
|
useFactory: categoryFactory,
|
|
4312
4319
|
},
|
|
4313
4320
|
];
|