@snabcentr/client-ui 4.16.9 → 4.16.11-profstroy
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/alerts/confirm-alert/sc-confirm-alert.component.d.ts +22 -0
- package/alerts/index.d.ts +1 -0
- package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +1 -1
- 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 +17 -1
- package/esm2022/alerts/confirm-alert/sc-confirm-alert.component.mjs +29 -0
- package/esm2022/alerts/index.mjs +2 -0
- package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +4 -3
- package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +5 -16
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +24 -4
- package/esm2022/helpers/sc-api-error-helper.mjs +25 -0
- package/esm2022/helpers/sc-file-helper.mjs +29 -0
- package/esm2022/order/draft/helpers/sc-draft-list-helper.mjs +83 -0
- package/esm2022/order/draft/models/sc-i-draft-list-item.mjs +2 -0
- package/esm2022/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.mjs +73 -0
- package/esm2022/order/draft/profstroy/badge/sc-profstroy-badge.component.mjs +21 -0
- package/esm2022/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.mjs +31 -0
- package/esm2022/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.mjs +139 -0
- package/esm2022/order/draft/profstroy/enums/sc-profstroy-draft-state.mjs +32 -0
- package/esm2022/order/draft/profstroy/helpers/sc-profstroy-draft-helper.mjs +94 -0
- package/esm2022/order/draft/profstroy/index.mjs +8 -0
- package/esm2022/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.mjs +2 -0
- package/esm2022/order/draft/sc-draft.component.mjs +148 -14
- package/esm2022/order/draft/services/sc-draft-expiration-clock.service.mjs +42 -0
- package/esm2022/order/draft/services/sc-draft-list-updates.service.mjs +288 -0
- package/esm2022/order/index.mjs +6 -1
- package/esm2022/order/new-order-items/sc-new-order-items.component.mjs +11 -3
- package/esm2022/order/order-form/sc-order-form.component.mjs +4 -2
- package/esm2022/order/order-item/sc-order-item.component.mjs +37 -5
- package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +254 -47
- package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +1 -1
- package/esm2022/order/order-items-list-with-actions/sc-order-items-list-with-actions.component.mjs +15 -3
- package/esm2022/pipes/sc-format-date.mjs +1 -1
- package/esm2022/providers/sc-date-formatter.mjs +1 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/snabcentr-client-ui.mjs +1318 -93
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/helpers/sc-api-error-helper.d.ts +18 -0
- package/helpers/sc-file-helper.d.ts +13 -0
- package/order/draft/helpers/sc-draft-list-helper.d.ts +51 -0
- package/order/draft/models/sc-i-draft-list-item.d.ts +14 -0
- package/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.d.ts +58 -0
- package/order/draft/profstroy/badge/sc-profstroy-badge.component.d.ts +12 -0
- package/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.d.ts +21 -0
- package/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.d.ts +65 -0
- package/order/draft/profstroy/enums/sc-profstroy-draft-state.d.ts +29 -0
- package/order/draft/profstroy/helpers/sc-profstroy-draft-helper.d.ts +33 -0
- package/order/draft/profstroy/index.d.ts +7 -0
- package/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.d.ts +17 -0
- package/order/draft/sc-draft.component.d.ts +73 -1
- package/order/draft/services/sc-draft-expiration-clock.service.d.ts +29 -0
- package/order/draft/services/sc-draft-list-updates.service.d.ts +158 -0
- package/order/index.d.ts +5 -0
- package/order/new-order-items/sc-new-order-items.component.d.ts +9 -1
- package/order/order-form/sc-order-form.component.d.ts +1 -0
- package/order/order-item/sc-order-item.component.d.ts +25 -1
- package/order/order-items-list/sc-order-items-list.component.d.ts +132 -9
- package/order/order-items-list-with-actions/sc-order-items-list-with-actions.component.d.ts +13 -1
- package/package.json +2 -2
- package/pipes/sc-format-date.d.ts +1 -1
- package/providers/sc-date-formatter.d.ts +1 -1
- package/public-api.d.ts +1 -0
- package/release_notes.tmp +1 -1
- package/styles/tailwind/tailwind.scss +41 -0
package/order/index.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ export * from './order-item/sc-order-item.component';
|
|
|
7
7
|
export * from './order-items-list/sc-order-items-list.component';
|
|
8
8
|
export * from './order-items-list-with-actions/sc-order-items-list-with-actions.component';
|
|
9
9
|
export * from './order-items-list-by-stock/sc-order-items-list-by-stock.component';
|
|
10
|
+
export * from './draft/helpers/sc-draft-list-helper';
|
|
11
|
+
export * from './draft/models/sc-i-draft-list-item';
|
|
12
|
+
export * from './draft/services/sc-draft-expiration-clock.service';
|
|
13
|
+
export * from './draft/services/sc-draft-list-updates.service';
|
|
14
|
+
export * from './draft/profstroy';
|
|
10
15
|
export * from './draft/sc-draft.component';
|
|
11
16
|
export * from './sc-payment-status/sc-payment-status.component';
|
|
12
17
|
export * from './sc-order.module';
|
|
@@ -16,6 +16,14 @@ export declare class ScNewOrderItemsComponent {
|
|
|
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
|
+
/**
|
|
24
|
+
* Подпись итоговой суммы.
|
|
25
|
+
*/
|
|
26
|
+
readonly totalLabel: import("@angular/core").InputSignal<string>;
|
|
19
27
|
/**
|
|
20
28
|
* Время обработки и принятия заказов (из настроек окружения приложения).
|
|
21
29
|
*/
|
|
@@ -25,5 +33,5 @@ export declare class ScNewOrderItemsComponent {
|
|
|
25
33
|
*/
|
|
26
34
|
readonly selectedItemsIdsChange: import("@angular/core").OutputEmitterRef<string[]>;
|
|
27
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScNewOrderItemsComponent, never>;
|
|
28
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScNewOrderItemsComponent, "sc-new-order-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>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScNewOrderItemsComponent, "sc-new-order-items", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "useLinePrice": { "alias": "useLinePrice"; "required": false; "isSignal": true; }; "totalLabel": { "alias": "totalLabel"; "required": false; "isSignal": true; }; "orderProcessingAcceptanceTime": { "alias": "orderProcessingAcceptanceTime"; "required": false; "isSignal": true; }; }, { "selectedItemsIdsChange": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
|
|
29
37
|
}
|
|
@@ -201,6 +201,7 @@ export declare class ScOrderFormComponent implements OnInit {
|
|
|
201
201
|
stringify(items: readonly SelectType[]): TuiStringHandler<TuiContext<number>>;
|
|
202
202
|
/**
|
|
203
203
|
* Обрабатывает отправку формы: валидирует и эмитит данные заказа родителю.
|
|
204
|
+
* Общая ошибка сервера с прошлой отправки (например, 409) не мешает отправить форму снова, ошибки полей остаются до их исправления.
|
|
204
205
|
*/
|
|
205
206
|
submit(): void;
|
|
206
207
|
/**
|
|
@@ -26,6 +26,30 @@ export declare class ScOrderItemComponent extends AbstractScPriceCard {
|
|
|
26
26
|
* Признак, что необходимо отобразить элементы редактирования.
|
|
27
27
|
*/
|
|
28
28
|
readonly isShowEditControls: import("@angular/core").InputSignal<boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара (например, цена, зафиксированная в заявке).
|
|
31
|
+
*/
|
|
32
|
+
readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* Признак, что позиция, которая не попадёт в заказ, помечается примечанием, а неактивная позиция зачёркивается.
|
|
35
|
+
*/
|
|
36
|
+
readonly markUnavailable: import("@angular/core").InputSignal<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Признак, что изменение позиции ждёт очереди или выполняется.
|
|
39
|
+
*/
|
|
40
|
+
readonly isPending: import("@angular/core").InputSignal<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Признак, что параметры позиции можно изменить в диалоге, даже если они ещё не заданы.
|
|
43
|
+
*/
|
|
44
|
+
readonly settingsAvailable: import("@angular/core").InputSignal<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Оформление примечания к позиции: группа, которая не участвует в заказе, серым, остальные причины жёлтым.
|
|
47
|
+
*/
|
|
48
|
+
protected get unavailableReasonAppearance(): string;
|
|
49
|
+
/**
|
|
50
|
+
* Подсказка к количеству, когда поля количества нет: где его изменить. У неактивной позиции с примечанием количество не меняется, и подсказки нет.
|
|
51
|
+
*/
|
|
52
|
+
protected get quantityHint(): string;
|
|
29
53
|
/**
|
|
30
54
|
* Отображает спецификацию.
|
|
31
55
|
*
|
|
@@ -39,5 +63,5 @@ export declare class ScOrderItemComponent extends AbstractScPriceCard {
|
|
|
39
63
|
*/
|
|
40
64
|
protected configuratorHintVisible(visible: boolean): void;
|
|
41
65
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemComponent, "sc-order-item", never, { "isShowEditControls": { "alias": "isShowEditControls"; "required": false; "isSignal": true; }; }, { "clickSettings": "clickSettings"; }, never, never, true, never>;
|
|
66
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemComponent, "sc-order-item", never, { "isShowEditControls": { "alias": "isShowEditControls"; "required": false; "isSignal": true; }; "useLinePrice": { "alias": "useLinePrice"; "required": false; "isSignal": true; }; "markUnavailable": { "alias": "markUnavailable"; "required": false; "isSignal": true; }; "isPending": { "alias": "isPending"; "required": false; "isSignal": true; }; "settingsAvailable": { "alias": "settingsAvailable"; "required": false; "isSignal": true; }; }, { "clickSettings": "clickSettings"; }, never, never, true, never>;
|
|
43
67
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
2
|
-
import { ScIOrderEditorLoader, ScIOrderLoader, ScOrderItem } from '@snabcentr/client-core';
|
|
2
|
+
import { ScIOrderEditorLoader, ScIOrderItemsGroup, ScIOrderLoader, ScOrderItem } from '@snabcentr/client-core';
|
|
3
3
|
import { AbstractScPriceCard } from '../../directives';
|
|
4
4
|
import { ScOrderOptions } from '../directives/sc-order-options';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -7,6 +7,14 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
* Компонент списка товаров корзины, заказа или черновика.
|
|
8
8
|
*/
|
|
9
9
|
export declare class ScOrderItemsListComponent {
|
|
10
|
+
/**
|
|
11
|
+
* Возвращает копию набора с добавленными или убранными ключами.
|
|
12
|
+
*
|
|
13
|
+
* @param keys Набор.
|
|
14
|
+
* @param changed Ключи.
|
|
15
|
+
* @param isIncluded Признак добавления.
|
|
16
|
+
*/
|
|
17
|
+
private static withKeys;
|
|
10
18
|
/**
|
|
11
19
|
* Внутренний сигнал списка элементов корзины (товаров).
|
|
12
20
|
*/
|
|
@@ -19,6 +27,48 @@ export declare class ScOrderItemsListComponent {
|
|
|
19
27
|
* Включить редактирование позиций.
|
|
20
28
|
*/
|
|
21
29
|
readonly editable: import("@angular/core").InputSignal<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Признак вывода позиций по группам (группа позиции или «Без группы») с заголовками и итогами. Без признака позиции выводятся одним списком без заголовков.
|
|
32
|
+
*/
|
|
33
|
+
readonly grouped: import("@angular/core").InputSignal<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Признак, что позиции, которые не попадут в заказ, помечаются примечанием и не выбираются. Неактивные позиции приглушаются и зачёркиваются.
|
|
36
|
+
*/
|
|
37
|
+
readonly markUnavailable: import("@angular/core").InputSignal<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара.
|
|
40
|
+
*/
|
|
41
|
+
readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Признак, что параметры позиции меняются в диалоге товара: диалог доступен у любой активной позиции, а количество и метраж измеряемых товаров
|
|
44
|
+
* меняются только в нём, даже если метраж ещё не задан.
|
|
45
|
+
*/
|
|
46
|
+
readonly measuredInDialog: import("@angular/core").InputSignal<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Откуда удаляется позиция для текста подтверждения, например «из черновика». Если не задано, позиция удаляется без подтверждения.
|
|
49
|
+
* Тот же текст используется в предупреждении о нулевом количестве.
|
|
50
|
+
*/
|
|
51
|
+
readonly deleteConfirmationTarget: import("@angular/core").InputSignal<string | null>;
|
|
52
|
+
/**
|
|
53
|
+
* Подпись итоговой суммы.
|
|
54
|
+
*/
|
|
55
|
+
readonly totalLabel: import("@angular/core").InputSignal<string>;
|
|
56
|
+
/**
|
|
57
|
+
* Позиции, разбитые на группы. Без группировки все позиции идут одной группой без заголовка.
|
|
58
|
+
*/
|
|
59
|
+
protected readonly groups: import("@angular/core").Signal<ScIOrderItemsGroup[]>;
|
|
60
|
+
/**
|
|
61
|
+
* Идентификаторы позиций, изменение или удаление которых ждёт очереди или выполняется.
|
|
62
|
+
*/
|
|
63
|
+
protected readonly pendingItemsIds: import("@angular/core").WritableSignal<ReadonlySet<string>>;
|
|
64
|
+
/**
|
|
65
|
+
* Названия удаляемых групп.
|
|
66
|
+
*/
|
|
67
|
+
protected readonly deletingGroupsNames: import("@angular/core").WritableSignal<ReadonlySet<string>>;
|
|
68
|
+
/**
|
|
69
|
+
* Названия групп с позициями, ждущими ответа: такие группы удалить нельзя.
|
|
70
|
+
*/
|
|
71
|
+
protected readonly pendingGroupsNames: import("@angular/core").Signal<ReadonlySet<string>>;
|
|
22
72
|
/**
|
|
23
73
|
* Внутренняя группа формы для выбора позиций.
|
|
24
74
|
*/
|
|
@@ -32,7 +82,8 @@ export declare class ScOrderItemsListComponent {
|
|
|
32
82
|
*/
|
|
33
83
|
protected readonly itemsIds: import("@angular/core").Signal<[string, boolean][]>;
|
|
34
84
|
/**
|
|
35
|
-
* Состояние флага «Выбрать все»: `true`, если выбраны все позиции, `false`, если ни
|
|
85
|
+
* Состояние флага «Выбрать все»: `true`, если выбраны все доступные для выбора позиции, `false`, если ни одной или выбирать нечего,
|
|
86
|
+
* и `null`, если только часть.
|
|
36
87
|
*/
|
|
37
88
|
protected readonly allItemsSelected: import("@angular/core").Signal<boolean | null>;
|
|
38
89
|
/**
|
|
@@ -56,6 +107,10 @@ export declare class ScOrderItemsListComponent {
|
|
|
56
107
|
* Признак, что можно редактировать позиции.
|
|
57
108
|
*/
|
|
58
109
|
protected readonly canEdit: import("@angular/core").Signal<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* Признак, что группу можно удалить целиком.
|
|
112
|
+
*/
|
|
113
|
+
protected readonly canDeleteGroups: import("@angular/core").Signal<boolean>;
|
|
59
114
|
/**
|
|
60
115
|
* Настройки вывода сумм в рублях.
|
|
61
116
|
*/
|
|
@@ -69,29 +124,60 @@ export declare class ScOrderItemsListComponent {
|
|
|
69
124
|
* Предоставляется родителем через токен {@link SC_DIALOG_SERVICE_TOKEN}.
|
|
70
125
|
*/
|
|
71
126
|
private readonly scDialogService;
|
|
127
|
+
/**
|
|
128
|
+
* Сервис диалоговых окон Taiga для подтверждений.
|
|
129
|
+
*/
|
|
130
|
+
private readonly dialogService;
|
|
131
|
+
/**
|
|
132
|
+
* Сервис уведомлений.
|
|
133
|
+
*/
|
|
134
|
+
private readonly alerts;
|
|
135
|
+
/**
|
|
136
|
+
* Инициализирует экземпляр класса {@link ScOrderItemsListComponent}.
|
|
137
|
+
* Входы выбора и пометки недоступных позиций могут прийти после списка позиций, поэтому при их изменении выбор синхронизируется заново.
|
|
138
|
+
*/
|
|
139
|
+
constructor();
|
|
72
140
|
/**
|
|
73
141
|
* Список элементов корзины (товаров). При установке синхронно обновляет контролы выбора в форме.
|
|
74
142
|
*/
|
|
75
143
|
set items(value: ScOrderItem[]);
|
|
76
144
|
/**
|
|
77
145
|
* Синхронизирует контролы формы выбора с текущим списком товаров: удаляет контролы для отсутствующих id, добавляет для новых.
|
|
146
|
+
* Контролы меняются без событий, а значение группы пересчитывается один раз в конце: на заявках в сотни позиций это заметно.
|
|
78
147
|
*/
|
|
79
148
|
private syncSelectionControls;
|
|
80
149
|
/**
|
|
81
|
-
* Выбирает все позиции или снимает выбор со всех.
|
|
150
|
+
* Выбирает все доступные для выбора позиции или снимает выбор со всех.
|
|
82
151
|
*
|
|
83
152
|
* @param event Событие изменения флага выбора всех позиций.
|
|
84
153
|
*/
|
|
85
154
|
protected selectAllChangeHandler(event: Event): void;
|
|
86
155
|
/**
|
|
87
|
-
*
|
|
156
|
+
* Возвращает признак, что позиция приглушена: она неактивна или не выбрана для заказа.
|
|
157
|
+
*
|
|
158
|
+
* @param item Позиция.
|
|
159
|
+
*/
|
|
160
|
+
protected isItemDimmed(item: ScOrderItem): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Возвращает признак, что количество и метраж товара позиции меняются в диалоге товара.
|
|
163
|
+
*
|
|
164
|
+
* @param item Позиция.
|
|
165
|
+
*/
|
|
166
|
+
protected isEditedInDialog(item: ScOrderItem): boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Удаляет позицию, при необходимости после подтверждения. Сообщение об ошибке показывает перехватчик приложения.
|
|
88
169
|
*
|
|
89
170
|
* @param item Позиция товара для удаления.
|
|
90
|
-
* @param priceCard Компонент карточки товара.
|
|
91
171
|
*/
|
|
92
|
-
protected deleteItem(item: ScOrderItem
|
|
172
|
+
protected deleteItem(item: ScOrderItem): void;
|
|
173
|
+
/**
|
|
174
|
+
* Удаляет все позиции группы после подтверждения. Состав берётся на момент подтверждения.
|
|
175
|
+
*
|
|
176
|
+
* @param group Группа позиций.
|
|
177
|
+
*/
|
|
178
|
+
protected deleteGroup(group: ScIOrderItemsGroup): void;
|
|
93
179
|
/**
|
|
94
|
-
* Обновляет количество товара.
|
|
180
|
+
* Обновляет количество товара. Количество неактивной позиции не меняется. Пустое или нулевое значение возвращается к сохранённому количеству.
|
|
95
181
|
*
|
|
96
182
|
* @param newQuantity Новое значение количества товара.
|
|
97
183
|
* @param priceCard Компонент карточки товара.
|
|
@@ -106,7 +192,7 @@ export declare class ScOrderItemsListComponent {
|
|
|
106
192
|
*/
|
|
107
193
|
protected openProductInfoDialog(product: ScOrderItem['product'], orderItem?: ScOrderItem, orderId?: number): void;
|
|
108
194
|
/**
|
|
109
|
-
* Открывает модальное окно изменения товара или его конфигуратора.
|
|
195
|
+
* Открывает модальное окно изменения товара или его конфигуратора. Если параметры позиции меняются в диалоге, окно товара открывается и у штучного товара.
|
|
110
196
|
*
|
|
111
197
|
* @param item Позиция товара.
|
|
112
198
|
*/
|
|
@@ -117,6 +203,43 @@ export declare class ScOrderItemsListComponent {
|
|
|
117
203
|
* @param product Товар/услуга, для которого необходимо отобразить график изменения стоимости.
|
|
118
204
|
*/
|
|
119
205
|
protected openPriceHistoryChartDialog(product: ScOrderItem['product']): void;
|
|
206
|
+
/**
|
|
207
|
+
* Возвращает {@link Observable}, который выдаёт значение, когда удаление позиции подтверждено или подтверждение не требуется.
|
|
208
|
+
*
|
|
209
|
+
* @param item Удаляемая позиция.
|
|
210
|
+
*/
|
|
211
|
+
private confirmDelete$;
|
|
212
|
+
/**
|
|
213
|
+
* Возвращает {@link Observable}, который выдаёт значение, когда удаление группы подтверждено.
|
|
214
|
+
*
|
|
215
|
+
* @param group Группа позиций.
|
|
216
|
+
*/
|
|
217
|
+
private confirmGroupDelete$;
|
|
218
|
+
/**
|
|
219
|
+
* Возвращает {@link Observable}, который выдаёт значение, когда удаление подтверждено.
|
|
220
|
+
*
|
|
221
|
+
* @param label Вопрос.
|
|
222
|
+
*/
|
|
223
|
+
private confirmRemoval$;
|
|
224
|
+
/**
|
|
225
|
+
* Отмечает позицию как ожидающую ответа или снимает отметку.
|
|
226
|
+
*
|
|
227
|
+
* @param id Идентификатор позиции.
|
|
228
|
+
* @param isPending Признак ожидания.
|
|
229
|
+
*/
|
|
230
|
+
private setItemPending;
|
|
231
|
+
/**
|
|
232
|
+
* Ставит или снимает отметку ожидания у позиций.
|
|
233
|
+
*
|
|
234
|
+
* @param itemsIds Идентификаторы позиций.
|
|
235
|
+
* @param isPending Признак ожидания.
|
|
236
|
+
*/
|
|
237
|
+
private setItemsPending;
|
|
238
|
+
/**
|
|
239
|
+
* Предупреждает, что количество не может быть пустым или нулевым, а убрать позицию можно удалением. Поле возвращается к сохранённому количеству
|
|
240
|
+
* в любом списке, предупреждение показывается только в списках с подтверждением удаления.
|
|
241
|
+
*/
|
|
242
|
+
private warnEmptyQuantity;
|
|
120
243
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListComponent, never>;
|
|
121
|
-
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>;
|
|
244
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListComponent, "sc-order-items-list", never, { "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "grouped": { "alias": "grouped"; "required": false; "isSignal": true; }; "markUnavailable": { "alias": "markUnavailable"; "required": false; "isSignal": true; }; "useLinePrice": { "alias": "useLinePrice"; "required": false; "isSignal": true; }; "measuredInDialog": { "alias": "measuredInDialog"; "required": false; "isSignal": true; }; "deleteConfirmationTarget": { "alias": "deleteConfirmationTarget"; "required": false; "isSignal": true; }; "totalLabel": { "alias": "totalLabel"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; }; }, { "selectedItemsIdsChange": "selectedItemsIdsChange"; }, never, never, true, never>;
|
|
122
245
|
}
|
|
@@ -16,6 +16,18 @@ export declare class ScOrderItemsListWithActionsComponent {
|
|
|
16
16
|
* Включить редактирование позиций.
|
|
17
17
|
*/
|
|
18
18
|
readonly editable: import("@angular/core").InputSignal<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара.
|
|
21
|
+
*/
|
|
22
|
+
readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Откуда удаляется позиция для текста подтверждения, например «из черновика». Если не задано, позиция удаляется без подтверждения.
|
|
25
|
+
*/
|
|
26
|
+
readonly deleteConfirmationTarget: import("@angular/core").InputSignal<string | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Подпись итоговой суммы.
|
|
29
|
+
*/
|
|
30
|
+
readonly totalLabel: import("@angular/core").InputSignal<string>;
|
|
19
31
|
/**
|
|
20
32
|
* Позиции, доступные для заказа.
|
|
21
33
|
*/
|
|
@@ -33,5 +45,5 @@ export declare class ScOrderItemsListWithActionsComponent {
|
|
|
33
45
|
*/
|
|
34
46
|
constructor();
|
|
35
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListWithActionsComponent, never>;
|
|
36
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListWithActionsComponent, "sc-order-items-list-with-actions", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "selectedItemsIds": { "alias": "selectedItemsIds"; "required": false; "isSignal": true; }; }, { "selectedItemsIds": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
|
|
48
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListWithActionsComponent, "sc-order-items-list-with-actions", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "useLinePrice": { "alias": "useLinePrice"; "required": false; "isSignal": true; }; "deleteConfirmationTarget": { "alias": "deleteConfirmationTarget"; "required": false; "isSignal": true; }; "totalLabel": { "alias": "totalLabel"; "required": false; "isSignal": true; }; "selectedItemsIds": { "alias": "selectedItemsIds"; "required": false; "isSignal": true; }; }, { "selectedItemsIds": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
|
|
37
49
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snabcentr/client-ui",
|
|
3
|
-
"version": "4.16.
|
|
3
|
+
"version": "4.16.11-profstroy",
|
|
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": "
|
|
19
|
+
"@snabcentr/client-core": "3.25.0-profstroy",
|
|
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): string | undefined;
|
|
17
|
+
transform(timeString?: string | Date): 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) => string>;
|
|
6
|
+
export declare const SC_DATE_FORMATTER: InjectionToken<(date: string | Date) => string>;
|
package/public-api.d.ts
CHANGED
package/release_notes.tmp
CHANGED
|
@@ -873,6 +873,10 @@ video {
|
|
|
873
873
|
height: 5rem !important;
|
|
874
874
|
}
|
|
875
875
|
|
|
876
|
+
.\!h-auto {
|
|
877
|
+
height: auto !important;
|
|
878
|
+
}
|
|
879
|
+
|
|
876
880
|
.h-10 {
|
|
877
881
|
height: 2.5rem;
|
|
878
882
|
}
|
|
@@ -1022,6 +1026,10 @@ video {
|
|
|
1022
1026
|
max-width: 24rem;
|
|
1023
1027
|
}
|
|
1024
1028
|
|
|
1029
|
+
.max-w-full {
|
|
1030
|
+
max-width: 100%;
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1025
1033
|
.max-w-min {
|
|
1026
1034
|
max-width: -moz-min-content;
|
|
1027
1035
|
max-width: min-content;
|
|
@@ -1148,10 +1156,18 @@ video {
|
|
|
1148
1156
|
align-items: center;
|
|
1149
1157
|
}
|
|
1150
1158
|
|
|
1159
|
+
.items-baseline {
|
|
1160
|
+
align-items: baseline;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1151
1163
|
.\!justify-start {
|
|
1152
1164
|
justify-content: flex-start !important;
|
|
1153
1165
|
}
|
|
1154
1166
|
|
|
1167
|
+
.justify-start {
|
|
1168
|
+
justify-content: flex-start;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1155
1171
|
.justify-end {
|
|
1156
1172
|
justify-content: flex-end;
|
|
1157
1173
|
}
|
|
@@ -1268,6 +1284,14 @@ video {
|
|
|
1268
1284
|
white-space: nowrap;
|
|
1269
1285
|
}
|
|
1270
1286
|
|
|
1287
|
+
.break-words {
|
|
1288
|
+
overflow-wrap: break-word;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
.break-all {
|
|
1292
|
+
word-break: break-all;
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1271
1295
|
.\!rounded-xl {
|
|
1272
1296
|
border-radius: 0.75rem !important;
|
|
1273
1297
|
}
|
|
@@ -1491,6 +1515,11 @@ video {
|
|
|
1491
1515
|
padding-right: 1.5rem;
|
|
1492
1516
|
}
|
|
1493
1517
|
|
|
1518
|
+
.py-0\.5 {
|
|
1519
|
+
padding-top: 0.125rem;
|
|
1520
|
+
padding-bottom: 0.125rem;
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1494
1523
|
.py-14 {
|
|
1495
1524
|
padding-top: 3.5rem;
|
|
1496
1525
|
padding-bottom: 3.5rem;
|
|
@@ -1510,6 +1539,10 @@ video {
|
|
|
1510
1539
|
padding-bottom: 0.25rem;
|
|
1511
1540
|
}
|
|
1512
1541
|
|
|
1542
|
+
.pb-2 {
|
|
1543
|
+
padding-bottom: 0.5rem;
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1513
1546
|
.pb-4 {
|
|
1514
1547
|
padding-bottom: 1rem;
|
|
1515
1548
|
}
|
|
@@ -1795,6 +1828,10 @@ video {
|
|
|
1795
1828
|
text-decoration-line: underline;
|
|
1796
1829
|
}
|
|
1797
1830
|
|
|
1831
|
+
.\!line-through {
|
|
1832
|
+
text-decoration-line: line-through !important;
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1798
1835
|
.line-through {
|
|
1799
1836
|
text-decoration-line: line-through;
|
|
1800
1837
|
}
|
|
@@ -1966,6 +2003,10 @@ video {
|
|
|
1966
2003
|
align-items: flex-start;
|
|
1967
2004
|
}
|
|
1968
2005
|
|
|
2006
|
+
.sm\:items-end {
|
|
2007
|
+
align-items: flex-end;
|
|
2008
|
+
}
|
|
2009
|
+
|
|
1969
2010
|
.sm\:border-32 {
|
|
1970
2011
|
border-width: 2rem;
|
|
1971
2012
|
}
|