@snabcentr/client-core 3.15.2 → 3.16.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-core",
3
- "version": "3.15.2",
3
+ "version": "3.16.2",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-core-lib",
6
6
  "license": "Commercial",
@@ -1,2 +1,4 @@
1
1
  export * from './dto';
2
+ export * from './sc-page-query-param';
3
+ export * from './services/sc-pagination-page-query-param.service';
2
4
  export * from './services/sc-pagination.service';
@@ -0,0 +1,17 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Наименование query-параметра номера страницы пагинации.
4
+ */
5
+ export declare const SC_PAGE_QUERY_PARAM = "page";
6
+ /**
7
+ * Преобразует значение query-параметра {@link SC_PAGE_QUERY_PARAM} в номер страницы пагинации.
8
+ * Нечисловые, дробные и меньшие единицы значения приводятся к первой странице.
9
+ *
10
+ * @param value Значение query-параметра номера страницы пагинации.
11
+ */
12
+ export declare function scParsePageQueryParam(value?: string | null): number;
13
+ /**
14
+ * Возвращает {@link Observable} изменения номера страницы пагинации из query-параметра {@link SC_PAGE_QUERY_PARAM}.
15
+ * Должна вызываться в контексте инъекции.
16
+ */
17
+ export declare function scGetPageQueryParamChanges(): Observable<number>;
@@ -0,0 +1,49 @@
1
+ import { ScIPaginationParams } from '../dto/sc-i-pagination-params';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Сервис синхронизации номера страницы пагинации с query-параметром {@link SC_PAGE_QUERY_PARAM}.
5
+ */
6
+ export declare class ScPaginationPageQueryParamService<P extends ScIPaginationParams, O extends object = Omit<P, keyof ScIPaginationParams>> {
7
+ /**
8
+ * Сервис пагинации.
9
+ */
10
+ private readonly paginationService;
11
+ /**
12
+ * Сервис предоставляющий доступ к данным о маршруте.
13
+ */
14
+ private readonly route;
15
+ /**
16
+ * Сервис маршрутизации.
17
+ */
18
+ private readonly router;
19
+ /**
20
+ * Последние параметры пагинации, переданные в {@link patchOthers}.
21
+ */
22
+ private lastParams?;
23
+ /**
24
+ * Номер страницы пагинации, применённый последним.
25
+ */
26
+ private lastAppliedPage;
27
+ /**
28
+ * Инициализирует экземпляр класса {@link ScPaginationPageQueryParamService}.
29
+ */
30
+ constructor();
31
+ /**
32
+ * Частично обновляет остальные параметры пагинации и применяет номер страницы из query-параметра при первом вызове.
33
+ *
34
+ * @param parameters Новые параметры пагинации.
35
+ */
36
+ patchOthers(parameters: Partial<O>): void;
37
+ /**
38
+ * Применяет количество записей на странице пагинации с сохранением текущей страницы.
39
+ *
40
+ * @param perPage Количество записей на странице пагинации.
41
+ */
42
+ patchPerPage(perPage: number): void;
43
+ /**
44
+ * Убирает номер страницы пагинации из query-параметров.
45
+ */
46
+ resetPageQueryParam(): void;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScPaginationPageQueryParamService<any, any>, never>;
48
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScPaginationPageQueryParamService<any, any>>;
49
+ }
package/release_notes.tmp CHANGED
@@ -1,6 +1,6 @@
1
- ## 3.15.2 (2026-08-14)
1
+ ## 3.16.2 (2026-08-19)
2
2
 
3
3
  ### added (1 change)
4
4
 
