@rt-tools/ui-kit 0.3.1 → 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 +4394 -3750
- 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/bar/rtui-action-bar.component.scss +14 -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/error-notification/aside-error-box.component.scss +1 -1
- package/src/lib/ui-kit/aside/components/panel/aside-panel.component.scss +24 -0
- package/src/lib/ui-kit/buttons/unified-button/rtui-button.component.scss +210 -206
- package/src/lib/ui-kit/buttons/unified-button/stories/component/test-button-matrix.component.scss +38 -0
- package/src/lib/ui-kit/icon/rtui-icon.component.scss +43 -24
- package/src/lib/ui-kit/info-badge/info-badge.component.scss +23 -23
- 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/spinner/spinner.component.scss +1 -1
- package/src/lib/ui-kit/table/components/pagination-view/rtui-pagination.component.scss +20 -17
- package/src/lib/ui-kit/table/components/table-base-cell/table-base-cell.component.scss +21 -0
- package/src/lib/ui-kit/table/components/table-container/table-container.component.scss +26 -0
- package/src/lib/ui-kit/table/stories/dynamic-list/test-dynamic-list.component.scss +18 -0
- package/src/lib/ui-kit/toolbar/stories/component/test-toolbar.component.scss +22 -0
- package/src/styles/TOKENS.md +25 -16
- package/src/styles/base/_base.scss +6 -3
- package/src/styles/base/_tokens.scss +24 -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/src/styles/main.scss +0 -1
- package/styles/tokens.css +11 -0
- package/types/rt-tools-ui-kit.d.ts +614 -361
- package/rt-tools-ui-kit-0.3.1.tgz +0 -0
- package/src/styles/components/_button.scss +0 -372
|
@@ -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,21 +265,69 @@ declare class RtuiSideMenuFooterDirective {
|
|
|
153
265
|
}
|
|
154
266
|
declare class RtuiSideMenuComponent {
|
|
155
267
|
#private;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
268
|
+
/**
|
|
269
|
+
* Ширина подменю в оформлении. Своего выбора нет — переменная не ставится вовсе, и ширину
|
|
270
|
+
* берёт набор токенов: своё число здесь подменило бы его молча.
|
|
271
|
+
*/
|
|
272
|
+
/**
|
|
273
|
+
* Натянутая ширина панели. Кладётся своим свойством, а не тем, каким ширину задаёт
|
|
274
|
+
* потребитель: панель берёт наибольшее из двух, и заданная оформлением ширина остаётся нижним
|
|
275
|
+
* пределом сама по себе. Числом в ките этот предел назвать нечем — ширину знает потребитель.
|
|
276
|
+
*/
|
|
277
|
+
protected readonly subMenuWidthStyle: Signal<string | null>;
|
|
278
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
279
|
+
protected readonly narrow: Signal<boolean>;
|
|
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>>>;
|
|
159
306
|
readonly backToMainMenuButton: Signal<ISideMenu.Item>;
|
|
160
|
-
readonly selectedItem: WritableSignal<
|
|
161
|
-
readonly selectedSubMenu: WritableSignal<
|
|
307
|
+
readonly selectedItem: WritableSignal<TNullable<ISideMenu.Item>>;
|
|
308
|
+
readonly selectedSubMenu: WritableSignal<TNullable<ISideMenu.Item[]>>;
|
|
162
309
|
activeMenuIds: InputSignal<Array<string | number>>;
|
|
163
310
|
menuItems: InputSignalWithTransform<ISideMenu.Item[], ISideMenu.Item[]>;
|
|
164
|
-
|
|
311
|
+
/** Мода подменю. Умолчание — сегодняшнее поведение: открывается наведением. */
|
|
312
|
+
subMenuMode: InputSignal<ISideMenu.SubMenuMode>;
|
|
313
|
+
/**
|
|
314
|
+
* Ширина закреплённого подменю в пикселях. Пустая — ширину ставит оформление; хранит выбор
|
|
315
|
+
* потребитель, как и моду.
|
|
316
|
+
*/
|
|
317
|
+
subMenuWidth: InputSignal<number | null>;
|
|
165
318
|
isSubMenuXScrollEnabled: InputSignalWithTransform<boolean, boolean>;
|
|
166
319
|
isMainMenuIconsOutlined: InputSignalWithTransform<boolean, boolean>;
|
|
167
320
|
isSubMenuIconsOutlined: InputSignalWithTransform<boolean, boolean>;
|
|
168
321
|
isSubMenuButtonIconsOutlined: InputSignalWithTransform<boolean, boolean>;
|
|
169
322
|
isSubMenuTooltipsShown: InputSignalWithTransform<boolean, boolean>;
|
|
170
323
|
activeMenuId: Signal<number | string>;
|
|
324
|
+
/**
|
|
325
|
+
* Просьба о моде, а не смена моды: предпочтение хранит потребитель кита и возвращает его
|
|
326
|
+
* входом. Своего состояния о нём меню не заводит.
|
|
327
|
+
*/
|
|
328
|
+
readonly subMenuModeChange: OutputEmitterRef<ISideMenu.SubMenuMode>;
|
|
329
|
+
/** Просьба о ширине — по той же причине, что и просьба о моде: своего состояния меню не держит. */
|
|
330
|
+
readonly subMenuWidthChange: OutputEmitterRef<number>;
|
|
171
331
|
readonly closeMobileMenuAction: OutputEmitterRef<void>;
|
|
172
332
|
readonly clickSubMenuAction: OutputEmitterRef<{
|
|
173
333
|
item: ISideMenu.Item;
|
|
@@ -185,50 +345,84 @@ declare class RtuiSideMenuComponent {
|
|
|
185
345
|
onBackToMainMenu(): void;
|
|
186
346
|
toggleSubMenu(item?: ISideMenu.Item): void;
|
|
187
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;
|
|
188
361
|
closeMobileMenu(): void;
|
|
189
362
|
clickSubMenuAdditional({ data, event }: {
|
|
190
363
|
data: ISideMenu.ItemData;
|
|
191
364
|
event: MouseEvent;
|
|
192
365
|
}): void;
|
|
193
366
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSideMenuComponent, never>;
|
|
194
|
-
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>;
|
|
195
368
|
}
|
|
196
369
|
|
|
197
|
-
declare class RtuiSpinnerComponent {
|
|
370
|
+
declare class RtuiSpinnerComponent implements OnInit {
|
|
371
|
+
#private;
|
|
198
372
|
diameter: InputSignalWithTransform<number, number>;
|
|
199
373
|
showBox: InputSignalWithTransform<boolean, boolean>;
|
|
200
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;
|
|
201
389
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSpinnerComponent, never>;
|
|
202
|
-
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>;
|
|
203
391
|
}
|
|
204
392
|
|
|
205
|
-
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
|
+
}
|
|
206
404
|
declare class AsideRef<DATA, ANSWER> {
|
|
207
405
|
private answer;
|
|
208
406
|
overlayRef: OverlayRef;
|
|
209
407
|
component: ComponentType<unknown>;
|
|
210
|
-
position:
|
|
408
|
+
position: TAsidePositions;
|
|
211
409
|
data: DATA;
|
|
212
|
-
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);
|
|
213
411
|
close(answer?: ANSWER): void;
|
|
214
412
|
}
|
|
215
413
|
declare const ASIDE_REF: InjectionToken<AsideRef<object, object>>;
|
|
216
|
-
declare const ddServices: Array<{
|
|
217
|
-
provide: string;
|
|
218
|
-
useValue: unknown;
|
|
219
|
-
}>;
|
|
220
414
|
|
|
221
|
-
declare enum
|
|
415
|
+
declare enum EAsideButtons {
|
|
222
416
|
USER_ACTIVE = "User active",
|
|
223
417
|
USER_INACTIVE = "User inactive",
|
|
224
418
|
DELETE = "Delete",
|
|
225
419
|
RESET = "Reset"
|
|
226
420
|
}
|
|
227
|
-
type
|
|
421
|
+
type TAsideButtonsType = EAsideButtons.USER_ACTIVE | EAsideButtons.USER_INACTIVE | EAsideButtons.DELETE | EAsideButtons.RESET;
|
|
228
422
|
|
|
229
423
|
declare namespace IAside {
|
|
230
424
|
interface HeaderActionButton {
|
|
231
|
-
name:
|
|
425
|
+
name: TAsideButtonsType;
|
|
232
426
|
icon: string;
|
|
233
427
|
color: string;
|
|
234
428
|
tooltip: string;
|
|
@@ -238,6 +432,13 @@ declare namespace IAside {
|
|
|
238
432
|
|
|
239
433
|
declare class RtAsideService {
|
|
240
434
|
#private;
|
|
435
|
+
/**
|
|
436
|
+
* Закрытие каждой открытой панели объявлено один раз, а не заводится вызовом открытия.
|
|
437
|
+
*
|
|
438
|
+
* Потоки сливаются, а не сменяют друг друга: панели живут порознь, и оборванный поток
|
|
439
|
+
* предыдущей оставил бы её на экране — снять её после этого нечем.
|
|
440
|
+
*/
|
|
441
|
+
constructor();
|
|
241
442
|
/**
|
|
242
443
|
* Opens an aside panel with a specified component, position, and data.
|
|
243
444
|
*
|
|
@@ -251,7 +452,7 @@ declare class RtAsideService {
|
|
|
251
452
|
*
|
|
252
453
|
* @returns An observable that emits the response from the aside panel when it is closed.
|
|
253
454
|
*/
|
|
254
|
-
|
|
455
|
+
open<COMPONENT = null, DATA = null, ANSWER = null>(component: ComponentType$1<COMPONENT>, position: TAsidePositions, data: DATA, config?: IAsideConfig): Observable<ANSWER | null>;
|
|
255
456
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtAsideService, never>;
|
|
256
457
|
static ɵprov: i0.ɵɵInjectableDeclaration<RtAsideService>;
|
|
257
458
|
}
|
|
@@ -261,34 +462,52 @@ declare class RtuiAsideContainerHeaderDirective {
|
|
|
261
462
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiAsideContainerHeaderDirective, "[rtuiAsideHeader]", never, {}, {}, never, never, true, never>;
|
|
262
463
|
}
|
|
263
464
|
declare class RtuiAsideContainerComponent {
|
|
264
|
-
|
|
265
|
-
|
|
465
|
+
#private;
|
|
466
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
467
|
+
protected readonly narrow: Signal<boolean>;
|
|
468
|
+
title: InputSignal<TNullable<string>>;
|
|
266
469
|
isSubmitButtonDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
267
470
|
isFooterShown: InputSignalWithTransform<boolean, boolean>;
|
|
268
471
|
pending: InputSignalWithTransform<boolean, boolean>;
|
|
269
472
|
isRequestErrorShown: InputSignalWithTransform<boolean, boolean>;
|
|
270
473
|
headerActionsButtons: InputSignalWithTransform<IAside.HeaderActionButton[], IAside.HeaderActionButton[]>;
|
|
271
|
-
requestError: InputSignal<
|
|
474
|
+
requestError: InputSignal<TNullable<unknown>>;
|
|
272
475
|
submitButtonTitle: InputSignal<string>;
|
|
273
476
|
cancelButtonTitle: InputSignal<string>;
|
|
274
477
|
submitButtonTooltip: InputSignal<string>;
|
|
275
478
|
readonly submitAction: OutputEmitterRef<void>;
|
|
276
479
|
readonly cancelAction: OutputEmitterRef<void>;
|
|
277
|
-
readonly headerAction: OutputEmitterRef<
|
|
278
|
-
readonly headerTpl: Signal<
|
|
480
|
+
readonly headerAction: OutputEmitterRef<TAsideButtonsType>;
|
|
481
|
+
readonly headerTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
279
482
|
onSubmit(): void;
|
|
280
483
|
onCancel(): void;
|
|
281
|
-
onHeaderActionClick(buttonName:
|
|
484
|
+
onHeaderActionClick(buttonName: TAsideButtonsType): void;
|
|
282
485
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiAsideContainerComponent, never>;
|
|
283
|
-
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';
|
|
284
503
|
}
|
|
285
504
|
|
|
286
|
-
declare enum
|
|
505
|
+
declare enum ERtTheme {
|
|
287
506
|
LIGHT = "light",
|
|
288
507
|
DARK = "dark",
|
|
289
508
|
AUTO = "auto"
|
|
290
509
|
}
|
|
291
|
-
type
|
|
510
|
+
type TRtThemeType = `${ERtTheme}`;
|
|
292
511
|
declare const RT_THEME_STORAGE_KEY: string;
|
|
293
512
|
declare const RT_DARK_CLASS: string;
|
|
294
513
|
declare const RT_THEME_AUTO_CLASS: string;
|
|
@@ -298,7 +517,7 @@ declare const RT_THEME_ATTRIBUTE: string;
|
|
|
298
517
|
* color scheme may override. The semantic accent tier
|
|
299
518
|
* (`--rt-bg/text/icon/border-accent-*`) derives entirely from these rows.
|
|
300
519
|
*/
|
|
301
|
-
declare enum
|
|
520
|
+
declare enum ERtAccentRole {
|
|
302
521
|
PRIMARY = "primary",
|
|
303
522
|
INFO = "info",
|
|
304
523
|
SUCCESS = "success",
|
|
@@ -306,19 +525,19 @@ declare enum RT_ACCENT_ROLE_ENUM {
|
|
|
306
525
|
DANGER = "danger",
|
|
307
526
|
BRAND = "brand"
|
|
308
527
|
}
|
|
309
|
-
type
|
|
528
|
+
type TRtAccentRole = `${ERtAccentRole}`;
|
|
310
529
|
/**
|
|
311
530
|
* A brand palette: per accent role, a tonal ramp mapping tone step (0–100)
|
|
312
531
|
* to a CSS color. One ramp serves both light and dark (the mode picks the tone).
|
|
313
532
|
* Partial ramps are allowed — unset tones keep the rt-tools defaults.
|
|
314
533
|
*
|
|
315
534
|
* @example
|
|
316
|
-
* const teal:
|
|
535
|
+
* const teal: TRtColorSchemeRamp = {
|
|
317
536
|
* primary: { 20: '#b3e3e1', 40: '#5cb8b5', 60: '#1a9d99', 100: '#008582' },
|
|
318
537
|
* brand: { 20: '#e8e8e8', 100: '#008582' },
|
|
319
538
|
* };
|
|
320
539
|
*/
|
|
321
|
-
type
|
|
540
|
+
type TRtColorSchemeRamp = Partial<Record<TRtAccentRole, Record<number, string>>>;
|
|
322
541
|
/** `'default'`/`null` clears the active scheme (back to the rt-tools palette). */
|
|
323
542
|
declare const RT_DEFAULT_SCHEME: string;
|
|
324
543
|
declare const RT_COLOR_SCHEME_STORAGE_KEY: string;
|
|
@@ -331,20 +550,20 @@ declare const RT_SCHEME_ATTRIBUTE: string;
|
|
|
331
550
|
* (e.g. the button pill becomes a real `matButton`), for apps that have not
|
|
332
551
|
* migrated their visual language yet or need to match surrounding Material controls.
|
|
333
552
|
*/
|
|
334
|
-
type
|
|
553
|
+
type TRtUiDesign = 'material' | 'custom';
|
|
335
554
|
declare namespace IRtUiConfig {
|
|
336
555
|
/** Global defaults applied app-wide unless a component-level setting or an input overrides them. */
|
|
337
556
|
interface Global {
|
|
338
557
|
/** Initial theme used when the user has no persisted preference. */
|
|
339
|
-
theme?:
|
|
558
|
+
theme?: TRtThemeType;
|
|
340
559
|
/** Initial brand color scheme (see `RtThemeService.registerColorScheme`) when none is persisted. */
|
|
341
560
|
colorScheme?: string;
|
|
342
561
|
/** Default design for every design-aware control. */
|
|
343
|
-
design?:
|
|
562
|
+
design?: TRtUiDesign;
|
|
344
563
|
}
|
|
345
564
|
/** Per-instance-overridable defaults for `rtui-button`. */
|
|
346
565
|
interface Button {
|
|
347
|
-
design?:
|
|
566
|
+
design?: TRtUiDesign;
|
|
348
567
|
size?: IRtuiButton.Size;
|
|
349
568
|
radius?: IRtuiButton.Radius;
|
|
350
569
|
appearance?: IRtuiButton.Appearance;
|
|
@@ -383,14 +602,14 @@ declare namespace IRtUiConfig {
|
|
|
383
602
|
*/
|
|
384
603
|
declare const RT_UI_CONFIG: InjectionToken<IRtUiConfig.Config>;
|
|
385
604
|
|
|
386
|
-
type
|
|
387
|
-
type
|
|
605
|
+
type TRtuiIconSizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | '3xl';
|
|
606
|
+
type TRtuiIconThemeType = 'inherit' | 'primary' | 'primary-strong' | 'neutral' | 'disabled' | 'muted' | 'white' | 'danger' | 'success';
|
|
388
607
|
declare class RtuiIconComponent {
|
|
389
608
|
#private;
|
|
390
609
|
protected readonly fontLoaded: Signal<boolean>;
|
|
391
610
|
protected readonly hostClasses: Signal<string>;
|
|
392
|
-
readonly size: InputSignal<
|
|
393
|
-
readonly theme: InputSignal<
|
|
611
|
+
readonly size: InputSignal<TRtuiIconSizeType>;
|
|
612
|
+
readonly theme: InputSignal<TRtuiIconThemeType>;
|
|
394
613
|
readonly glyph: InputSignalWithTransform<string, unknown>;
|
|
395
614
|
readonly outlined: InputSignalWithTransform<boolean, BooleanInput>;
|
|
396
615
|
readonly rotate: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -399,35 +618,32 @@ declare class RtuiIconComponent {
|
|
|
399
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: {}; }]>;
|
|
400
619
|
}
|
|
401
620
|
|
|
402
|
-
declare namespace IRtuiButton {
|
|
403
|
-
type Type = 'icon' | 'fab' | 'pill';
|
|
404
|
-
type Variant = 'default' | 'primary' | 'danger' | 'success' | 'warning' | 'accent';
|
|
405
|
-
type Size = 'xs' | 'sm' | 'md' | 'lg';
|
|
406
|
-
type Radius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
407
|
-
type Appearance = 'solid' | 'outline' | 'light' | 'text';
|
|
408
|
-
type IconPosition = 'start' | 'end';
|
|
409
|
-
}
|
|
410
621
|
declare class RtuiButtonComponent {
|
|
411
622
|
#private;
|
|
412
|
-
/** Design system the button renders with — see {@link
|
|
413
|
-
protected readonly resolvedDesign: Signal<
|
|
623
|
+
/** Design system the button renders with — see {@link TRtUiDesign}. */
|
|
624
|
+
protected readonly resolvedDesign: Signal<TRtUiDesign>;
|
|
414
625
|
protected readonly resolvedSize: Signal<IRtuiButton.Size>;
|
|
415
626
|
protected readonly resolvedRadius: Signal<IRtuiButton.Radius>;
|
|
416
627
|
protected readonly resolvedAppearance: Signal<IRtuiButton.Appearance | undefined>;
|
|
417
628
|
/** Native Material button appearance the pill renders with under `design: 'material'`. */
|
|
418
629
|
protected readonly materialAppearance: Signal<MatButtonAppearance>;
|
|
419
|
-
protected readonly resolvedIconSize: Signal<
|
|
630
|
+
protected readonly resolvedIconSize: Signal<TRtuiIconSizeType>;
|
|
420
631
|
protected readonly spinnerSize: Signal<number>;
|
|
421
632
|
protected readonly modifiers: Signal<Record<string, boolean>>;
|
|
633
|
+
/**
|
|
634
|
+
* Те же модификаторы строкой — они висят на хосте, потому что описывают блок целиком.
|
|
635
|
+
* Директива модификатора сюда не дотянется: хост объявлен декоратором, а не разметкой.
|
|
636
|
+
*/
|
|
637
|
+
protected readonly hostModifiers: Signal<string>;
|
|
422
638
|
readonly type: InputSignal<IRtuiButton.Type>;
|
|
423
|
-
readonly design: InputSignal<
|
|
639
|
+
readonly design: InputSignal<TRtUiDesign | undefined>;
|
|
424
640
|
readonly variant: InputSignal<IRtuiButton.Variant>;
|
|
425
641
|
readonly appearance: InputSignal<IRtuiButton.Appearance | undefined>;
|
|
426
642
|
readonly size: InputSignal<IRtuiButton.Size | undefined>;
|
|
427
643
|
readonly radius: InputSignal<IRtuiButton.Radius | undefined>;
|
|
428
644
|
readonly icon: InputSignalWithTransform<string, unknown>;
|
|
429
645
|
readonly iconPosition: InputSignal<IRtuiButton.IconPosition>;
|
|
430
|
-
readonly iconSize: InputSignal<
|
|
646
|
+
readonly iconSize: InputSignal<TRtuiIconSizeType | undefined>;
|
|
431
647
|
readonly text: InputSignalWithTransform<string, unknown>;
|
|
432
648
|
readonly loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
433
649
|
readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -463,10 +679,10 @@ declare class RtuiToolbarRightDirective {
|
|
|
463
679
|
}
|
|
464
680
|
declare class RtuiToolbarComponent {
|
|
465
681
|
isVisibleToolbar: Signal<boolean>;
|
|
466
|
-
readonly leftToolTpl: Signal<
|
|
467
|
-
readonly centerToolTpl: Signal<
|
|
468
|
-
readonly rightToolTpl: Signal<
|
|
469
|
-
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>;
|
|
470
686
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiToolbarComponent, never>;
|
|
471
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>;
|
|
472
688
|
}
|
|
@@ -484,73 +700,20 @@ declare class RtuiHeaderRightDirective {
|
|
|
484
700
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiHeaderRightDirective, "[rtuiHeaderRight]", never, {}, {}, never, never, true, never>;
|
|
485
701
|
}
|
|
486
702
|
declare class RtuiHeaderComponent {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
readonly
|
|
490
|
-
|
|
491
|
-
readonly
|
|
703
|
+
#private;
|
|
704
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
705
|
+
protected readonly narrow: Signal<boolean>;
|
|
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>>>>;
|
|
492
710
|
readonly openMobileMenuAction: OutputEmitterRef<void>;
|
|
493
711
|
openSideMenu(): void;
|
|
494
712
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiHeaderComponent, never>;
|
|
495
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiHeaderComponent, "rtui-header", never, { "
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
declare class RtuiClearButtonComponent {
|
|
499
|
-
#private;
|
|
500
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, boolean>;
|
|
501
|
-
isButtonShown: InputSignalWithTransform<INullable<boolean>, boolean>;
|
|
502
|
-
tooltip: InputSignalWithTransform<INullable<string>, string>;
|
|
503
|
-
tooltipPosition: InputSignal<TooltipPosition>;
|
|
504
|
-
readonly keydownAction: OutputEmitterRef<void>;
|
|
505
|
-
readonly clickAction: OutputEmitterRef<void>;
|
|
506
|
-
onKeydown(): void;
|
|
507
|
-
onClick(): void;
|
|
508
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiClearButtonComponent, never>;
|
|
509
|
-
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>;
|
|
713
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiHeaderComponent, "rtui-header", never, { "isMobileMenuButtonShown": { "alias": "isMobileMenuButtonShown"; "required": false; "isSignal": true; }; }, { "openMobileMenuAction": "openMobileMenuAction"; }, ["leftHeaderTpl", "centerHeaderTpl", "rightHeaderTpl"], never, true, never>;
|
|
510
714
|
}
|
|
511
715
|
|
|
512
|
-
declare
|
|
513
|
-
#private;
|
|
514
|
-
/** Current Page Model */
|
|
515
|
-
currentPageModel: InputSignal<IPageModel>;
|
|
516
|
-
/** Indicates is mobile view */
|
|
517
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, boolean>;
|
|
518
|
-
/** Output action when Page Model changed */
|
|
519
|
-
readonly pageModelChange: OutputEmitterRef<Partial<IPageModel>>;
|
|
520
|
-
/** Form control for selected page size */
|
|
521
|
-
control: FormControl<number>;
|
|
522
|
-
readonly divider: Signal<string>;
|
|
523
|
-
/** Page size options */
|
|
524
|
-
readonly pageSizes: Signal<number[]>;
|
|
525
|
-
/** Array of current page numbers */
|
|
526
|
-
readonly numbers: WritableSignal<Array<number | string>>;
|
|
527
|
-
/** Page Model for compare */
|
|
528
|
-
readonly previousPageModel: WritableSignal<INullable<IPageModel>>;
|
|
529
|
-
/** Value of full content width */
|
|
530
|
-
readonly minContentFitWidth: WritableSignal<number>;
|
|
531
|
-
/** Indicates is content clipped */
|
|
532
|
-
readonly isContentClipped: WritableSignal<boolean>;
|
|
533
|
-
/** Container template ref */
|
|
534
|
-
readonly containerRef: Signal<INullable<ElementRef<HTMLElement>>>;
|
|
535
|
-
/** Set 'isContentClipped' when widow resize */
|
|
536
|
-
onResize(): void;
|
|
537
|
-
ngOnInit(): void;
|
|
538
|
-
/** Set 'isContentClipped' on init */
|
|
539
|
-
ngAfterViewInit(): void;
|
|
540
|
-
/** Action for change Page Model */
|
|
541
|
-
changePageSize(pageSize: number): void;
|
|
542
|
-
/** Action for select page */
|
|
543
|
-
onChangePageNumber(pageNumber: string | number): void;
|
|
544
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiPaginationComponent, never>;
|
|
545
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiPaginationComponent, "rtui-pagination", never, { "currentPageModel": { "alias": "currentPageModel"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; }, { "pageModelChange": "pageModelChange"; }, never, never, true, never>;
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
declare const RTUI_TABLE_STOP_ROW_CLICK_ATTRIBUTE: string;
|
|
549
|
-
|
|
550
|
-
declare const DEFAULT_PAGE_SIZE: number;
|
|
551
|
-
declare const DEFAULT_PAGE_MODEL: Readonly<IPageModel>;
|
|
552
|
-
|
|
553
|
-
declare enum TABLE_COLUMN_TYPES_ENUM {
|
|
716
|
+
declare enum ETableColumnTypes {
|
|
554
717
|
DATE = "date",
|
|
555
718
|
PERCENT = "percent",
|
|
556
719
|
ARRAY = "array",
|
|
@@ -559,13 +722,13 @@ declare enum TABLE_COLUMN_TYPES_ENUM {
|
|
|
559
722
|
CURRENCY = "currency",
|
|
560
723
|
CUSTOM = "custom"
|
|
561
724
|
}
|
|
562
|
-
declare enum
|
|
725
|
+
declare enum ETableColumnFilterTypes {
|
|
563
726
|
TEXT = "text",
|
|
564
727
|
NUMBER = "number",
|
|
565
728
|
SELECT = "select",
|
|
566
729
|
DATE = "date"
|
|
567
730
|
}
|
|
568
|
-
declare enum
|
|
731
|
+
declare enum ETextCellColor {
|
|
569
732
|
NEUTRAL = "neutral",
|
|
570
733
|
DANGER = "danger",
|
|
571
734
|
WARNING = "warning",
|
|
@@ -573,9 +736,9 @@ declare enum TEXT_CELL_COLOR_ENUM {
|
|
|
573
736
|
EMPTY = "empty"
|
|
574
737
|
}
|
|
575
738
|
declare namespace ITable {
|
|
576
|
-
type TextCellColor =
|
|
577
|
-
type Type =
|
|
578
|
-
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;
|
|
579
742
|
interface Column<T = Record<string, unknown>> extends Record<string, unknown> {
|
|
580
743
|
align: 'right' | 'left' | 'center';
|
|
581
744
|
propName: keyof T;
|
|
@@ -595,8 +758,8 @@ declare namespace ITable {
|
|
|
595
758
|
tooltip?: string;
|
|
596
759
|
transform?: (value: T[keyof T]) => string | number;
|
|
597
760
|
filterType?: FilterType;
|
|
598
|
-
defaultFilterOperator?:
|
|
599
|
-
filterOperators?:
|
|
761
|
+
defaultFilterOperator?: TFilterOperatorType;
|
|
762
|
+
filterOperators?: TFilterOperatorType[];
|
|
600
763
|
filterSelectOptions?: string[];
|
|
601
764
|
displayName?: string;
|
|
602
765
|
orderIndex?: number;
|
|
@@ -639,20 +802,20 @@ declare namespace ITable {
|
|
|
639
802
|
declare const RTUI_TABLE_COMPONENT_TOKEN: InjectionToken<IRtuiTable<Record<string, unknown>, string, string>>;
|
|
640
803
|
interface IRtuiTable<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
|
|
641
804
|
columns: Signal<Array<ITable.Column<ENTITY_TYPE>>>;
|
|
642
|
-
customCellsTpl: Signal<
|
|
805
|
+
customCellsTpl: Signal<TNullable<{
|
|
643
806
|
getTemplateByPropName(propName: keyof ENTITY_TYPE): TemplateRef<{
|
|
644
807
|
$implicit: ENTITY_TYPE;
|
|
645
808
|
}>;
|
|
646
809
|
}>>;
|
|
647
|
-
rowActionsTpl: Signal<
|
|
810
|
+
rowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
648
811
|
$implicit: ENTITY_TYPE;
|
|
649
812
|
}>>>;
|
|
650
|
-
additionalRowActionsTpl: Signal<
|
|
651
|
-
|
|
813
|
+
additionalRowActionsTpl: Signal<TNullable<TemplateRef<unknown>>>;
|
|
814
|
+
narrow: Signal<boolean>;
|
|
652
815
|
isTableRowsClickable: Signal<boolean>;
|
|
653
816
|
keyExp: Signal<NonNullable<KEY>>;
|
|
654
817
|
entities: Signal<ENTITY_TYPE[]>;
|
|
655
|
-
currentSortModel: Signal<
|
|
818
|
+
currentSortModel: Signal<TNullable<ISortModel<SORT_PROPERTY>>>;
|
|
656
819
|
appearance: Signal<MatFormFieldAppearance>;
|
|
657
820
|
filterAppearance: Signal<MatFormFieldAppearance>;
|
|
658
821
|
filterModel: Signal<IFilterModel<KEY>[]>;
|
|
@@ -663,7 +826,7 @@ interface IRtuiTable<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY
|
|
|
663
826
|
isMultiSelect: WritableSignal<boolean>;
|
|
664
827
|
isSelectorsColumnShown: WritableSignal<boolean>;
|
|
665
828
|
isSelectorsColumnDisabled: WritableSignal<boolean>;
|
|
666
|
-
activeRowIndex: WritableSignal<
|
|
829
|
+
activeRowIndex: WritableSignal<TNullable<number>>;
|
|
667
830
|
onSortChange(sortModel: ISortModel): void;
|
|
668
831
|
onFilterChange(filterModel: IFilterModel<KEY>[]): void;
|
|
669
832
|
onMenuOpen(index: number): void;
|
|
@@ -674,103 +837,6 @@ interface IRtuiTable<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY
|
|
|
674
837
|
onTogglePageEntities(checked: boolean): void;
|
|
675
838
|
}
|
|
676
839
|
|
|
677
|
-
declare class RtTableConfigService<ENTITY_TYPE> {
|
|
678
|
-
#private;
|
|
679
|
-
readonly tableConfig: Signal<ITable.Config.Data<ENTITY_TYPE>>;
|
|
680
|
-
initConfig(storageKey: string, config: Array<ITable.Column<ENTITY_TYPE>>): void;
|
|
681
|
-
updateConfig(storageKey: string, config: ITable.Config.Data<ENTITY_TYPE>): void;
|
|
682
|
-
deleteConfig(storageKey: string): void;
|
|
683
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtTableConfigService<any>, never>;
|
|
684
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<RtTableConfigService<any>>;
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
declare class RtCommonSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
|
|
688
|
-
/** Indicates is multiselect available */
|
|
689
|
-
isMultiSelect: InputSignalWithTransform<boolean, boolean>;
|
|
690
|
-
/** Indicates is 'Select all' checkbox shown */
|
|
691
|
-
isSelectorColumnShown: InputSignalWithTransform<boolean, boolean>;
|
|
692
|
-
/** Indicates is selectors column disabled */
|
|
693
|
-
isSelectorsColumnDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
694
|
-
/** Selected entities Ids on init */
|
|
695
|
-
selectedEntitiesKeys: InputSignalWithTransform<ENTITY_TYPE[KEY][], ENTITY_TYPE[KEY][]>;
|
|
696
|
-
/** Key of ENTITY_TYPE for compare entities */
|
|
697
|
-
readonly keyExp: WritableSignal<NonNullable<KEY>>;
|
|
698
|
-
/** Current list of entities */
|
|
699
|
-
readonly entities: WritableSignal<ENTITY_TYPE[]>;
|
|
700
|
-
/** Add page entities to list exclude duplicates */
|
|
701
|
-
addPageEntitiesToListExcludeDuplicates(list: ENTITY_TYPE[]): ENTITY_TYPE[];
|
|
702
|
-
/** Remove page entities from list */
|
|
703
|
-
removePageEntitiesFromList(list: ENTITY_TYPE[]): ENTITY_TYPE[];
|
|
704
|
-
/** Check is one of page entities exist in selected entities */
|
|
705
|
-
isOneExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
|
|
706
|
-
/** Check is all page entities exist in selected entities */
|
|
707
|
-
isAllExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
|
|
708
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtCommonSelectorsDirective<any, any>, never>;
|
|
709
|
-
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>;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
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 {
|
|
713
|
-
#private;
|
|
714
|
-
/** Indicates is multiselect extended mod available (use selected and excluded lists) */
|
|
715
|
-
isMultiSelectExtendedMod: InputSignalWithTransform<boolean, boolean>;
|
|
716
|
-
/** Indicates is 'Select all' checkbox shown */
|
|
717
|
-
isSelectAllSelectorShown: InputSignalWithTransform<boolean, boolean>;
|
|
718
|
-
/** List of selected entities */
|
|
719
|
-
readonly selectedEntities: Signal<ENTITY_TYPE[]>;
|
|
720
|
-
/** List of excluded entities */
|
|
721
|
-
readonly excludedEntities: Signal<ENTITY_TYPE[]>;
|
|
722
|
-
/** List of selected entities ids */
|
|
723
|
-
readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
724
|
-
/** List of excluded entities ids */
|
|
725
|
-
readonly excludedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
726
|
-
/** Indicates is 'Select All' checkbox selected */
|
|
727
|
-
readonly isAllEntitiesSelected: Signal<boolean>;
|
|
728
|
-
/** Indicates is all page entities checkbox selected */
|
|
729
|
-
readonly isPageEntitiesSelected: Signal<boolean>;
|
|
730
|
-
/** Indicates is page entities checkbox indeterminate */
|
|
731
|
-
readonly isPageEntitiesIndeterminate: Signal<boolean>;
|
|
732
|
-
/** Indicates is multi select extended mod enabled */
|
|
733
|
-
readonly isMultiSelectExtendedModEnabled: Signal<boolean>;
|
|
734
|
-
ngOnInit(): void;
|
|
735
|
-
/** Change selected entities list and 'isAllEntitiesSelected' indicator state */
|
|
736
|
-
toggleAllEntities(checked: boolean): void;
|
|
737
|
-
/** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
|
|
738
|
-
togglePageEntities(checked: boolean): void;
|
|
739
|
-
/** Change selected and excluded lists and set is existing selected and is all selected states */
|
|
740
|
-
toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
|
|
741
|
-
/** Clear selected list */
|
|
742
|
-
clearSelectedList(): void;
|
|
743
|
-
/** Clear excluded list */
|
|
744
|
-
clearExcludedList(): void;
|
|
745
|
-
/** Set is existing selected and indeterminate state */
|
|
746
|
-
setExistingEntitiesState(): void;
|
|
747
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtDynamicListSelectorsDirective<any, any, any>, never>;
|
|
748
|
-
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>;
|
|
749
|
-
}
|
|
750
|
-
|
|
751
|
-
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 {
|
|
752
|
-
#private;
|
|
753
|
-
/** List of selected entities */
|
|
754
|
-
readonly selectedEntities: Signal<ENTITY_TYPE[]>;
|
|
755
|
-
/** List of selected entities ids */
|
|
756
|
-
readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
|
|
757
|
-
/** Indicates is all page entities checkbox selected */
|
|
758
|
-
readonly isPageEntitiesSelected: Signal<boolean>;
|
|
759
|
-
/** Indicates is page entities checkbox indeterminate */
|
|
760
|
-
readonly isPageEntitiesIndeterminate: Signal<boolean>;
|
|
761
|
-
ngOnInit(): void;
|
|
762
|
-
/** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
|
|
763
|
-
togglePageEntities(checked: boolean): void;
|
|
764
|
-
/** Change selected and excluded lists and set is existing selected and is all selected states */
|
|
765
|
-
toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
|
|
766
|
-
/** Clear selected list */
|
|
767
|
-
clearSelectedList(): void;
|
|
768
|
-
/** Set is existing selected and indeterminate state */
|
|
769
|
-
setExistingEntitiesState(): void;
|
|
770
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RtTableSelectorsDirective<any, any, any>, never>;
|
|
771
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RtTableSelectorsDirective<any, any, any>, "rtui-table[rtTableSelectorsDirective]", never, {}, {}, never, never, true, never>;
|
|
772
|
-
}
|
|
773
|
-
|
|
774
840
|
/** Directive for custom table cells */
|
|
775
841
|
declare class RtuiCustomTableCellsDirective<ENTITY_TYPE> {
|
|
776
842
|
cellsTemplates: InputSignal<{
|
|
@@ -796,13 +862,14 @@ declare class RtuiTableAdditionalRowActionsDirective {
|
|
|
796
862
|
}
|
|
797
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 {
|
|
798
864
|
#private;
|
|
799
|
-
protected readonly rowActions: Signal<
|
|
800
|
-
protected readonly rowActionsHeaderPaddingHelper: Signal<
|
|
801
|
-
protected readonly rowActionsPaddingHelper: Signal<
|
|
802
|
-
protected readonly columnTypes: typeof
|
|
803
|
-
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;
|
|
804
870
|
/** Indicates is mobile view */
|
|
805
|
-
|
|
871
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
872
|
+
readonly narrow: Signal<boolean>;
|
|
806
873
|
/** Indicates are table rows clickable */
|
|
807
874
|
isTableRowsClickable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
808
875
|
/** Key of ENTITY_TYPE for compare entities */
|
|
@@ -810,7 +877,7 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
810
877
|
/** List of entities */
|
|
811
878
|
entities: InputSignalWithTransform<ENTITY_TYPE[], ENTITY_TYPE[]>;
|
|
812
879
|
/** Current page model from store */
|
|
813
|
-
currentSortModel: InputSignal<
|
|
880
|
+
currentSortModel: InputSignal<TNullable<ISortModel<SORT_PROPERTY>>>;
|
|
814
881
|
/** Current elements appearance */
|
|
815
882
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
816
883
|
/** Filter inputs appearance */
|
|
@@ -833,13 +900,13 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
833
900
|
/** Columns config for table */
|
|
834
901
|
columns: Signal<Array<ITable.Column<ENTITY_TYPE>>>;
|
|
835
902
|
/** Custom cells template */
|
|
836
|
-
readonly customCellsTpl: Signal<
|
|
903
|
+
readonly customCellsTpl: Signal<TNullable<RtuiCustomTableCellsDirective<ENTITY_TYPE>>>;
|
|
837
904
|
/** Row actions template */
|
|
838
|
-
readonly rowActionsTpl: Signal<
|
|
905
|
+
readonly rowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
839
906
|
$implicit: ENTITY_TYPE;
|
|
840
907
|
}>>>;
|
|
841
908
|
/** Additional row actions template */
|
|
842
|
-
readonly additionalRowActionsTpl: Signal<
|
|
909
|
+
readonly additionalRowActionsTpl: Signal<TNullable<TemplateRef<RtuiTableAdditionalRowActionsDirective>>>;
|
|
843
910
|
/** Fields specified by the directive */
|
|
844
911
|
/** List of selected entities ids */
|
|
845
912
|
readonly selectedEntitiesIds: WritableSignal<ENTITY_TYPE[KEY][]>;
|
|
@@ -854,9 +921,16 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
854
921
|
/** Indicates is selectors column disabled */
|
|
855
922
|
readonly isSelectorsColumnDisabled: WritableSignal<boolean>;
|
|
856
923
|
/** Current row index */
|
|
857
|
-
readonly activeRowIndex: WritableSignal<
|
|
924
|
+
readonly activeRowIndex: WritableSignal<TNullable<number>>;
|
|
858
925
|
ngAfterViewChecked(): void;
|
|
859
|
-
/**
|
|
926
|
+
/**
|
|
927
|
+
* Sort change output action.
|
|
928
|
+
*
|
|
929
|
+
* Имя колонки приходит строкой, а наружу уходит ключом домена. Приведение здесь принимало
|
|
930
|
+
* любую строку: колонка, которой в наборе нет, уезжала потребителю законным значением, и
|
|
931
|
+
* ни сборка, ни типы этого не видели. Сверяется оно с тем же набором колонок, который
|
|
932
|
+
* рисует таблица, — второго списка имён у неё нет; несовпавшее не отдаётся вовсе.
|
|
933
|
+
*/
|
|
860
934
|
onSortChange(sortModel: ISortModel<string>): void;
|
|
861
935
|
/** Filter change output action */
|
|
862
936
|
onFilterChange(filterModel: IFilterModel<KEY>[]): void;
|
|
@@ -872,18 +946,18 @@ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SO
|
|
|
872
946
|
onToggleEntity: (entity: ENTITY_TYPE, checked: boolean) => void;
|
|
873
947
|
onTogglePageEntities: (checked: boolean) => void;
|
|
874
948
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableComponent<any, any, any>, never>;
|
|
875
|
-
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>;
|
|
876
950
|
}
|
|
877
951
|
|
|
878
952
|
declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
879
953
|
#private;
|
|
954
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
955
|
+
protected readonly narrow: Signal<boolean>;
|
|
880
956
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
881
957
|
/** Table config storage key */
|
|
882
958
|
tableConfigStorageKey: InputSignalWithTransform<string, string>;
|
|
883
959
|
/** Current page model from store */
|
|
884
960
|
pageModel: InputSignal<IPageModel>;
|
|
885
|
-
/** Indicates is mobile view */
|
|
886
|
-
isMobile: InputSignalWithTransform<boolean, BooleanInput>;
|
|
887
961
|
/** Indicates is loading in progress */
|
|
888
962
|
loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
889
963
|
/** Indicates is fetching in progress */
|
|
@@ -903,27 +977,27 @@ declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
|
903
977
|
/** Indicates is filters empty */
|
|
904
978
|
isFiltersEmpty: InputSignalWithTransform<boolean, BooleanInput>;
|
|
905
979
|
/** Current search term from store */
|
|
906
|
-
searchTerm: InputSignalWithTransform<
|
|
980
|
+
searchTerm: InputSignalWithTransform<TNullable<string>, TNullable<string>>;
|
|
907
981
|
/** Current placeholder icon */
|
|
908
982
|
placeholderIcon: InputSignal<string>;
|
|
909
983
|
/** Current placeholder title */
|
|
910
984
|
placeholderTitle: InputSignal<string>;
|
|
911
985
|
/** Indicates is a small tablet view */
|
|
912
|
-
readonly isSmallTablet: Signal<
|
|
986
|
+
readonly isSmallTablet: Signal<TNullable<boolean>>;
|
|
913
987
|
/** Config for table */
|
|
914
988
|
readonly tableConfig: Signal<ITable.Config.Data<ENTITY_TYPE>>;
|
|
915
989
|
/** Page model change output action */
|
|
916
990
|
readonly pageModelChange: OutputEmitterRef<Partial<IPageModel>>;
|
|
917
991
|
/** Search change output action */
|
|
918
|
-
readonly searchChange: OutputEmitterRef<
|
|
992
|
+
readonly searchChange: OutputEmitterRef<TNullable<string>>;
|
|
919
993
|
/** Refresh output action */
|
|
920
994
|
readonly refreshAction: OutputEmitterRef<void>;
|
|
921
995
|
/** Clear filters output action */
|
|
922
996
|
readonly clearFiltersAction: OutputEmitterRef<void>;
|
|
923
997
|
/** Toolbar selectors template */
|
|
924
|
-
readonly toolbarSelectorsTpl: Signal<
|
|
998
|
+
readonly toolbarSelectorsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
925
999
|
/** Toolbar actions template */
|
|
926
|
-
readonly toolbarActionsTpl: Signal<
|
|
1000
|
+
readonly toolbarActionsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
927
1001
|
/** Fields specified by the directive */
|
|
928
1002
|
/** Indicates is multiselect mod enabled */
|
|
929
1003
|
readonly isMultiSelect: WritableSignal<boolean>;
|
|
@@ -938,7 +1012,7 @@ declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
|
938
1012
|
/** Current selected entities count */
|
|
939
1013
|
readonly selectedEntitiesCount: WritableSignal<number>;
|
|
940
1014
|
/** Control for search */
|
|
941
|
-
readonly searchControl: FormControl<
|
|
1015
|
+
readonly searchControl: FormControl<TNullable<string>>;
|
|
942
1016
|
ngOnInit(): void;
|
|
943
1017
|
/** Page model change output action */
|
|
944
1018
|
onPageModelChange(pageModel: Partial<IPageModel>): void;
|
|
@@ -953,7 +1027,7 @@ declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
|
|
|
953
1027
|
/** Empty method, set in selectors directive */
|
|
954
1028
|
onToggleAllEntities: (checked: boolean) => void;
|
|
955
1029
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableContainerComponent<any>, never>;
|
|
956
|
-
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>;
|
|
957
1031
|
}
|
|
958
1032
|
|
|
959
1033
|
/** Directive for selectors of the toolbar located on the left side */
|
|
@@ -987,10 +1061,11 @@ declare class RtuiDynamicListRowAdditionalActionsDirective {
|
|
|
987
1061
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicListRowAdditionalActionsDirective, "[rtuiDynamicListRowAdditionalActionsDirective]", never, {}, {}, never, never, true, never>;
|
|
988
1062
|
}
|
|
989
1063
|
declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
|
|
1064
|
+
#private;
|
|
990
1065
|
/** Table config storage key */
|
|
991
1066
|
tableConfigStorageKey: InputSignalWithTransform<string, unknown>;
|
|
992
|
-
/**
|
|
993
|
-
|
|
1067
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1068
|
+
readonly narrow: Signal<boolean>;
|
|
994
1069
|
/** Indicates is loading in progress */
|
|
995
1070
|
loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
996
1071
|
/** Indicates is fetching in progress */
|
|
@@ -1012,9 +1087,9 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1012
1087
|
/** Current page model from store */
|
|
1013
1088
|
pageModel: InputSignal<IPageModel>;
|
|
1014
1089
|
/** Current search term from store */
|
|
1015
|
-
searchTerm: InputSignal<
|
|
1090
|
+
searchTerm: InputSignal<TNullable<string>>;
|
|
1016
1091
|
/** Current sort model from store */
|
|
1017
|
-
currentSortModel: InputSignal<
|
|
1092
|
+
currentSortModel: InputSignal<TNullable<ISortModel<NonNullable<KEY>>>>;
|
|
1018
1093
|
/** Inputs appearance */
|
|
1019
1094
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
1020
1095
|
/** Filter inputs appearance */
|
|
@@ -1028,7 +1103,7 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1028
1103
|
/** Page model change output action */
|
|
1029
1104
|
readonly pageModelChange: OutputEmitterRef<Partial<IPageModel>>;
|
|
1030
1105
|
/** Search change output action */
|
|
1031
|
-
readonly searchChange: OutputEmitterRef<
|
|
1106
|
+
readonly searchChange: OutputEmitterRef<TNullable<string>>;
|
|
1032
1107
|
/** Refresh output action */
|
|
1033
1108
|
readonly refresh: OutputEmitterRef<void>;
|
|
1034
1109
|
/** Clear filters output action */
|
|
@@ -1043,27 +1118,27 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1043
1118
|
/** Filter change output action */
|
|
1044
1119
|
readonly filterChange: OutputEmitterRef<IFilterModel<KEY>[]>;
|
|
1045
1120
|
/** Toolbar selectors template */
|
|
1046
|
-
readonly toolbarSelectorsTpl: Signal<
|
|
1121
|
+
readonly toolbarSelectorsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
1047
1122
|
/** Toolbar actions template */
|
|
1048
|
-
readonly toolbarActionsTpl: Signal<
|
|
1123
|
+
readonly toolbarActionsTpl: Signal<TNullable<TemplateRef<Type<unknown>>>>;
|
|
1049
1124
|
/** Custom cells template */
|
|
1050
|
-
readonly customCellsTpl: Signal<
|
|
1125
|
+
readonly customCellsTpl: Signal<TNullable<RtuiDynamicListCustomTableCellsDirective<{
|
|
1051
1126
|
$implicit: ENTITY_TYPE;
|
|
1052
1127
|
}>>>;
|
|
1053
1128
|
/** Row actions template */
|
|
1054
|
-
readonly rowActionsTpl: Signal<
|
|
1129
|
+
readonly rowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
1055
1130
|
$implicit: ENTITY_TYPE;
|
|
1056
1131
|
}>>>;
|
|
1057
1132
|
/** Additional row actions template */
|
|
1058
|
-
readonly additionalRowActionsTpl: Signal<
|
|
1133
|
+
readonly additionalRowActionsTpl: Signal<TNullable<TemplateRef<{
|
|
1059
1134
|
$implicit: ENTITY_TYPE;
|
|
1060
1135
|
}>>>;
|
|
1061
1136
|
/** Table container for selectors directive usage */
|
|
1062
|
-
readonly tableContainerTpl: Signal<
|
|
1137
|
+
readonly tableContainerTpl: Signal<TNullable<RtuiTableContainerComponent<ENTITY_TYPE>>>;
|
|
1063
1138
|
/** Table selector for selectors directive usage */
|
|
1064
|
-
readonly tableTpl: Signal<
|
|
1139
|
+
readonly tableTpl: Signal<TNullable<RtuiTableComponent<ENTITY_TYPE, SORT_PROPERTY, KEY>>>;
|
|
1065
1140
|
/** Search change output action */
|
|
1066
|
-
onSearchChange(value:
|
|
1141
|
+
onSearchChange(value: TNullable<string>): void;
|
|
1067
1142
|
/** Sort change output action */
|
|
1068
1143
|
onSortChange(sortModel: ISortModel<NonNullable<KEY>>): void;
|
|
1069
1144
|
/** Page model change output action */
|
|
@@ -1082,7 +1157,178 @@ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknow
|
|
|
1082
1157
|
/** Row doubleClick output action */
|
|
1083
1158
|
onRowDoubleClick(row: ENTITY_TYPE): void;
|
|
1084
1159
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListComponent<any, any, any>, never>;
|
|
1085
|
-
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>;
|
|
1086
1332
|
}
|
|
1087
1333
|
|
|
1088
1334
|
declare class RtuiStopTableRowClickDirective implements OnInit {
|
|
@@ -1127,9 +1373,9 @@ declare function provideRtUi(config?: IRtUiConfig.Config): Provider[];
|
|
|
1127
1373
|
|
|
1128
1374
|
declare namespace IRtSnackBar {
|
|
1129
1375
|
interface Config extends MatSnackBarConfig {
|
|
1130
|
-
icon?:
|
|
1376
|
+
icon?: string | null;
|
|
1131
1377
|
isColoredBackground?: boolean;
|
|
1132
|
-
action?:
|
|
1378
|
+
action?: string | null;
|
|
1133
1379
|
isProgressBarShown?: boolean;
|
|
1134
1380
|
}
|
|
1135
1381
|
interface Data extends Config {
|
|
@@ -1140,11 +1386,8 @@ declare namespace IRtSnackBar {
|
|
|
1140
1386
|
declare class RtuiSnackBarComponent {
|
|
1141
1387
|
#private;
|
|
1142
1388
|
readonly data: IRtSnackBar.Data;
|
|
1143
|
-
|
|
1144
|
-
readonly
|
|
1145
|
-
constructor();
|
|
1146
|
-
onMouseOver(): void;
|
|
1147
|
-
onMouseOut(): void;
|
|
1389
|
+
/** Сколько идёт полоса: то же время, что живёт само сообщение. */
|
|
1390
|
+
readonly progressDuration: Signal<string>;
|
|
1148
1391
|
dismiss(): void;
|
|
1149
1392
|
close(): void;
|
|
1150
1393
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSnackBarComponent, never>;
|
|
@@ -1163,67 +1406,66 @@ declare class RtSnackBarService {
|
|
|
1163
1406
|
static ɵprov: i0.ɵɵInjectableDeclaration<RtSnackBarService>;
|
|
1164
1407
|
}
|
|
1165
1408
|
|
|
1166
|
-
declare
|
|
1167
|
-
declare const progressDecreaseAnimation: AnimationTriggerMetadata[];
|
|
1168
|
-
|
|
1169
|
-
declare enum INFO_BADGE_SIZE_ENUM {
|
|
1409
|
+
declare enum EInfoBadgeSize {
|
|
1170
1410
|
LARGE = "l",
|
|
1171
1411
|
MEDIUM = "m",
|
|
1172
1412
|
SMALL = "s"
|
|
1173
1413
|
}
|
|
1174
|
-
type
|
|
1414
|
+
type TInfoBadgeSizeType = EInfoBadgeSize.LARGE | EInfoBadgeSize.MEDIUM | EInfoBadgeSize.SMALL;
|
|
1175
1415
|
|
|
1176
1416
|
declare function darkenHexColor(hex: string, percent: number): string;
|
|
1177
1417
|
declare function getColorBasedOnBackground(backgroundColor: string): string;
|
|
1178
1418
|
|
|
1179
|
-
type
|
|
1419
|
+
type TIconSideType = EPosition.LEFT | EPosition.RIGHT;
|
|
1180
1420
|
|
|
1181
1421
|
declare class RtuiInfoBadgeComponent implements AfterContentChecked {
|
|
1182
|
-
|
|
1422
|
+
#private;
|
|
1423
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1424
|
+
protected readonly narrow: Signal<boolean>;
|
|
1425
|
+
size: InputSignal<TInfoBadgeSizeType>;
|
|
1183
1426
|
text: InputSignal<string>;
|
|
1184
1427
|
glyph: InputSignal<string>;
|
|
1185
|
-
iconSide: InputSignal<
|
|
1428
|
+
iconSide: InputSignal<TIconSideType>;
|
|
1186
1429
|
isFontBold: InputSignal<boolean>;
|
|
1187
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, boolean>;
|
|
1188
1430
|
isTitleCollapsed: WritableSignal<boolean>;
|
|
1189
1431
|
readonly contentRef: Signal<ElementRef<HTMLElement> | undefined>;
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
};
|
|
1432
|
+
/** Модификаторы блока значка: ставятся директивой, а не строкой в атрибуте. */
|
|
1433
|
+
readonly badgeModifiers: Signal<Record<string, boolean>>;
|
|
1193
1434
|
get iconStyles(): {
|
|
1194
1435
|
[key: string]: string;
|
|
1195
1436
|
};
|
|
1196
1437
|
ngAfterContentChecked(): void;
|
|
1197
1438
|
checkEllipsis(): void;
|
|
1198
1439
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiInfoBadgeComponent, never>;
|
|
1199
|
-
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>;
|
|
1200
1441
|
}
|
|
1201
1442
|
|
|
1202
|
-
declare enum
|
|
1443
|
+
declare enum EInfoBadgeType {
|
|
1203
1444
|
SUCCESS = "success",
|
|
1204
1445
|
INFO = "info",
|
|
1205
1446
|
WARNING = "warning",
|
|
1206
1447
|
PRIMARY = "primary",
|
|
1207
1448
|
DISABLED = "disabled"
|
|
1208
1449
|
}
|
|
1209
|
-
type
|
|
1450
|
+
type TInfoBadgeType = EInfoBadgeType.SUCCESS | EInfoBadgeType.INFO | EInfoBadgeType.WARNING | EInfoBadgeType.PRIMARY | EInfoBadgeType.DISABLED;
|
|
1210
1451
|
|
|
1211
|
-
declare enum
|
|
1452
|
+
declare enum EToggleSizeType {
|
|
1212
1453
|
SM = "sm",
|
|
1213
1454
|
MD = "md"
|
|
1214
1455
|
}
|
|
1215
|
-
type
|
|
1456
|
+
type TToggleSizeType = EToggleSizeType.SM | EToggleSizeType.MD;
|
|
1216
1457
|
|
|
1217
1458
|
declare class RtuiToggleComponent implements OnInit, ControlValueAccessor {
|
|
1218
1459
|
#private;
|
|
1460
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1461
|
+
protected readonly narrow: Signal<TNullable<boolean>>;
|
|
1219
1462
|
formControl: FormControl<boolean>;
|
|
1220
|
-
label: InputSignal<
|
|
1463
|
+
label: InputSignal<TNullable<string>>;
|
|
1221
1464
|
tooltip: InputSignal<string>;
|
|
1222
|
-
size: InputSignal<
|
|
1465
|
+
size: InputSignal<TToggleSizeType>;
|
|
1223
1466
|
tooltipPosition: InputSignal<TooltipPosition>;
|
|
1224
1467
|
isDisabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1225
1468
|
tooltipDisabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1226
|
-
readonly isMobile: Signal<INullable<boolean>>;
|
|
1227
1469
|
ngOnInit(): void;
|
|
1228
1470
|
writeValue(value: boolean): void;
|
|
1229
1471
|
registerOnChange(fn: () => void): void;
|
|
@@ -1246,8 +1488,9 @@ declare class RtuiFileUploadComponent {
|
|
|
1246
1488
|
}
|
|
1247
1489
|
|
|
1248
1490
|
declare abstract class RtuiDynamicSelectorsDirective {
|
|
1249
|
-
|
|
1250
|
-
|
|
1491
|
+
#private;
|
|
1492
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1493
|
+
protected readonly narrow: Signal<boolean>;
|
|
1251
1494
|
/** Selections control button title */
|
|
1252
1495
|
buttonTitle: InputSignalWithTransform<string, string>;
|
|
1253
1496
|
/** Indicates if only one option can be chosen */
|
|
@@ -1270,11 +1513,11 @@ declare abstract class RtuiDynamicSelectorsDirective {
|
|
|
1270
1513
|
/** Material elements appearance */
|
|
1271
1514
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
1272
1515
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorsDirective, never>;
|
|
1273
|
-
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>;
|
|
1274
1517
|
}
|
|
1275
1518
|
|
|
1276
|
-
interface
|
|
1277
|
-
autocompleteControl: FormControl<
|
|
1519
|
+
interface IFormModel$1 {
|
|
1520
|
+
autocompleteControl: FormControl<TNullable<string>>;
|
|
1278
1521
|
}
|
|
1279
1522
|
/** Directive for row actions located outside a row menu button */
|
|
1280
1523
|
declare class RtuiDynamicSelectorAdditionalControlDirective {
|
|
@@ -1290,9 +1533,9 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1290
1533
|
#private;
|
|
1291
1534
|
/** Config for overlay selector */
|
|
1292
1535
|
protected readonly connectedOverlayPositions: ConnectedPosition[];
|
|
1293
|
-
form: FormGroup<
|
|
1536
|
+
form: FormGroup<IFormModel$1>;
|
|
1294
1537
|
/** Target element for overlay selector */
|
|
1295
|
-
selectedOverlayTrigger:
|
|
1538
|
+
selectedOverlayTrigger: TNullable<CdkOverlayOrigin>;
|
|
1296
1539
|
/** A model's field which should be used for http-requests */
|
|
1297
1540
|
keyExp: InputSignal<KEY>;
|
|
1298
1541
|
/** A model's field which should be shown in ui */
|
|
@@ -1332,7 +1575,7 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1332
1575
|
/** Indicates that an additional control has been changed */
|
|
1333
1576
|
additionalControlChanged: InputSignal<boolean>;
|
|
1334
1577
|
/** Custom sort function for entities list in popup */
|
|
1335
|
-
sortFn: InputSignal<
|
|
1578
|
+
sortFn: InputSignal<TNullable<(a: ENTITY, b: ENTITY) => number>>;
|
|
1336
1579
|
/** Output search action */
|
|
1337
1580
|
readonly searchAction: OutputEmitterRef<string>;
|
|
1338
1581
|
/** Output scroll action, needed for lazy loading */
|
|
@@ -1356,11 +1599,11 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1356
1599
|
/** Entities can be chosen, except selected on init */
|
|
1357
1600
|
readonly entitiesToSelect: Signal<ENTITY[]>;
|
|
1358
1601
|
/** Additional control for entity */
|
|
1359
|
-
readonly additionalControlTpl: Signal<
|
|
1602
|
+
readonly additionalControlTpl: Signal<TNullable<TemplateRef<{
|
|
1360
1603
|
$implicit: ENTITY;
|
|
1361
1604
|
}>>>;
|
|
1362
1605
|
/** Custom item title template */
|
|
1363
|
-
readonly itemTitleTpl: Signal<
|
|
1606
|
+
readonly itemTitleTpl: Signal<TNullable<TemplateRef<{
|
|
1364
1607
|
$implicit: ENTITY;
|
|
1365
1608
|
}>>>;
|
|
1366
1609
|
ngOnInit(): void;
|
|
@@ -1393,9 +1636,9 @@ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown
|
|
|
1393
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>;
|
|
1394
1637
|
}
|
|
1395
1638
|
|
|
1396
|
-
interface
|
|
1639
|
+
interface IFormModel {
|
|
1397
1640
|
control: FormControl<string[]>;
|
|
1398
|
-
controlForUi: FormControl<
|
|
1641
|
+
controlForUi: FormControl<TNullable<string>>;
|
|
1399
1642
|
}
|
|
1400
1643
|
/** Directive for row actions located outside a row menu button */
|
|
1401
1644
|
declare class RtuiDynamicInputAdditionalControlDirective {
|
|
@@ -1404,9 +1647,9 @@ declare class RtuiDynamicInputAdditionalControlDirective {
|
|
|
1404
1647
|
}
|
|
1405
1648
|
declare class RtuiDynamicInputComponent extends RtuiDynamicSelectorsDirective implements ControlValueAccessor, Validator, OnInit {
|
|
1406
1649
|
#private;
|
|
1407
|
-
form: FormGroup<
|
|
1650
|
+
form: FormGroup<IFormModel>;
|
|
1408
1651
|
/** Indicates is placeholder shown */
|
|
1409
|
-
isPlaceholderShown: ModelSignal<
|
|
1652
|
+
isPlaceholderShown: ModelSignal<TNullable<boolean>>;
|
|
1410
1653
|
/** Indicates is inputs-editable */
|
|
1411
1654
|
isInputsEditable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1412
1655
|
/** Input label */
|
|
@@ -1424,7 +1667,7 @@ declare class RtuiDynamicInputComponent extends RtuiDynamicSelectorsDirective im
|
|
|
1424
1667
|
/** Indicates the reset changes button is disabled */
|
|
1425
1668
|
readonly isResetButtonDisabled: WritableSignal<boolean>;
|
|
1426
1669
|
/** Additional control for entity */
|
|
1427
|
-
readonly additionalControlTpl: Signal<
|
|
1670
|
+
readonly additionalControlTpl: Signal<TNullable<TemplateRef<{
|
|
1428
1671
|
$implicit: string;
|
|
1429
1672
|
}>>>;
|
|
1430
1673
|
ngOnInit(): void;
|
|
@@ -1462,9 +1705,9 @@ declare class RtuiDynamicInputComponent extends RtuiDynamicSelectorsDirective im
|
|
|
1462
1705
|
|
|
1463
1706
|
declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unknown>, KEY extends Extract<keyof ENTITY, string>> implements OnInit, AfterViewInit {
|
|
1464
1707
|
#private;
|
|
1708
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1709
|
+
protected readonly narrow: Signal<boolean>;
|
|
1465
1710
|
protected readonly oSTypes: typeof OSTypes;
|
|
1466
|
-
/** Indicates is mobile view */
|
|
1467
|
-
isMobile: InputSignalWithTransform<INullable<boolean>, INullable<boolean>>;
|
|
1468
1711
|
entitiesToSelect: InputSignalWithTransform<ENTITY[], ENTITY[]>;
|
|
1469
1712
|
/** Material elements appearance */
|
|
1470
1713
|
appearance: InputSignal<MatFormFieldAppearance>;
|
|
@@ -1491,9 +1734,9 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1491
1734
|
/** Indicates is BreakStringPipe used */
|
|
1492
1735
|
useNameBreaking: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1493
1736
|
/** Indicates lazy loading is used */
|
|
1494
|
-
isLazyLoad: InputSignalWithTransform<
|
|
1737
|
+
isLazyLoad: InputSignalWithTransform<TNullable<boolean>, boolean>;
|
|
1495
1738
|
/** Indicates local search is used */
|
|
1496
|
-
isLocalSearch: InputSignalWithTransform<
|
|
1739
|
+
isLocalSearch: InputSignalWithTransform<TNullable<boolean>, boolean>;
|
|
1497
1740
|
/** Keys of a pinned group kept at the top of the list — a trailing divider is drawn after the last visible one */
|
|
1498
1741
|
pinnedKeys: InputSignalWithTransform<ENTITY[KEY][], ENTITY[KEY][]>;
|
|
1499
1742
|
/** Send output selected entities ids */
|
|
@@ -1507,9 +1750,9 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1507
1750
|
/** Output temporary selection action, needed for store values */
|
|
1508
1751
|
readonly temporarySelectAction: OutputEmitterRef<ENTITY[]>;
|
|
1509
1752
|
/** Search input Ref for set focus on init */
|
|
1510
|
-
readonly searchInputRef: Signal<
|
|
1753
|
+
readonly searchInputRef: Signal<TNullable<ElementRef<HTMLInputElement>>>;
|
|
1511
1754
|
/** Form control for search */
|
|
1512
|
-
readonly searchControl: FormControl<
|
|
1755
|
+
readonly searchControl: FormControl<TNullable<string>>;
|
|
1513
1756
|
/** Form control for select */
|
|
1514
1757
|
readonly selectionControl: FormControl<ENTITY[KEY][]>;
|
|
1515
1758
|
/** Entities filtered by local search */
|
|
@@ -1523,7 +1766,7 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1523
1766
|
/** Indicates is macOS used */
|
|
1524
1767
|
readonly isMacOS: Signal<boolean>;
|
|
1525
1768
|
/** Key of the last visible pinned option — its row gets a trailing divider */
|
|
1526
|
-
readonly lastSeparatedKey: Signal<
|
|
1769
|
+
readonly lastSeparatedKey: Signal<TNullable<ENTITY[KEY]>>;
|
|
1527
1770
|
ngOnInit(): void;
|
|
1528
1771
|
/** Set focus on search input */
|
|
1529
1772
|
ngAfterViewInit(): void;
|
|
@@ -1546,7 +1789,7 @@ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unkn
|
|
|
1546
1789
|
/** Scroll action, needed for lazy loading mode */
|
|
1547
1790
|
scroll(): void;
|
|
1548
1791
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiMultiSelectorPopupComponent<any, any>, never>;
|
|
1549
|
-
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>;
|
|
1550
1793
|
}
|
|
1551
1794
|
|
|
1552
1795
|
declare class RtuiDynamicSelectorPlaceholderComponent {
|
|
@@ -1563,7 +1806,9 @@ declare class RtuiDynamicSelectorPlaceholderComponent {
|
|
|
1563
1806
|
}
|
|
1564
1807
|
|
|
1565
1808
|
declare class RtuiDynamicSelectorListActionsComponent {
|
|
1566
|
-
|
|
1809
|
+
#private;
|
|
1810
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1811
|
+
protected readonly narrow: Signal<boolean>;
|
|
1567
1812
|
isResetButtonDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
1568
1813
|
isClearButtonDisabled: InputSignalWithTransform<boolean, boolean>;
|
|
1569
1814
|
disabled: InputSignalWithTransform<boolean, boolean>;
|
|
@@ -1572,7 +1817,7 @@ declare class RtuiDynamicSelectorListActionsComponent {
|
|
|
1572
1817
|
onReset(): void;
|
|
1573
1818
|
onClear(): void;
|
|
1574
1819
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorListActionsComponent, never>;
|
|
1575
|
-
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>;
|
|
1576
1821
|
}
|
|
1577
1822
|
|
|
1578
1823
|
/** Directive for row actions located outside a row menu button */
|
|
@@ -1586,10 +1831,11 @@ declare class RtuiDynamicSelectorItemTitleDirective {
|
|
|
1586
1831
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicSelectorItemTitleDirective, "[rtuiDynamicSelectorItemTitleDirective]", never, {}, {}, never, never, true, never>;
|
|
1587
1832
|
}
|
|
1588
1833
|
declare class RtuiDynamicSelectorSelectedListComponent<ENTITY extends Record<string, unknown>, KEY extends Extract<keyof ENTITY, string>> {
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1834
|
+
#private;
|
|
1835
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1836
|
+
protected readonly narrow: Signal<boolean>;
|
|
1837
|
+
protected readonly editedItemIndex: WritableSignal<TNullable<number>>;
|
|
1838
|
+
readonly inputRef: Signal<TNullable<MatInput>>;
|
|
1593
1839
|
/** A model's field, which should be used for http-requests */
|
|
1594
1840
|
keyExp: InputSignal<KEY>;
|
|
1595
1841
|
/** A model's field, which should be shown in ui */
|
|
@@ -1617,27 +1863,28 @@ declare class RtuiDynamicSelectorSelectedListComponent<ENTITY extends Record<str
|
|
|
1617
1863
|
new: string;
|
|
1618
1864
|
}>;
|
|
1619
1865
|
/** Additional control for entity */
|
|
1620
|
-
readonly additionalControlTpl: Signal<
|
|
1866
|
+
readonly additionalControlTpl: Signal<TNullable<TemplateRef<{
|
|
1621
1867
|
$implicit: ENTITY;
|
|
1622
1868
|
}>>>;
|
|
1623
1869
|
/** Custom item title template */
|
|
1624
|
-
readonly itemTitleTpl: Signal<
|
|
1870
|
+
readonly itemTitleTpl: Signal<TNullable<TemplateRef<{
|
|
1625
1871
|
$implicit: ENTITY;
|
|
1626
1872
|
}>>>;
|
|
1627
1873
|
protected onDelete(value: ENTITY[KEY]): void;
|
|
1628
1874
|
protected onDrop(event: CdkDragDrop<ENTITY[]>): void;
|
|
1629
1875
|
protected changeValue(prev: ENTITY[KEY]): void;
|
|
1630
|
-
protected setEditModState(index:
|
|
1876
|
+
protected setEditModState(index: TNullable<number>): void;
|
|
1631
1877
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorSelectedListComponent<any, any>, never>;
|
|
1632
|
-
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>;
|
|
1633
1879
|
}
|
|
1634
1880
|
|
|
1635
|
-
type
|
|
1881
|
+
type TImageUploadFormat = 'png' | 'jpeg' | 'webp';
|
|
1636
1882
|
declare class RtuiImageUploadComponent {
|
|
1637
1883
|
#private;
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1884
|
+
/** Экран узкий: замер кита, и другого источника у этого признака нет. */
|
|
1885
|
+
protected readonly narrow: Signal<boolean>;
|
|
1886
|
+
protected readonly imageFormat: Signal<TImageUploadFormat>;
|
|
1887
|
+
imageUrl: ModelSignal<TNullable<string>>;
|
|
1641
1888
|
fileName: InputSignalWithTransform<string, string>;
|
|
1642
1889
|
isActive: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1643
1890
|
isSaveButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -1649,8 +1896,8 @@ declare class RtuiImageUploadComponent {
|
|
|
1649
1896
|
tooltipPosition: InputSignal<TooltipPosition>;
|
|
1650
1897
|
imageQuality: InputSignal<number>;
|
|
1651
1898
|
originalImage: WritableSignal<File | undefined>;
|
|
1652
|
-
croppedImage: WritableSignal<
|
|
1653
|
-
tempImage: WritableSignal<
|
|
1899
|
+
croppedImage: WritableSignal<TNullable<File>>;
|
|
1900
|
+
tempImage: WritableSignal<TNullable<string>>;
|
|
1654
1901
|
readonly imageChanged: OutputEmitterRef<File>;
|
|
1655
1902
|
readonly save: OutputEmitterRef<void>;
|
|
1656
1903
|
onFileSelect(event: Event): void;
|
|
@@ -1660,16 +1907,16 @@ declare class RtuiImageUploadComponent {
|
|
|
1660
1907
|
onCancel(): void;
|
|
1661
1908
|
onDownloadImage(): void;
|
|
1662
1909
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiImageUploadComponent, never>;
|
|
1663
|
-
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>;
|
|
1664
1911
|
}
|
|
1665
1912
|
|
|
1666
|
-
type
|
|
1913
|
+
type TMenuItemTrigger = 'click' | 'hover';
|
|
1667
1914
|
declare class RtPopoverDirective implements OnInit, OnDestroy {
|
|
1668
1915
|
#private;
|
|
1669
1916
|
xOffset: InputSignalWithTransform<number, NumberInput>;
|
|
1670
1917
|
yOffset: InputSignalWithTransform<number, NumberInput>;
|
|
1671
|
-
trigger: InputSignalWithTransform<
|
|
1672
|
-
template: InputSignalWithTransform<
|
|
1918
|
+
trigger: InputSignalWithTransform<TMenuItemTrigger, TMenuItemTrigger>;
|
|
1919
|
+
template: InputSignalWithTransform<TNullable<TemplateRef<HTMLElement>>, TNullable<TemplateRef<HTMLElement>>>;
|
|
1673
1920
|
isMouseHoverAllowed: InputSignalWithTransform<boolean, BooleanInput>;
|
|
1674
1921
|
onClick(element: EventTarget | null): void;
|
|
1675
1922
|
onMouseEnter(): void;
|
|
@@ -1709,6 +1956,12 @@ declare class RtuiActionBarComponent {
|
|
|
1709
1956
|
declare class RtuiActionBarContainerComponent {
|
|
1710
1957
|
#private;
|
|
1711
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();
|
|
1712
1965
|
closeBar(): void;
|
|
1713
1966
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtuiActionBarContainerComponent, never>;
|
|
1714
1967
|
static ɵcmp: i0.ɵɵComponentDeclaration<RtuiActionBarContainerComponent, "rtui-action-bar-container", never, {}, {}, never, never, true, never>;
|
|
@@ -1739,10 +1992,10 @@ declare class RtActionBarService {
|
|
|
1739
1992
|
*/
|
|
1740
1993
|
declare class RtThemeService {
|
|
1741
1994
|
#private;
|
|
1742
|
-
readonly theme: Signal<
|
|
1995
|
+
readonly theme: Signal<TRtThemeType>;
|
|
1743
1996
|
readonly colorScheme: Signal<string | null>;
|
|
1744
1997
|
constructor();
|
|
1745
|
-
setTheme(theme:
|
|
1998
|
+
setTheme(theme: TRtThemeType): void;
|
|
1746
1999
|
/** Toggles between light and dark (auto resolves to its opposite visual state). */
|
|
1747
2000
|
toggle(): void;
|
|
1748
2001
|
/**
|
|
@@ -1756,7 +2009,7 @@ declare class RtThemeService {
|
|
|
1756
2009
|
* for SSR/brand-critical schemes prefer the Sass path). Does not activate the
|
|
1757
2010
|
* scheme — call {@link setColorScheme} afterwards.
|
|
1758
2011
|
*/
|
|
1759
|
-
registerColorScheme(name: string, ramp:
|
|
2012
|
+
registerColorScheme(name: string, ramp: TRtColorSchemeRamp): void;
|
|
1760
2013
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtThemeService, never>;
|
|
1761
2014
|
static ɵprov: i0.ɵɵInjectableDeclaration<RtThemeService>;
|
|
1762
2015
|
}
|
|
@@ -1776,7 +2029,7 @@ declare class RtThemeService {
|
|
|
1776
2029
|
* on elements inside the context (e.g. `color: var(--rt-text-base-primary)`).
|
|
1777
2030
|
*/
|
|
1778
2031
|
declare class RtThemeDirective {
|
|
1779
|
-
readonly rtTheme: InputSignal<
|
|
2032
|
+
readonly rtTheme: InputSignal<TRtThemeType | ''>;
|
|
1780
2033
|
static ɵfac: i0.ɵɵFactoryDeclaration<RtThemeDirective, never>;
|
|
1781
2034
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtThemeDirective, "[rtTheme]", never, { "rtTheme": { "alias": "rtTheme"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1782
2035
|
}
|
|
@@ -1794,5 +2047,5 @@ declare class RtHideTooltipDirective implements AfterViewInit {
|
|
|
1794
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>;
|
|
1795
2048
|
}
|
|
1796
2049
|
|
|
1797
|
-
export {
|
|
1798
|
-
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 };
|