@rt-tools/ui-kit 0.4.0 → 0.5.0
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/README.md +1 -1
- package/fesm2022/rt-tools-ui-kit.mjs +3500 -3105
- package/fesm2022/rt-tools-ui-kit.mjs.map +1 -1
- package/package.json +3 -4
- package/rt-tools-ui-kit-0.5.0.tgz +0 -0
- package/src/lib/ui-kit/action-bar/components/container/rtui-action-bar-container.component.scss +47 -0
- package/src/lib/ui-kit/action-bar/stories/component/test-action-bar.component.scss +15 -0
- package/src/lib/ui-kit/aside/components/container/aside-container.component.scss +4 -1
- package/src/lib/ui-kit/aside/components/panel/aside-panel.component.scss +24 -0
- package/src/lib/ui-kit/popover/stories/component/test-popover.component.scss +32 -0
- package/src/lib/ui-kit/scrollable/scrollable-container.component.scss +57 -0
- package/src/lib/ui-kit/scrollable/stories/component/test-scrollable.component.scss +17 -0
- package/src/lib/ui-kit/side-menu/menu/rtui-side-menu.component.scss +185 -4
- package/src/lib/ui-kit/side-menu/menu-sub-item/rtui-side-menu-sub-item.component.scss +45 -4
- package/src/lib/ui-kit/snack-bar/snack-bar.component.scss +20 -0
- package/src/lib/ui-kit/toolbar/stories/component/test-toolbar.component.scss +22 -0
- package/src/styles/base/_tokens.scss +5 -0
- package/src/styles/color-scheme.spec.ts +4 -1
- package/src/styles/components/_rtui_button.scss +13 -547
- package/src/styles/components/button/_base.scss +64 -0
- package/src/styles/components/button/_map.scss +184 -0
- package/src/styles/components/button/_palettes.scss +218 -0
- package/src/styles/components/button/_sizes.scss +29 -0
- package/src/styles/components/button/_text.scss +68 -0
- package/styles/tokens.css +2 -0
- package/types/rt-tools-ui-kit.d.ts +585 -449
- package/rt-tools-ui-kit-0.4.0.tgz +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Type, OnInit, Signal,
|
|
2
|
+
import { Type, OnInit, Signal, ElementRef, WritableSignal, TemplateRef, InputSignal, InjectionToken, InputSignalWithTransform, OutputEmitterRef, ModelSignal, AfterViewChecked, AfterViewInit, Provider, AfterContentChecked, OnDestroy } from '@angular/core';
|
|
3
3
|
import { FormControl, ControlValueAccessor, Validator, FormGroup, ValidationErrors } from '@angular/forms';
|
|
4
4
|
import { ThemePalette } from '@angular/material/core';
|
|
5
5
|
import { Observable, Subject } from 'rxjs';
|
|
6
|
-
import {
|
|
6
|
+
import { TNullable, ISortModel, TFilterOperatorType, IFilterModel, EFilterOperatorType, IPageModel } from '@rt-tools/utils';
|
|
7
7
|
import { MatDialogConfig } from '@angular/material/dialog';
|
|
8
8
|
import { MatDrawer } from '@angular/material/sidenav';
|
|
9
9
|
import { OverlayRef, ComponentType, ConnectedPosition, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
@@ -13,21 +13,22 @@ import { MatButtonAppearance } from '@angular/material/button';
|
|
|
13
13
|
import * as i1 from '@angular/material/tooltip';
|
|
14
14
|
import { TooltipPosition } from '@angular/material/tooltip';
|
|
15
15
|
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
16
|
-
import { AnimationPlayer, AnimationTriggerMetadata } from '@angular/animations';
|
|
17
16
|
import { MatSnackBarConfig, MatSnackBarRef } from '@angular/material/snack-bar';
|
|
18
|
-
import {
|
|
17
|
+
import { EPosition, OSTypes } from '@rt-tools/core';
|
|
19
18
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
20
19
|
import { MatInput } from '@angular/material/input';
|
|
21
20
|
import { ImageCroppedEvent } from 'ngx-image-cropper';
|
|
22
21
|
|
|
23
|
-
declare enum
|
|
22
|
+
declare enum EModalWindowSize {
|
|
24
23
|
SM = "25rem",
|
|
25
24
|
MD = "45rem",
|
|
26
25
|
LG = "65rem",
|
|
27
26
|
FULL = "100%"
|
|
28
27
|
}
|
|
29
|
-
type
|
|
30
|
-
|
|
28
|
+
type TModalWindowSizeType = EModalWindowSize.SM | EModalWindowSize.MD | EModalWindowSize.LG | EModalWindowSize.FULL;
|
|
29
|
+
/** Вид кнопки окна — набор Material, перечисленный один раз. */
|
|
30
|
+
type TModalButtonAppearance = 'standard' | 'raised' | 'flat' | 'stroked' | 'fab' | 'mini-fab';
|
|
31
|
+
interface IModalIcon {
|
|
31
32
|
value: string;
|
|
32
33
|
style?: {
|
|
33
34
|
[className: string]: string;
|
|
@@ -46,8 +47,8 @@ declare namespace IModal {
|
|
|
46
47
|
interface Button<T> {
|
|
47
48
|
text: string;
|
|
48
49
|
color?: ThemePalette;
|
|
49
|
-
value:
|
|
50
|
-
appearance?:
|
|
50
|
+
value: TNullable<T>;
|
|
51
|
+
appearance?: TModalButtonAppearance;
|
|
51
52
|
validateSelect?: boolean;
|
|
52
53
|
assignSelectedValue?: boolean;
|
|
53
54
|
style?: {
|
|
@@ -59,7 +60,7 @@ declare namespace IModal {
|
|
|
59
60
|
buttonsAlign: 'start' | 'center' | 'end';
|
|
60
61
|
buttons: Array<Button<T>>;
|
|
61
62
|
component?: Type<any>;
|
|
62
|
-
icon?:
|
|
63
|
+
icon?: IModalIcon;
|
|
63
64
|
title?: string;
|
|
64
65
|
text?: string;
|
|
65
66
|
confirmation?: string;
|
|
@@ -79,11 +80,11 @@ declare namespace IModal {
|
|
|
79
80
|
value: T;
|
|
80
81
|
message: string;
|
|
81
82
|
}
|
|
82
|
-
type ConfirmResponsePredicate<T> = (answer:
|
|
83
|
+
type ConfirmResponsePredicate<T> = (answer: TNullable<IModal.DataAnswer<T>>) => boolean;
|
|
83
84
|
interface ConfirmResponse<T> {
|
|
84
|
-
on(predicate: ConfirmResponsePredicate<T>): Observable<
|
|
85
|
-
onCancel(cancel?: ConfirmResponsePredicate<T>): Observable<
|
|
86
|
-
onConfirm(confirm?: ConfirmResponsePredicate<T>): Observable<
|
|
85
|
+
on(predicate: ConfirmResponsePredicate<T>): Observable<TNullable<IModal.DataAnswer<T>>>;
|
|
86
|
+
onCancel(cancel?: ConfirmResponsePredicate<T>): Observable<TNullable<IModal.DataAnswer<T>>>;
|
|
87
|
+
onConfirm(confirm?: ConfirmResponsePredicate<T>): Observable<TNullable<IModal.DataAnswer<T>>>;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
|
|
@@ -102,7 +103,7 @@ declare class RtuiModalComponent<T> implements OnInit {
|
|
|
102
103
|
|
|
103
104
|
declare class RtModalService {
|
|
104
105
|
#private;
|
|
105
|
-
confirm<T>(data: IModal.Data<T>, config?: MatDialogConfig): Observable<
|
|
106
|
+
confirm<T>(data: IModal.Data<T>, config?: MatDialogConfig): Observable<TNullable<IModal.DataAnswer<T>>>;
|
|
106
107
|
with<T>(data: IModal.Data<T>, config?: MatDialogConfig): IModal.ConfirmResponse<T>;
|
|
107
108
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtModalService, never>;
|
|
108
109
|
static ɵprov: i0.ɵɵInjectableDeclaration<RtModalService>;
|
|
@@ -121,15 +122,63 @@ declare class RtuiScrollableContainerFooterDirective {
|
|
|
121
122
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiScrollableContainerFooterDirective, "[rtuiScrollableFooter]", never, {}, {}, never, never, true, never>;
|
|
122
123
|
}
|
|
123
124
|
declare class RtuiScrollableContainerComponent {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
readonly
|
|
125
|
+
#private;
|
|
126
|
+
/** Подпись значка. Словаря у кита нет, и подпись зашита по-английски, как соседние. */
|
|
127
|
+
protected readonly scrollHintLabel: string;
|
|
128
|
+
protected readonly bodyRef: Signal<TNullable<ElementRef<HTMLElement>>>;
|
|
129
|
+
protected readonly footerRef: Signal<TNullable<ElementRef<HTMLElement>>>;
|
|
130
|
+
/**
|
|
131
|
+
* Ниже окна области ещё есть содержимое. Считается по трём числам самого узла, а не по числу
|
|
132
|
+
* пунктов: область не знает, что ей подали, и высота строки у каждого потребителя своя.
|
|
133
|
+
*/
|
|
134
|
+
protected readonly hasMoreBelow: WritableSignal<boolean>;
|
|
135
|
+
/**
|
|
136
|
+
* На сколько полоса растушёвки поднята над низом области. Она обязана кончиться там, где
|
|
137
|
+
* начинается содержимое подвала: разделитель потребитель рисует первой его строкой, и полоса,
|
|
138
|
+
* оборвавшаяся выше, оставляет до него чистый фон. Считается замером — верхний отступ подвала
|
|
139
|
+
* потребитель пишет как хочет, и вычесть его в стилях не из чего. Без подвала полоса стоит у
|
|
140
|
+
* самого низа.
|
|
141
|
+
*/
|
|
142
|
+
protected readonly hintBottom: WritableSignal<number>;
|
|
143
|
+
readonly headerTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
144
|
+
readonly contentTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
145
|
+
readonly footerTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
146
|
+
/**
|
|
147
|
+
* Признак того, что снизу осталось непоказанное. Выключен по умолчанию: область рисуют
|
|
148
|
+
* десятки экранов, и признак, поставленный безусловно, сдвинул бы вид каждому из них.
|
|
149
|
+
*/
|
|
150
|
+
readonly isScrollHintShown: InputSignal<boolean>;
|
|
151
|
+
constructor();
|
|
152
|
+
/**
|
|
153
|
+
* Нажатие на значок уводит список к самому низу. Нажатие останавливается здесь и в список под
|
|
154
|
+
* значком не уходит: под ним живой пункт, и человек, целившийся в подсказку, уехал бы на
|
|
155
|
+
* чужой экран.
|
|
156
|
+
*/
|
|
157
|
+
onScrollHintClick(event: Event): void;
|
|
158
|
+
onBodyScroll(): void;
|
|
127
159
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiScrollableContainerComponent, never>;
|
|
128
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiScrollableContainerComponent, "rtui-scrollable", never, {}, {}, ["headerTpl", "contentTpl", "footerTpl"], never, true, never>;
|
|
160
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiScrollableContainerComponent, "rtui-scrollable", never, { "isScrollHintShown": { "alias": "isScrollHintShown"; "required": false; "isSignal": true; }; }, {}, ["headerTpl", "contentTpl", "footerTpl"], never, true, never>;
|
|
129
161
|
}
|
|
130
162
|
|
|
163
|
+
/**
|
|
164
|
+
* Меню, в котором стоит подпункт. Токен вместо самого компонента: подпункт брал его классом, а
|
|
165
|
+
* меню объявляет подпункт в своих импортах — получался круг «меню → подпункт → меню».
|
|
166
|
+
*
|
|
167
|
+
* Подпункту нужно от меню два значения: какие пункты сейчас раскрыты и что набрано в поиске —
|
|
168
|
+
* второе затем, чтобы отметить в подписи то, чем она совпала.
|
|
169
|
+
*/
|
|
170
|
+
interface IRtuiSideMenuHost {
|
|
171
|
+
readonly activeMenuIds: Signal<Array<string | number>>;
|
|
172
|
+
readonly subMenuQuery: Signal<string>;
|
|
173
|
+
}
|
|
174
|
+
declare const RTUI_SIDE_MENU: InjectionToken<IRtuiSideMenuHost>;
|
|
131
175
|
declare namespace ISideMenu {
|
|
132
176
|
type ItemData = string | number | object;
|
|
177
|
+
/**
|
|
178
|
+
* Чем подменю держится открытым: наведением, как было всегда, или закреплением — тогда оно
|
|
179
|
+
* стоит открытым, пока человек сам его не свернёт.
|
|
180
|
+
*/
|
|
181
|
+
type SubMenuMode = 'hover' | 'pinned';
|
|
133
182
|
interface Item {
|
|
134
183
|
id: string | number;
|
|
135
184
|
icon?: string;
|
|
@@ -143,6 +192,69 @@ declare namespace ISideMenu {
|
|
|
143
192
|
}
|
|
144
193
|
}
|
|
145
194
|
|
|
195
|
+
/**
|
|
196
|
+
* Ключ, под которым хранится выбор человека.
|
|
197
|
+
*
|
|
198
|
+
* Назван приставкой кита: хранилище браузера общее на весь адрес, и короткое имя вроде `mode`
|
|
199
|
+
* столкнулось бы с ключом потребителя молча — оба пишут в одно место.
|
|
200
|
+
*/
|
|
201
|
+
declare const SUB_MENU_MODE_KEY: string;
|
|
202
|
+
/**
|
|
203
|
+
* Чтение сохранённого выбора.
|
|
204
|
+
*
|
|
205
|
+
* Мода подменю — настройка человека, а не состояние экрана: она обязана переживать перезагрузку.
|
|
206
|
+
* Хранит её потребитель — кит не знает, где у приложения лежат настройки человека, — а эти две
|
|
207
|
+
* функции дают ему готовый и одинаковый способ, чтобы ключ не расходился от приложения к
|
|
208
|
+
* приложению.
|
|
209
|
+
*
|
|
210
|
+
* Отказ хранилища работу не останавливает: браузер отдаёт его закрытым в приватном окне и при
|
|
211
|
+
* запрете данных сайта, и упавшее чтение оставило бы человека без меню вовсе. Незнакомое значение
|
|
212
|
+
* читается так же, как пустое, — прежней модой.
|
|
213
|
+
*/
|
|
214
|
+
declare function readSubMenuMode(storage: Storage | null): ISideMenu.SubMenuMode;
|
|
215
|
+
/** Запись выбора. Отказ хранилища глушится по той же причине, что и при чтении. */
|
|
216
|
+
declare function writeSubMenuMode(storage: Storage | null, mode: ISideMenu.SubMenuMode): void;
|
|
217
|
+
/** Ключ ширины закреплённого подменю. Назван приставкой кита по той же причине, что и ключ моды. */
|
|
218
|
+
declare const SUB_MENU_WIDTH_KEY: string;
|
|
219
|
+
/**
|
|
220
|
+
* Пределы ширины подменю в пикселях.
|
|
221
|
+
*
|
|
222
|
+
* Взяты половиной и двойным от оформления по умолчанию: уже нижнего не помещается ни одна подпись
|
|
223
|
+
* пункта, шире верхнего подменю закрывает содержимое страницы, ради которого меню и открывали.
|
|
224
|
+
*/
|
|
225
|
+
declare const SUB_MENU_WIDTH_MIN: number;
|
|
226
|
+
declare const SUB_MENU_WIDTH_MAX: number;
|
|
227
|
+
/** Приведение ширины к пределам. Тянут её мышью, и рука уходит за край экрана раньше, чем за предел. */
|
|
228
|
+
declare function clampSubMenuWidth(width: number): number;
|
|
229
|
+
/**
|
|
230
|
+
* Чтение сохранённой ширины.
|
|
231
|
+
*
|
|
232
|
+
* Ширины нет — возвращается пустота, и ширину ставит оформление: своё число здесь подменило бы
|
|
233
|
+
* значение из набора токенов, и правка токена перестала бы что-либо менять.
|
|
234
|
+
*
|
|
235
|
+
* Отказ хранилища и нечисловое значение читаются одинаково — как отсутствие выбора, по той же
|
|
236
|
+
* причине, что и при чтении моды.
|
|
237
|
+
*/
|
|
238
|
+
declare function readSubMenuWidth(storage: Storage | null): number | null;
|
|
239
|
+
/** Запись ширины. Пишется приведённая: за пределы её уводит и рука, и чужая правка ключа. */
|
|
240
|
+
declare function writeSubMenuWidth(storage: Storage | null, width: number): void;
|
|
241
|
+
/** Кусок подписи: отмеченный — тот, которым она совпала с запросом. */
|
|
242
|
+
interface ISubMenuTitlePart {
|
|
243
|
+
text: string;
|
|
244
|
+
matched: boolean;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Резка подписи на совпавшие и несовпавшие куски.
|
|
248
|
+
*
|
|
249
|
+
* Отмечается найденное, а не вся подпись: подсвеченная целиком, она говорит ровно то же, что и её
|
|
250
|
+
* присутствие в списке. Отмечаются все вхождения — подпись раздела повторяет слово в себе чаще,
|
|
251
|
+
* чем кажется, и отмеченное одно первое читается как «второго нет».
|
|
252
|
+
*
|
|
253
|
+
* Сравнение регистронезависимое, как и отбор, а куски режутся из оригинала: приведение к нижнему
|
|
254
|
+
* регистру переписало бы чужие названия разделов.
|
|
255
|
+
*/
|
|
256
|
+
declare function splitSubMenuTitle(name: string, query: string): ISubMenuTitlePart[];
|
|
257
|
+
|
|
146
258
|
declare class RtuiSideMenuHeaderDirective {
|
|
147
259
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSideMenuHeaderDirective, never>;
|
|
148
260
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiSideMenuHeaderDirective, "[rtuiSideMenuHeader]", never, {}, {}, never, never, true, never>;
|
|
@@ -153,29 +265,69 @@ declare class RtuiSideMenuFooterDirective {
|
|
|
153
265
|
}
|
|
154
266
|
declare class RtuiSideMenuComponent {
|
|
155
267
|
#private;
|
|
156
|
-
/**
|
|
268
|
+
/**
|
|
269
|
+
* Ширина подменю в оформлении. Своего выбора нет — переменная не ставится вовсе, и ширину
|
|
270
|
+
* берёт набор токенов: своё число здесь подменило бы его молча.
|
|
271
|
+
*/
|
|
272
|
+
/**
|
|
273
|
+
* Натянутая ширина панели. Кладётся своим свойством, а не тем, каким ширину задаёт
|
|
274
|
+
* потребитель: панель берёт наибольшее из двух, и заданная оформлением ширина остаётся нижним
|
|
275
|
+
* пределом сама по себе. Числом в ките этот предел назвать нечем — ширину знает потребитель.
|
|
276
|
+
*/
|
|
277
|
+
protected readonly subMenuWidthStyle: Signal<string | null>;
|
|
278
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
157
279
|
protected readonly narrow: Signal<boolean>;
|
|
158
|
-
|
|
159
|
-
readonly
|
|
160
|
-
readonly
|
|
280
|
+
/** Подписи зашиты: словаря у кита нет, и кнопка возврата рядом названа тем же способом. */
|
|
281
|
+
protected readonly searchLabel: string;
|
|
282
|
+
protected readonly pinLabel: string;
|
|
283
|
+
protected readonly unpinLabel: string;
|
|
284
|
+
protected readonly nothingFoundLabel: string;
|
|
285
|
+
protected readonly resizeLabel: string;
|
|
286
|
+
/**
|
|
287
|
+
* Закрепление действует. На узком экране подменю занимает экран целиком, закреплять там
|
|
288
|
+
* нечего — и переключателя в узкой разметке нет.
|
|
289
|
+
*/
|
|
290
|
+
protected readonly isPinned: Signal<boolean>;
|
|
291
|
+
/**
|
|
292
|
+
* Подменю держится набором запроса: на это время оно шире и уходом указателя не закрывается.
|
|
293
|
+
* Читает это оформление — модификатор на контейнере, — и разметка меню.
|
|
294
|
+
*/
|
|
295
|
+
protected readonly isSearchHeld: Signal<boolean>;
|
|
296
|
+
/** Закреплённое подменю открыто, пока ему есть что показать: указатель на это не влияет. */
|
|
297
|
+
protected readonly subMenuOpened: Signal<boolean>;
|
|
298
|
+
/** Что видно в подменю: отобранные пункты того набора, который его сейчас наполняет. */
|
|
299
|
+
protected readonly visibleSubMenuItems: Signal<ISideMenu.Item[]>;
|
|
300
|
+
readonly headerTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
301
|
+
readonly footerTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
302
|
+
/** Что набрано в поиске. Публично: подпункт берёт запрос отсюда, чтобы отметить совпавшее. */
|
|
303
|
+
readonly subMenuQuery: WritableSignal<string>;
|
|
304
|
+
readonly subMenuRef: Signal<TNullable<MatDrawer>>;
|
|
305
|
+
readonly subMenuPanelRef: Signal<TNullable<ElementRef<HTMLElement>>>;
|
|
161
306
|
readonly backToMainMenuButton: Signal<ISideMenu.Item>;
|
|
162
|
-
readonly selectedItem: WritableSignal<
|
|
163
|
-
readonly selectedSubMenu: WritableSignal<
|
|
307
|
+
readonly selectedItem: WritableSignal<TNullable<ISideMenu.Item>>;
|
|
308
|
+
readonly selectedSubMenu: WritableSignal<TNullable<ISideMenu.Item[]>>;
|
|
164
309
|
activeMenuIds: InputSignal<Array<string | number>>;
|
|
165
310
|
menuItems: InputSignalWithTransform<ISideMenu.Item[], ISideMenu.Item[]>;
|
|
311
|
+
/** Мода подменю. Умолчание — сегодняшнее поведение: открывается наведением. */
|
|
312
|
+
subMenuMode: InputSignal<ISideMenu.SubMenuMode>;
|
|
166
313
|
/**
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* @deprecated Кит определяет его сам — `BreakpointService` из `@rt-tools/core`. Вход
|
|
170
|
-
* оставлен ради приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
314
|
+
* Ширина закреплённого подменю в пикселях. Пустая — ширину ставит оформление; хранит выбор
|
|
315
|
+
* потребитель, как и моду.
|
|
171
316
|
*/
|
|
172
|
-
|
|
317
|
+
subMenuWidth: InputSignal<number | null>;
|
|
173
318
|
isSubMenuXScrollEnabled: InputSignalWithTransform<boolean, boolean>;
|
|
174
319
|
isMainMenuIconsOutlined: InputSignalWithTransform<boolean, boolean>;
|
|
175
320
|
isSubMenuIconsOutlined: InputSignalWithTransform<boolean, boolean>;
|
|
176
321
|
isSubMenuButtonIconsOutlined: InputSignalWithTransform<boolean, boolean>;
|
|
177
322
|
isSubMenuTooltipsShown: InputSignalWithTransform<boolean, boolean>;
|
|
178
323
|
activeMenuId: Signal<number | string>;
|
|
324
|
+
/**
|
|
325
|
+
* Просьба о моде, а не смена моды: предпочтение хранит потребитель кита и возвращает его
|
|
326
|
+
* входом. Своего состояния о нём меню не заводит.
|
|
327
|
+
*/
|
|
328
|
+
readonly subMenuModeChange: OutputEmitterRef<ISideMenu.SubMenuMode>;
|
|
329
|
+
/** Просьба о ширине — по той же причине, что и просьба о моде: своего состояния меню не держит. */
|
|
330
|
+
readonly subMenuWidthChange: OutputEmitterRef<number>;
|
|
179
331
|
readonly closeMobileMenuAction: OutputEmitterRef<void>;
|
|
180
332
|
readonly clickSubMenuAction: OutputEmitterRef<{
|
|
181
333
|
item: ISideMenu.Item;
|
|
@@ -193,50 +345,84 @@ declare class RtuiSideMenuComponent {
|
|
|
193
345
|
onBackToMainMenu(): void;
|
|
194
346
|
toggleSubMenu(item?: ISideMenu.Item): void;
|
|
195
347
|
closeSubMenu(): void;
|
|
348
|
+
/**
|
|
349
|
+
* Человек взялся за поле поиска. Дальше подменю держится открытым, и увести его уходом
|
|
350
|
+
* указателя нельзя — закрывает нажатие снаружи, то есть подложка под незакреплённой панелью.
|
|
351
|
+
*/
|
|
352
|
+
onSearchHold(): void;
|
|
353
|
+
/** Нажат переключатель моды: наружу уходит просьба, вход остаётся прежним. */
|
|
354
|
+
onSubMenuModeToggle(): void;
|
|
355
|
+
/**
|
|
356
|
+
* Взята ручка правого края. Слушатели вешаются на документ: рука уходит с узкой полоски
|
|
357
|
+
* ручки в первое же движение, и слушатель на ней самой терял бы тягу сразу.
|
|
358
|
+
*/
|
|
359
|
+
onResizeStart(event: MouseEvent): void;
|
|
360
|
+
onSubMenuSearch(query: string): void;
|
|
196
361
|
closeMobileMenu(): void;
|
|
197
362
|
clickSubMenuAdditional({ data, event }: {
|
|
198
363
|
data: ISideMenu.ItemData;
|
|
199
364
|
event: MouseEvent;
|
|
200
365
|
}): void;
|
|
201
366
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSideMenuComponent, never>;
|
|
202
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiSideMenuComponent, "rtui-side-menu", never, { "activeMenuIds": { "alias": "activeMenuIds"; "required": true; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "
|
|
367
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiSideMenuComponent, "rtui-side-menu", never, { "activeMenuIds": { "alias": "activeMenuIds"; "required": true; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "subMenuMode": { "alias": "subMenuMode"; "required": false; "isSignal": true; }; "subMenuWidth": { "alias": "subMenuWidth"; "required": false; "isSignal": true; }; "isSubMenuXScrollEnabled": { "alias": "isSubMenuXScrollEnabled"; "required": false; "isSignal": true; }; "isMainMenuIconsOutlined": { "alias": "isMainMenuIconsOutlined"; "required": false; "isSignal": true; }; "isSubMenuIconsOutlined": { "alias": "isSubMenuIconsOutlined"; "required": false; "isSignal": true; }; "isSubMenuButtonIconsOutlined": { "alias": "isSubMenuButtonIconsOutlined"; "required": false; "isSignal": true; }; "isSubMenuTooltipsShown": { "alias": "isSubMenuTooltipsShown"; "required": false; "isSignal": true; }; }, { "subMenuModeChange": "subMenuModeChange"; "subMenuWidthChange": "subMenuWidthChange"; "closeMobileMenuAction": "closeMobileMenuAction"; "clickSubMenuAction": "clickSubMenuAction"; "clickSubMenuAdditionalAction": "clickSubMenuAdditionalAction"; }, ["headerTpl", "footerTpl"], never, true, never>;
|
|
203
368
|
}
|
|
204
369
|
|
|
205
|
-
declare class RtuiSpinnerComponent {
|
|
370
|
+
declare class RtuiSpinnerComponent implements OnInit {
|
|
371
|
+
#private;
|
|
206
372
|
diameter: InputSignalWithTransform<number, number>;
|
|
207
373
|
showBox: InputSignalWithTransform<boolean, boolean>;
|
|
208
374
|
showBackground: InputSignalWithTransform<boolean, boolean>;
|
|
375
|
+
/**
|
|
376
|
+
* Сколько миллисекунд спиннер ждёт, прежде чем стать видимым.
|
|
377
|
+
*
|
|
378
|
+
* Умолчание — ноль: спиннер, вставленный без задержки, ведёт себя как прежде. Ожидание,
|
|
379
|
+
* кончившееся раньше срока, спиннера не показывает вовсе — вспышки на экране не случается.
|
|
380
|
+
*/
|
|
381
|
+
delay: InputSignalWithTransform<number, number>;
|
|
382
|
+
/** Спиннер виден: задержки не назначали или её срок вышел. */
|
|
383
|
+
readonly visible: Signal<boolean>;
|
|
384
|
+
/**
|
|
385
|
+
* Отсчёт начинается на вставке, а не в конструкторе: до первого крючка вход держит своё
|
|
386
|
+
* умолчание, и задержка, названная потребителем, конструктору ещё не видна.
|
|
387
|
+
*/
|
|
388
|
+
ngOnInit(): void;
|
|
209
389
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSpinnerComponent, never>;
|
|
210
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiSpinnerComponent, "rtui-spinner", never, { "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "showBox": { "alias": "showBox"; "required": false; "isSignal": true; }; "showBackground": { "alias": "showBackground"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
390
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiSpinnerComponent, "rtui-spinner", never, { "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "showBox": { "alias": "showBox"; "required": false; "isSignal": true; }; "showBackground": { "alias": "showBackground"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
211
391
|
}
|
|
212
392
|
|
|
213
|
-
type
|
|
393
|
+
type TAsidePositions = 'left' | 'right';
|
|
394
|
+
/**
|
|
395
|
+
* Чем шторке позволено закрываться. Клавиша по умолчанию не закрывает: её жмут, чтобы снять
|
|
396
|
+
* подсказку или выйти из поля, а закрывалась вся панель вместе с введённым.
|
|
397
|
+
*/
|
|
398
|
+
interface IAsideConfig {
|
|
399
|
+
/** Закрывать ли шторку клавишей Esc. По умолчанию — нет. */
|
|
400
|
+
readonly closeOnEscape?: boolean;
|
|
401
|
+
/** Закрывать ли шторку кликом по подложке. По умолчанию — да. */
|
|
402
|
+
readonly closeOnBackdropClick?: boolean;
|
|
403
|
+
}
|
|
214
404
|
declare class AsideRef<DATA, ANSWER> {
|
|
215
405
|
private answer;
|
|
216
406
|
overlayRef: OverlayRef;
|
|
217
407
|
component: ComponentType<unknown>;
|
|
218
|
-
position:
|
|
408
|
+
position: TAsidePositions;
|
|
219
409
|
data: DATA;
|
|
220
|
-
constructor(answer: Subject<ANSWER | null>, overlayRef: OverlayRef, component: ComponentType<unknown>, position:
|
|
410
|
+
constructor(answer: Subject<ANSWER | null>, overlayRef: OverlayRef, component: ComponentType<unknown>, position: TAsidePositions, data: DATA);
|
|
221
411
|
close(answer?: ANSWER): void;
|
|
222
412
|
}
|
|
223
413
|
declare const ASIDE_REF: InjectionToken<AsideRef<object, object>>;
|
|
224
|
-
declare const ddServices: Array<{
|
|
225
|
-
provide: string;
|
|
226
|
-
useValue: unknown;
|
|
227
|
-
}>;
|
|
228
414
|
|
|
229
|
-
declare enum
|
|
415
|
+
declare enum EAsideButtons {
|
|
230
416
|
USER_ACTIVE = "User active",
|
|
231
417
|
USER_INACTIVE = "User inactive",
|
|
232
418
|
DELETE = "Delete",
|
|
233
419
|
RESET = "Reset"
|
|
234
420
|
}
|
|
235
|
-
type
|
|
421
|
+
type TAsideButtonsType = EAsideButtons.USER_ACTIVE | EAsideButtons.USER_INACTIVE | EAsideButtons.DELETE | EAsideButtons.RESET;
|
|
236
422
|
|
|
237
423
|
declare namespace IAside {
|
|
238
424
|
interface HeaderActionButton {
|
|
239
|
-
name:
|
|
425
|
+
name: TAsideButtonsType;
|
|
240
426
|
icon: string;
|
|
241
427
|
color: string;
|
|
242
428
|
tooltip: string;
|
|
@@ -246,6 +432,13 @@ declare namespace IAside {
|
|
|
246
432
|
|
|
247
433
|
declare class RtAsideService {
|
|
248
434
|
#private;
|
|
435
|
+
/**
|
|
436
|
+
* Закрытие каждой открытой панели объявлено один раз, а не заводится вызовом открытия.
|
|
437
|
+
*
|
|
438
|
+
* Потоки сливаются, а не сменяют друг друга: панели живут порознь, и оборванный поток
|
|
439
|
+
* предыдущей оставил бы её на экране — снять её после этого нечем.
|
|
440
|
+
*/
|
|
441
|
+
constructor();
|
|
249
442
|
/**
|
|
250
443
|
* Opens an aside panel with a specified component, position, and data.
|
|
251
444
|
*
|
|
@@ -259,7 +452,7 @@ declare class RtAsideService {
|
|
|
259
452
|
*
|
|
260
453
|
* @returns An observable that emits the response from the aside panel when it is closed.
|
|
261
454
|
*/
|
|
262
|
-
|
|
455
|
+
open<COMPONENT = null, DATA = null, ANSWER = null>(component: ComponentType$1<COMPONENT>, position: TAsidePositions, data: DATA, config?: IAsideConfig): Observable<ANSWER | null>;
|
|
263
456
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtAsideService, never>;
|
|
264
457
|
static ɵprov: i0.ɵɵInjectableDeclaration<RtAsideService>;
|
|
265
458
|
}
|
|
@@ -270,42 +463,51 @@ declare class RtuiAsideContainerHeaderDirective {
|
|
|
270
463
|
}
|
|
271
464
|
declare class RtuiAsideContainerComponent {
|
|
272
465
|
#private;
|
|
273
|
-
/** Экран узкий:
|
|
466
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
274
467
|
protected readonly narrow: Signal<boolean>;
|
|
275
|
-
title: InputSignal<
|
|
276
|
-
/**
|
|
277
|
-
* Признак узкого экрана.
|
|
278
|
-
*
|
|
279
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
280
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
281
|
-
*/
|
|
282
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
468
|
+
title: InputSignal<TNullable<string>>;
|
|
283
469
|
isSubmitButtonDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
284
470
|
isFooterShown: InputSignalWithTransform<boolean, boolean>;
|
|
285
471
|
pending: InputSignalWithTransform<boolean, boolean>;
|
|
286
472
|
isRequestErrorShown: InputSignalWithTransform<boolean, boolean>;
|
|
287
473
|
headerActionsButtons: InputSignalWithTransform<IAside.HeaderActionButton[], IAside.HeaderActionButton[]>;
|
|
288
|
-
requestError: InputSignal<
|
|
474
|
+
requestError: InputSignal<TNullable<unknown>>;
|
|
289
475
|
submitButtonTitle: InputSignal<string>;
|
|
290
476
|
cancelButtonTitle: InputSignal<string>;
|
|
291
477
|
submitButtonTooltip: InputSignal<string>;
|
|
292
478
|
readonly submitAction: OutputEmitterRef<void>;
|
|
293
479
|
readonly cancelAction: OutputEmitterRef<void>;
|
|
294
|
-
readonly headerAction: OutputEmitterRef<
|
|
295
|
-
readonly headerTpl: Signal<
|
|
480
|
+
readonly headerAction: OutputEmitterRef<TAsideButtonsType>;
|
|
481
|
+
readonly headerTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
296
482
|
onSubmit(): void;
|
|
297
483
|
onCancel(): void;
|
|
298
|
-
onHeaderActionClick(buttonName:
|
|
484
|
+
onHeaderActionClick(buttonName: TAsideButtonsType): void;
|
|
299
485
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiAsideContainerComponent, never>;
|
|
300
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiAsideContainerComponent, "rtui-aside-container", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "
|
|
486
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiAsideContainerComponent, "rtui-aside-container", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "isSubmitButtonDisabled": { "alias": "isSubmitButtonDisabled"; "required": true; "isSignal": true; }; "isFooterShown": { "alias": "isFooterShown"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "isRequestErrorShown": { "alias": "isRequestErrorShown"; "required": false; "isSignal": true; }; "headerActionsButtons": { "alias": "headerActionsButtons"; "required": false; "isSignal": true; }; "requestError": { "alias": "requestError"; "required": false; "isSignal": true; }; "submitButtonTitle": { "alias": "submitButtonTitle"; "required": false; "isSignal": true; }; "cancelButtonTitle": { "alias": "cancelButtonTitle"; "required": false; "isSignal": true; }; "submitButtonTooltip": { "alias": "submitButtonTooltip"; "required": false; "isSignal": true; }; }, { "submitAction": "submitAction"; "cancelAction": "cancelAction"; "headerAction": "headerAction"; }, ["headerTpl"], ["*"], true, never>;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* Виды кнопки — своим файлом, а не в файле компонента.
|
|
491
|
+
*
|
|
492
|
+
* Настройка кита называет вид кнопки по умолчанию и берёт эти же типы: объявленные в файле
|
|
493
|
+
* компонента, они замыкали круг «кнопка → настройка → кнопка». Круг из одних типов сборка
|
|
494
|
+
* переживает, но живёт он ровно до первой правки, которая добавит к нему значение.
|
|
495
|
+
*/
|
|
496
|
+
declare namespace IRtuiButton {
|
|
497
|
+
type Type = 'icon' | 'fab' | 'pill';
|
|
498
|
+
type Variant = 'default' | 'primary' | 'danger' | 'success' | 'warning' | 'accent';
|
|
499
|
+
type Size = 'xs' | 'sm' | 'md' | 'lg';
|
|
500
|
+
type Radius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
501
|
+
type Appearance = 'solid' | 'outline' | 'light' | 'text';
|
|
502
|
+
type IconPosition = 'start' | 'end';
|
|
301
503
|
}
|
|
302
504
|
|
|
303
|
-
declare enum
|
|
505
|
+
declare enum ERtTheme {
|
|
304
506
|
LIGHT = "light",
|
|
305
507
|
DARK = "dark",
|
|
306
508
|
AUTO = "auto"
|
|
307
509
|
}
|
|
308
|
-
type
|
|
510
|
+
type TRtThemeType = `${ERtTheme}`;
|
|
309
511
|
declare const RT_THEME_STORAGE_KEY: string;
|
|
310
512
|
declare const RT_DARK_CLASS: string;
|
|
311
513
|
declare const RT_THEME_AUTO_CLASS: string;
|
|
@@ -315,7 +517,7 @@ declare const RT_THEME_ATTRIBUTE: string;
|
|
|
315
517
|
* color scheme may override. The semantic accent tier
|
|
316
518
|
* (`--rt-bg/text/icon/border-accent-*`) derives entirely from these rows.
|
|
317
519
|
*/
|
|
318
|
-
declare enum
|
|
520
|
+
declare enum ERtAccentRole {
|
|
319
521
|
PRIMARY = "primary",
|
|
320
522
|
INFO = "info",
|
|
321
523
|
SUCCESS = "success",
|
|
@@ -323,19 +525,19 @@ declare enum RT_ACCENT_ROLE_ENUM {
|
|
|
323
525
|
DANGER = "danger",
|
|
324
526
|
BRAND = "brand"
|
|
325
527
|
}
|
|
326
|
-
type
|
|
528
|
+
type TRtAccentRole = `${ERtAccentRole}`;
|
|
327
529
|
/**
|
|
328
530
|
* A brand palette: per accent role, a tonal ramp mapping tone step (0–100)
|
|
329
531
|
* to a CSS color. One ramp serves both light and dark (the mode picks the tone).
|
|
330
532
|
* Partial ramps are allowed — unset tones keep the rt-tools defaults.
|
|
331
533
|
*
|
|
332
534
|
* @example
|
|
333
|
-
* const teal:
|
|
535
|
+
* const teal: TRtColorSchemeRamp = {
|
|
334
536
|
* primary: { 20: '#b3e3e1', 40: '#5cb8b5', 60: '#1a9d99', 100: '#008582' },
|
|
335
537
|
* brand: { 20: '#e8e8e8', 100: '#008582' },
|
|
336
538
|
* };
|
|
337
539
|
*/
|
|
338
|
-
type
|
|
540
|
+
type TRtColorSchemeRamp = Partial<Record<TRtAccentRole, Record<number, string>>>;
|
|
339
541
|
/** `'default'`/`null` clears the active scheme (back to the rt-tools palette). */
|
|
340
542
|
declare const RT_DEFAULT_SCHEME: string;
|
|
341
543
|
declare const RT_COLOR_SCHEME_STORAGE_KEY: string;
|
|
@@ -348,20 +550,20 @@ declare const RT_SCHEME_ATTRIBUTE: string;
|
|
|
348
550
|
* (e.g. the button pill becomes a real `matButton`), for apps that have not
|
|
349
551
|
* migrated their visual language yet or need to match surrounding Material controls.
|
|
350
552
|
*/
|
|
351
|
-
type
|
|
553
|
+
type TRtUiDesign = 'material' | 'custom';
|
|
352
554
|
declare namespace IRtUiConfig {
|
|
353
555
|
/** Global defaults applied app-wide unless a component-level setting or an input overrides them. */
|
|
354
556
|
interface Global {
|
|
355
557
|
/** Initial theme used when the user has no persisted preference. */
|
|
356
|
-
theme?:
|
|
558
|
+
theme?: TRtThemeType;
|
|
357
559
|
/** Initial brand color scheme (see `RtThemeService.registerColorScheme`) when none is persisted. */
|
|
358
560
|
colorScheme?: string;
|
|
359
561
|
/** Default design for every design-aware control. */
|
|
360
|
-
design?:
|
|
562
|
+
design?: TRtUiDesign;
|
|
361
563
|
}
|
|
362
564
|
/** Per-instance-overridable defaults for `rtui-button`. */
|
|
363
565
|
interface Button {
|
|
364
|
-
design?:
|
|
566
|
+
design?: TRtUiDesign;
|
|
365
567
|
size?: IRtuiButton.Size;
|
|
366
568
|
radius?: IRtuiButton.Radius;
|
|
367
569
|
appearance?: IRtuiButton.Appearance;
|
|
@@ -400,14 +602,14 @@ declare namespace IRtUiConfig {
|
|
|
400
602
|
*/
|
|
401
603
|
declare const RT_UI_CONFIG: InjectionToken<IRtUiConfig.Config>;
|
|
402
604
|
|
|
403
|
-
type
|
|
404
|
-
type
|
|
605
|
+
type TRtuiIconSizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | '3xl';
|
|
606
|
+
type TRtuiIconThemeType = 'inherit' | 'primary' | 'primary-strong' | 'neutral' | 'disabled' | 'muted' | 'white' | 'danger' | 'success';
|
|
405
607
|
declare class RtuiIconComponent {
|
|
406
608
|
#private;
|
|
407
609
|
protected readonly fontLoaded: Signal<boolean>;
|
|
408
610
|
protected readonly hostClasses: Signal<string>;
|
|
409
|
-
readonly size: InputSignal<
|
|
410
|
-
readonly theme: InputSignal<
|
|
611
|
+
readonly size: InputSignal<TRtuiIconSizeType>;
|
|
612
|
+
readonly theme: InputSignal<TRtuiIconThemeType>;
|
|
411
613
|
readonly glyph: InputSignalWithTransform<string, unknown>;
|
|
412
614
|
readonly outlined: InputSignalWithTransform<boolean, BooleanInput>;
|
|
413
615
|
readonly rotate: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -416,24 +618,16 @@ declare class RtuiIconComponent {
|
|
|
416
618
|
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiIconComponent, "rtui-icon", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "outlined": { "alias": "outlined"; "required": false; "isSignal": true; }; "rotate": { "alias": "rotate"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.MatTooltip; inputs: { "matTooltip": "tooltip"; "matTooltipPosition": "tooltipPosition"; "matTooltipDisabled": "tooltipDisabled"; }; outputs: {}; }]>;
|
|
417
619
|
}
|
|
418
620
|
|
|
419
|
-
declare namespace IRtuiButton {
|
|
420
|
-
type Type = 'icon' | 'fab' | 'pill';
|
|
421
|
-
type Variant = 'default' | 'primary' | 'danger' | 'success' | 'warning' | 'accent';
|
|
422
|
-
type Size = 'xs' | 'sm' | 'md' | 'lg';
|
|
423
|
-
type Radius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
424
|
-
type Appearance = 'solid' | 'outline' | 'light' | 'text';
|
|
425
|
-
type IconPosition = 'start' | 'end';
|
|
426
|
-
}
|
|
427
621
|
declare class RtuiButtonComponent {
|
|
428
622
|
#private;
|
|
429
|
-
/** Design system the button renders with — see {@link
|
|
430
|
-
protected readonly resolvedDesign: Signal<
|
|
623
|
+
/** Design system the button renders with — see {@link TRtUiDesign}. */
|
|
624
|
+
protected readonly resolvedDesign: Signal<TRtUiDesign>;
|
|
431
625
|
protected readonly resolvedSize: Signal<IRtuiButton.Size>;
|
|
432
626
|
protected readonly resolvedRadius: Signal<IRtuiButton.Radius>;
|
|
433
627
|
protected readonly resolvedAppearance: Signal<IRtuiButton.Appearance | undefined>;
|
|
434
628
|
/** Native Material button appearance the pill renders with under `design: 'material'`. */
|
|
435
629
|
protected readonly materialAppearance: Signal<MatButtonAppearance>;
|
|
436
|
-
protected readonly resolvedIconSize: Signal<
|
|
630
|
+
protected readonly resolvedIconSize: Signal<TRtuiIconSizeType>;
|
|
437
631
|
protected readonly spinnerSize: Signal<number>;
|
|
438
632
|
protected readonly modifiers: Signal<Record<string, boolean>>;
|
|
439
633
|
/**
|
|
@@ -442,14 +636,14 @@ declare class RtuiButtonComponent {
|
|
|
442
636
|
*/
|
|
443
637
|
protected readonly hostModifiers: Signal<string>;
|
|
444
638
|
readonly type: InputSignal<IRtuiButton.Type>;
|
|
445
|
-
readonly design: InputSignal<
|
|
639
|
+
readonly design: InputSignal<TRtUiDesign | undefined>;
|
|
446
640
|
readonly variant: InputSignal<IRtuiButton.Variant>;
|
|
447
641
|
readonly appearance: InputSignal<IRtuiButton.Appearance | undefined>;
|
|
448
642
|
readonly size: InputSignal<IRtuiButton.Size | undefined>;
|
|
449
643
|
readonly radius: InputSignal<IRtuiButton.Radius | undefined>;
|
|
450
644
|
readonly icon: InputSignalWithTransform<string, unknown>;
|
|
451
645
|
readonly iconPosition: InputSignal<IRtuiButton.IconPosition>;
|
|
452
|
-
readonly iconSize: InputSignal<
|
|
646
|
+
readonly iconSize: InputSignal<TRtuiIconSizeType | undefined>;
|
|
453
647
|
readonly text: InputSignalWithTransform<string, unknown>;
|
|
454
648
|
readonly loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
455
649
|
readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -485,10 +679,10 @@ declare class RtuiToolbarRightDirective {
|
|
|
485
679
|
}
|
|
486
680
|
declare class RtuiToolbarComponent {
|
|
487
681
|
isVisibleToolbar: Signal<boolean>;
|
|
488
|
-
readonly leftToolTpl: Signal<
|
|
489
|
-
readonly centerToolTpl: Signal<
|
|
490
|
-
readonly rightToolTpl: Signal<
|
|
491
|
-
sticky: InputSignalWithTransform<
|
|
682
|
+
readonly leftToolTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
683
|
+
readonly centerToolTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
684
|
+
readonly rightToolTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
685
|
+
sticky: InputSignalWithTransform<TNullable<boolean>, boolean>;
|
|
492
686
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiToolbarComponent, never>;
|
|
493
687
|
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiToolbarComponent, "rtui-toolbar", never, { "isVisibleToolbar": { "alias": "isVisibleToolbar"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; }, {}, ["leftToolTpl", "centerToolTpl", "rightToolTpl"], never, true, never>;
|
|
494
688
|
}
|
|
@@ -507,96 +701,19 @@ declare class RtuiHeaderRightDirective {
|
|
|
507
701
|
}
|
|
508
702
|
declare class RtuiHeaderComponent {
|
|
509
703
|
#private;
|
|
510
|
-
/** Экран узкий:
|
|
704
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
511
705
|
protected readonly narrow: Signal<boolean>;
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
* оставлен ради приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
517
|
-
*/
|
|
518
|
-
isMobile: InputSignal<INullable<boolean>>;
|
|
519
|
-
isMobileMenuButtonShown: InputSignalWithTransform<INullable<boolean>, INullable<boolean>>;
|
|
520
|
-
readonly leftHeaderTpl: Signal<INullable<TemplateRef<Type<unknown>>>>;
|
|
521
|
-
readonly centerHeaderTpl: Signal<INullable<TemplateRef<Type<unknown>>>>;
|
|
522
|
-
readonly rightHeaderTpl: Signal<INullable<TemplateRef<Type<unknown>>>>;
|
|
706
|
+
isMobileMenuButtonShown: InputSignalWithTransform<TNullable<boolean>, TNullable<boolean>>;
|
|
707
|
+
readonly leftHeaderTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
708
|
+
readonly centerHeaderTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
709
|
+
readonly rightHeaderTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
523
710
|
readonly openMobileMenuAction: OutputEmitterRef<void>;
|
|
524
711
|
openSideMenu(): void;
|
|
525
712
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiHeaderComponent, never>;
|
|
526
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiHeaderComponent, "rtui-header", never, { "
|
|
713
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiHeaderComponent, "rtui-header", never, { "isMobileMenuButtonShown": { "alias": "isMobileMenuButtonShown"; "required": false; "isSignal": true; }; }, { "openMobileMenuAction": "openMobileMenuAction"; }, ["leftHeaderTpl", "centerHeaderTpl", "rightHeaderTpl"], never, true, never>;
|
|
527
714
|
}
|
|
528
715
|
|
|
529
|
-
declare
|
|
530
|
-
#private;
|
|
531
|
-
/** Экран узкий: значение входа, если приложение его дало, иначе замер кита. */
|
|
532
|
-
protected readonly narrow: Signal<boolean>;
|
|
533
|
-
/**
|
|
534
|
-
* Признак узкого экрана.
|
|
535
|
-
*
|
|
536
|
-
* @deprecated Кит определяет его сам — `BreakpointService` из `@rt-tools/core`. Вход
|
|
537
|
-
* оставлен ради приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
538
|
-
*/
|
|
539
|
-
isMobile: InputSignal<INullable<boolean>>;
|
|
540
|
-
isButtonShown: InputSignalWithTransform<INullable<boolean>, boolean>;
|
|
541
|
-
tooltip: InputSignalWithTransform<INullable<string>, string>;
|
|
542
|
-
tooltipPosition: InputSignal<TooltipPosition>;
|
|
543
|
-
readonly keydownAction: OutputEmitterRef<void>;
|
|
544
|
-
readonly clickAction: OutputEmitterRef<void>;
|
|
545
|
-
onKeydown(): void;
|
|
546
|
-
onClick(): void;
|
|
547
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiClearButtonComponent, never>;
|
|
548
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiClearButtonComponent, "rtui-clear-button", never, { "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; "isButtonShown": { "alias": "isButtonShown"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, { "keydownAction": "keydownAction"; "clickAction": "clickAction"; }, never, never, true, never>;
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
declare class RtuiPaginationComponent implements OnInit, AfterViewInit {
|
|
552
|
-
#private;
|
|
553
|
-
/** Экран узкий: значение входа, если приложение его дало, иначе замер кита. */
|
|
554
|
-
protected readonly narrow: Signal<boolean>;
|
|
555
|
-
/** Current Page Model */
|
|
556
|
-
currentPageModel: InputSignal<IPageModel>;
|
|
557
|
-
/**
|
|
558
|
-
* Признак узкого экрана.
|
|
559
|
-
*
|
|
560
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
561
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
562
|
-
*/
|
|
563
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
564
|
-
/** Output action when Page Model changed */
|
|
565
|
-
readonly pageModelChange: OutputEmitterRef<Partial<IPageModel>>;
|
|
566
|
-
/** Form control for selected page size */
|
|
567
|
-
control: FormControl<number>;
|
|
568
|
-
readonly divider: Signal<string>;
|
|
569
|
-
/** Page size options */
|
|
570
|
-
readonly pageSizes: Signal<number[]>;
|
|
571
|
-
/** Array of current page numbers */
|
|
572
|
-
readonly numbers: WritableSignal<Array<number | string>>;
|
|
573
|
-
/** Page Model for compare */
|
|
574
|
-
readonly previousPageModel: WritableSignal<INullable<IPageModel>>;
|
|
575
|
-
/** Value of full content width */
|
|
576
|
-
readonly minContentFitWidth: WritableSignal<number>;
|
|
577
|
-
/** Indicates is content clipped */
|
|
578
|
-
readonly isContentClipped: WritableSignal<boolean>;
|
|
579
|
-
/** Container template ref */
|
|
580
|
-
readonly containerRef: Signal<INullable<ElementRef<HTMLElement>>>;
|
|
581
|
-
/** Set 'isContentClipped' when widow resize */
|
|
582
|
-
onResize(): void;
|
|
583
|
-
ngOnInit(): void;
|
|
584
|
-
/** Set 'isContentClipped' on init */
|
|
585
|
-
ngAfterViewInit(): void;
|
|
586
|
-
/** Action for change Page Model */
|
|
587
|
-
changePageSize(pageSize: number): void;
|
|
588
|
-
/** Action for select page */
|
|
589
|
-
onChangePageNumber(pageNumber: string | number): void;
|
|
590
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiPaginationComponent, never>;
|
|
591
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiPaginationComponent, "rtui-pagination", never, { "currentPageModel": { "alias": "currentPageModel"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; }, { "pageModelChange": "pageModelChange"; }, never, never, true, never>;
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
declare const RTUI_TABLE_STOP_ROW_CLICK_ATTRIBUTE: string;
|
|
595
|
-
|
|
596
|
-
declare const DEFAULT_PAGE_SIZE: number;
|
|
597
|
-
declare const DEFAULT_PAGE_MODEL: Readonly<IPageModel>;
|
|
598
|
-
|
|
599
|
-
declare enum TABLE_COLUMN_TYPES_ENUM {
|
|
716
|
+
declare enum ETableColumnTypes {
|
|
600
717
|
DATE = "date",
|
|
601
718
|
PERCENT = "percent",
|
|
602
719
|
ARRAY = "array",
|
|
@@ -605,13 +722,13 @@ declare enum TABLE_COLUMN_TYPES_ENUM {
|
|
|
605
722
|
CURRENCY = "currency",
|
|
606
723
|
CUSTOM = "custom"
|
|
607
724
|
}
|
|
608
|
-
declare enum
|
|
725
|
+
declare enum ETableColumnFilterTypes {
|
|
609
726
|
TEXT = "text",
|
|
610
727
|
NUMBER = "number",
|
|
611
728
|
SELECT = "select",
|
|
612
729
|
DATE = "date"
|
|
613
730
|
}
|
|
614
|
-
declare enum
|
|
731
|
+
declare enum ETextCellColor {
|
|
615
732
|
NEUTRAL = "neutral",
|
|
616
733
|
DANGER = "danger",
|
|
617
734
|
WARNING = "warning",
|
|
@@ -619,9 +736,9 @@ declare enum TEXT_CELL_COLOR_ENUM {
|
|
|
619
736
|
EMPTY = "empty"
|
|
620
737
|
}
|
|
621
738
|
declare namespace ITable {
|
|
622
|
-
type TextCellColor =
|
|
623
|
-
type Type =
|
|
624
|
-
type FilterType =
|
|
739
|
+
type TextCellColor = ETextCellColor.NEUTRAL | ETextCellColor.DANGER | ETextCellColor.WARNING | ETextCellColor.SUCCESS | ETextCellColor.EMPTY;
|
|
740
|
+
type Type = ETableColumnTypes.DATE | ETableColumnTypes.PERCENT | ETableColumnTypes.ARRAY | ETableColumnTypes.BOOLEAN | ETableColumnTypes.TEXT | ETableColumnTypes.CURRENCY | ETableColumnTypes.CUSTOM;
|
|
741
|
+
type FilterType = ETableColumnFilterTypes.TEXT | ETableColumnFilterTypes.NUMBER | ETableColumnFilterTypes.SELECT | ETableColumnFilterTypes.DATE;
|
|
625
742
|
interface Column<T = Record<string, unknown>> extends Record<string, unknown> {
|
|
626
743
|
align: 'right' | 'left' | 'center';
|
|
627
744
|
propName: keyof T;
|
|
@@ -641,8 +758,8 @@ declare namespace ITable {
|
|
|
641
758
|
tooltip?: string;
|
|
642
759
|
transform?: (value: T[keyof T]) => string | number;
|
|
643
760
|
filterType?: FilterType;
|
|
644
|
-
defaultFilterOperator?:
|
|
645
|
-
filterOperators?:
|
|
761
|
+
defaultFilterOperator?: TFilterOperatorType;
|
|
762
|
+
filterOperators?: TFilterOperatorType[];
|
|
646
763
|
filterSelectOptions?: string[];
|
|
647
764
|
displayName?: string;
|
|
648
765
|
orderIndex?: number;
|
|
@@ -685,20 +802,20 @@ declare namespace ITable {
|
|
|
685
802
|
declare const RTUI_TABLE_COMPONENT_TOKEN: InjectionToken<IRtuiTable<Record<string, unknown>, string, string>>;
|
|
686
803
|
interface IRtuiTable<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
|
|
687
804
|
columns: Signal<Array<ITable.Column<ENTITY_TYPE>>>;
|
|
688
|
-
customCellsTpl: Signal<
|
|
805
|
+
customCellsTpl: Signal<TNullable<{
|
|
689
806
|
getTemplateByPropName(propName: keyof ENTITY_TYPE): TemplateRef<{
|
|
690
807
|
$implicit: ENTITY_TYPE;
|
|
691
808
|
}>;
|
|
692
809
|
}>>;
|
|
693
|
-
rowActionsTpl: Signal<
|
|
810
|
+
rowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
694
811
|
$implicit: ENTITY_TYPE;
|
|
695
812
|
}>>>;
|
|
696
|
-
additionalRowActionsTpl: Signal<
|
|
813
|
+
additionalRowActionsTpl: Signal<TNullable<TemplateRef<unknown>>>;
|
|
697
814
|
narrow: Signal<boolean>;
|
|
698
815
|
isTableRowsClickable: Signal<boolean>;
|
|
699
816
|
keyExp: Signal<NonNullable<KEY>>;
|
|
700
817
|
entities: Signal<ENTITY_TYPE[]>;
|
|
701
|
-
currentSortModel: Signal<
|
|
818
|
+
currentSortModel: Signal<TNullable<ISortModel<SORT_PROPERTY>>>;
|
|
702
819
|
appearance: Signal<MatFormFieldAppearance>;
|
|
703
820
|
filterAppearance: Signal<MatFormFieldAppearance>;
|
|
704
821
|
filterModel: Signal<IFilterModel<KEY>[]>;
|
|
@@ -709,7 +826,7 @@ interface IRtuiTable<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY
|
|
|
709
826
|
isMultiSelect: WritableSignal<boolean>;
|
|
710
827
|
isSelectorsColumnShown: WritableSignal<boolean>;
|
|
711
828
|
isSelectorsColumnDisabled: WritableSignal<boolean>;
|
|
712
|
-
activeRowIndex: WritableSignal<
|
|
829
|
+
activeRowIndex: WritableSignal<TNullable<number>>;
|
|
713
830
|
onSortChange(sortModel: ISortModel): void;
|
|
714
831
|
onFilterChange(filterModel: IFilterModel<KEY>[]): void;
|
|
715
832
|
onMenuOpen(index: number): void;
|
|
@@ -720,103 +837,6 @@ interface IRtuiTable<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY
|
|
|
720
837
|
onTogglePageEntities(checked: boolean): void;
|
|
721
838
|
}
|
|
722
839
|
|
|
723
|
-
declare class RtTableConfigService<ENTITY_TYPE> {
|
|
724
|
-
#private;
|
|
725
|
-
readonly tableConfig: Signal<ITable.Config.Data<ENTITY_TYPE>>;
|
|
726
|
-
initConfig(storageKey: string, config: Array<ITable.Column<ENTITY_TYPE>>): void;
|
|
727
|
-
updateConfig(storageKey: string, config: ITable.Config.Data<ENTITY_TYPE>): void;
|
|
728
|
-
deleteConfig(storageKey: string): void;
|
|
729
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtTableConfigService<any>, never>;
|
|
730
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<RtTableConfigService<any>>;
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
declare class RtCommonSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
|
|
734
|
-
/** Indicates is multiselect available */
|
|
735
|
-
isMultiSelect: InputSignalWithTransform<boolean, boolean>;
|
|
736
|
-
/** Indicates is 'Select all' checkbox shown */
|
|
737
|
-
isSelectorColumnShown: InputSignalWithTransform<boolean, boolean>;
|
|
738
|
-
/** Indicates is selectors column disabled */
|
|
739
|
-
isSelectorsColumnDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
740
|
-
/** Selected entities Ids on init */
|
|
741
|
-
selectedEntitiesKeys: InputSignalWithTransform<ENTITY_TYPE[KEY][], ENTITY_TYPE[KEY][]>;
|
|
742
|
-
/** Key of ENTITY_TYPE for compare entities */
|
|
743
|
-
readonly keyExp: WritableSignal<NonNullable<KEY>>;
|
|
744
|
-
/** Current list of entities */
|
|
745
|
-
readonly entities: WritableSignal<ENTITY_TYPE[]>;
|
|
746
|
-
/** Add page entities to list exclude duplicates */
|
|
747
|
-
addPageEntitiesToListExcludeDuplicates(list: ENTITY_TYPE[]): ENTITY_TYPE[];
|
|
748
|
-
/** Remove page entities from list */
|
|
749
|
-
removePageEntitiesFromList(list: ENTITY_TYPE[]): ENTITY_TYPE[];
|
|
750
|
-
/** Check is one of page entities exist in selected entities */
|
|
751
|
-
isOneExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
|
|
752
|
-
/** Check is all page entities exist in selected entities */
|
|
753
|
-
isAllExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
|
|
754
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtCommonSelectorsDirective<any, any>, never>;
|
|
755
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RtCommonSelectorsDirective<any, any>, never, never, { "isMultiSelect": { "alias": "isMultiSelect"; "required": false; "isSignal": true; }; "isSelectorColumnShown": { "alias": "isSelectorColumnShown"; "required": false; "isSignal": true; }; "isSelectorsColumnDisabled": { "alias": "isSelectorsColumnDisabled"; "required": false; "isSignal": true; }; "selectedEntitiesKeys": { "alias": "selectedEntitiesKeys"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
declare class RtDynamicListSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> extends RtCommonSelectorsDirective<ENTITY_TYPE, KEY> implements OnInit {
|
|
759
|
-
#private;
|
|
760
|
-
/** Indicates is multiselect extended mod available (use selected and excluded lists) */
|
|
761
|
-
isMultiSelectExtendedMod: InputSignalWithTransform<boolean, boolean>;
|
|
762
|
-
/** Indicates is 'Select all' checkbox shown */
|
|
763
|
-
isSelectAllSelectorShown: InputSignalWithTransform<boolean, boolean>;
|
|
764
|
-
/** List of selected entities */
|
|
765
|
-
readonly selectedEntities: Signal<ENTITY_TYPE[]>;
|
|
766
|
-
/** List of excluded entities */
|
|
767
|
-
readonly excludedEntities: Signal<ENTITY_TYPE[]>;
|
|
768
|
-
/** List of selected entities ids */
|
|
769
|
-
readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
770
|
-
/** List of excluded entities ids */
|
|
771
|
-
readonly excludedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
772
|
-
/** Indicates is 'Select All' checkbox selected */
|
|
773
|
-
readonly isAllEntitiesSelected: Signal<boolean>;
|
|
774
|
-
/** Indicates is all page entities checkbox selected */
|
|
775
|
-
readonly isPageEntitiesSelected: Signal<boolean>;
|
|
776
|
-
/** Indicates is page entities checkbox indeterminate */
|
|
777
|
-
readonly isPageEntitiesIndeterminate: Signal<boolean>;
|
|
778
|
-
/** Indicates is multi select extended mod enabled */
|
|
779
|
-
readonly isMultiSelectExtendedModEnabled: Signal<boolean>;
|
|
780
|
-
ngOnInit(): void;
|
|
781
|
-
/** Change selected entities list and 'isAllEntitiesSelected' indicator state */
|
|
782
|
-
toggleAllEntities(checked: boolean): void;
|
|
783
|
-
/** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
|
|
784
|
-
togglePageEntities(checked: boolean): void;
|
|
785
|
-
/** Change selected and excluded lists and set is existing selected and is all selected states */
|
|
786
|
-
toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
|
|
787
|
-
/** Clear selected list */
|
|
788
|
-
clearSelectedList(): void;
|
|
789
|
-
/** Clear excluded list */
|
|
790
|
-
clearExcludedList(): void;
|
|
791
|
-
/** Set is existing selected and indeterminate state */
|
|
792
|
-
setExistingEntitiesState(): void;
|
|
793
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtDynamicListSelectorsDirective<any, any, any>, never>;
|
|
794
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RtDynamicListSelectorsDirective<any, any, any>, "rtui-dynamic-list[rtDynamicListSelectorsDirective]", never, { "isMultiSelectExtendedMod": { "alias": "isMultiSelectExtendedMod"; "required": false; "isSignal": true; }; "isSelectAllSelectorShown": { "alias": "isSelectAllSelectorShown"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
declare class RtTableSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> extends RtCommonSelectorsDirective<ENTITY_TYPE, KEY> implements OnInit {
|
|
798
|
-
#private;
|
|
799
|
-
/** List of selected entities */
|
|
800
|
-
readonly selectedEntities: Signal<ENTITY_TYPE[]>;
|
|
801
|
-
/** List of selected entities ids */
|
|
802
|
-
readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
803
|
-
/** Indicates is all page entities checkbox selected */
|
|
804
|
-
readonly isPageEntitiesSelected: Signal<boolean>;
|
|
805
|
-
/** Indicates is page entities checkbox indeterminate */
|
|
806
|
-
readonly isPageEntitiesIndeterminate: Signal<boolean>;
|
|
807
|
-
ngOnInit(): void;
|
|
808
|
-
/** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
|
|
809
|
-
togglePageEntities(checked: boolean): void;
|
|
810
|
-
/** Change selected and excluded lists and set is existing selected and is all selected states */
|
|
811
|
-
toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
|
|
812
|
-
/** Clear selected list */
|
|
813
|
-
clearSelectedList(): void;
|
|
814
|
-
/** Set is existing selected and indeterminate state */
|
|
815
|
-
setExistingEntitiesState(): void;
|
|
816
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtTableSelectorsDirective<any, any, any>, never>;
|
|
817
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RtTableSelectorsDirective<any, any, any>, "rtui-table[rtTableSelectorsDirective]", never, {}, {}, never, never, true, never>;
|
|
818
|
-
}
|
|
819
|
-
|
|
820
840
|
/** Directive for custom table cells */
|
|
821
841
|
declare class RtuiCustomTableCellsDirective<ENTITY_TYPE> {
|
|
822
842
|
cellsTemplates: InputSignal<{
|
|
@@ -842,20 +862,13 @@ declare class RtuiTableAdditionalRowActionsDirective {
|
|
|
842
862
|
}
|
|
843
863
|
declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> implements IRtuiTable<ENTITY_TYPE, SORT_PROPERTY, KEY>, AfterViewChecked {
|
|
844
864
|
#private;
|
|
845
|
-
protected readonly rowActions: Signal<
|
|
846
|
-
protected readonly rowActionsHeaderPaddingHelper: Signal<
|
|
847
|
-
protected readonly rowActionsPaddingHelper: Signal<
|
|
848
|
-
protected readonly columnTypes: typeof
|
|
849
|
-
protected readonly filterOperators: typeof
|
|
865
|
+
protected readonly rowActions: Signal<TNullable<ElementRef<HTMLElement>>>;
|
|
866
|
+
protected readonly rowActionsHeaderPaddingHelper: Signal<TNullable<ElementRef<HTMLElement>>>;
|
|
867
|
+
protected readonly rowActionsPaddingHelper: Signal<TNullable<ElementRef<HTMLElement>>>;
|
|
868
|
+
protected readonly columnTypes: typeof ETableColumnTypes;
|
|
869
|
+
protected readonly filterOperators: typeof EFilterOperatorType;
|
|
850
870
|
/** Indicates is mobile view */
|
|
851
|
-
/**
|
|
852
|
-
* Признак узкого экрана.
|
|
853
|
-
*
|
|
854
|
-
* @deprecated Кит определяет его сам — `BreakpointService` из `@rt-tools/core`. Вход
|
|
855
|
-
* оставлен ради приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
856
|
-
*/
|
|
857
|
-
isMobile: InputSignal<INullable<boolean>>;
|
|
858
|
-
/** Экран узкий: значение входа, если приложение его дало, иначе замер кита. */
|
|
871
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
859
872
|
readonly narrow: Signal<boolean>;
|
|
860
873
|
/** Indicates are table rows clickable */
|
|
861
874
|
isTableRowsClickable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -864,7 +877,7 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
864
877
|
/** List of entities */
|
|
865
878
|
entities: InputSignalWithTransform<ENTITY_TYPE[], ENTITY_TYPE[]>;
|
|
866
879
|
/** Current page model from store */
|
|
867
|
-
currentSortModel: InputSignal<
|
|
880
|
+
currentSortModel: InputSignal<TNullable<ISortModel<SORT_PROPERTY>>>;
|
|
868
881
|
/** Current elements appearance */
|
|
869
882
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
870
883
|
/** Filter inputs appearance */
|
|
@@ -887,13 +900,13 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
887
900
|
/** Columns config for table */
|
|
888
901
|
columns: Signal<Array<ITable.Column<ENTITY_TYPE>>>;
|
|
889
902
|
/** Custom cells template */
|
|
890
|
-
readonly customCellsTpl: Signal<
|
|
903
|
+
readonly customCellsTpl: Signal<TNullable<RtuiCustomTableCellsDirective<ENTITY_TYPE>>>;
|
|
891
904
|
/** Row actions template */
|
|
892
|
-
readonly rowActionsTpl: Signal<
|
|
905
|
+
readonly rowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
893
906
|
$implicit: ENTITY_TYPE;
|
|
894
907
|
}>>>;
|
|
895
908
|
/** Additional row actions template */
|
|
896
|
-
readonly additionalRowActionsTpl: Signal<
|
|
909
|
+
readonly additionalRowActionsTpl: Signal<TNullable<TemplateRef<RtuiTableAdditionalRowActionsDirective>>>;
|
|
897
910
|
/** Fields specified by the directive */
|
|
898
911
|
/** List of selected entities ids */
|
|
899
912
|
readonly selectedEntitiesIds: WritableSignal<ENTITY_TYPE[KEY][]>;
|
|
@@ -908,9 +921,16 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
908
921
|
/** Indicates is selectors column disabled */
|
|
909
922
|
readonly isSelectorsColumnDisabled: WritableSignal<boolean>;
|
|
910
923
|
/** Current row index */
|
|
911
|
-
readonly activeRowIndex: WritableSignal<
|
|
924
|
+
readonly activeRowIndex: WritableSignal<TNullable<number>>;
|
|
912
925
|
ngAfterViewChecked(): void;
|
|
913
|
-
/**
|
|
926
|
+
/**
|
|
927
|
+
* Sort change output action.
|
|
928
|
+
*
|
|
929
|
+
* Имя колонки приходит строкой, а наружу уходит ключом домена. Приведение здесь принимало
|
|
930
|
+
* любую строку: колонка, которой в наборе нет, уезжала потребителю законным значением, и
|
|
931
|
+
* ни сборка, ни типы этого не видели. Сверяется оно с тем же набором колонок, который
|
|
932
|
+
* рисует таблица, — второго списка имён у неё нет; несовпавшее не отдаётся вовсе.
|
|
933
|
+
*/
|
|
914
934
|
onSortChange(sortModel: ISortModel<string>): void;
|
|
915
935
|
/** Filter change output action */
|
|
916
936
|
onFilterChange(filterModel: IFilterModel<KEY>[]): void;
|
|
@@ -926,25 +946,18 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
926
946
|
onToggleEntity: (entity: ENTITY_TYPE, checked: boolean) => void;
|
|
927
947
|
onTogglePageEntities: (checked: boolean) => void;
|
|
928
948
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableComponent<any, any, any>, never>;
|
|
929
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiTableComponent<any, any, any>, "rtui-table", never, { "
|
|
949
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiTableComponent<any, any, any>, "rtui-table", never, { "isTableRowsClickable": { "alias": "isTableRowsClickable"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": false; "isSignal": true; }; "entities": { "alias": "entities"; "required": true; "isSignal": true; }; "currentSortModel": { "alias": "currentSortModel"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "filterAppearance": { "alias": "filterAppearance"; "required": false; "isSignal": true; }; "filterModel": { "alias": "filterModel"; "required": false; "isSignal": true; }; "isFiltersShown": { "alias": "isFiltersShown"; "required": false; "isSignal": true; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "sortChange": "sortChange"; "filterChange": "filterChange"; }, ["customCellsTpl", "rowActionsTpl", "additionalRowActionsTpl"], never, true, never>;
|
|
930
950
|
}
|
|
931
951
|
|
|
932
952
|
declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
933
953
|
#private;
|
|
934
|
-
/** Экран узкий:
|
|
954
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
935
955
|
protected readonly narrow: Signal<boolean>;
|
|
936
956
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
937
957
|
/** Table config storage key */
|
|
938
958
|
tableConfigStorageKey: InputSignalWithTransform<string, string>;
|
|
939
959
|
/** Current page model from store */
|
|
940
960
|
pageModel: InputSignal<IPageModel>;
|
|
941
|
-
/**
|
|
942
|
-
* Признак узкого экрана.
|
|
943
|
-
*
|
|
944
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
945
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
946
|
-
*/
|
|
947
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
948
961
|
/** Indicates is loading in progress */
|
|
949
962
|
loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
950
963
|
/** Indicates is fetching in progress */
|
|
@@ -964,27 +977,27 @@ declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
|
964
977
|
/** Indicates is filters empty */
|
|
965
978
|
isFiltersEmpty: InputSignalWithTransform<boolean, BooleanInput>;
|
|
966
979
|
/** Current search term from store */
|
|
967
|
-
searchTerm: InputSignalWithTransform<
|
|
980
|
+
searchTerm: InputSignalWithTransform<TNullable<string>, TNullable<string>>;
|
|
968
981
|
/** Current placeholder icon */
|
|
969
982
|
placeholderIcon: InputSignal<string>;
|
|
970
983
|
/** Current placeholder title */
|
|
971
984
|
placeholderTitle: InputSignal<string>;
|
|
972
985
|
/** Indicates is a small tablet view */
|
|
973
|
-
readonly isSmallTablet: Signal<
|
|
986
|
+
readonly isSmallTablet: Signal<TNullable<boolean>>;
|
|
974
987
|
/** Config for table */
|
|
975
988
|
readonly tableConfig: Signal<ITable.Config.Data<ENTITY_TYPE>>;
|
|
976
989
|
/** Page model change output action */
|
|
977
990
|
readonly pageModelChange: OutputEmitterRef<Partial<IPageModel>>;
|
|
978
991
|
/** Search change output action */
|
|
979
|
-
readonly searchChange: OutputEmitterRef<
|
|
992
|
+
readonly searchChange: OutputEmitterRef<TNullable<string>>;
|
|
980
993
|
/** Refresh output action */
|
|
981
994
|
readonly refreshAction: OutputEmitterRef<void>;
|
|
982
995
|
/** Clear filters output action */
|
|
983
996
|
readonly clearFiltersAction: OutputEmitterRef<void>;
|
|
984
997
|
/** Toolbar selectors template */
|
|
985
|
-
readonly toolbarSelectorsTpl: Signal<
|
|
998
|
+
readonly toolbarSelectorsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
986
999
|
/** Toolbar actions template */
|
|
987
|
-
readonly toolbarActionsTpl: Signal<
|
|
1000
|
+
readonly toolbarActionsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
988
1001
|
/** Fields specified by the directive */
|
|
989
1002
|
/** Indicates is multiselect mod enabled */
|
|
990
1003
|
readonly isMultiSelect: WritableSignal<boolean>;
|
|
@@ -999,7 +1012,7 @@ declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
|
999
1012
|
/** Current selected entities count */
|
|
1000
1013
|
readonly selectedEntitiesCount: WritableSignal<number>;
|
|
1001
1014
|
/** Control for search */
|
|
1002
|
-
readonly searchControl: FormControl<
|
|
1015
|
+
readonly searchControl: FormControl<TNullable<string>>;
|
|
1003
1016
|
ngOnInit(): void;
|
|
1004
1017
|
/** Page model change output action */
|
|
1005
1018
|
onPageModelChange(pageModel: Partial<IPageModel>): void;
|
|
@@ -1014,7 +1027,7 @@ declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
|
1014
1027
|
/** Empty method, set in selectors directive */
|
|
1015
1028
|
onToggleAllEntities: (checked: boolean) => void;
|
|
1016
1029
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableContainerComponent<any>, never>;
|
|
1017
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiTableContainerComponent<any>, "rtui-table-container", never, { "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "tableConfigStorageKey": { "alias": "tableConfigStorageKey"; "required": true; "isSignal": true; }; "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "
|
|
1030
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiTableContainerComponent<any>, "rtui-table-container", never, { "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "tableConfigStorageKey": { "alias": "tableConfigStorageKey"; "required": true; "isSignal": true; }; "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": true; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": true; "isSignal": true; }; "isPlaceholderShown": { "alias": "isPlaceholderShown"; "required": true; "isSignal": true; }; "isPaginationShown": { "alias": "isPaginationShown"; "required": false; "isSignal": true; }; "isRefreshButtonShown": { "alias": "isRefreshButtonShown"; "required": false; "isSignal": true; }; "isTableConfigButtonShown": { "alias": "isTableConfigButtonShown"; "required": false; "isSignal": true; }; "isToolbarActionsIconsOutlined": { "alias": "isToolbarActionsIconsOutlined"; "required": false; "isSignal": true; }; "isFiltersShown": { "alias": "isFiltersShown"; "required": false; "isSignal": true; }; "isFiltersEmpty": { "alias": "isFiltersEmpty"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "placeholderIcon": { "alias": "placeholderIcon"; "required": false; "isSignal": true; }; "placeholderTitle": { "alias": "placeholderTitle"; "required": false; "isSignal": true; }; }, { "pageModelChange": "pageModelChange"; "searchChange": "searchChange"; "refreshAction": "refreshAction"; "clearFiltersAction": "clearFiltersAction"; }, ["toolbarSelectorsTpl", "toolbarActionsTpl"], ["*"], true, never>;
|
|
1018
1031
|
}
|
|
1019
1032
|
|
|
1020
1033
|
/** Directive for selectors of the toolbar located on the left side */
|
|
@@ -1051,14 +1064,7 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1051
1064
|
#private;
|
|
1052
1065
|
/** Table config storage key */
|
|
1053
1066
|
tableConfigStorageKey: InputSignalWithTransform<string, unknown>;
|
|
1054
|
-
/**
|
|
1055
|
-
* Признак узкого экрана.
|
|
1056
|
-
*
|
|
1057
|
-
* @deprecated Кит определяет его сам — `BreakpointService` из `@rt-tools/core`. Вход
|
|
1058
|
-
* оставлен ради приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
1059
|
-
*/
|
|
1060
|
-
isMobile: InputSignal<INullable<boolean>>;
|
|
1061
|
-
/** Экран узкий: значение входа, если приложение его дало, иначе замер кита. */
|
|
1067
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1062
1068
|
readonly narrow: Signal<boolean>;
|
|
1063
1069
|
/** Indicates is loading in progress */
|
|
1064
1070
|
loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -1081,9 +1087,9 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1081
1087
|
/** Current page model from store */
|
|
1082
1088
|
pageModel: InputSignal<IPageModel>;
|
|
1083
1089
|
/** Current search term from store */
|
|
1084
|
-
searchTerm: InputSignal<
|
|
1090
|
+
searchTerm: InputSignal<TNullable<string>>;
|
|
1085
1091
|
/** Current sort model from store */
|
|
1086
|
-
currentSortModel: InputSignal<
|
|
1092
|
+
currentSortModel: InputSignal<TNullable<ISortModel<NonNullable<KEY>>>>;
|
|
1087
1093
|
/** Inputs appearance */
|
|
1088
1094
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
1089
1095
|
/** Filter inputs appearance */
|
|
@@ -1097,7 +1103,7 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1097
1103
|
/** Page model change output action */
|
|
1098
1104
|
readonly pageModelChange: OutputEmitterRef<Partial<IPageModel>>;
|
|
1099
1105
|
/** Search change output action */
|
|
1100
|
-
readonly searchChange: OutputEmitterRef<
|
|
1106
|
+
readonly searchChange: OutputEmitterRef<TNullable<string>>;
|
|
1101
1107
|
/** Refresh output action */
|
|
1102
1108
|
readonly refresh: OutputEmitterRef<void>;
|
|
1103
1109
|
/** Clear filters output action */
|
|
@@ -1112,27 +1118,27 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1112
1118
|
/** Filter change output action */
|
|
1113
1119
|
readonly filterChange: OutputEmitterRef<IFilterModel<KEY>[]>;
|
|
1114
1120
|
/** Toolbar selectors template */
|
|
1115
|
-
readonly toolbarSelectorsTpl: Signal<
|
|
1121
|
+
readonly toolbarSelectorsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
1116
1122
|
/** Toolbar actions template */
|
|
1117
|
-
readonly toolbarActionsTpl: Signal<
|
|
1123
|
+
readonly toolbarActionsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
1118
1124
|
/** Custom cells template */
|
|
1119
|
-
readonly customCellsTpl: Signal<
|
|
1125
|
+
readonly customCellsTpl: Signal<TNullable<RtuiDynamicListCustomTableCellsDirective<{
|
|
1120
1126
|
$implicit: ENTITY_TYPE;
|
|
1121
1127
|
}>>>;
|
|
1122
1128
|
/** Row actions template */
|
|
1123
|
-
readonly rowActionsTpl: Signal<
|
|
1129
|
+
readonly rowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
1124
1130
|
$implicit: ENTITY_TYPE;
|
|
1125
1131
|
}>>>;
|
|
1126
1132
|
/** Additional row actions template */
|
|
1127
|
-
readonly additionalRowActionsTpl: Signal<
|
|
1133
|
+
readonly additionalRowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
1128
1134
|
$implicit: ENTITY_TYPE;
|
|
1129
1135
|
}>>>;
|
|
1130
1136
|
/** Table container for selectors directive usage */
|
|
1131
|
-
readonly tableContainerTpl: Signal<
|
|
1137
|
+
readonly tableContainerTpl: Signal<TNullable<RtuiTableContainerComponent<ENTITY_TYPE>>>;
|
|
1132
1138
|
/** Table selector for selectors directive usage */
|
|
1133
|
-
readonly tableTpl: Signal<
|
|
1139
|
+
readonly tableTpl: Signal<TNullable<RtuiTableComponent<ENTITY_TYPE, SORT_PROPERTY, KEY>>>;
|
|
1134
1140
|
/** Search change output action */
|
|
1135
|
-
onSearchChange(value:
|
|
1141
|
+
onSearchChange(value: TNullable<string>): void;
|
|
1136
1142
|
/** Sort change output action */
|
|
1137
1143
|
onSortChange(sortModel: ISortModel<NonNullable<KEY>>): void;
|
|
1138
1144
|
/** Page model change output action */
|
|
@@ -1151,7 +1157,178 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1151
1157
|
/** Row doubleClick output action */
|
|
1152
1158
|
onRowDoubleClick(row: ENTITY_TYPE): void;
|
|
1153
1159
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListComponent<any, any, any>, never>;
|
|
1154
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicListComponent<any, any, any>, "rtui-dynamic-list", never, { "tableConfigStorageKey": { "alias": "tableConfigStorageKey"; "required": true; "isSignal": true; }; "
|
|
1160
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicListComponent<any, any, any>, "rtui-dynamic-list", never, { "tableConfigStorageKey": { "alias": "tableConfigStorageKey"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "isTableRowsClickable": { "alias": "isTableRowsClickable"; "required": false; "isSignal": true; }; "isPaginationShown": { "alias": "isPaginationShown"; "required": false; "isSignal": true; }; "isRefreshButtonShown": { "alias": "isRefreshButtonShown"; "required": false; "isSignal": true; }; "isTableConfigButtonShown": { "alias": "isTableConfigButtonShown"; "required": false; "isSignal": true; }; "isToolbarActionsIconsOutlined": { "alias": "isToolbarActionsIconsOutlined"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": false; "isSignal": true; }; "entities": { "alias": "entities"; "required": true; "isSignal": true; }; "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": true; "isSignal": true; }; "currentSortModel": { "alias": "currentSortModel"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "filterAppearance": { "alias": "filterAppearance"; "required": false; "isSignal": true; }; "filterModel": { "alias": "filterModel"; "required": false; "isSignal": true; }; "isFiltersShown": { "alias": "isFiltersShown"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "pageModelChange": "pageModelChange"; "searchChange": "searchChange"; "refresh": "refresh"; "clearFiltersAction": "clearFiltersAction"; "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "filterChange": "filterChange"; }, ["toolbarSelectorsTpl", "toolbarActionsTpl", "customCellsTpl", "rowActionsTpl", "additionalRowActionsTpl"], never, true, never>;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
declare class RtuiClearButtonComponent {
|
|
1164
|
+
#private;
|
|
1165
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1166
|
+
protected readonly narrow: Signal<boolean>;
|
|
1167
|
+
isButtonShown: InputSignalWithTransform<TNullable<boolean>, boolean>;
|
|
1168
|
+
tooltip: InputSignalWithTransform<TNullable<string>, string>;
|
|
1169
|
+
tooltipPosition: InputSignal<TooltipPosition>;
|
|
1170
|
+
readonly keydownAction: OutputEmitterRef<void>;
|
|
1171
|
+
readonly clickAction: OutputEmitterRef<void>;
|
|
1172
|
+
onKeydown(): void;
|
|
1173
|
+
onClick(): void;
|
|
1174
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiClearButtonComponent, never>;
|
|
1175
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiClearButtonComponent, "rtui-clear-button", never, { "isButtonShown": { "alias": "isButtonShown"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, { "keydownAction": "keydownAction"; "clickAction": "clickAction"; }, never, never, true, never>;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
declare class RtuiPaginationComponent implements OnInit, AfterViewInit {
|
|
1179
|
+
#private;
|
|
1180
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1181
|
+
protected readonly narrow: Signal<boolean>;
|
|
1182
|
+
/** Current Page Model */
|
|
1183
|
+
currentPageModel: InputSignal<IPageModel>;
|
|
1184
|
+
/** Output action when Page Model changed */
|
|
1185
|
+
readonly pageModelChange: OutputEmitterRef<Partial<IPageModel>>;
|
|
1186
|
+
/** Form control for selected page size */
|
|
1187
|
+
control: FormControl<number>;
|
|
1188
|
+
readonly divider: Signal<string>;
|
|
1189
|
+
/** Page size options */
|
|
1190
|
+
readonly pageSizes: Signal<number[]>;
|
|
1191
|
+
/** Array of current page numbers */
|
|
1192
|
+
readonly numbers: WritableSignal<Array<number | string>>;
|
|
1193
|
+
/** Page Model for compare */
|
|
1194
|
+
readonly previousPageModel: WritableSignal<TNullable<IPageModel>>;
|
|
1195
|
+
/** Value of full content width */
|
|
1196
|
+
readonly minContentFitWidth: WritableSignal<number>;
|
|
1197
|
+
/** Indicates is content clipped */
|
|
1198
|
+
readonly isContentClipped: WritableSignal<boolean>;
|
|
1199
|
+
/** Container template ref */
|
|
1200
|
+
readonly containerRef: Signal<TNullable<ElementRef<HTMLElement>>>;
|
|
1201
|
+
/** Set 'isContentClipped' when widow resize */
|
|
1202
|
+
onResize(): void;
|
|
1203
|
+
ngOnInit(): void;
|
|
1204
|
+
/** Set 'isContentClipped' on init */
|
|
1205
|
+
ngAfterViewInit(): void;
|
|
1206
|
+
/** Action for change Page Model */
|
|
1207
|
+
changePageSize(pageSize: number): void;
|
|
1208
|
+
/** Action for select page */
|
|
1209
|
+
onChangePageNumber(pageNumber: string | number): void;
|
|
1210
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiPaginationComponent, never>;
|
|
1211
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiPaginationComponent, "rtui-pagination", never, { "currentPageModel": { "alias": "currentPageModel"; "required": true; "isSignal": true; }; }, { "pageModelChange": "pageModelChange"; }, never, never, true, never>;
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
declare const RTUI_TABLE_STOP_ROW_CLICK_ATTRIBUTE: string;
|
|
1215
|
+
|
|
1216
|
+
/**
|
|
1217
|
+
* Порядок имён колонок для сверки двух наборов.
|
|
1218
|
+
*
|
|
1219
|
+
* Какой именно порядок, значения не имеет: оба набора выстраиваются одним и тем же и сравниваются
|
|
1220
|
+
* на равенство. Важно лишь, чтобы порядок был один и не зависел от вида значения, — умолчание
|
|
1221
|
+
* `sort()` приводит элементы к строке по-своему и на числовых ключах даёт лексикографический.
|
|
1222
|
+
*/
|
|
1223
|
+
declare function comparePropNames(a: PropertyKey | undefined, b: PropertyKey | undefined): number;
|
|
1224
|
+
|
|
1225
|
+
declare const DEFAULT_PAGE_SIZE: number;
|
|
1226
|
+
declare const DEFAULT_PAGE_MODEL: Readonly<IPageModel>;
|
|
1227
|
+
|
|
1228
|
+
declare class RtTableConfigService<ENTITY_TYPE> {
|
|
1229
|
+
#private;
|
|
1230
|
+
readonly tableConfig: Signal<ITable.Config.Data<ENTITY_TYPE>>;
|
|
1231
|
+
/**
|
|
1232
|
+
* Потоки чтения и записи объявлены один раз, а методы только толкают в них просьбы.
|
|
1233
|
+
*
|
|
1234
|
+
* Чтение — `switchMap`: отвечает последний вызов, потому что настройка, прочитанная под
|
|
1235
|
+
* прежний состав столбцов, к нынешнему уже не относится. Запись и снятие — один поток и
|
|
1236
|
+
* `concatMap`: разведённые по двум, они теряют порядок между собой, и снятие, обогнавшее
|
|
1237
|
+
* запись, оставляет в хранилище снятое.
|
|
1238
|
+
*/
|
|
1239
|
+
constructor();
|
|
1240
|
+
initConfig(storageKey: string, config: Array<ITable.Column<ENTITY_TYPE>>): void;
|
|
1241
|
+
updateConfig(storageKey: string, config: ITable.Config.Data<ENTITY_TYPE>): void;
|
|
1242
|
+
deleteConfig(storageKey: string): void;
|
|
1243
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtTableConfigService<any>, never>;
|
|
1244
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RtTableConfigService<any>>;
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
declare class RtCommonSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
|
|
1248
|
+
/** Indicates is multiselect available */
|
|
1249
|
+
isMultiSelect: InputSignalWithTransform<boolean, boolean>;
|
|
1250
|
+
/** Indicates is 'Select all' checkbox shown */
|
|
1251
|
+
isSelectorColumnShown: InputSignalWithTransform<boolean, boolean>;
|
|
1252
|
+
/** Indicates is selectors column disabled */
|
|
1253
|
+
isSelectorsColumnDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
1254
|
+
/** Selected entities Ids on init */
|
|
1255
|
+
selectedEntitiesKeys: InputSignalWithTransform<ENTITY_TYPE[KEY][], ENTITY_TYPE[KEY][]>;
|
|
1256
|
+
/** Key of ENTITY_TYPE for compare entities */
|
|
1257
|
+
readonly keyExp: WritableSignal<NonNullable<KEY>>;
|
|
1258
|
+
/** Current list of entities */
|
|
1259
|
+
readonly entities: WritableSignal<ENTITY_TYPE[]>;
|
|
1260
|
+
/** Add page entities to list exclude duplicates */
|
|
1261
|
+
addPageEntitiesToListExcludeDuplicates(list: ENTITY_TYPE[]): ENTITY_TYPE[];
|
|
1262
|
+
/** Remove page entities from list */
|
|
1263
|
+
removePageEntitiesFromList(list: ENTITY_TYPE[]): ENTITY_TYPE[];
|
|
1264
|
+
/** Check is one of page entities exist in selected entities */
|
|
1265
|
+
isOneExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
|
|
1266
|
+
/** Check is all page entities exist in selected entities */
|
|
1267
|
+
isAllExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
|
|
1268
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtCommonSelectorsDirective<any, any>, never>;
|
|
1269
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RtCommonSelectorsDirective<any, any>, never, never, { "isMultiSelect": { "alias": "isMultiSelect"; "required": false; "isSignal": true; }; "isSelectorColumnShown": { "alias": "isSelectorColumnShown"; "required": false; "isSignal": true; }; "isSelectorsColumnDisabled": { "alias": "isSelectorsColumnDisabled"; "required": false; "isSignal": true; }; "selectedEntitiesKeys": { "alias": "selectedEntitiesKeys"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
declare class RtDynamicListSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> extends RtCommonSelectorsDirective<ENTITY_TYPE, KEY> implements OnInit {
|
|
1273
|
+
#private;
|
|
1274
|
+
/** Indicates is multiselect extended mod available (use selected and excluded lists) */
|
|
1275
|
+
isMultiSelectExtendedMod: InputSignalWithTransform<boolean, boolean>;
|
|
1276
|
+
/** Indicates is 'Select all' checkbox shown */
|
|
1277
|
+
isSelectAllSelectorShown: InputSignalWithTransform<boolean, boolean>;
|
|
1278
|
+
/** List of selected entities */
|
|
1279
|
+
readonly selectedEntities: Signal<ENTITY_TYPE[]>;
|
|
1280
|
+
/** List of excluded entities */
|
|
1281
|
+
readonly excludedEntities: Signal<ENTITY_TYPE[]>;
|
|
1282
|
+
/** List of selected entities ids */
|
|
1283
|
+
readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
1284
|
+
/** List of excluded entities ids */
|
|
1285
|
+
readonly excludedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
1286
|
+
/** Indicates is 'Select All' checkbox selected */
|
|
1287
|
+
readonly isAllEntitiesSelected: Signal<boolean>;
|
|
1288
|
+
/** Indicates is all page entities checkbox selected */
|
|
1289
|
+
readonly isPageEntitiesSelected: Signal<boolean>;
|
|
1290
|
+
/** Indicates is page entities checkbox indeterminate */
|
|
1291
|
+
readonly isPageEntitiesIndeterminate: Signal<boolean>;
|
|
1292
|
+
/** Indicates is multi select extended mod enabled */
|
|
1293
|
+
readonly isMultiSelectExtendedModEnabled: Signal<boolean>;
|
|
1294
|
+
ngOnInit(): void;
|
|
1295
|
+
/** Change selected entities list and 'isAllEntitiesSelected' indicator state */
|
|
1296
|
+
toggleAllEntities(checked: boolean): void;
|
|
1297
|
+
/** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
|
|
1298
|
+
togglePageEntities(checked: boolean): void;
|
|
1299
|
+
/** Change selected and excluded lists and set is existing selected and is all selected states */
|
|
1300
|
+
toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
|
|
1301
|
+
/** Clear selected list */
|
|
1302
|
+
clearSelectedList(): void;
|
|
1303
|
+
/** Clear excluded list */
|
|
1304
|
+
clearExcludedList(): void;
|
|
1305
|
+
/** Set is existing selected and indeterminate state */
|
|
1306
|
+
setExistingEntitiesState(): void;
|
|
1307
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtDynamicListSelectorsDirective<any, any, any>, never>;
|
|
1308
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RtDynamicListSelectorsDirective<any, any, any>, "rtui-dynamic-list[rtDynamicListSelectorsDirective]", never, { "isMultiSelectExtendedMod": { "alias": "isMultiSelectExtendedMod"; "required": false; "isSignal": true; }; "isSelectAllSelectorShown": { "alias": "isSelectAllSelectorShown"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
declare class RtTableSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> extends RtCommonSelectorsDirective<ENTITY_TYPE, KEY> implements OnInit {
|
|
1312
|
+
#private;
|
|
1313
|
+
/** List of selected entities */
|
|
1314
|
+
readonly selectedEntities: Signal<ENTITY_TYPE[]>;
|
|
1315
|
+
/** List of selected entities ids */
|
|
1316
|
+
readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
1317
|
+
/** Indicates is all page entities checkbox selected */
|
|
1318
|
+
readonly isPageEntitiesSelected: Signal<boolean>;
|
|
1319
|
+
/** Indicates is page entities checkbox indeterminate */
|
|
1320
|
+
readonly isPageEntitiesIndeterminate: Signal<boolean>;
|
|
1321
|
+
ngOnInit(): void;
|
|
1322
|
+
/** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
|
|
1323
|
+
togglePageEntities(checked: boolean): void;
|
|
1324
|
+
/** Change selected and excluded lists and set is existing selected and is all selected states */
|
|
1325
|
+
toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
|
|
1326
|
+
/** Clear selected list */
|
|
1327
|
+
clearSelectedList(): void;
|
|
1328
|
+
/** Set is existing selected and indeterminate state */
|
|
1329
|
+
setExistingEntitiesState(): void;
|
|
1330
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtTableSelectorsDirective<any, any, any>, never>;
|
|
1331
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RtTableSelectorsDirective<any, any, any>, "rtui-table[rtTableSelectorsDirective]", never, {}, {}, never, never, true, never>;
|
|
1155
1332
|
}
|
|
1156
1333
|
|
|
1157
1334
|
declare class RtuiStopTableRowClickDirective implements OnInit {
|
|
@@ -1196,9 +1373,9 @@ declare function provideRtUi(config?: IRtUiConfig.Config): Provider[];
|
|
|
1196
1373
|
|
|
1197
1374
|
declare namespace IRtSnackBar {
|
|
1198
1375
|
interface Config extends MatSnackBarConfig {
|
|
1199
|
-
icon?:
|
|
1376
|
+
icon?: string | null;
|
|
1200
1377
|
isColoredBackground?: boolean;
|
|
1201
|
-
action?:
|
|
1378
|
+
action?: string | null;
|
|
1202
1379
|
isProgressBarShown?: boolean;
|
|
1203
1380
|
}
|
|
1204
1381
|
interface Data extends Config {
|
|
@@ -1209,11 +1386,8 @@ declare namespace IRtSnackBar {
|
|
|
1209
1386
|
declare class RtuiSnackBarComponent {
|
|
1210
1387
|
#private;
|
|
1211
1388
|
readonly data: IRtSnackBar.Data;
|
|
1212
|
-
|
|
1213
|
-
readonly
|
|
1214
|
-
constructor();
|
|
1215
|
-
onMouseOver(): void;
|
|
1216
|
-
onMouseOut(): void;
|
|
1389
|
+
/** Сколько идёт полоса: то же время, что живёт само сообщение. */
|
|
1390
|
+
readonly progressDuration: Signal<string>;
|
|
1217
1391
|
dismiss(): void;
|
|
1218
1392
|
close(): void;
|
|
1219
1393
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSnackBarComponent, never>;
|
|
@@ -1232,37 +1406,27 @@ declare class RtSnackBarService {
|
|
|
1232
1406
|
static ɵprov: i0.ɵɵInjectableDeclaration<RtSnackBarService>;
|
|
1233
1407
|
}
|
|
1234
1408
|
|
|
1235
|
-
declare
|
|
1236
|
-
declare const progressDecreaseAnimation: AnimationTriggerMetadata[];
|
|
1237
|
-
|
|
1238
|
-
declare enum INFO_BADGE_SIZE_ENUM {
|
|
1409
|
+
declare enum EInfoBadgeSize {
|
|
1239
1410
|
LARGE = "l",
|
|
1240
1411
|
MEDIUM = "m",
|
|
1241
1412
|
SMALL = "s"
|
|
1242
1413
|
}
|
|
1243
|
-
type
|
|
1414
|
+
type TInfoBadgeSizeType = EInfoBadgeSize.LARGE | EInfoBadgeSize.MEDIUM | EInfoBadgeSize.SMALL;
|
|
1244
1415
|
|
|
1245
1416
|
declare function darkenHexColor(hex: string, percent: number): string;
|
|
1246
1417
|
declare function getColorBasedOnBackground(backgroundColor: string): string;
|
|
1247
1418
|
|
|
1248
|
-
type
|
|
1419
|
+
type TIconSideType = EPosition.LEFT | EPosition.RIGHT;
|
|
1249
1420
|
|
|
1250
1421
|
declare class RtuiInfoBadgeComponent implements AfterContentChecked {
|
|
1251
1422
|
#private;
|
|
1252
|
-
/** Экран узкий:
|
|
1423
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1253
1424
|
protected readonly narrow: Signal<boolean>;
|
|
1254
|
-
size: InputSignal<
|
|
1425
|
+
size: InputSignal<TInfoBadgeSizeType>;
|
|
1255
1426
|
text: InputSignal<string>;
|
|
1256
1427
|
glyph: InputSignal<string>;
|
|
1257
|
-
iconSide: InputSignal<
|
|
1428
|
+
iconSide: InputSignal<TIconSideType>;
|
|
1258
1429
|
isFontBold: InputSignal<boolean>;
|
|
1259
|
-
/**
|
|
1260
|
-
* Признак узкого экрана.
|
|
1261
|
-
*
|
|
1262
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
1263
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
1264
|
-
*/
|
|
1265
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
1266
1430
|
isTitleCollapsed: WritableSignal<boolean>;
|
|
1267
1431
|
readonly contentRef: Signal<ElementRef<HTMLElement> | undefined>;
|
|
1268
1432
|
/** Модификаторы блока значка: ставятся директивой, а не строкой в атрибуте. */
|
|
@@ -1273,34 +1437,35 @@ declare class RtuiInfoBadgeComponent implements AfterContentChecked {
|
|
|
1273
1437
|
ngAfterContentChecked(): void;
|
|
1274
1438
|
checkEllipsis(): void;
|
|
1275
1439
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiInfoBadgeComponent, never>;
|
|
1276
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiInfoBadgeComponent, "rtui-info-badge", never, { "size": { "alias": "size"; "required": true; "isSignal": true; }; "text": { "alias": "text"; "required": true; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "iconSide": { "alias": "iconSide"; "required": false; "isSignal": true; }; "isFontBold": { "alias": "isFontBold"; "required": false; "isSignal": true; };
|
|
1440
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiInfoBadgeComponent, "rtui-info-badge", never, { "size": { "alias": "size"; "required": true; "isSignal": true; }; "text": { "alias": "text"; "required": true; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "iconSide": { "alias": "iconSide"; "required": false; "isSignal": true; }; "isFontBold": { "alias": "isFontBold"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1277
1441
|
}
|
|
1278
1442
|
|
|
1279
|
-
declare enum
|
|
1443
|
+
declare enum EInfoBadgeType {
|
|
1280
1444
|
SUCCESS = "success",
|
|
1281
1445
|
INFO = "info",
|
|
1282
1446
|
WARNING = "warning",
|
|
1283
1447
|
PRIMARY = "primary",
|
|
1284
1448
|
DISABLED = "disabled"
|
|
1285
1449
|
}
|
|
1286
|
-
type
|
|
1450
|
+
type TInfoBadgeType = EInfoBadgeType.SUCCESS | EInfoBadgeType.INFO | EInfoBadgeType.WARNING | EInfoBadgeType.PRIMARY | EInfoBadgeType.DISABLED;
|
|
1287
1451
|
|
|
1288
|
-
declare enum
|
|
1452
|
+
declare enum EToggleSizeType {
|
|
1289
1453
|
SM = "sm",
|
|
1290
1454
|
MD = "md"
|
|
1291
1455
|
}
|
|
1292
|
-
type
|
|
1456
|
+
type TToggleSizeType = EToggleSizeType.SM | EToggleSizeType.MD;
|
|
1293
1457
|
|
|
1294
1458
|
declare class RtuiToggleComponent implements OnInit, ControlValueAccessor {
|
|
1295
1459
|
#private;
|
|
1460
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1461
|
+
protected readonly narrow: Signal<TNullable<boolean>>;
|
|
1296
1462
|
formControl: FormControl<boolean>;
|
|
1297
|
-
label: InputSignal<
|
|
1463
|
+
label: InputSignal<TNullable<string>>;
|
|
1298
1464
|
tooltip: InputSignal<string>;
|
|
1299
|
-
size: InputSignal<
|
|
1465
|
+
size: InputSignal<TToggleSizeType>;
|
|
1300
1466
|
tooltipPosition: InputSignal<TooltipPosition>;
|
|
1301
1467
|
isDisabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1302
1468
|
tooltipDisabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1303
|
-
readonly isMobile: Signal<INullable<boolean>>;
|
|
1304
1469
|
ngOnInit(): void;
|
|
1305
1470
|
writeValue(value: boolean): void;
|
|
1306
1471
|
registerOnChange(fn: () => void): void;
|
|
@@ -1324,15 +1489,8 @@ declare class RtuiFileUploadComponent {
|
|
|
1324
1489
|
|
|
1325
1490
|
declare abstract class RtuiDynamicSelectorsDirective {
|
|
1326
1491
|
#private;
|
|
1327
|
-
/** Экран узкий:
|
|
1492
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1328
1493
|
protected readonly narrow: Signal<boolean>;
|
|
1329
|
-
/**
|
|
1330
|
-
* Признак узкого экрана.
|
|
1331
|
-
*
|
|
1332
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
1333
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
1334
|
-
*/
|
|
1335
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
1336
1494
|
/** Selections control button title */
|
|
1337
1495
|
buttonTitle: InputSignalWithTransform<string, string>;
|
|
1338
1496
|
/** Indicates if only one option can be chosen */
|
|
@@ -1355,11 +1513,11 @@ declare abstract class RtuiDynamicSelectorsDirective {
|
|
|
1355
1513
|
/** Material elements appearance */
|
|
1356
1514
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
1357
1515
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorsDirective, never>;
|
|
1358
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicSelectorsDirective, never, never, { "
|
|
1516
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicSelectorsDirective, never, never, { "buttonTitle": { "alias": "buttonTitle"; "required": false; "isSignal": true; }; "isSingleSelection": { "alias": "isSingleSelection"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "useNameBreaking": { "alias": "useNameBreaking"; "required": false; "isSignal": true; }; "useTitleCase": { "alias": "useTitleCase"; "required": false; "isSignal": true; }; "isPlaceholderIconOutlined": { "alias": "isPlaceholderIconOutlined"; "required": false; "isSignal": true; }; "isDeleteButtonShown": { "alias": "isDeleteButtonShown"; "required": false; "isSignal": true; }; "isListDraggable": { "alias": "isListDraggable"; "required": false; "isSignal": true; }; "placeholderIcon": { "alias": "placeholderIcon"; "required": false; "isSignal": true; }; "placeholderDescription": { "alias": "placeholderDescription"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1359
1517
|
}
|
|
1360
1518
|
|
|
1361
|
-
interface
|
|
1362
|
-
autocompleteControl: FormControl<
|
|
1519
|
+
interface IFormModel$1 {
|
|
1520
|
+
autocompleteControl: FormControl<TNullable<string>>;
|
|
1363
1521
|
}
|
|
1364
1522
|
/** Directive for row actions located outside a row menu button */
|
|
1365
1523
|
declare class RtuiDynamicSelectorAdditionalControlDirective {
|
|
@@ -1375,9 +1533,9 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1375
1533
|
#private;
|
|
1376
1534
|
/** Config for overlay selector */
|
|
1377
1535
|
protected readonly connectedOverlayPositions: ConnectedPosition[];
|
|
1378
|
-
form: FormGroup<
|
|
1536
|
+
form: FormGroup<IFormModel$1>;
|
|
1379
1537
|
/** Target element for overlay selector */
|
|
1380
|
-
selectedOverlayTrigger:
|
|
1538
|
+
selectedOverlayTrigger: TNullable<CdkOverlayOrigin>;
|
|
1381
1539
|
/** A model's field which should be used for http-requests */
|
|
1382
1540
|
keyExp: InputSignal<KEY>;
|
|
1383
1541
|
/** A model's field which should be shown in ui */
|
|
@@ -1417,7 +1575,7 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1417
1575
|
/** Indicates that an additional control has been changed */
|
|
1418
1576
|
additionalControlChanged: InputSignal<boolean>;
|
|
1419
1577
|
/** Custom sort function for entities list in popup */
|
|
1420
|
-
sortFn: InputSignal<
|
|
1578
|
+
sortFn: InputSignal<TNullable<(a: ENTITY, b: ENTITY) => number>>;
|
|
1421
1579
|
/** Output search action */
|
|
1422
1580
|
readonly searchAction: OutputEmitterRef<string>;
|
|
1423
1581
|
/** Output scroll action, needed for lazy loading */
|
|
@@ -1441,11 +1599,11 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1441
1599
|
/** Entities can be chosen, except selected on init */
|
|
1442
1600
|
readonly entitiesToSelect: Signal<ENTITY[]>;
|
|
1443
1601
|
/** Additional control for entity */
|
|
1444
|
-
readonly additionalControlTpl: Signal<
|
|
1602
|
+
readonly additionalControlTpl: Signal<TNullable<TemplateRef<{
|
|
1445
1603
|
$implicit: ENTITY;
|
|
1446
1604
|
}>>>;
|
|
1447
1605
|
/** Custom item title template */
|
|
1448
|
-
readonly itemTitleTpl: Signal<
|
|
1606
|
+
readonly itemTitleTpl: Signal<TNullable<TemplateRef<{
|
|
1449
1607
|
$implicit: ENTITY;
|
|
1450
1608
|
}>>>;
|
|
1451
1609
|
ngOnInit(): void;
|
|
@@ -1478,9 +1636,9 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1478
1636
|
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorComponent<any, any>, "rtui-dynamic-selector", never, { "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "entities": { "alias": "entities"; "required": true; "isSignal": true; }; "navigateButtonTitle": { "alias": "navigateButtonTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "readonlyEntitiesKeys": { "alias": "readonlyEntitiesKeys"; "required": false; "isSignal": true; }; "chosenEntities": { "alias": "chosenEntities"; "required": false; "isSignal": true; }; "isSelectionAvailable": { "alias": "isSelectionAvailable"; "required": false; "isSignal": true; }; "isPlaceholderShown": { "alias": "isPlaceholderShown"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "isLazyLoad": { "alias": "isLazyLoad"; "required": false; "isSignal": true; }; "isLocalSearch": { "alias": "isLocalSearch"; "required": false; "isSignal": true; }; "isMultiToggleShown": { "alias": "isMultiToggleShown"; "required": false; "isSignal": true; }; "isSelectAllButtonShown": { "alias": "isSelectAllButtonShown"; "required": false; "isSignal": true; }; "isOpenPopupButtonShown": { "alias": "isOpenPopupButtonShown"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "additionalControlChanged": { "alias": "additionalControlChanged"; "required": false; "isSignal": true; }; "sortFn": { "alias": "sortFn"; "required": false; "isSignal": true; }; }, { "chosenEntities": "chosenEntitiesChange"; "searchAction": "searchAction"; "scrollAction": "scrollAction"; "temporarySelectAction": "temporarySelectAction"; "resetAction": "resetAction"; "selectionChangeAction": "selectionChangeAction"; }, ["additionalControlTpl", "itemTitleTpl"], never, true, never>;
|
|
1479
1637
|
}
|
|
1480
1638
|
|
|
1481
|
-
interface
|
|
1639
|
+
interface IFormModel {
|
|
1482
1640
|
control: FormControl<string[]>;
|
|
1483
|
-
controlForUi: FormControl<
|
|
1641
|
+
controlForUi: FormControl<TNullable<string>>;
|
|
1484
1642
|
}
|
|
1485
1643
|
/** Directive for row actions located outside a row menu button */
|
|
1486
1644
|
declare class RtuiDynamicInputAdditionalControlDirective {
|
|
@@ -1489,9 +1647,9 @@ declare class RtuiDynamicInputAdditionalControlDirective {
|
|
|
1489
1647
|
}
|
|
1490
1648
|
declare class RtuiDynamicInputComponent extends RtuiDynamicSelectorsDirective implements ControlValueAccessor, Validator, OnInit {
|
|
1491
1649
|
#private;
|
|
1492
|
-
form: FormGroup<
|
|
1650
|
+
form: FormGroup<IFormModel>;
|
|
1493
1651
|
/** Indicates is placeholder shown */
|
|
1494
|
-
isPlaceholderShown: ModelSignal<
|
|
1652
|
+
isPlaceholderShown: ModelSignal<TNullable<boolean>>;
|
|
1495
1653
|
/** Indicates is inputs-editable */
|
|
1496
1654
|
isInputsEditable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1497
1655
|
/** Input label */
|
|
@@ -1509,7 +1667,7 @@ declare class RtuiDynamicInputComponent extends RtuiDynamicSelectorsDirective im
|
|
|
1509
1667
|
/** Indicates the reset changes button is disabled */
|
|
1510
1668
|
readonly isResetButtonDisabled: WritableSignal<boolean>;
|
|
1511
1669
|
/** Additional control for entity */
|
|
1512
|
-
readonly additionalControlTpl: Signal<
|
|
1670
|
+
readonly additionalControlTpl: Signal<TNullable<TemplateRef<{
|
|
1513
1671
|
$implicit: string;
|
|
1514
1672
|
}>>>;
|
|
1515
1673
|
ngOnInit(): void;
|
|
@@ -1547,16 +1705,9 @@ declare class RtuiDynamicInputComponent extends RtuiDynamicSelectorsDirective im
|
|
|
1547
1705
|
|
|
1548
1706
|
declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unknown>, KEY extends Extract<keyof ENTITY, string>> implements OnInit, AfterViewInit {
|
|
1549
1707
|
#private;
|
|
1550
|
-
/** Экран узкий:
|
|
1708
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1551
1709
|
protected readonly narrow: Signal<boolean>;
|
|
1552
1710
|
protected readonly oSTypes: typeof OSTypes;
|
|
1553
|
-
/**
|
|
1554
|
-
* Признак узкого экрана.
|
|
1555
|
-
*
|
|
1556
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
1557
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
1558
|
-
*/
|
|
1559
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
1560
1711
|
entitiesToSelect: InputSignalWithTransform<ENTITY[], ENTITY[]>;
|
|
1561
1712
|
/** Material elements appearance */
|
|
1562
1713
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
@@ -1583,9 +1734,9 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1583
1734
|
/** Indicates is BreakStringPipe used */
|
|
1584
1735
|
useNameBreaking: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1585
1736
|
/** Indicates lazy loading is used */
|
|
1586
|
-
isLazyLoad: InputSignalWithTransform<
|
|
1737
|
+
isLazyLoad: InputSignalWithTransform<TNullable<boolean>, boolean>;
|
|
1587
1738
|
/** Indicates local search is used */
|
|
1588
|
-
isLocalSearch: InputSignalWithTransform<
|
|
1739
|
+
isLocalSearch: InputSignalWithTransform<TNullable<boolean>, boolean>;
|
|
1589
1740
|
/** Keys of a pinned group kept at the top of the list — a trailing divider is drawn after the last visible one */
|
|
1590
1741
|
pinnedKeys: InputSignalWithTransform<ENTITY[KEY][], ENTITY[KEY][]>;
|
|
1591
1742
|
/** Send output selected entities ids */
|
|
@@ -1599,9 +1750,9 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1599
1750
|
/** Output temporary selection action, needed for store values */
|
|
1600
1751
|
readonly temporarySelectAction: OutputEmitterRef<ENTITY[]>;
|
|
1601
1752
|
/** Search input Ref for set focus on init */
|
|
1602
|
-
readonly searchInputRef: Signal<
|
|
1753
|
+
readonly searchInputRef: Signal<TNullable<ElementRef<HTMLInputElement>>>;
|
|
1603
1754
|
/** Form control for search */
|
|
1604
|
-
readonly searchControl: FormControl<
|
|
1755
|
+
readonly searchControl: FormControl<TNullable<string>>;
|
|
1605
1756
|
/** Form control for select */
|
|
1606
1757
|
readonly selectionControl: FormControl<ENTITY[KEY][]>;
|
|
1607
1758
|
/** Entities filtered by local search */
|
|
@@ -1615,7 +1766,7 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1615
1766
|
/** Indicates is macOS used */
|
|
1616
1767
|
readonly isMacOS: Signal<boolean>;
|
|
1617
1768
|
/** Key of the last visible pinned option — its row gets a trailing divider */
|
|
1618
|
-
readonly lastSeparatedKey: Signal<
|
|
1769
|
+
readonly lastSeparatedKey: Signal<TNullable<ENTITY[KEY]>>;
|
|
1619
1770
|
ngOnInit(): void;
|
|
1620
1771
|
/** Set focus on search input */
|
|
1621
1772
|
ngAfterViewInit(): void;
|
|
@@ -1638,7 +1789,7 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1638
1789
|
/** Scroll action, needed for lazy loading mode */
|
|
1639
1790
|
scroll(): void;
|
|
1640
1791
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiMultiSelectorPopupComponent<any, any>, never>;
|
|
1641
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiMultiSelectorPopupComponent<any, any>, "rtui-multi-selector-popup", never, { "
|
|
1792
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiMultiSelectorPopupComponent<any, any>, "rtui-multi-selector-popup", never, { "entitiesToSelect": { "alias": "entitiesToSelect"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "navigateButtonTitle": { "alias": "navigateButtonTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "isSingleSelection": { "alias": "isSingleSelection"; "required": false; "isSignal": true; }; "isMultiToggleShown": { "alias": "isMultiToggleShown"; "required": false; "isSignal": true; }; "isSelectAllButtonShown": { "alias": "isSelectAllButtonShown"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "useNameBreaking": { "alias": "useNameBreaking"; "required": false; "isSignal": true; }; "isLazyLoad": { "alias": "isLazyLoad"; "required": false; "isSignal": true; }; "isLocalSearch": { "alias": "isLocalSearch"; "required": false; "isSignal": true; }; "pinnedKeys": { "alias": "pinnedKeys"; "required": false; "isSignal": true; }; }, { "submitAction": "submitAction"; "closeAction": "closeAction"; "searchAction": "searchAction"; "scrollAction": "scrollAction"; "temporarySelectAction": "temporarySelectAction"; }, never, never, true, never>;
|
|
1642
1793
|
}
|
|
1643
1794
|
|
|
1644
1795
|
declare class RtuiDynamicSelectorPlaceholderComponent {
|
|
@@ -1656,15 +1807,8 @@ declare class RtuiDynamicSelectorPlaceholderComponent {
|
|
|
1656
1807
|
|
|
1657
1808
|
declare class RtuiDynamicSelectorListActionsComponent {
|
|
1658
1809
|
#private;
|
|
1659
|
-
/** Экран узкий:
|
|
1810
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1660
1811
|
protected readonly narrow: Signal<boolean>;
|
|
1661
|
-
/**
|
|
1662
|
-
* Признак узкого экрана.
|
|
1663
|
-
*
|
|
1664
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
1665
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
1666
|
-
*/
|
|
1667
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
1668
1812
|
isResetButtonDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
1669
1813
|
isClearButtonDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
1670
1814
|
disabled: InputSignalWithTransform<boolean, boolean>;
|
|
@@ -1673,7 +1817,7 @@ declare class RtuiDynamicSelectorListActionsComponent {
|
|
|
1673
1817
|
onReset(): void;
|
|
1674
1818
|
onClear(): void;
|
|
1675
1819
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorListActionsComponent, never>;
|
|
1676
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorListActionsComponent, "rtui-dynamic-selector-list-actions", never, { "
|
|
1820
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorListActionsComponent, "rtui-dynamic-selector-list-actions", never, { "isResetButtonDisabled": { "alias": "isResetButtonDisabled"; "required": true; "isSignal": true; }; "isClearButtonDisabled": { "alias": "isClearButtonDisabled"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "resetAction": "resetAction"; "clearAction": "clearAction"; }, never, never, true, never>;
|
|
1677
1821
|
}
|
|
1678
1822
|
|
|
1679
1823
|
/** Directive for row actions located outside a row menu button */
|
|
@@ -1688,17 +1832,10 @@ declare class RtuiDynamicSelectorItemTitleDirective {
|
|
|
1688
1832
|
}
|
|
1689
1833
|
declare class RtuiDynamicSelectorSelectedListComponent<ENTITY extends Record<string, unknown>, KEY extends Extract<keyof ENTITY, string>> {
|
|
1690
1834
|
#private;
|
|
1691
|
-
/** Экран узкий:
|
|
1835
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1692
1836
|
protected readonly narrow: Signal<boolean>;
|
|
1693
|
-
protected readonly editedItemIndex: WritableSignal<
|
|
1694
|
-
readonly inputRef: Signal<
|
|
1695
|
-
/**
|
|
1696
|
-
* Признак узкого экрана.
|
|
1697
|
-
*
|
|
1698
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
1699
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
1700
|
-
*/
|
|
1701
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
1837
|
+
protected readonly editedItemIndex: WritableSignal<TNullable<number>>;
|
|
1838
|
+
readonly inputRef: Signal<TNullable<MatInput>>;
|
|
1702
1839
|
/** A model's field, which should be used for http-requests */
|
|
1703
1840
|
keyExp: InputSignal<KEY>;
|
|
1704
1841
|
/** A model's field, which should be shown in ui */
|
|
@@ -1726,35 +1863,28 @@ declare class RtuiDynamicSelectorSelectedListComponent<ENTITY extends Record<str
|
|
|
1726
1863
|
new: string;
|
|
1727
1864
|
}>;
|
|
1728
1865
|
/** Additional control for entity */
|
|
1729
|
-
readonly additionalControlTpl: Signal<
|
|
1866
|
+
readonly additionalControlTpl: Signal<TNullable<TemplateRef<{
|
|
1730
1867
|
$implicit: ENTITY;
|
|
1731
1868
|
}>>>;
|
|
1732
1869
|
/** Custom item title template */
|
|
1733
|
-
readonly itemTitleTpl: Signal<
|
|
1870
|
+
readonly itemTitleTpl: Signal<TNullable<TemplateRef<{
|
|
1734
1871
|
$implicit: ENTITY;
|
|
1735
1872
|
}>>>;
|
|
1736
1873
|
protected onDelete(value: ENTITY[KEY]): void;
|
|
1737
1874
|
protected onDrop(event: CdkDragDrop<ENTITY[]>): void;
|
|
1738
1875
|
protected changeValue(prev: ENTITY[KEY]): void;
|
|
1739
|
-
protected setEditModState(index:
|
|
1876
|
+
protected setEditModState(index: TNullable<number>): void;
|
|
1740
1877
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorSelectedListComponent<any, any>, never>;
|
|
1741
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorSelectedListComponent<any, any>, "rtui-dynamic-selector-selected-list", never, { "
|
|
1878
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorSelectedListComponent<any, any>, "rtui-dynamic-selector-selected-list", never, { "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "selectedEntities": { "alias": "selectedEntities"; "required": true; "isSignal": true; }; "readonlyEntitiesKeys": { "alias": "readonlyEntitiesKeys"; "required": false; "isSignal": true; }; "isListDraggable": { "alias": "isListDraggable"; "required": false; "isSignal": true; }; "useNameBreaking": { "alias": "useNameBreaking"; "required": false; "isSignal": true; }; "useTitleCase": { "alias": "useTitleCase"; "required": false; "isSignal": true; }; "isDeleteButtonShown": { "alias": "isDeleteButtonShown"; "required": false; "isSignal": true; }; "isItemsEditable": { "alias": "isItemsEditable"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, { "deleteFromSelectedAction": "deleteFromSelectedAction"; "dropAction": "dropAction"; "changeValueAction": "changeValueAction"; }, ["additionalControlTpl", "itemTitleTpl"], never, true, never>;
|
|
1742
1879
|
}
|
|
1743
1880
|
|
|
1744
|
-
type
|
|
1881
|
+
type TImageUploadFormat = 'png' | 'jpeg' | 'webp';
|
|
1745
1882
|
declare class RtuiImageUploadComponent {
|
|
1746
1883
|
#private;
|
|
1747
|
-
/** Экран узкий:
|
|
1884
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1748
1885
|
protected readonly narrow: Signal<boolean>;
|
|
1749
|
-
protected readonly imageFormat: Signal<
|
|
1750
|
-
imageUrl: ModelSignal<
|
|
1751
|
-
/**
|
|
1752
|
-
* Признак узкого экрана.
|
|
1753
|
-
*
|
|
1754
|
-
* @deprecated Кит определяет его сам — `RtuiBreakpointsService`. Вход оставлен ради
|
|
1755
|
-
* приложений, которые уже его передают, и уйдёт в следующем крупном выпуске.
|
|
1756
|
-
*/
|
|
1757
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean> | string>;
|
|
1886
|
+
protected readonly imageFormat: Signal<TImageUploadFormat>;
|
|
1887
|
+
imageUrl: ModelSignal<TNullable<string>>;
|
|
1758
1888
|
fileName: InputSignalWithTransform<string, string>;
|
|
1759
1889
|
isActive: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1760
1890
|
isSaveButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -1766,8 +1896,8 @@ declare class RtuiImageUploadComponent {
|
|
|
1766
1896
|
tooltipPosition: InputSignal<TooltipPosition>;
|
|
1767
1897
|
imageQuality: InputSignal<number>;
|
|
1768
1898
|
originalImage: WritableSignal<File | undefined>;
|
|
1769
|
-
croppedImage: WritableSignal<
|
|
1770
|
-
tempImage: WritableSignal<
|
|
1899
|
+
croppedImage: WritableSignal<TNullable<File>>;
|
|
1900
|
+
tempImage: WritableSignal<TNullable<string>>;
|
|
1771
1901
|
readonly imageChanged: OutputEmitterRef<File>;
|
|
1772
1902
|
readonly save: OutputEmitterRef<void>;
|
|
1773
1903
|
onFileSelect(event: Event): void;
|
|
@@ -1777,16 +1907,16 @@ declare class RtuiImageUploadComponent {
|
|
|
1777
1907
|
onCancel(): void;
|
|
1778
1908
|
onDownloadImage(): void;
|
|
1779
1909
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiImageUploadComponent, never>;
|
|
1780
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiImageUploadComponent, "rtui-image-upload", never, { "imageUrl": { "alias": "imageUrl"; "required": true; "isSignal": true; }; "
|
|
1910
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiImageUploadComponent, "rtui-image-upload", never, { "imageUrl": { "alias": "imageUrl"; "required": true; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isSaveButtonShown": { "alias": "isSaveButtonShown"; "required": false; "isSignal": true; }; "isDownloadButtonEnabled": { "alias": "isDownloadButtonEnabled"; "required": false; "isSignal": true; }; "isTooltipDisabled": { "alias": "isTooltipDisabled"; "required": false; "isSignal": true; }; "isActionsShown": { "alias": "isActionsShown"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "imageQuality": { "alias": "imageQuality"; "required": false; "isSignal": true; }; }, { "imageUrl": "imageUrlChange"; "imageChanged": "imageChanged"; "save": "save"; }, never, never, true, never>;
|
|
1781
1911
|
}
|
|
1782
1912
|
|
|
1783
|
-
type
|
|
1913
|
+
type TMenuItemTrigger = 'click' | 'hover';
|
|
1784
1914
|
declare class RtPopoverDirective implements OnInit, OnDestroy {
|
|
1785
1915
|
#private;
|
|
1786
1916
|
xOffset: InputSignalWithTransform<number, NumberInput>;
|
|
1787
1917
|
yOffset: InputSignalWithTransform<number, NumberInput>;
|
|
1788
|
-
trigger: InputSignalWithTransform<
|
|
1789
|
-
template: InputSignalWithTransform<
|
|
1918
|
+
trigger: InputSignalWithTransform<TMenuItemTrigger, TMenuItemTrigger>;
|
|
1919
|
+
template: InputSignalWithTransform<TNullable<TemplateRef<HTMLElement>>, TNullable<TemplateRef<HTMLElement>>>;
|
|
1790
1920
|
isMouseHoverAllowed: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1791
1921
|
onClick(element: EventTarget | null): void;
|
|
1792
1922
|
onMouseEnter(): void;
|
|
@@ -1826,6 +1956,12 @@ declare class RtuiActionBarComponent {
|
|
|
1826
1956
|
declare class RtuiActionBarContainerComponent {
|
|
1827
1957
|
#private;
|
|
1828
1958
|
readonly config: Signal<IRtActionBar.Config>;
|
|
1959
|
+
/** Выбрано ли что-нибудь: этим панель и открывается. */
|
|
1960
|
+
readonly opened: Signal<boolean>;
|
|
1961
|
+
/** Стоит ли панель в разметке: она остаётся в ней и на время ухода. */
|
|
1962
|
+
readonly shown: Signal<boolean>;
|
|
1963
|
+
readonly leaving: Signal<boolean>;
|
|
1964
|
+
constructor();
|
|
1829
1965
|
closeBar(): void;
|
|
1830
1966
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiActionBarContainerComponent, never>;
|
|
1831
1967
|
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiActionBarContainerComponent, "rtui-action-bar-container", never, {}, {}, never, never, true, never>;
|
|
@@ -1856,10 +1992,10 @@ declare class RtActionBarService {
|
|
|
1856
1992
|
*/
|
|
1857
1993
|
declare class RtThemeService {
|
|
1858
1994
|
#private;
|
|
1859
|
-
readonly theme: Signal<
|
|
1995
|
+
readonly theme: Signal<TRtThemeType>;
|
|
1860
1996
|
readonly colorScheme: Signal<string | null>;
|
|
1861
1997
|
constructor();
|
|
1862
|
-
setTheme(theme:
|
|
1998
|
+
setTheme(theme: TRtThemeType): void;
|
|
1863
1999
|
/** Toggles between light and dark (auto resolves to its opposite visual state). */
|
|
1864
2000
|
toggle(): void;
|
|
1865
2001
|
/**
|
|
@@ -1873,7 +2009,7 @@ declare class RtThemeService {
|
|
|
1873
2009
|
* for SSR/brand-critical schemes prefer the Sass path). Does not activate the
|
|
1874
2010
|
* scheme — call {@link setColorScheme} afterwards.
|
|
1875
2011
|
*/
|
|
1876
|
-
registerColorScheme(name: string, ramp:
|
|
2012
|
+
registerColorScheme(name: string, ramp: TRtColorSchemeRamp): void;
|
|
1877
2013
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtThemeService, never>;
|
|
1878
2014
|
static ɵprov: i0.ɵɵInjectableDeclaration<RtThemeService>;
|
|
1879
2015
|
}
|
|
@@ -1893,7 +2029,7 @@ declare class RtThemeService {
|
|
|
1893
2029
|
* on elements inside the context (e.g. `color: var(--rt-text-base-primary)`).
|
|
1894
2030
|
*/
|
|
1895
2031
|
declare class RtThemeDirective {
|
|
1896
|
-
readonly rtTheme: InputSignal<
|
|
2032
|
+
readonly rtTheme: InputSignal<TRtThemeType | ''>;
|
|
1897
2033
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtThemeDirective, never>;
|
|
1898
2034
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtThemeDirective, "[rtTheme]", never, { "rtTheme": { "alias": "rtTheme"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1899
2035
|
}
|
|
@@ -1911,5 +2047,5 @@ declare class RtHideTooltipDirective implements AfterViewInit {
|
|
|
1911
2047
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtHideTooltipDirective, "[rtHideTooltipDirective]", never, { "element": { "alias": "rtHideTooltipDirective"; "required": true; "isSignal": true; }; "isTooltipShown": { "alias": "isTooltipShown"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1912
2048
|
}
|
|
1913
2049
|
|
|
1914
|
-
export {
|
|
1915
|
-
export type {
|
|
2050
|
+
export { ASIDE_REF, AsideRef, DEFAULT_PAGE_MODEL, DEFAULT_PAGE_SIZE, EAsideButtons, EInfoBadgeSize, EInfoBadgeType, EModalWindowSize, ERtAccentRole, ERtTheme, ETableColumnFilterTypes, ETableColumnTypes, ETextCellColor, EToggleSizeType, IAside, IModal, IRtActionBar, IRtSnackBar, IRtUiConfig, IRtuiButton, ISideMenu, ITable, RTUI_SIDE_MENU, RTUI_TABLE_COMPONENT_TOKEN, RTUI_TABLE_STOP_ROW_CLICK_ATTRIBUTE, RT_COLOR_SCHEME_STORAGE_KEY, RT_DARK_CLASS, RT_DEFAULT_SCHEME, RT_SCHEME_ATTRIBUTE, RT_THEME_ATTRIBUTE, RT_THEME_AUTO_CLASS, RT_THEME_STORAGE_KEY, RT_UI_CONFIG, RtActionBarService, RtAsideService, RtDynamicListSelectorsDirective, RtHideTooltipDirective, RtModalService, RtPopoverDirective, RtSnackBarService, RtTableConfigService, RtTableSelectorsDirective, RtThemeDirective, RtThemeService, RtuiActionBarComponent, RtuiActionBarContainerComponent, RtuiAsideContainerComponent, RtuiAsideContainerHeaderDirective, RtuiButtonComponent, RtuiClearButtonComponent, RtuiCustomTableCellsDirective, RtuiDynamicInputAdditionalControlDirective, RtuiDynamicInputComponent, RtuiDynamicListComponent, RtuiDynamicListCustomTableCellsDirective, RtuiDynamicListRowActionsDirective, RtuiDynamicListRowAdditionalActionsDirective, RtuiDynamicListToolbarActionsDirective, RtuiDynamicListToolbarSelectorsDirective, RtuiDynamicSelectorAdditionalControlDirective, RtuiDynamicSelectorComponent, RtuiDynamicSelectorItemAdditionalControlDirective, RtuiDynamicSelectorItemTitleDirective, RtuiDynamicSelectorItemTitleProjectionDirective, RtuiDynamicSelectorListActionsComponent, RtuiDynamicSelectorPlaceholderComponent, RtuiDynamicSelectorSelectedListComponent, RtuiFileUploadComponent, RtuiHeaderCenterDirective, RtuiHeaderComponent, RtuiHeaderLeftDirective, RtuiHeaderRightDirective, RtuiIconComponent, RtuiImageUploadComponent, RtuiInfoBadgeComponent, RtuiModalComponent, RtuiMultiButtonComponent, RtuiMultiSelectorPopupComponent, RtuiPaginationComponent, RtuiScrollableContainerComponent, RtuiScrollableContainerContentDirective, RtuiScrollableContainerFooterDirective, RtuiScrollableContainerHeaderDirective, RtuiSideMenuComponent, RtuiSideMenuFooterDirective, RtuiSideMenuHeaderDirective, RtuiSnackBarComponent, RtuiSpinnerComponent, RtuiStopTableRowClickDirective, RtuiTableAdditionalRowActionsDirective, RtuiTableComponent, RtuiTableRowActionsDirective, RtuiTableRowClickDirective, RtuiToggleComponent, RtuiToolbarCenterDirective, RtuiToolbarComponent, RtuiToolbarLeftDirective, RtuiToolbarRightDirective, SUB_MENU_MODE_KEY, SUB_MENU_WIDTH_KEY, SUB_MENU_WIDTH_MAX, SUB_MENU_WIDTH_MIN, clampSubMenuWidth, comparePropNames, darkenHexColor, getColorBasedOnBackground, provideRtUi, readSubMenuMode, readSubMenuWidth, splitSubMenuTitle, writeSubMenuMode, writeSubMenuWidth };
|
|
2051
|
+
export type { IAsideConfig, IModalIcon, INameValueType, IRtuiSideMenuHost, IRtuiTable, ISelect, ISubMenuTitlePart, TAsideButtonsType, TAsidePositions, TIconSideType, TImageUploadFormat, TInfoBadgeSizeType, TInfoBadgeType, TMenuItemTrigger, TModalButtonAppearance, TModalWindowSizeType, TRtAccentRole, TRtColorSchemeRamp, TRtThemeType, TRtUiDesign, TRtuiIconSizeType, TRtuiIconThemeType, TToggleSizeType };
|