5
- - [#13561: В фильтры списка товаров добавлен фильтр периода создания](web_soft/libs/angular/snabcentr-client-core-lib@01335ba7f54eb2f37b13b0b35c7eb999edbc53d6) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!338))
5
+ - [#13627: Добавлен признак свёрнутой до значков боковой панели каталога в метаданные пользователя](web_soft/libs/angular/snabcentr-client-core-lib@1674088b6d1f74640610770d5b0f2b0532914715) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!341))
6
6
 
@@ -111,6 +111,16 @@ export declare class ScUIService {
111
111
  * @param catalogFormat Формат отображения каталога.
112
112
  */
113
113
  setCatalogFormat(catalogFormat: ScCatalogFormat): void;
114
+ /**
115
+ * Возвращает {@link Observable} признака свёрнутой до значков боковой панели каталога.
116
+ */
117
+ getCatalogSidebarCollapsed$(): Observable<boolean>;
118
+ /**
119
+ * Устанавливает признак свёрнутой до значков боковой панели каталога.
120
+ *
121
+ * @param isCatalogSidebarCollapsed Признак свёрнутой до значков боковой панели каталога.
122
+ */
123
+ setCatalogSidebarCollapsed(isCatalogSidebarCollapsed: boolean): void;
114
124
  /**
115
125
  * Устанавливает идентификатор выбранного склада.
116
126
  *
@@ -33,6 +33,10 @@ export declare class ScUserMetadata {
33
33
  * Формат отображения каталога.
34
34
  */
35
35
  catalogFormat: ScCatalogFormat;
36
+ /**
37
+ * Признак свёрнутой до значков боковой панели каталога.
38
+ */
39
+ isCatalogSidebarCollapsed: boolean;
36
40
  /**
37
41
  * Идентификатор выбранного склада.
38
42
  */
@@ -1,27 +0,0 @@
1
- import { ScISortOrder } from '../../pagination';
2
- import { ScIPaginationParams } from '../../pagination/dto/sc-i-pagination-params';
3
- import { ScTProductSortField } from './sc-t-product-sort-field';
4
- /**
5
- * Модель данных параметров запроса списка товаров, созданных за указанный период.
6
- *
7
- * @deprecated Используйте фильтр `created` в {@link ScICategoryProductParams} и метод `getProducts$`. Удалить после перевода всех веток.
8
- */
9
- export interface ScINewProductsParams extends ScIPaginationParams {
10
- /**
11
- * Период выборки товаров.
12
- */
13
- period: {
14
- /**
15
- * Дата начала периода в формате `ГГГГ-ММ-ДД ЧЧ:ММ:СС`.
16
- */
17
- from: string;
18
- /**
19
- * Дата окончания периода в формате `ГГГГ-ММ-ДД ЧЧ:ММ:СС`.
20
- */
21
- to?: string;
22
- };
23
- /**
24
- * Параметры сортировки.
25
- */
26
- sort?: ScISortOrder<ScTProductSortField>;
27
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1uZXctcHJvZHVjdHMtcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL2ludGVyZmFjZXMvc2MtaS1uZXctcHJvZHVjdHMtcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi9wYWdpbmF0aW9uJztcbmltcG9ydCB7IFNjSVBhZ2luYXRpb25QYXJhbXMgfSBmcm9tICcuLi8uLi9wYWdpbmF0aW9uL2R0by9zYy1pLXBhZ2luYXRpb24tcGFyYW1zJztcbmltcG9ydCB7IFNjVFByb2R1Y3RTb3J0RmllbGQgfSBmcm9tICcuL3NjLXQtcHJvZHVjdC1zb3J0LWZpZWxkJztcblxuLyoqXG4gKiDQnNC+0LTQtdC70Ywg0LTQsNC90L3Ri9GFINC/0LDRgNCw0LzQtdGC0YDQvtCyINC30LDQv9GA0L7RgdCwINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7Qsiwg0YHQvtC30LTQsNC90L3Ri9GFINC30LAg0YPQutCw0LfQsNC90L3Ri9C5INC/0LXRgNC40L7QtC5cbiAqXG4gKiBAZGVwcmVjYXRlZCDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGE0LjQu9GM0YLRgCBgY3JlYXRlZGAg0LIge0BsaW5rIFNjSUNhdGVnb3J5UHJvZHVjdFBhcmFtc30g0Lgg0LzQtdGC0L7QtCBgZ2V0UHJvZHVjdHMkYC4g0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQv9C10YDQtdCy0L7QtNCwINCy0YHQtdGFINCy0LXRgtC+0LouXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NJTmV3UHJvZHVjdHNQYXJhbXMgZXh0ZW5kcyBTY0lQYWdpbmF0aW9uUGFyYW1zIHtcbiAgICAvKipcbiAgICAgKiDQn9C10YDQuNC+0LQg0LLRi9Cx0L7RgNC60Lgg0YLQvtCy0LDRgNC+0LIuXG4gICAgICovXG4gICAgcGVyaW9kOiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiDQlNCw0YLQsCDQvdCw0YfQsNC70LAg0L/QtdGA0LjQvtC00LAg0LIg0YTQvtGA0LzQsNGC0LUgYNCT0JPQk9CTLdCc0Jwt0JTQlCDQp9CnOtCc0Jw60KHQoWAuXG4gICAgICAgICAqL1xuICAgICAgICBmcm9tOiBzdHJpbmc7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyDQv9C10YDQuNC+0LTQsCDQsiDRhNC+0YDQvNCw0YLQtSBg0JPQk9CT0JMt0JzQnC3QlNCUINCn0Kc60JzQnDrQodChYC5cbiAgICAgICAgICovXG4gICAgICAgIHRvPzogc3RyaW5nO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiDQn9Cw0YDQsNC80LXRgtGA0Ysg0YHQvtGA0YLQuNGA0L7QstC60LguXG4gICAgICovXG4gICAgc29ydD86IFNjSVNvcnRPcmRlcjxTY1RQcm9kdWN0U29ydEZpZWxkPjtcbn1cbiJdfQ==