@snabcentr/client-ui 4.14.6-profstroy → 4.14.7
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/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +8 -0
- package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +3 -3
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +1 -17
- package/catalog/price-history/sc-price-history.component.d.ts +4 -0
- package/catalog/sc-catalog.module.d.ts +1 -1
- package/configurators/sandwich/sc-sandwich.component.d.ts +4 -0
- package/configurators/sandwich_m2/sc-sandwich-m2.component.d.ts +8 -0
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +0 -6
- package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +22 -18
- package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +16 -5
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +10 -32
- package/esm2022/catalog/price-history/sc-price-history.component.mjs +9 -5
- package/esm2022/catalog/sc-catalog.module.mjs +5 -3
- package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +11 -6
- package/esm2022/configurators/sandwich_m2/sc-sandwich-m2.component.mjs +19 -11
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +6 -14
- package/esm2022/order/draft/sc-draft.component.mjs +10 -173
- package/esm2022/order/index.mjs +1 -5
- package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +3 -7
- package/esm2022/order/order-item/sc-order-item.component.mjs +10 -15
- package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +13 -62
- package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +3 -7
- package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +1 -1
- package/esm2022/pipes/sc-format-date.mjs +1 -1
- package/esm2022/providers/sc-date-formatter.mjs +1 -1
- package/esm2022/validators/step-validator.mjs +4 -4
- package/fesm2022/snabcentr-client-ui.mjs +112 -719
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/order/draft/sc-draft.component.d.ts +1 -88
- package/order/index.d.ts +0 -4
- package/order/order-direction-items/sc-order-direction-items.component.d.ts +1 -5
- package/order/order-item/sc-order-item.component.d.ts +5 -9
- package/order/order-items-list/sc-order-items-list.component.d.ts +5 -23
- package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +1 -5
- package/package.json +2 -2
- package/pipes/sc-format-date.d.ts +1 -1
- package/providers/sc-date-formatter.d.ts +1 -1
- package/release_notes.tmp +1 -1
- package/styles/tailwind/tailwind.scss +0 -16
- package/validators/step-validator.d.ts +1 -2
- package/esm2022/helpers/sc-file-helper.mjs +0 -29
- package/esm2022/order/draft/helpers/sc-draft-list-helper.mjs +0 -42
- package/esm2022/order/draft/models/sc-i-draft-list-item.mjs +0 -2
- package/esm2022/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.mjs +0 -68
- package/esm2022/order/draft/profstroy/badge/sc-profstroy-badge.component.mjs +0 -21
- package/esm2022/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.mjs +0 -31
- package/esm2022/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.mjs +0 -132
- package/esm2022/order/draft/profstroy/enums/sc-profstroy-draft-state.mjs +0 -32
- package/esm2022/order/draft/profstroy/helpers/sc-profstroy-draft-helper.mjs +0 -72
- package/esm2022/order/draft/profstroy/index.mjs +0 -8
- package/esm2022/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.mjs +0 -2
- package/esm2022/order/models/sc-i-order-items-group.mjs +0 -2
- package/helpers/sc-file-helper.d.ts +0 -13
- package/order/draft/helpers/sc-draft-list-helper.d.ts +0 -22
- package/order/draft/models/sc-i-draft-list-item.d.ts +0 -14
- package/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.d.ts +0 -54
- package/order/draft/profstroy/badge/sc-profstroy-badge.component.d.ts +0 -12
- package/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.d.ts +0 -21
- package/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.d.ts +0 -58
- package/order/draft/profstroy/enums/sc-profstroy-draft-state.d.ts +0 -29
- package/order/draft/profstroy/helpers/sc-profstroy-draft-helper.d.ts +0 -26
- package/order/draft/profstroy/index.d.ts +0 -7
- package/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.d.ts +0 -17
- package/order/models/sc-i-order-items-group.d.ts +0 -22
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import { ScOrderDraft
|
|
2
|
+
import { ScOrderDraft } from '@snabcentr/client-core';
|
|
3
3
|
import { ScOrderItemsByDirection } from '../models/sc-i-cart-items-by-direction';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
@@ -18,14 +18,6 @@ export declare class ScDraftComponent implements OnInit {
|
|
|
18
18
|
* Сервис для работы с черновиками заказов.
|
|
19
19
|
*/
|
|
20
20
|
private readonly draftsService;
|
|
21
|
-
/**
|
|
22
|
-
* Интервалы обновления данных.
|
|
23
|
-
*/
|
|
24
|
-
private readonly updateInterval;
|
|
25
|
-
/**
|
|
26
|
-
* Сервис уведомлений.
|
|
27
|
-
*/
|
|
28
|
-
private readonly alerts;
|
|
29
21
|
/**
|
|
30
22
|
* Сигнал с данными текущего черновика заказа (из параметра orderId в URL).
|
|
31
23
|
*/
|
|
@@ -46,34 +38,6 @@ export declare class ScDraftComponent implements OnInit {
|
|
|
46
38
|
* Текущий ключ маршрута.
|
|
47
39
|
*/
|
|
48
40
|
protected readonly isDraftPage: import("@angular/core").Signal<boolean>;
|
|
49
|
-
/**
|
|
50
|
-
* Функция группировки позиций черновика Профстрой по группам из файла.
|
|
51
|
-
*/
|
|
52
|
-
protected readonly groupByFileGroup: (item: ScOrderItem) => string;
|
|
53
|
-
/**
|
|
54
|
-
* Признак черновика Профстрой.
|
|
55
|
-
*/
|
|
56
|
-
protected readonly isProfstroy: import("@angular/core").Signal<boolean>;
|
|
57
|
-
/**
|
|
58
|
-
* Текущий момент для проверки срока актуализации. Обновляется по таймеру, пока открыт черновик Профстрой.
|
|
59
|
-
*/
|
|
60
|
-
protected readonly now: import("@angular/core").WritableSignal<Date>;
|
|
61
|
-
/**
|
|
62
|
-
* Признак выполнения действия над черновиком Профстрой.
|
|
63
|
-
*/
|
|
64
|
-
protected readonly busy: import("@angular/core").WritableSignal<boolean>;
|
|
65
|
-
/**
|
|
66
|
-
* Признак, что можно менять состав черновика Профстрой.
|
|
67
|
-
*/
|
|
68
|
-
protected readonly canEditProfstroy: import("@angular/core").Signal<boolean>;
|
|
69
|
-
/**
|
|
70
|
-
* Позиции, выбранные для заказа из черновика Профстрой.
|
|
71
|
-
*/
|
|
72
|
-
protected readonly selectedProfstroyItems: import("@angular/core").Signal<ScOrderItem[]>;
|
|
73
|
-
/**
|
|
74
|
-
* Причина, по которой нельзя оформить заказ из черновика Профстрой, или пустая строка.
|
|
75
|
-
*/
|
|
76
|
-
protected readonly profstroyOrderBlockReason: import("@angular/core").Signal<"" | "Оформление доступно после успешной актуализации." | "В заявке нет позиций, которые могут попасть в заказ." | "Выберите позиции для заказа.">;
|
|
77
41
|
/**
|
|
78
42
|
* Ссылка для автоматического управления уничтожением зависимостей.
|
|
79
43
|
*/
|
|
@@ -82,10 +46,6 @@ export declare class ScDraftComponent implements OnInit {
|
|
|
82
46
|
* Сервис установки SEO-данных приложения.
|
|
83
47
|
*/
|
|
84
48
|
private readonly seoService;
|
|
85
|
-
/**
|
|
86
|
-
* Инициализирует экземпляр класса {@link ScDraftComponent}.
|
|
87
|
-
*/
|
|
88
|
-
constructor();
|
|
89
49
|
/** @inheritDoc */
|
|
90
50
|
ngOnInit(): void;
|
|
91
51
|
/**
|
|
@@ -94,57 +54,10 @@ export declare class ScDraftComponent implements OnInit {
|
|
|
94
54
|
* @param direction Группа позиций по направлению продаж.
|
|
95
55
|
*/
|
|
96
56
|
protected goToNewOrder(direction: ScOrderItemsByDirection): void;
|
|
97
|
-
/**
|
|
98
|
-
* Переход к оформлению заказа из черновика Профстрой по выбранным позициям.
|
|
99
|
-
*/
|
|
100
|
-
protected goToNewProfstroyOrder(): void;
|
|
101
|
-
/**
|
|
102
|
-
* Запускает актуализацию черновика Профстрой.
|
|
103
|
-
*/
|
|
104
|
-
protected actualizeProfstroy(): void;
|
|
105
|
-
/**
|
|
106
|
-
* Запускает пересборку черновика Профстрой из файла после подтверждения.
|
|
107
|
-
*/
|
|
108
|
-
protected reloadProfstroy(): void;
|
|
109
57
|
/**
|
|
110
58
|
* Удаляет черновик и перенаправляет к списку черновиков.
|
|
111
59
|
*/
|
|
112
60
|
protected clearDraft(): void;
|
|
113
|
-
/**
|
|
114
|
-
* Выполняет действие над черновиком Профстрой. Пока действие выполняется, остальные заблокированы.
|
|
115
|
-
* При ошибке показывает текст сервера и перезапрашивает черновик, так как его состояние могло смениться.
|
|
116
|
-
*
|
|
117
|
-
* @param action Функция, возвращающая запрос действия по идентификатору черновика.
|
|
118
|
-
*/
|
|
119
|
-
private runProfstroyAction;
|
|
120
|
-
/**
|
|
121
|
-
* Показывает текст ошибки отказа в доступе. Остальные ошибки показывает перехватчик приложения.
|
|
122
|
-
*
|
|
123
|
-
* @param error Ошибка запроса.
|
|
124
|
-
*/
|
|
125
|
-
private showForbiddenError;
|
|
126
|
-
/**
|
|
127
|
-
* Открывает подтверждение и возвращает {@link Observable}, который выдаёт значение только при согласии.
|
|
128
|
-
*
|
|
129
|
-
* @param label Заголовок.
|
|
130
|
-
* @param content Текст подтверждения.
|
|
131
|
-
* @param yes Текст кнопки согласия.
|
|
132
|
-
*/
|
|
133
|
-
private confirm$;
|
|
134
|
-
/**
|
|
135
|
-
* Обновляет черновик, если пришли данные того же черновика, который открыт сейчас.
|
|
136
|
-
*
|
|
137
|
-
* @param draft Полученные данные черновика.
|
|
138
|
-
*/
|
|
139
|
-
private setDraftIfCurrent;
|
|
140
|
-
/**
|
|
141
|
-
* Обновляет текущий момент по таймеру, пока открыт черновик Профстрой, чтобы истечение срока актуализации отражалось без перезагрузки.
|
|
142
|
-
*/
|
|
143
|
-
private watchProfstroyExpiration;
|
|
144
|
-
/**
|
|
145
|
-
* Пока черновик Профстрой в обработке, опрашивает его состояние лёгким запросом списка и после смены статуса перезапрашивает черновик целиком.
|
|
146
|
-
*/
|
|
147
|
-
private watchProfstroyProcessing;
|
|
148
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScDraftComponent, never>;
|
|
149
62
|
static ɵcmp: i0.ɵɵComponentDeclaration<ScDraftComponent, "sc-draft", never, { "draft": { "alias": "draft"; "required": false; "isSignal": true; }; "selectedItemsIds": { "alias": "selectedItemsIds"; "required": false; "isSignal": true; }; }, { "draft": "draftChange"; "selectedItemsIds": "selectedItemsIdsChange"; "deleteEvent": "deleteEvent"; }, never, never, true, never>;
|
|
150
63
|
}
|
package/order/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './directives';
|
|
2
2
|
export * from './models/i-new-order-form';
|
|
3
3
|
export * from './models/sc-i-cart-items-by-direction';
|
|
4
|
-
export * from './models/sc-i-order-items-group';
|
|
5
4
|
export * from './order-direction-items/sc-order-direction-items.component';
|
|
6
5
|
export * from './order-form/sc-order-form.config';
|
|
7
6
|
export * from './order-form/sc-order-form.component';
|
|
@@ -9,9 +8,6 @@ export * from './order-item/sc-order-item.component';
|
|
|
9
8
|
export * from './order-items-list/sc-order-items-list.component';
|
|
10
9
|
export * from './order-items-list-by-directions/sc-order-items-list-by-directions.component';
|
|
11
10
|
export * from './order-items-list-by-stock/sc-order-items-list-by-stock.component';
|
|
12
|
-
export * from './draft/helpers/sc-draft-list-helper';
|
|
13
|
-
export * from './draft/models/sc-i-draft-list-item';
|
|
14
|
-
export * from './draft/profstroy';
|
|
15
11
|
export * from './draft/sc-draft.component';
|
|
16
12
|
export * from './sc-payment-status/sc-payment-status.component';
|
|
17
13
|
export * from './sc-order.module';
|
|
@@ -16,10 +16,6 @@ export declare class ScOrderDirectionItemsComponent {
|
|
|
16
16
|
* Включить выбор позиций чекбоксами.
|
|
17
17
|
*/
|
|
18
18
|
readonly selectable: import("@angular/core").InputSignal<boolean>;
|
|
19
|
-
/**
|
|
20
|
-
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара.
|
|
21
|
-
*/
|
|
22
|
-
readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
|
|
23
19
|
/**
|
|
24
20
|
* Время обработки и принятия заказов (из настроек окружения приложения).
|
|
25
21
|
*/
|
|
@@ -29,5 +25,5 @@ export declare class ScOrderDirectionItemsComponent {
|
|
|
29
25
|
*/
|
|
30
26
|
readonly selectedItemsIdsChange: import("@angular/core").OutputEmitterRef<string[]>;
|
|
31
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderDirectionItemsComponent, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderDirectionItemsComponent, "sc-order-direction-items", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderDirectionItemsComponent, "sc-order-direction-items", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "orderProcessingAcceptanceTime": { "alias": "orderProcessingAcceptanceTime"; "required": false; "isSignal": true; }; }, { "selectedItemsIdsChange": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
|
|
33
29
|
}
|
|
@@ -14,6 +14,10 @@ export declare class ScOrderItemComponent extends AbstractScPriceCard {
|
|
|
14
14
|
* Событие нажатия на кнопку редактирования конфигурации.
|
|
15
15
|
*/
|
|
16
16
|
readonly clickSettings: OutputEmitterRef<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Настройки вывода сумм в рублях.
|
|
19
|
+
*/
|
|
20
|
+
protected readonly moneyFormat: Partial<import("@taiga-ui/core").TuiNumberFormatSettings>;
|
|
17
21
|
/**
|
|
18
22
|
* Сервис диалогового окна предварительного просмотра.
|
|
19
23
|
*/
|
|
@@ -22,14 +26,6 @@ export declare class ScOrderItemComponent extends AbstractScPriceCard {
|
|
|
22
26
|
* Признак, что необходимо отобразить элементы редактирования.
|
|
23
27
|
*/
|
|
24
28
|
readonly isShowEditControls: import("@angular/core").InputSignal<boolean>;
|
|
25
|
-
/**
|
|
26
|
-
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара (например, цена, зафиксированная в заявке).
|
|
27
|
-
*/
|
|
28
|
-
readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
|
|
29
|
-
/**
|
|
30
|
-
* Признак, что позиции, которые не попадут в заказ, помечаются причиной и остаются доступными для изменения количества.
|
|
31
|
-
*/
|
|
32
|
-
readonly markUnavailable: import("@angular/core").InputSignal<boolean>;
|
|
33
29
|
/**
|
|
34
30
|
* Отображает спецификацию.
|
|
35
31
|
*
|
|
@@ -43,5 +39,5 @@ export declare class ScOrderItemComponent extends AbstractScPriceCard {
|
|
|
43
39
|
*/
|
|
44
40
|
protected configuratorHintVisible(visible: boolean): void;
|
|
45
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemComponent, never>;
|
|
46
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemComponent, "sc-order-item", never, { "isShowEditControls": { "alias": "isShowEditControls"; "required": false; "isSignal": true; };
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemComponent, "sc-order-item", never, { "isShowEditControls": { "alias": "isShowEditControls"; "required": false; "isSignal": true; }; }, { "clickSettings": "clickSettings"; }, never, never, true, never>;
|
|
47
43
|
}
|
|
@@ -2,7 +2,6 @@ import { FormControl, FormGroup } from '@angular/forms';
|
|
|
2
2
|
import { ScIOrderEditorLoader, ScIOrderLoader, ScOrderItem } from '@snabcentr/client-core';
|
|
3
3
|
import { AbstractScPriceCard } from '../../directives';
|
|
4
4
|
import { ScOrderOptions } from '../directives/sc-order-options';
|
|
5
|
-
import { ScIOrderItemsGroup } from '../models/sc-i-order-items-group';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
/**
|
|
8
7
|
* Компонент списка товаров корзины, заказа или черновика.
|
|
@@ -21,22 +20,6 @@ export declare class ScOrderItemsListComponent {
|
|
|
21
20
|
* Включить редактирование позиций.
|
|
22
21
|
*/
|
|
23
22
|
readonly editable: import("@angular/core").InputSignal<boolean>;
|
|
24
|
-
/**
|
|
25
|
-
* Функция, возвращающая название группы позиции. Если не задана, позиции выводятся одним списком без заголовков.
|
|
26
|
-
*/
|
|
27
|
-
readonly groupBy: import("@angular/core").InputSignal<((item: ScOrderItem) => string) | null>;
|
|
28
|
-
/**
|
|
29
|
-
* Признак, что позиции, которые не попадут в заказ, помечаются причиной, не выбираются и остаются доступными для изменения.
|
|
30
|
-
*/
|
|
31
|
-
readonly markUnavailable: import("@angular/core").InputSignal<boolean>;
|
|
32
|
-
/**
|
|
33
|
-
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара.
|
|
34
|
-
*/
|
|
35
|
-
readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
|
|
36
|
-
/**
|
|
37
|
-
* Позиции, разбитые на группы в порядке первого появления группы.
|
|
38
|
-
*/
|
|
39
|
-
protected readonly groups: import("@angular/core").Signal<ScIOrderItemsGroup[]>;
|
|
40
23
|
/**
|
|
41
24
|
* Внутренняя группа формы для выбора позиций.
|
|
42
25
|
*/
|
|
@@ -70,6 +53,10 @@ export declare class ScOrderItemsListComponent {
|
|
|
70
53
|
* Признак, что можно редактировать позиции.
|
|
71
54
|
*/
|
|
72
55
|
protected readonly canEdit: import("@angular/core").Signal<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* Настройки вывода сумм в рублях.
|
|
58
|
+
*/
|
|
59
|
+
protected readonly moneyFormat: Partial<import("@taiga-ui/core").TuiNumberFormatSettings>;
|
|
73
60
|
/**
|
|
74
61
|
* Ссылка для автоматического управления уничтожением зависимостей.
|
|
75
62
|
*/
|
|
@@ -79,11 +66,6 @@ export declare class ScOrderItemsListComponent {
|
|
|
79
66
|
* Предоставляется родителем через токен {@link SC_DIALOG_SERVICE_TOKEN}.
|
|
80
67
|
*/
|
|
81
68
|
private readonly scDialogService;
|
|
82
|
-
/**
|
|
83
|
-
* Инициализирует экземпляр класса {@link ScOrderItemsListComponent}.
|
|
84
|
-
* Входы выбора и пометки недоступных позиций могут прийти после списка позиций, поэтому при их изменении выбор синхронизируется заново.
|
|
85
|
-
*/
|
|
86
|
-
constructor();
|
|
87
69
|
/**
|
|
88
70
|
* Список элементов корзины (товаров). При установке синхронно обновляет контролы выбора в форме.
|
|
89
71
|
*/
|
|
@@ -127,5 +109,5 @@ export declare class ScOrderItemsListComponent {
|
|
|
127
109
|
*/
|
|
128
110
|
protected openPriceHistoryChartDialog(product: ScOrderItem['product']): void;
|
|
129
111
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListComponent, never>;
|
|
130
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListComponent, "sc-order-items-list", never, { "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "
|
|
112
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListComponent, "sc-order-items-list", never, { "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; }; }, { "selectedItemsIdsChange": "selectedItemsIdsChange"; }, never, never, true, never>;
|
|
131
113
|
}
|
package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts
CHANGED
|
@@ -14,10 +14,6 @@ export declare class ScOrderItemsListByDirectionsComponent {
|
|
|
14
14
|
* Включить редактирование позиций.
|
|
15
15
|
*/
|
|
16
16
|
readonly editable: import("@angular/core").InputSignal<boolean>;
|
|
17
|
-
/**
|
|
18
|
-
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара.
|
|
19
|
-
*/
|
|
20
|
-
readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
|
|
21
17
|
/**
|
|
22
18
|
* Включить отображение кнопки продолжения.
|
|
23
19
|
*/
|
|
@@ -58,5 +54,5 @@ export declare class ScOrderItemsListByDirectionsComponent {
|
|
|
58
54
|
*/
|
|
59
55
|
protected selectedItemsHandler(itemsIds: string[], direction: ScOrderItemsByDirection): void;
|
|
60
56
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListByDirectionsComponent, never>;
|
|
61
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListByDirectionsComponent, "sc-order-items-list-by-directions", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListByDirectionsComponent, "sc-order-items-list-by-directions", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showContinueButton": { "alias": "showContinueButton"; "required": false; "isSignal": true; }; "continueButtonText": { "alias": "continueButtonText"; "required": false; "isSignal": true; }; "selectedItemsIds": { "alias": "selectedItemsIds"; "required": false; "isSignal": true; }; }, { "continueClick": "continueClick"; "selectedItemsIds": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
|
|
62
58
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snabcentr/client-ui",
|
|
3
|
-
"version": "4.14.
|
|
3
|
+
"version": "4.14.7",
|
|
4
4
|
"author": "Snabcentr Ltd.",
|
|
5
5
|
"repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
|
|
6
6
|
"license": "Commercial",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"@maskito/core": "^3.11.1",
|
|
17
17
|
"@ng-web-apis/intersection-observer": "^4.14.0",
|
|
18
18
|
"@ng-web-apis/common": "^4.14.0",
|
|
19
|
-
"@snabcentr/client-core": "3.21.
|
|
19
|
+
"@snabcentr/client-core": "^3.21.3",
|
|
20
20
|
"@taiga-ui/addon-charts": "^4.66.0",
|
|
21
21
|
"@taiga-ui/addon-commerce": "^4.66.0",
|
|
22
22
|
"@taiga-ui/cdk": "^4.66.0",
|
|
@@ -14,7 +14,7 @@ export declare class ScFormatDatePipe implements PipeTransform {
|
|
|
14
14
|
* @param timeString - Строка времени.
|
|
15
15
|
* @returns Форматированная дата и время.
|
|
16
16
|
*/
|
|
17
|
-
transform(timeString?: string
|
|
17
|
+
transform(timeString?: string): string | undefined;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScFormatDatePipe, never>;
|
|
19
19
|
static ɵpipe: i0.ɵɵPipeDeclaration<ScFormatDatePipe, "scFormatDate", true>;
|
|
20
20
|
}
|
|
@@ -3,4 +3,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
3
3
|
* Токен для функции форматирования даты и времени.
|
|
4
4
|
* По умолчанию используется формат 'DD.MM.YYYY HH:MM'.
|
|
5
5
|
*/
|
|
6
|
-
export declare const SC_DATE_FORMATTER: InjectionToken<(date: string
|
|
6
|
+
export declare const SC_DATE_FORMATTER: InjectionToken<(date: string) => string>;
|
package/release_notes.tmp
CHANGED
|
@@ -1152,10 +1152,6 @@ video {
|
|
|
1152
1152
|
justify-content: flex-start !important;
|
|
1153
1153
|
}
|
|
1154
1154
|
|
|
1155
|
-
.justify-start {
|
|
1156
|
-
justify-content: flex-start;
|
|
1157
|
-
}
|
|
1158
|
-
|
|
1159
1155
|
.justify-end {
|
|
1160
1156
|
justify-content: flex-end;
|
|
1161
1157
|
}
|
|
@@ -1510,10 +1506,6 @@ video {
|
|
|
1510
1506
|
padding-bottom: 0.25rem;
|
|
1511
1507
|
}
|
|
1512
1508
|
|
|
1513
|
-
.pb-2 {
|
|
1514
|
-
padding-bottom: 0.5rem;
|
|
1515
|
-
}
|
|
1516
|
-
|
|
1517
1509
|
.pb-4 {
|
|
1518
1510
|
padding-bottom: 1rem;
|
|
1519
1511
|
}
|
|
@@ -1795,10 +1787,6 @@ video {
|
|
|
1795
1787
|
text-decoration-line: underline;
|
|
1796
1788
|
}
|
|
1797
1789
|
|
|
1798
|
-
.\!line-through {
|
|
1799
|
-
text-decoration-line: line-through !important;
|
|
1800
|
-
}
|
|
1801
|
-
|
|
1802
1790
|
.line-through {
|
|
1803
1791
|
text-decoration-line: line-through;
|
|
1804
1792
|
}
|
|
@@ -1966,10 +1954,6 @@ video {
|
|
|
1966
1954
|
align-items: flex-start;
|
|
1967
1955
|
}
|
|
1968
1956
|
|
|
1969
|
-
.sm\:items-end {
|
|
1970
|
-
align-items: flex-end;
|
|
1971
|
-
}
|
|
1972
|
-
|
|
1973
1957
|
.sm\:border-32 {
|
|
1974
1958
|
border-width: 2rem;
|
|
1975
1959
|
}
|
|
@@ -3,6 +3,5 @@ import { ValidatorFn } from '@angular/forms';
|
|
|
3
3
|
* Проверяет кратность значения.
|
|
4
4
|
*
|
|
5
5
|
* @param step Шаг кратности.
|
|
6
|
-
* @param precision Точность, количество чисел после запятой.
|
|
7
6
|
*/
|
|
8
|
-
export declare function stepValidator(step: number
|
|
7
|
+
export declare function stepValidator(step: number): ValidatorFn;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ScUploadedFile } from '@snabcentr/client-core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
/**
|
|
4
|
-
* Класс-помощник для работы с файлами, выбранными пользователем.
|
|
5
|
-
*/
|
|
6
|
-
export class ScFileHelper {
|
|
7
|
-
/**
|
|
8
|
-
* Читает файл и возвращает его для отправки в API: название и содержимое в виде data-URI. При отписке чтение прерывается.
|
|
9
|
-
*
|
|
10
|
-
* @param file Выбранный файл.
|
|
11
|
-
*/
|
|
12
|
-
static readAsUploadedFile$(file) {
|
|
13
|
-
return new Observable((observer) => {
|
|
14
|
-
const reader = new FileReader();
|
|
15
|
-
reader.addEventListener('load', () => {
|
|
16
|
-
observer.next(new ScUploadedFile(file.name, reader.result));
|
|
17
|
-
observer.complete();
|
|
18
|
-
});
|
|
19
|
-
reader.addEventListener('error', () => {
|
|
20
|
-
observer.error(reader.error);
|
|
21
|
-
});
|
|
22
|
-
reader.readAsDataURL(file);
|
|
23
|
-
return () => {
|
|
24
|
-
reader.abort();
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZmlsZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvaGVscGVycy9zYy1maWxlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQzs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3JCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBVTtRQUN4QyxPQUFPLElBQUksVUFBVSxDQUFpQixDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFFaEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBZ0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUNsQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NVcGxvYWRlZEZpbGUgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC70LDRgdGBLdC/0L7QvNC+0YnQvdC40Log0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDRhNCw0LnQu9Cw0LzQuCwg0LLRi9Cx0YDQsNC90L3Ri9C80Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LwuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY0ZpbGVIZWxwZXIge1xuICAgIC8qKlxuICAgICAqINCn0LjRgtCw0LXRgiDRhNCw0LnQuyDQuCDQstC+0LfQstGA0LDRidCw0LXRgiDQtdCz0L4g0LTQu9GPINC+0YLQv9GA0LDQstC60Lgg0LIgQVBJOiDQvdCw0LfQstCw0L3QuNC1INC4INGB0L7QtNC10YDQttC40LzQvtC1INCyINCy0LjQtNC1IGRhdGEtVVJJLiDQn9GA0Lgg0L7RgtC/0LjRgdC60LUg0YfRgtC10L3QuNC1INC/0YDQtdGA0YvQstCw0LXRgtGB0Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsZSDQktGL0LHRgNCw0L3QvdGL0Lkg0YTQsNC50LsuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyByZWFkQXNVcGxvYWRlZEZpbGUkKGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPFNjVXBsb2FkZWRGaWxlPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxTY1VwbG9hZGVkRmlsZT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG5ldyBTY1VwbG9hZGVkRmlsZShmaWxlLm5hbWUsIHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKSk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IocmVhZGVyLmVycm9yKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICByZWFkZXIuYWJvcnQoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ScOrderDraft } from '@snabcentr/client-core';
|
|
2
|
-
/**
|
|
3
|
-
* Класс-помощник для работы со списком черновиков.
|
|
4
|
-
*/
|
|
5
|
-
export class ScDraftListHelper {
|
|
6
|
-
/**
|
|
7
|
-
* Возвращает список черновиков страницы с обновлёнными краткими данными. Элементы списка обновляются на месте, чтобы сохранить раскрытые черновики и их полные данные.
|
|
8
|
-
*
|
|
9
|
-
* @param items Текущие элементы списка.
|
|
10
|
-
* @param drafts Полученные краткие данные черновиков.
|
|
11
|
-
* @param isFullPage Признак, что получена вся страница: тогда состав и порядок списка берутся из неё.
|
|
12
|
-
*/
|
|
13
|
-
static merge(items, drafts, isFullPage) {
|
|
14
|
-
if (isFullPage) {
|
|
15
|
-
return drafts.map((short) => {
|
|
16
|
-
const item = items.find(({ order }) => order.id === short.id);
|
|
17
|
-
return item ? ScDraftListHelper.update(item, short) : { order: short, isExpanded: false };
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
return items.map((item) => {
|
|
21
|
-
const short = drafts.find(({ id }) => id === item.order.id);
|
|
22
|
-
return short ? ScDraftListHelper.update(item, short) : item;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Обновляет элемент списка краткими данными черновика. Полные данные черновика не заменяются, а дополняются.
|
|
27
|
-
*
|
|
28
|
-
* @param item Элемент списка.
|
|
29
|
-
* @param short Краткие данные черновика.
|
|
30
|
-
*/
|
|
31
|
-
static update(item, short) {
|
|
32
|
-
if (item.order instanceof ScOrderDraft) {
|
|
33
|
-
item.order.updateDataFromShortOffer(short);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
// eslint-disable-next-line no-param-reassign
|
|
37
|
-
item.order = short;
|
|
38
|
-
}
|
|
39
|
-
return item;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZHJhZnQtbGlzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvZHJhZnQvaGVscGVycy9zYy1kcmFmdC1saXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBSXpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQjs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQXlCLEVBQUUsTUFBMkIsRUFBRSxVQUFtQjtRQUMzRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFOUQsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUYsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQXNCLEVBQUUsS0FBd0I7UUFDbEUsSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDSiw2Q0FBNkM7WUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjT3JkZXJEcmFmdCwgU2NPcmRlckRyYWZ0U2hvcnQgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcblxuaW1wb3J0IHsgU2NJRHJhZnRMaXN0SXRlbSB9IGZyb20gJy4uL21vZGVscy9zYy1pLWRyYWZ0LWxpc3QtaXRlbSc7XG5cbi8qKlxuICog0JrQu9Cw0YHRgS3Qv9C+0LzQvtGJ0L3QuNC6INC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDRgdC/0LjRgdC60L7QvCDRh9C10YDQvdC+0LLQuNC60L7Qsi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjRHJhZnRMaXN0SGVscGVyIHtcbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0YfQtdGA0L3QvtCy0LjQutC+0LIg0YHRgtGA0LDQvdC40YbRiyDRgSDQvtCx0L3QvtCy0LvRkdC90L3Ri9C80Lgg0LrRgNCw0YLQutC40LzQuCDQtNCw0L3QvdGL0LzQuC4g0K3Qu9C10LzQtdC90YLRiyDRgdC/0LjRgdC60LAg0L7QsdC90L7QstC70Y/RjtGC0YHRjyDQvdCwINC80LXRgdGC0LUsINGH0YLQvtCx0Ysg0YHQvtGF0YDQsNC90LjRgtGMINGA0LDRgdC60YDRi9GC0YvQtSDRh9C10YDQvdC+0LLQuNC60Lgg0Lgg0LjRhSDQv9C+0LvQvdGL0LUg0LTQsNC90L3Ri9C1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW1zINCi0LXQutGD0YnQuNC1INGN0LvQtdC80LXQvdGC0Ysg0YHQv9C40YHQutCwLlxuICAgICAqIEBwYXJhbSBkcmFmdHMg0J/QvtC70YPRh9C10L3QvdGL0LUg0LrRgNCw0YLQutC40LUg0LTQsNC90L3Ri9C1INGH0LXRgNC90L7QstC40LrQvtCyLlxuICAgICAqIEBwYXJhbSBpc0Z1bGxQYWdlINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L/QvtC70YPRh9C10L3QsCDQstGB0Y8g0YHRgtGA0LDQvdC40YbQsDog0YLQvtCz0LTQsCDRgdC+0YHRgtCw0LIg0Lgg0L/QvtGA0Y/QtNC+0Log0YHQv9C40YHQutCwINCx0LXRgNGD0YLRgdGPINC40Lcg0L3QtdGRLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2UoaXRlbXM6IFNjSURyYWZ0TGlzdEl0ZW1bXSwgZHJhZnRzOiBTY09yZGVyRHJhZnRTaG9ydFtdLCBpc0Z1bGxQYWdlOiBib29sZWFuKTogU2NJRHJhZnRMaXN0SXRlbVtdIHtcbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBkcmFmdHMubWFwKChzaG9ydCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKCh7IG9yZGVyIH0pID0+IG9yZGVyLmlkID09PSBzaG9ydC5pZCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbSA/IFNjRHJhZnRMaXN0SGVscGVyLnVwZGF0ZShpdGVtLCBzaG9ydCkgOiB7IG9yZGVyOiBzaG9ydCwgaXNFeHBhbmRlZDogZmFsc2UgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2hvcnQgPSBkcmFmdHMuZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gaXRlbS5vcmRlci5pZCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzaG9ydCA/IFNjRHJhZnRMaXN0SGVscGVyLnVwZGF0ZShpdGVtLCBzaG9ydCkgOiBpdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwINC60YDQsNGC0LrQuNC80Lgg0LTQsNC90L3Ri9C80Lgg0YfQtdGA0L3QvtCy0LjQutCwLiDQn9C+0LvQvdGL0LUg0LTQsNC90L3Ri9C1INGH0LXRgNC90L7QstC40LrQsCDQvdC1INC30LDQvNC10L3Rj9GO0YLRgdGPLCDQsCDQtNC+0L/QvtC70L3Rj9GO0YLRgdGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0g0K3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwLlxuICAgICAqIEBwYXJhbSBzaG9ydCDQmtGA0LDRgtC60LjQtSDQtNCw0L3QvdGL0LUg0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIHVwZGF0ZShpdGVtOiBTY0lEcmFmdExpc3RJdGVtLCBzaG9ydDogU2NPcmRlckRyYWZ0U2hvcnQpOiBTY0lEcmFmdExpc3RJdGVtIHtcbiAgICAgICAgaWYgKGl0ZW0ub3JkZXIgaW5zdGFuY2VvZiBTY09yZGVyRHJhZnQpIHtcbiAgICAgICAgICAgIGl0ZW0ub3JkZXIudXBkYXRlRGF0YUZyb21TaG9ydE9mZmVyKHNob3J0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgaXRlbS5vcmRlciA9IHNob3J0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1kcmFmdC1saXN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvZHJhZnQvbW9kZWxzL3NjLWktZHJhZnQtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY09yZGVyRHJhZnQsIFNjT3JkZXJEcmFmdFNob3J0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+0LEg0Y3Qu9C10LzQtdC90YLQtSDRgdC/0LjRgdC60LAg0YfQtdGA0L3QvtCy0LjQutC+0LIg0LfQsNC60LDQt9C+0LIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NJRHJhZnRMaXN0SXRlbSB7XG4gICAgLyoqXG4gICAgICog0JrRgNCw0YLQutC40LUg0LjQu9C4INC/0L7Qu9C90YvQtSDQtNCw0L3QvdGL0LUg0L4g0YfQtdGA0L3QvtCy0LjQutC1INC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBvcmRlcjogU2NPcmRlckRyYWZ0IHwgU2NPcmRlckRyYWZ0U2hvcnQ7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGH0LXRgNC90L7QstC40Log0YDQsNGB0LrRgNGL0YIg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';
|
|
2
|
-
import { SC_URLS } from '@snabcentr/client-core';
|
|
3
|
-
import { TuiButton, TuiLink, TuiLoader, TuiNotification } from '@taiga-ui/core';
|
|
4
|
-
import { ScFormatDatePipe } from '../../../../pipes/sc-format-date';
|
|
5
|
-
import { ScProfstroyDraftState } from '../enums/sc-profstroy-draft-state';
|
|
6
|
-
import { ScProfstroyDraftHelper } from '../helpers/sc-profstroy-draft-helper';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* Компонент панели состояния актуализации черновика Профстрой с действиями актуализации и пересборки.
|
|
10
|
-
*/
|
|
11
|
-
export class ScProfstroyActualizationPanelComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
/**
|
|
14
|
-
* Список ссылок приложения.
|
|
15
|
-
*/
|
|
16
|
-
this.urls = inject(SC_URLS);
|
|
17
|
-
/**
|
|
18
|
-
* Черновик Профстрой.
|
|
19
|
-
*/
|
|
20
|
-
this.draft = input.required();
|
|
21
|
-
/**
|
|
22
|
-
* Момент, на который определяется состояние.
|
|
23
|
-
*/
|
|
24
|
-
this.now = input(new Date());
|
|
25
|
-
/**
|
|
26
|
-
* Признак выполнения действия над черновиком.
|
|
27
|
-
*/
|
|
28
|
-
this.busy = input(false);
|
|
29
|
-
/**
|
|
30
|
-
* Событие запуска актуализации.
|
|
31
|
-
*/
|
|
32
|
-
this.actualize = output();
|
|
33
|
-
/**
|
|
34
|
-
* Событие запуска пересборки из файла.
|
|
35
|
-
*/
|
|
36
|
-
this.reload = output();
|
|
37
|
-
/**
|
|
38
|
-
* Текущее состояние черновика.
|
|
39
|
-
*/
|
|
40
|
-
this.state = computed(() => ScProfstroyDraftHelper.getState(this.draft().actualization, this.now()));
|
|
41
|
-
/**
|
|
42
|
-
* Данные об отображении состояния.
|
|
43
|
-
*/
|
|
44
|
-
this.stateView = computed(() => ScProfstroyDraftHelper.getStateView(this.draft().actualization, this.now()));
|
|
45
|
-
/**
|
|
46
|
-
* Признак, что выполняется обработка.
|
|
47
|
-
*/
|
|
48
|
-
this.isProcessing = computed(() => this.state() === ScProfstroyDraftState.processing);
|
|
49
|
-
/**
|
|
50
|
-
* Признак, что срок действия актуализации ещё не истёк.
|
|
51
|
-
*/
|
|
52
|
-
this.isActual = computed(() => this.state() === ScProfstroyDraftState.actual);
|
|
53
|
-
/**
|
|
54
|
-
* Абсолютная ссылка на исходный файл заявки. Файл лежит на хосте API.
|
|
55
|
-
*/
|
|
56
|
-
this.fileUrl = computed(() => {
|
|
57
|
-
const url = this.draft().file?.url;
|
|
58
|
-
return url ? new URL(url, this.urls.apiUrl).href : null;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfstroyActualizationPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScProfstroyActualizationPanelComponent, isStandalone: true, selector: "sc-profstroy-actualization-panel", inputs: { draft: { classPropertyName: "draft", publicName: "draft", isSignal: true, isRequired: true, transformFunction: null }, now: { classPropertyName: "now", publicName: "now", isSignal: true, isRequired: false, transformFunction: null }, busy: { classPropertyName: "busy", publicName: "busy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actualize: "actualize", reload: "reload" }, ngImport: i0, template: "@let actualization = draft().actualization;\n@let view = stateView();\n\n<tui-notification\n [appearance]=\"view.appearance\"\n size=\"m\"\n>\n <div class=\"flex flex-col items-start gap-2 text-start\">\n <div class=\"flex items-center justify-start gap-2 text-start font-bold\">\n @if (isProcessing()) {\n <tui-loader size=\"s\" />\n }\n {{ view.label }}\n </div>\n\n <div class=\"flex flex-col items-start gap-1\">\n @if (actualization?.actualizedAt; as actualizedAt) {\n <span>\u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D {{ actualizedAt | scFormatDate }}</span>\n }\n @if (isActual() && actualization?.expiresAt; as expiresAt) {\n <span>\u0410\u043A\u0442\u0443\u0430\u043B\u0435\u043D \u0434\u043E {{ expiresAt | scFormatDate }}</span>\n }\n @if (view.description) {\n <span>{{ view.description }}</span>\n }\n @if (actualization?.error; as error) {\n <span class=\"font-bold\">{{ error }}</span>\n }\n @if (fileUrl(); as url) {\n <span>\n \u0424\u0430\u0439\u043B \u0437\u0430\u044F\u0432\u043A\u0438:\n <a\n tuiLink\n [href]=\"url\"\n target=\"_blank\"\n rel=\"noopener\"\n >\n {{ draft().file?.originalName ?? '\u0441\u043A\u0430\u0447\u0430\u0442\u044C' }}\n </a>\n </span>\n }\n </div>\n\n <div class=\"flex flex-wrap gap-2\">\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n appearance=\"secondary\"\n iconStart=\"@tui.refresh-cw\"\n [disabled]=\"isProcessing() || busy()\"\n (click)=\"actualize.emit()\"\n >\n \u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C\n </button>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n appearance=\"secondary\"\n iconStart=\"@tui.file-up\"\n [disabled]=\"isProcessing() || busy()\"\n (click)=\"reload.emit()\"\n >\n \u0421\u043E\u0431\u0440\u0430\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430\n </button>\n </div>\n </div>\n</tui-notification>\n", dependencies: [{ kind: "directive", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "pipe", type: ScFormatDatePipe, name: "scFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfstroyActualizationPanelComponent, decorators: [{
|
|
65
|
-
type: Component,
|
|
66
|
-
args: [{ standalone: true, selector: 'sc-profstroy-actualization-panel', imports: [TuiNotification, TuiLoader, TuiButton, TuiLink, ScFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let actualization = draft().actualization;\n@let view = stateView();\n\n<tui-notification\n [appearance]=\"view.appearance\"\n size=\"m\"\n>\n <div class=\"flex flex-col items-start gap-2 text-start\">\n <div class=\"flex items-center justify-start gap-2 text-start font-bold\">\n @if (isProcessing()) {\n <tui-loader size=\"s\" />\n }\n {{ view.label }}\n </div>\n\n <div class=\"flex flex-col items-start gap-1\">\n @if (actualization?.actualizedAt; as actualizedAt) {\n <span>\u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D {{ actualizedAt | scFormatDate }}</span>\n }\n @if (isActual() && actualization?.expiresAt; as expiresAt) {\n <span>\u0410\u043A\u0442\u0443\u0430\u043B\u0435\u043D \u0434\u043E {{ expiresAt | scFormatDate }}</span>\n }\n @if (view.description) {\n <span>{{ view.description }}</span>\n }\n @if (actualization?.error; as error) {\n <span class=\"font-bold\">{{ error }}</span>\n }\n @if (fileUrl(); as url) {\n <span>\n \u0424\u0430\u0439\u043B \u0437\u0430\u044F\u0432\u043A\u0438:\n <a\n tuiLink\n [href]=\"url\"\n target=\"_blank\"\n rel=\"noopener\"\n >\n {{ draft().file?.originalName ?? '\u0441\u043A\u0430\u0447\u0430\u0442\u044C' }}\n </a>\n </span>\n }\n </div>\n\n <div class=\"flex flex-wrap gap-2\">\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n appearance=\"secondary\"\n iconStart=\"@tui.refresh-cw\"\n [disabled]=\"isProcessing() || busy()\"\n (click)=\"actualize.emit()\"\n >\n \u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C\n </button>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n appearance=\"secondary\"\n iconStart=\"@tui.file-up\"\n [disabled]=\"isProcessing() || busy()\"\n (click)=\"reload.emit()\"\n >\n \u0421\u043E\u0431\u0440\u0430\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430\n </button>\n </div>\n </div>\n</tui-notification>\n" }]
|
|
67
|
-
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZnN0cm95LWFjdHVhbGl6YXRpb24tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL2RyYWZ0L3Byb2ZzdHJveS9hY3R1YWxpemF0aW9uLXBhbmVsL3NjLXByb2ZzdHJveS1hY3R1YWxpemF0aW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9kcmFmdC9wcm9mc3Ryb3kvYWN0dWFsaXphdGlvbi1wYW5lbC9zYy1wcm9mc3Ryb3ktYWN0dWFsaXphdGlvbi1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFFOUU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sc0NBQXNDO0lBUG5EO1FBUUk7O1dBRUc7UUFDYyxTQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhDOztXQUVHO1FBQ2EsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWdCLENBQUM7UUFFdkQ7O1dBRUc7UUFDYSxRQUFHLEdBQUcsS0FBSyxDQUFPLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5Qzs7V0FFRztRQUNhLFNBQUksR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFN0M7O1dBRUc7UUFDYSxjQUFTLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFckM7O1dBRUc7UUFDYSxXQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFbEM7O1dBRUc7UUFDZ0IsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRW5IOztXQUVHO1FBQ2dCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzSDs7V0FFRztRQUNnQixpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUsscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEc7O1dBRUc7UUFDZ0IsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUsscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUY7O1dBRUc7UUFDZ0IsWUFBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFFbkMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0tBQ047K0dBM0RZLHNDQUFzQzttR0FBdEMsc0NBQXNDLDZmQ2xCbkQsNnFGQXFFQSw0Q0R0RGMsZUFBZSxnSkFBRSxTQUFTLGlJQUFFLFNBQVMsb0lBQUUsT0FBTyx1RkFBRSxnQkFBZ0I7OzRGQUdqRSxzQ0FBc0M7a0JBUGxELFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtDQUFrQyxXQUVuQyxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxtQkFDMUQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNDX1VSTFMsIFNjT3JkZXJEcmFmdCB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlMaW5rLCBUdWlMb2FkZXIsIFR1aU5vdGlmaWNhdGlvbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHsgU2NGb3JtYXREYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL3NjLWZvcm1hdC1kYXRlJztcbmltcG9ydCB7IFNjUHJvZnN0cm95RHJhZnRTdGF0ZSB9IGZyb20gJy4uL2VudW1zL3NjLXByb2ZzdHJveS1kcmFmdC1zdGF0ZSc7XG5pbXBvcnQgeyBTY1Byb2ZzdHJveURyYWZ0SGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9zYy1wcm9mc3Ryb3ktZHJhZnQtaGVscGVyJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0L/QsNC90LXQu9C4INGB0L7RgdGC0L7Rj9C90LjRjyDQsNC60YLRg9Cw0LvQuNC30LDRhtC40Lgg0YfQtdGA0L3QvtCy0LjQutCwINCf0YDQvtGE0YHRgtGA0L7QuSDRgSDQtNC10LnRgdGC0LLQuNGP0LzQuCDQsNC60YLRg9Cw0LvQuNC30LDRhtC40Lgg0Lgg0L/QtdGA0LXRgdCx0L7RgNC60LguXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1wcm9mc3Ryb3ktYWN0dWFsaXphdGlvbi1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByb2ZzdHJveS1hY3R1YWxpemF0aW9uLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVHVpTm90aWZpY2F0aW9uLCBUdWlMb2FkZXIsIFR1aUJ1dHRvbiwgVHVpTGluaywgU2NGb3JtYXREYXRlUGlwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJvZnN0cm95QWN0dWFsaXphdGlvblBhbmVsQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJscyA9IGluamVjdChTQ19VUkxTKTtcblxuICAgIC8qKlxuICAgICAqINCn0LXRgNC90L7QstC40Log0J/RgNC+0YTRgdGC0YDQvtC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkcmFmdCA9IGlucHV0LnJlcXVpcmVkPFNjT3JkZXJEcmFmdD4oKTtcblxuICAgIC8qKlxuICAgICAqINCc0L7QvNC10L3Rgiwg0L3QsCDQutC+0YLQvtGA0YvQuSDQvtC/0YDQtdC00LXQu9GP0LXRgtGB0Y8g0YHQvtGB0YLQvtGP0L3QuNC1LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBub3cgPSBpbnB1dDxEYXRlPihuZXcgRGF0ZSgpKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INCy0YvQv9C+0LvQvdC10L3QuNGPINC00LXQudGB0YLQstC40Y8g0L3QsNC0INGH0LXRgNC90L7QstC40LrQvtC8LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBidXN5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0LfQsNC/0YPRgdC60LAg0LDQutGC0YPQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhY3R1YWxpemUgPSBvdXRwdXQoKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC30LDQv9GD0YHQutCwINC/0LXRgNC10YHQsdC+0YDQutC4INC40Lcg0YTQsNC50LvQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVsb2FkID0gb3V0cHV0KCk7XG5cbiAgICAvKipcbiAgICAgKiDQotC10LrRg9GJ0LXQtSDRgdC+0YHRgtC+0Y/QvdC40LUg0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+IFNjUHJvZnN0cm95RHJhZnRIZWxwZXIuZ2V0U3RhdGUodGhpcy5kcmFmdCgpLmFjdHVhbGl6YXRpb24sIHRoaXMubm93KCkpKTtcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQvtCxINC+0YLQvtCx0YDQsNC20LXQvdC40Lgg0YHQvtGB0YLQvtGP0L3QuNGPLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGF0ZVZpZXcgPSBjb21wdXRlZCgoKSA9PiBTY1Byb2ZzdHJveURyYWZ0SGVscGVyLmdldFN0YXRlVmlldyh0aGlzLmRyYWZ0KCkuYWN0dWFsaXphdGlvbiwgdGhpcy5ub3coKSkpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQstGL0L/QvtC70L3Rj9C10YLRgdGPINC+0LHRgNCw0LHQvtGC0LrQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNQcm9jZXNzaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdGF0ZSgpID09PSBTY1Byb2ZzdHJveURyYWZ0U3RhdGUucHJvY2Vzc2luZyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGB0YDQvtC6INC00LXQudGB0YLQstC40Y8g0LDQutGC0YPQsNC70LjQt9Cw0YbQuNC4INC10YnRkSDQvdC1INC40YHRgtGR0LouXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQWN0dWFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdGF0ZSgpID09PSBTY1Byb2ZzdHJveURyYWZ0U3RhdGUuYWN0dWFsKTtcblxuICAgIC8qKlxuICAgICAqINCQ0LHRgdC+0LvRjtGC0L3QsNGPINGB0YHRi9C70LrQsCDQvdCwINC40YHRhdC+0LTQvdGL0Lkg0YTQsNC50Lsg0LfQsNGP0LLQutC4LiDQpNCw0LnQuyDQu9C10LbQuNGCINC90LAg0YXQvtGB0YLQtSBBUEkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVVcmwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZHJhZnQoKS5maWxlPy51cmw7XG5cbiAgICAgICAgcmV0dXJuIHVybCA/IG5ldyBVUkwodXJsLCB0aGlzLnVybHMuYXBpVXJsKS5ocmVmIDogbnVsbDtcbiAgICB9KTtcbn1cbiIsIkBsZXQgYWN0dWFsaXphdGlvbiA9IGRyYWZ0KCkuYWN0dWFsaXphdGlvbjtcbkBsZXQgdmlldyA9IHN0YXRlVmlldygpO1xuXG48dHVpLW5vdGlmaWNhdGlvblxuICAgIFthcHBlYXJhbmNlXT1cInZpZXcuYXBwZWFyYW5jZVwiXG4gICAgc2l6ZT1cIm1cIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0YXJ0IGdhcC0yIHRleHQtc3RhcnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgZ2FwLTIgdGV4dC1zdGFydCBmb250LWJvbGRcIj5cbiAgICAgICAgICAgIEBpZiAoaXNQcm9jZXNzaW5nKCkpIHtcbiAgICAgICAgICAgICAgICA8dHVpLWxvYWRlciBzaXplPVwic1wiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB7eyB2aWV3LmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0YXJ0IGdhcC0xXCI+XG4gICAgICAgICAgICBAaWYgKGFjdHVhbGl6YXRpb24/LmFjdHVhbGl6ZWRBdDsgYXMgYWN0dWFsaXplZEF0KSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+0JDQutGC0YPQsNC70LjQt9C40YDQvtCy0LDQvSB7eyBhY3R1YWxpemVkQXQgfCBzY0Zvcm1hdERhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGlzQWN0dWFsKCkgJiYgYWN0dWFsaXphdGlvbj8uZXhwaXJlc0F0OyBhcyBleHBpcmVzQXQpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj7QkNC60YLRg9Cw0LvQtdC9INC00L4ge3sgZXhwaXJlc0F0IHwgc2NGb3JtYXREYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh2aWV3LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdmlldy5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoYWN0dWFsaXphdGlvbj8uZXJyb3I7IGFzIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZmlsZVVybCgpOyBhcyB1cmwpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAg0KTQsNC50Lsg0LfQsNGP0LLQutC4OlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwidXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRyYWZ0KCkuZmlsZT8ub3JpZ2luYWxOYW1lID8/ICfRgdC60LDRh9Cw0YLRjCcgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkucmVmcmVzaC1jd1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZygpIHx8IGJ1c3koKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdHVhbGl6ZS5lbWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCQ0LrRgtGD0LDQu9C40LfQuNGA0L7QstCw0YLRjFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuZmlsZS11cFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZygpIHx8IGJ1c3koKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbG9hZC5lbWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCh0L7QsdGA0LDRgtGMINC30LDQvdC+0LLQviDQuNC3INGE0LDQudC70LBcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvdHVpLW5vdGlmaWNhdGlvbj5cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
-
import { TuiBadge } from '@taiga-ui/kit';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Компонент метки «Профстрой» у черновика или заказа, созданного из файла программы «Профстрой».
|
|
6
|
-
*/
|
|
7
|
-
export class ScProfstroyBadgeComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
/**
|
|
10
|
-
* Размер метки.
|
|
11
|
-
*/
|
|
12
|
-
this.size = input('m');
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfstroyBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScProfstroyBadgeComponent, isStandalone: true, selector: "sc-profstroy-badge", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<tui-badge\n class=\"!font-medium\"\n appearance=\"primary\"\n [size]=\"size()\"\n>\n \u041F\u0440\u043E\u0444\u0441\u0442\u0440\u043E\u0439\n</tui-badge>\n", dependencies: [{ kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScProfstroyBadgeComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{ standalone: true, selector: 'sc-profstroy-badge', imports: [TuiBadge], changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-badge\n class=\"!font-medium\"\n appearance=\"primary\"\n [size]=\"size()\"\n>\n \u041F\u0440\u043E\u0444\u0441\u0442\u0440\u043E\u0439\n</tui-badge>\n" }]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZnN0cm95LWJhZGdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9kcmFmdC9wcm9mc3Ryb3kvYmFkZ2Uvc2MtcHJvZnN0cm95LWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9kcmFmdC9wcm9mc3Ryb3kvYmFkZ2Uvc2MtcHJvZnN0cm95LWJhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOztHQUVHO0FBUUgsTUFBTSxPQUFPLHlCQUF5QjtJQVB0QztRQVFJOztXQUVHO1FBQ2EsU0FBSSxHQUFHLEtBQUssQ0FBWSxHQUFHLENBQUMsQ0FBQztLQUNoRDsrR0FMWSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwrTUNidEMsMEtBT0EsNENER2MsUUFBUTs7NEZBR1QseUJBQXlCO2tCQVByQyxTQUFTO2lDQUNNLElBQUksWUFDTixvQkFBb0IsV0FFckIsQ0FBQyxRQUFRLENBQUMsbUJBQ0YsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUdWlCYWRnZSB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQvNC10YLQutC4IMKr0J/RgNC+0YTRgdGC0YDQvtC5wrsg0YMg0YfQtdGA0L3QvtCy0LjQutCwINC40LvQuCDQt9Cw0LrQsNC30LAsINGB0L7Qt9C00LDQvdC90L7Qs9C+INC40Lcg0YTQsNC50LvQsCDQv9GA0L7Qs9GA0LDQvNC80YsgwqvQn9GA0L7RhNGB0YLRgNC+0LnCuy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLXByb2ZzdHJveS1iYWRnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByb2ZzdHJveS1iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1R1aUJhZGdlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcm9mc3Ryb3lCYWRnZUNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KDQsNC30LzQtdGAINC80LXRgtC60LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHNpemUgPSBpbnB1dDwncycgfCAnbSc+KCdtJyk7XG59XG4iLCI8dHVpLWJhZGdlXG4gICAgY2xhc3M9XCIhZm9udC1tZWRpdW1cIlxuICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICBbc2l6ZV09XCJzaXplKClcIlxuPlxuICAgINCf0YDQvtGE0YHRgtGA0L7QuVxuPC90dWktYmFkZ2U+XG4iXX0=
|