@kuzntsv/uikit 1.0.112 → 1.0.114
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/fesm2022/kuzntsv-uikit-interceptors.mjs +4 -4
- package/fesm2022/kuzntsv-uikit-interceptors.mjs.map +1 -1
- package/fesm2022/kuzntsv-uikit-ui.mjs +1696 -1684
- package/fesm2022/kuzntsv-uikit-ui.mjs.map +1 -1
- package/fesm2022/kuzntsv-uikit.mjs +3 -3
- package/fesm2022/kuzntsv-uikit.mjs.map +1 -1
- package/package.json +1 -1
- package/types/kuzntsv-uikit-ui.d.ts +763 -765
- package/types/kuzntsv-uikit.d.ts +0 -1
|
@@ -1,830 +1,453 @@
|
|
|
1
|
-
import z, { z as z$1 } from "zod";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import { EnvironmentProviders, InjectionToken, Injector, OnDestroy, PipeTransform, WritableSignal } from "@angular/core";
|
|
4
1
|
import { LoaderService, NotificationService, RoleService, SignalSelectionModel } from "@kuzntsv/uikit";
|
|
5
|
-
import {
|
|
2
|
+
import z, { z as z$1 } from "zod";
|
|
6
3
|
import { Observable, Subject, Subscription } from "rxjs";
|
|
7
|
-
import { MatAutocompleteSelectedEvent } from "@angular/material/autocomplete";
|
|
8
|
-
import { FieldTree, FormValueControl, SchemaPath } from "@angular/forms/signals";
|
|
9
|
-
import { NativeDateAdapter } from "@angular/material/core";
|
|
10
|
-
import { MatDialog, MatDialogRef } from "@angular/material/dialog";
|
|
11
|
-
import { SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from "@angular/platform-browser";
|
|
12
|
-
import { MatSelectChange } from "@angular/material/select";
|
|
13
4
|
import { MatMenuTrigger } from "@angular/material/menu";
|
|
14
5
|
import { MatPaginator, PageEvent } from "@angular/material/paginator";
|
|
15
6
|
import { MatSort, Sort } from "@angular/material/sort";
|
|
16
7
|
import { MatTableDataSource } from "@angular/material/table";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import { EnvironmentProviders, InjectionToken, OnDestroy, PipeTransform, WritableSignal } from "@angular/core";
|
|
17
10
|
import { FormGroup } from "@angular/forms";
|
|
11
|
+
import { MatDialog, MatDialogRef } from "@angular/material/dialog";
|
|
12
|
+
import { SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from "@angular/platform-browser";
|
|
18
13
|
import { CanActivateFn, Router } from "@angular/router";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
14
|
+
import { HttpClient, HttpContext, HttpParams, HttpResourceRef } from "@angular/common/http";
|
|
15
|
+
import { FieldTree, FormValueControl, SchemaPath } from "@angular/forms/signals";
|
|
16
|
+
import { MatAutocompleteSelectedEvent } from "@angular/material/autocomplete";
|
|
17
|
+
import { NativeDateAdapter } from "@angular/material/core";
|
|
18
|
+
import { MatSelectChange } from "@angular/material/select";
|
|
19
|
+
export type ObjectKeys<T extends string | number | symbol = string, K = any> = { [key in T]: K; };
|
|
20
|
+
export type fnType<T> = ((data: T, extraData?: any) => void) | undefined;
|
|
21
|
+
export type fnCbType<T> = ((callback: () => void, data: T, extraData?: any) => void) | undefined;
|
|
22
|
+
export type SortDirection = 'asc' | 'desc' | '';
|
|
23
|
+
/** @deprecated */
|
|
24
|
+
export type fnGetDataType<T> = () => Observable<T[]>;
|
|
25
|
+
/** @deprecated */
|
|
26
|
+
export type fnGetCountType<T> = () => Observable<number>;
|
|
27
|
+
export type fnMapEntityType<T> = () => (item: T) => T;
|
|
28
|
+
export declare const SortDirectionSchema: z.ZodCustom<SortDirection, SortDirection>;
|
|
29
|
+
export declare const SortStateSchema: z.ZodObject<{
|
|
30
|
+
sortActive: z.ZodString;
|
|
31
|
+
sortDirection: z.ZodCustom<SortDirection, SortDirection>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export declare const PageStateSchema: z.ZodObject<{
|
|
34
|
+
pageIndex: z.ZodNumber;
|
|
35
|
+
pageSize: z.ZodNumber;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export declare const TableStateSchema: z.ZodObject<{
|
|
38
|
+
sortActive: z.ZodString;
|
|
39
|
+
sortDirection: z.ZodCustom<SortDirection, SortDirection>;
|
|
40
|
+
pageIndex: z.ZodNumber;
|
|
41
|
+
pageSize: z.ZodNumber;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
export type SortState = z.infer<typeof SortStateSchema>;
|
|
44
|
+
export type PageState = z.infer<typeof PageStateSchema>;
|
|
45
|
+
export type TableState = z.infer<typeof TableStateSchema>;
|
|
46
|
+
/** Настройки действий в колонке таблицы. */
|
|
47
|
+
interface IColumnActionOptions<T> {
|
|
48
|
+
/** Заголовок. */
|
|
49
|
+
title?: string;
|
|
50
|
+
/** Подсказка. */
|
|
51
|
+
tooltip?: string;
|
|
52
|
+
/** Функция обработчик нажатия. */
|
|
53
|
+
onClickFn?: (item: T | undefined) => void;
|
|
54
|
+
/** Функция обработчик нажатия средней кнопкой мыши. */
|
|
55
|
+
onClickMiddleFn?: ($event: MouseEvent, item: T | undefined) => void;
|
|
56
|
+
/** Иконка. */
|
|
57
|
+
icon?: string;
|
|
58
|
+
/** Символ (Material Symbols). */
|
|
59
|
+
symbol?: string;
|
|
60
|
+
/** Доступность. */
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
/** Функция определяющая доступность. */
|
|
63
|
+
disabledFn?: (item: T | undefined) => boolean;
|
|
64
|
+
/** Видимость. */
|
|
65
|
+
hide?: boolean;
|
|
66
|
+
/** Функция определяющая видимость. */
|
|
67
|
+
hideFn?: (item: T | undefined) => boolean;
|
|
68
|
+
/** Классы css*/
|
|
69
|
+
classList?: string[];
|
|
50
70
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
/** Настройки колонки. */
|
|
72
|
+
export interface IColumnOptions<T> {
|
|
73
|
+
/** Имя. */
|
|
74
|
+
name: string;
|
|
75
|
+
/** Заголовок. */
|
|
76
|
+
title: string;
|
|
77
|
+
/**
|
|
78
|
+
* Формат колонки {
|
|
79
|
+
* '' - текст (по умолчанию) |
|
|
80
|
+
* 'pre-wrap' - текст с переносами строк |
|
|
81
|
+
* 'link' - гиперссылка |
|
|
82
|
+
* 'linkIcon' - гиперссылка (иконка вместо текста) |
|
|
83
|
+
* 'routerLink' - ссылка на страницу в приложении |
|
|
84
|
+
* 'routerLinkIcon' - ссылка на страницу в приложении (иконка вместо текста) |
|
|
85
|
+
* 'checkbox' - чекбокс |
|
|
86
|
+
* 'icon' - иконка |
|
|
87
|
+
* 'icons' - иконка по значению (отображаются из свойства icons по индексу) |
|
|
88
|
+
* 'actions' - действия |
|
|
89
|
+
* 'image' - изображение
|
|
90
|
+
* }. * */
|
|
91
|
+
format?: string;
|
|
92
|
+
/** Отключить сортировку по заголовку. */
|
|
93
|
+
titleSortDisable?: boolean;
|
|
94
|
+
/** Иконка вместо текста, когда format = 'link' | 'routerLink' | 'routerLinkIcon' | 'icon'. */
|
|
95
|
+
icon?: string;
|
|
96
|
+
/** Иконка вместо текста, когда format = 'icons'. */
|
|
97
|
+
icons?: string[];
|
|
98
|
+
/** Символ (Material Symbols) вместо текста, когда format = 'link' | 'routerLink' | 'routerLinkIcon' | 'icon'. */
|
|
99
|
+
symbol?: string;
|
|
100
|
+
/** Символ (Material Symbols) вместо текста, когда format = 'icons'. */
|
|
101
|
+
symbols?: string;
|
|
102
|
+
/** Скрыть колонку. */
|
|
103
|
+
hide?: boolean;
|
|
104
|
+
footer?: boolean;
|
|
105
|
+
footerTitle?: string;
|
|
106
|
+
tooltip?: string;
|
|
107
|
+
tooltips?: string[];
|
|
108
|
+
classList?: string[];
|
|
109
|
+
actions?: IColumnActionOptions<T>[];
|
|
110
|
+
imageUrl?: string;
|
|
111
|
+
imageAlt?: string;
|
|
64
112
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
/** Все элементы. */
|
|
68
|
-
items: import("@angular/core").InputSignal<ChipItem[]>;
|
|
113
|
+
/** Настройки пункта меню. */
|
|
114
|
+
export interface IContextMenuOptions<T> {
|
|
69
115
|
/** Заголовок. */
|
|
70
|
-
title:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
"title": {
|
|
89
|
-
"alias": "title";
|
|
90
|
-
"required": false;
|
|
91
|
-
"isSignal": true;
|
|
92
|
-
};
|
|
93
|
-
"value": {
|
|
94
|
-
"alias": "value";
|
|
95
|
-
"required": false;
|
|
96
|
-
"isSignal": true;
|
|
97
|
-
};
|
|
98
|
-
"filterQuery": {
|
|
99
|
-
"alias": "filterQuery";
|
|
100
|
-
"required": false;
|
|
101
|
-
"isSignal": true;
|
|
102
|
-
};
|
|
103
|
-
}, {
|
|
104
|
-
"value": "valueChange";
|
|
105
|
-
"filterQuery": "filterQueryChange";
|
|
106
|
-
}, never, never, true, never>;
|
|
116
|
+
title: string;
|
|
117
|
+
/** Функция обработчик нажатия. */
|
|
118
|
+
onClickFn?: (item: T | undefined) => void;
|
|
119
|
+
/** Функция обработчик нажатия средней кнопкой мыши. */
|
|
120
|
+
onClickMiddleFn?: ($event: MouseEvent, item: T | undefined, contextMenu: MatMenuTrigger) => void;
|
|
121
|
+
/** Иконка. */
|
|
122
|
+
icon?: string;
|
|
123
|
+
/** Символ (Material Symbols). */
|
|
124
|
+
symbol?: string;
|
|
125
|
+
/** Доступность. */
|
|
126
|
+
disabled?: boolean;
|
|
127
|
+
/** Функция определяющая доступность. */
|
|
128
|
+
disabledFn?: (item: T | undefined) => boolean;
|
|
129
|
+
/** Видимость. */
|
|
130
|
+
hide?: boolean;
|
|
131
|
+
/** Функция определяющая видимость. */
|
|
132
|
+
hideFn?: (item: T | undefined) => boolean;
|
|
133
|
+
classList?: string[];
|
|
107
134
|
}
|
|
108
|
-
export declare class
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
135
|
+
export declare class TableComponent<T extends BaseSchemaClass> {
|
|
136
|
+
/** Отображаемые данные. */
|
|
137
|
+
data: import("@angular/core").InputSignal<T[]>;
|
|
138
|
+
/** Количество записей. */
|
|
139
|
+
length: import("@angular/core").InputSignal<number>;
|
|
140
|
+
/** Настройки колонок. */
|
|
141
|
+
columnOptions: import("@angular/core").InputSignal<IColumnOptions<T>[]>;
|
|
142
|
+
/** Состояние сортировки, пагинации. */
|
|
143
|
+
tableState: import("@angular/core").InputSignal<{
|
|
144
|
+
sortActive: string;
|
|
145
|
+
sortDirection: import("@kuzntsv/uikit/ui").SortDirection;
|
|
146
|
+
pageIndex: number;
|
|
147
|
+
pageSize: number;
|
|
121
148
|
}>;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
149
|
+
/** Разрешен выбор нескольких строк. */
|
|
150
|
+
allowMultiSelect: import("@angular/core").InputSignal<boolean>;
|
|
151
|
+
/** Список элементов контекстного меню. */
|
|
152
|
+
opt: import("@angular/core").InputSignal<IContextMenuOptions<T>[]>;
|
|
153
|
+
/** Отправка события rowDoubleClicked (при двойном щелчке мышью) отключена. */
|
|
154
|
+
rowDblClickedDisable: import("@angular/core").InputSignal<boolean>;
|
|
155
|
+
/** Отображать строку с итогом. */
|
|
156
|
+
footer: import("@angular/core").InputSignal<boolean>;
|
|
157
|
+
/** Изменение страницы. */
|
|
158
|
+
pageStateChange: import("@angular/core").OutputEmitterRef<{
|
|
159
|
+
pageIndex: number;
|
|
160
|
+
pageSize: number;
|
|
125
161
|
}>;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
162
|
+
/** Изменение сортировки. */
|
|
163
|
+
sortStateChange: import("@angular/core").OutputEmitterRef<{
|
|
164
|
+
sortActive: string;
|
|
165
|
+
sortDirection: import("@kuzntsv/uikit/ui").SortDirection;
|
|
166
|
+
}>;
|
|
167
|
+
/** Изменение выбранных записей. */
|
|
168
|
+
selectionChange: import("@angular/core").OutputEmitterRef<T[]>;
|
|
169
|
+
/** Двойной щелчек ЛКМ*/
|
|
170
|
+
rowDoubleClicked: import("@angular/core").OutputEmitterRef<T>;
|
|
171
|
+
readonly sort: import("@angular/core").Signal<MatSort | undefined>;
|
|
172
|
+
readonly paginator: import("@angular/core").Signal<MatPaginator | undefined>;
|
|
173
|
+
readonly contextMenu: import("@angular/core").Signal<MatMenuTrigger | undefined>;
|
|
174
|
+
pageState: import("@angular/core").WritableSignal<{
|
|
175
|
+
pageIndex: number;
|
|
176
|
+
pageSize: number;
|
|
177
|
+
}>;
|
|
178
|
+
sortState: import("@angular/core").WritableSignal<{
|
|
179
|
+
sortActive: string;
|
|
180
|
+
sortDirection: import("@kuzntsv/uikit/ui").SortDirection;
|
|
181
|
+
}>;
|
|
182
|
+
/** Выбранная строка, для которого будет показываться меню при нажатии правой кнопки мыши. */
|
|
183
|
+
itemForMenu?: T;
|
|
184
|
+
/** Позиция в которой отображается контекстное меню. */
|
|
185
|
+
contextMenuPosition: {
|
|
186
|
+
x: string;
|
|
187
|
+
y: string;
|
|
188
|
+
};
|
|
189
|
+
readonly defaultPageIndex = 0;
|
|
190
|
+
readonly defaultPageSize = 10;
|
|
191
|
+
/** Источник данных для отображения. */
|
|
192
|
+
dataSource: MatTableDataSource<T, MatPaginator>;
|
|
193
|
+
/** Выбранные записи. */
|
|
194
|
+
selection: import("@angular/core").Signal<SignalSelectionModel<T>>;
|
|
195
|
+
/** Список отображаемых колонок (формируется из @columnOptions). */
|
|
196
|
+
displayedColumns: import("@angular/core").Signal<string[]>;
|
|
197
|
+
totals: import("@angular/core").Signal<Record<string, string | number>>;
|
|
130
198
|
constructor();
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
"
|
|
147
|
-
};
|
|
148
|
-
"clearInput": {
|
|
149
|
-
"alias": "clearInput";
|
|
150
|
-
"required": false;
|
|
151
|
-
"isSignal": true;
|
|
152
|
-
};
|
|
153
|
-
"required": {
|
|
154
|
-
"alias": "required";
|
|
199
|
+
onPageEvent(event: PageEvent): void;
|
|
200
|
+
onSortEvent(sort: Sort): void;
|
|
201
|
+
/** Whether the number of selected elements matches the total number of rows. */
|
|
202
|
+
isAllSelected(): boolean;
|
|
203
|
+
/** Selects all rows if they are not all selected; otherwise clear selection. */
|
|
204
|
+
masterToggle(): void;
|
|
205
|
+
/** При щелчке по строке. */
|
|
206
|
+
onRowClicked(row: T): void;
|
|
207
|
+
/** При двойном щелчке по строке. */
|
|
208
|
+
onRowDblClicked(row: T): void;
|
|
209
|
+
/** При вызове контекстного меню. */
|
|
210
|
+
onContextMenu(event: MouseEvent, itemForMenu: T | undefined): void;
|
|
211
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent<any>, never>;
|
|
212
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any>, "ngx-uik-table", never, {
|
|
213
|
+
"data": {
|
|
214
|
+
"alias": "data";
|
|
155
215
|
"required": false;
|
|
156
216
|
"isSignal": true;
|
|
157
217
|
};
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}, never, never, true, never>;
|
|
161
|
-
}
|
|
162
|
-
export declare class CustomDateAdapter extends NativeDateAdapter {
|
|
163
|
-
parse(value: any): Date | null;
|
|
164
|
-
format(date: Date, displayFormat: Object): string;
|
|
165
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CustomDateAdapter, never>;
|
|
166
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
167
|
-
}
|
|
168
|
-
export declare const MY_NATIVE_FORMATS: {
|
|
169
|
-
parse: {
|
|
170
|
-
dateInput: string;
|
|
171
|
-
};
|
|
172
|
-
display: {
|
|
173
|
-
dateInput: string;
|
|
174
|
-
monthYearLabel: {
|
|
175
|
-
year: string;
|
|
176
|
-
month: string;
|
|
177
|
-
};
|
|
178
|
-
dateA11yLabel: {
|
|
179
|
-
year: string;
|
|
180
|
-
month: string;
|
|
181
|
-
day: string;
|
|
182
|
-
};
|
|
183
|
-
monthYearA11yLabel: {
|
|
184
|
-
year: string;
|
|
185
|
-
month: string;
|
|
186
|
-
};
|
|
187
|
-
};
|
|
188
|
-
};
|
|
189
|
-
export declare const dateRangeFormSchema: (isRequired: boolean) => z$1.ZodObject<{
|
|
190
|
-
begin: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
191
|
-
end: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
192
|
-
}, z$1.core.$strip>;
|
|
193
|
-
export type DateRangeForm = z$1.output<ReturnType<typeof dateRangeFormSchema>>;
|
|
194
|
-
export declare const dateRangeSchema: (isRequired: boolean) => z$1.ZodPipe<z$1.ZodObject<{
|
|
195
|
-
begin: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
196
|
-
end: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
197
|
-
}, z$1.core.$strip>, z$1.ZodTransform<{
|
|
198
|
-
begin: string;
|
|
199
|
-
end: string;
|
|
200
|
-
}, {
|
|
201
|
-
begin: Date | null;
|
|
202
|
-
end: Date | null;
|
|
203
|
-
}>>;
|
|
204
|
-
export type DateRange = z$1.output<ReturnType<typeof dateRangeSchema>>;
|
|
205
|
-
export declare enum DialogAction {
|
|
206
|
-
Add = "Добавить",
|
|
207
|
-
Edit = "Изменить",
|
|
208
|
-
Delete = "Удалить",
|
|
209
|
-
None = ""
|
|
210
|
-
}
|
|
211
|
-
export interface DialogData {
|
|
212
|
-
id: string;
|
|
213
|
-
title: string;
|
|
214
|
-
message: string;
|
|
215
|
-
btnNoTitle: string;
|
|
216
|
-
btnYesTitle: string;
|
|
217
|
-
}
|
|
218
|
-
export declare class DialogComponent {
|
|
219
|
-
readonly data: DialogData | null;
|
|
220
|
-
readonly dialogRef: MatDialogRef<any, any>;
|
|
221
|
-
readonly dialogData: DialogData;
|
|
222
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
|
|
223
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "ngx-uik-dialog", never, {}, {}, never, never, true, never>;
|
|
224
|
-
}
|
|
225
|
-
export declare class EmptyComponent {
|
|
226
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EmptyComponent, never>;
|
|
227
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EmptyComponent, "ngx-uik-empty-route-guard-holder", never, {}, {}, never, never, true, never>;
|
|
228
|
-
}
|
|
229
|
-
export declare class NavBarComponent extends BaseNavBarMenuClass {
|
|
230
|
-
/** Видимость панели, когда loggedIn === false. */
|
|
231
|
-
visibleOnLogout: import("@angular/core").InputSignal<boolean>;
|
|
232
|
-
/** Видимость аватара. */
|
|
233
|
-
visibleAvatar: import("@angular/core").InputSignal<boolean>;
|
|
234
|
-
/** Видимость кнопки "Выйти". */
|
|
235
|
-
visibleLogoutBtn: import("@angular/core").InputSignal<boolean>;
|
|
236
|
-
/** Признак, что пользователь авторизован. */
|
|
237
|
-
loggedIn: import("@angular/core").InputSignal<boolean>;
|
|
238
|
-
/** ФИО пользователя. */
|
|
239
|
-
fioUser: import("@angular/core").InputSignal<string>;
|
|
240
|
-
/** Всплывающая подсказка о пользователе. */
|
|
241
|
-
userTooltip: import("@angular/core").InputSignal<string>;
|
|
242
|
-
/** URL аватара */
|
|
243
|
-
avatarURL: import("@angular/core").InputSignal<string | SafeUrl>;
|
|
244
|
-
/** Нажата кнопка "Выйти". */
|
|
245
|
-
logout: import("@angular/core").OutputEmitterRef<string>;
|
|
246
|
-
private readonly dialog;
|
|
247
|
-
onLogout(): void;
|
|
248
|
-
openDialog(): void;
|
|
249
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NavBarComponent, never>;
|
|
250
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NavBarComponent, "ngx-uik-navbar", never, {
|
|
251
|
-
"visibleOnLogout": {
|
|
252
|
-
"alias": "visibleOnLogout";
|
|
218
|
+
"length": {
|
|
219
|
+
"alias": "length";
|
|
253
220
|
"required": false;
|
|
254
221
|
"isSignal": true;
|
|
255
222
|
};
|
|
256
|
-
"
|
|
257
|
-
"alias": "
|
|
223
|
+
"columnOptions": {
|
|
224
|
+
"alias": "columnOptions";
|
|
258
225
|
"required": false;
|
|
259
226
|
"isSignal": true;
|
|
260
227
|
};
|
|
261
|
-
"
|
|
262
|
-
"alias": "
|
|
263
|
-
"required":
|
|
228
|
+
"tableState": {
|
|
229
|
+
"alias": "tableState";
|
|
230
|
+
"required": true;
|
|
264
231
|
"isSignal": true;
|
|
265
232
|
};
|
|
266
|
-
"
|
|
267
|
-
"alias": "
|
|
233
|
+
"allowMultiSelect": {
|
|
234
|
+
"alias": "allowMultiSelect";
|
|
268
235
|
"required": false;
|
|
269
236
|
"isSignal": true;
|
|
270
237
|
};
|
|
271
|
-
"
|
|
272
|
-
"alias": "
|
|
238
|
+
"opt": {
|
|
239
|
+
"alias": "opt";
|
|
273
240
|
"required": false;
|
|
274
241
|
"isSignal": true;
|
|
275
242
|
};
|
|
276
|
-
"
|
|
277
|
-
"alias": "
|
|
243
|
+
"rowDblClickedDisable": {
|
|
244
|
+
"alias": "rowDblClickedDisable";
|
|
278
245
|
"required": false;
|
|
279
246
|
"isSignal": true;
|
|
280
247
|
};
|
|
281
|
-
"
|
|
282
|
-
"alias": "
|
|
248
|
+
"footer": {
|
|
249
|
+
"alias": "footer";
|
|
283
250
|
"required": false;
|
|
284
251
|
"isSignal": true;
|
|
285
252
|
};
|
|
286
253
|
}, {
|
|
287
|
-
"
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NotFoundComponent, "ngx-uik-not-found", never, {}, {}, never, never, true, never>;
|
|
293
|
-
}
|
|
294
|
-
interface SelectItem$1 {
|
|
295
|
-
value: string;
|
|
296
|
-
viewValue: string;
|
|
254
|
+
"pageStateChange": "pageStateChange";
|
|
255
|
+
"sortStateChange": "sortStateChange";
|
|
256
|
+
"selectionChange": "selectionChange";
|
|
257
|
+
"rowDoubleClicked": "rowDoubleClicked";
|
|
258
|
+
}, never, never, true, never>;
|
|
297
259
|
}
|
|
298
|
-
export declare class
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
260
|
+
export declare class BaseToolbarComponent {
|
|
261
|
+
/**
|
|
262
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
263
|
+
*/
|
|
264
|
+
rolesNewBtn: import("@angular/core").InputSignal<string[]>;
|
|
265
|
+
/**
|
|
266
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
267
|
+
*/
|
|
268
|
+
rolesEditBtn: import("@angular/core").InputSignal<string[]>;
|
|
269
|
+
/**
|
|
270
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
271
|
+
*/
|
|
272
|
+
rolesRemoveBtn: import("@angular/core").InputSignal<string[]>;
|
|
273
|
+
/**
|
|
274
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
275
|
+
*/
|
|
276
|
+
rolesCopyBtn: import("@angular/core").InputSignal<string[]>;
|
|
277
|
+
/**
|
|
278
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
279
|
+
*/
|
|
280
|
+
rolesExcelBtn: import("@angular/core").InputSignal<string[]>;
|
|
281
|
+
/**
|
|
282
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
283
|
+
*/
|
|
284
|
+
rolesCsvBtn: import("@angular/core").InputSignal<string[]>;
|
|
285
|
+
/**
|
|
286
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
287
|
+
*/
|
|
288
|
+
rolesPdfBtn: import("@angular/core").InputSignal<string[]>;
|
|
289
|
+
/**
|
|
290
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
291
|
+
*/
|
|
292
|
+
rolesPrintBtn: import("@angular/core").InputSignal<string[]>;
|
|
293
|
+
/**
|
|
294
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
295
|
+
*/
|
|
296
|
+
rolesRefreshBtn: import("@angular/core").InputSignal<string[]>;
|
|
297
|
+
/**
|
|
298
|
+
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
299
|
+
*/
|
|
300
|
+
rolesClearBtn: import("@angular/core").InputSignal<string[]>;
|
|
301
|
+
newBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
302
|
+
editBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
303
|
+
removeBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
304
|
+
copyBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
305
|
+
excelBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
306
|
+
csvBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
307
|
+
pdfBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
308
|
+
printBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
309
|
+
refreshBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
310
|
+
clearBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
311
|
+
newBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
312
|
+
editBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
313
|
+
removeBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
314
|
+
copyBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
315
|
+
excelBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
316
|
+
csvBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
317
|
+
pdfBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
318
|
+
printBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
319
|
+
refreshBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
320
|
+
clearBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
321
|
+
/** Список элементов контекстного меню. */
|
|
322
|
+
newBtnOpt: import("@angular/core").InputSignal<IContextMenuOptions<string>[]>;
|
|
323
|
+
clickedNewBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
324
|
+
clickedEditBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
325
|
+
clickedRemoveBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
326
|
+
clickedCopyBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
327
|
+
clickedExcelBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
328
|
+
clickedCsvBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
329
|
+
clickedPdfBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
330
|
+
clickedPrintBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
331
|
+
clickedRefreshBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
332
|
+
clickedClearBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
333
|
+
protected roleService: RoleService;
|
|
334
|
+
readonly isNewBtnVisible: import("@angular/core").Signal<boolean>;
|
|
335
|
+
readonly isEditBtnVisible: import("@angular/core").Signal<boolean>;
|
|
336
|
+
readonly isRemoveBtnVisible: import("@angular/core").Signal<boolean>;
|
|
337
|
+
readonly isCopyBtnVisible: import("@angular/core").Signal<boolean>;
|
|
338
|
+
readonly isExcelBtnVisible: import("@angular/core").Signal<boolean>;
|
|
339
|
+
readonly isCsvBtnVisible: import("@angular/core").Signal<boolean>;
|
|
340
|
+
readonly isPdfBtnVisible: import("@angular/core").Signal<boolean>;
|
|
341
|
+
readonly isPrintBtnVisible: import("@angular/core").Signal<boolean>;
|
|
342
|
+
readonly isRefreshBtnVisible: import("@angular/core").Signal<boolean>;
|
|
343
|
+
readonly isClearBtnVisible: import("@angular/core").Signal<boolean>;
|
|
344
|
+
/**
|
|
345
|
+
* Внутренний метод для вычисления видимости.
|
|
346
|
+
* Не вызывается напрямую из шаблона, а служит хелпером для декларативных computed.
|
|
347
|
+
* Проверяет, заблокирован ли доступ к элементу на основе списка ограничений.
|
|
348
|
+
* Возвращает true, если у пользователя есть запрещенная роль или передан маркер 'HIDE'.
|
|
349
|
+
* Администратор (ADMIN) всегда игнорирует любые запреты и маркер 'HIDE'.
|
|
350
|
+
*/
|
|
351
|
+
private checkVisibility;
|
|
352
|
+
onNewClick(): void;
|
|
353
|
+
onEditClick(): void;
|
|
354
|
+
onRemoveClick(): void;
|
|
355
|
+
onCopyClick(): void;
|
|
356
|
+
onExcelClick(): void;
|
|
357
|
+
onCsvClick(): void;
|
|
358
|
+
onPdfClick(): void;
|
|
359
|
+
onPrintClick(): void;
|
|
360
|
+
onRefreshGridClick(): void;
|
|
361
|
+
onClearClick(): void;
|
|
362
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseToolbarComponent, never>;
|
|
363
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseToolbarComponent, "ngx-uik-base-toolbar", never, {
|
|
364
|
+
"rolesNewBtn": {
|
|
365
|
+
"alias": "rolesNewBtn";
|
|
342
366
|
"required": false;
|
|
343
367
|
"isSignal": true;
|
|
344
368
|
};
|
|
345
|
-
"
|
|
346
|
-
"alias": "
|
|
369
|
+
"rolesEditBtn": {
|
|
370
|
+
"alias": "rolesEditBtn";
|
|
347
371
|
"required": false;
|
|
348
372
|
"isSignal": true;
|
|
349
373
|
};
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
"filterQuery": "filterQueryChange";
|
|
353
|
-
}, never, never, true, never>;
|
|
354
|
-
}
|
|
355
|
-
export interface SelectItem {
|
|
356
|
-
value: string;
|
|
357
|
-
viewValue: string;
|
|
358
|
-
}
|
|
359
|
-
export interface SelectGroup {
|
|
360
|
-
name: string;
|
|
361
|
-
items: SelectItem[];
|
|
362
|
-
}
|
|
363
|
-
export declare class SelectWithGroupComponent implements FormValueControl<string[]> {
|
|
364
|
-
/** Все группы. */
|
|
365
|
-
groups: import("@angular/core").InputSignal<SelectGroup[]>;
|
|
366
|
-
/** Заголовок. */
|
|
367
|
-
title: import("@angular/core").InputSignal<string>;
|
|
368
|
-
/** Выбранные элементы, ключи (BaseSelectItem.value). */
|
|
369
|
-
readonly value: import("@angular/core").ModelSignal<string[]>;
|
|
370
|
-
readonly separatorKeysCodes: number[];
|
|
371
|
-
onSelectionChange(event: MatSelectChange): void;
|
|
372
|
-
onClearClick($event: MouseEvent): void;
|
|
373
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectWithGroupComponent, never>;
|
|
374
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectWithGroupComponent, "ngx-uik-select-with-group", never, {
|
|
375
|
-
"groups": {
|
|
376
|
-
"alias": "groups";
|
|
374
|
+
"rolesRemoveBtn": {
|
|
375
|
+
"alias": "rolesRemoveBtn";
|
|
377
376
|
"required": false;
|
|
378
377
|
"isSignal": true;
|
|
379
378
|
};
|
|
380
|
-
"
|
|
381
|
-
"alias": "
|
|
379
|
+
"rolesCopyBtn": {
|
|
380
|
+
"alias": "rolesCopyBtn";
|
|
382
381
|
"required": false;
|
|
383
382
|
"isSignal": true;
|
|
384
383
|
};
|
|
385
|
-
"
|
|
386
|
-
"alias": "
|
|
384
|
+
"rolesExcelBtn": {
|
|
385
|
+
"alias": "rolesExcelBtn";
|
|
387
386
|
"required": false;
|
|
388
387
|
"isSignal": true;
|
|
389
388
|
};
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
}, never, never, true, never>;
|
|
393
|
-
}
|
|
394
|
-
export type ObjectKeys<T extends string | number | symbol = string, K = any> = { [key in T]: K; };
|
|
395
|
-
export type fnType<T> = ((data: T, extraData?: any) => void) | undefined;
|
|
396
|
-
export type fnCbType<T> = ((callback: () => void, data: T, extraData?: any) => void) | undefined;
|
|
397
|
-
export type SortDirection = 'asc' | 'desc' | '';
|
|
398
|
-
/** @deprecated */
|
|
399
|
-
export type fnGetDataType<T> = () => Observable<T[]>;
|
|
400
|
-
/** @deprecated */
|
|
401
|
-
export type fnGetCountType<T> = () => Observable<number>;
|
|
402
|
-
export type fnGetDataByStateAndFilterType<T, F extends SafeFilterState = any> = (state: TableState, filters?: F) => HttpResourceRef<T[]>;
|
|
403
|
-
export type fnGetCountByFilterType<F extends SafeFilterState = any> = (filters?: F) => HttpResourceRef<number>;
|
|
404
|
-
export type fnMapEntityType<T> = () => (item: T) => T;
|
|
405
|
-
export declare const SortDirectionSchema: z.ZodCustom<SortDirection, SortDirection>;
|
|
406
|
-
export declare const SortStateSchema: z.ZodObject<{
|
|
407
|
-
sortActive: z.ZodString;
|
|
408
|
-
sortDirection: z.ZodCustom<SortDirection, SortDirection>;
|
|
409
|
-
}, z.core.$strip>;
|
|
410
|
-
export declare const PageStateSchema: z.ZodObject<{
|
|
411
|
-
pageIndex: z.ZodNumber;
|
|
412
|
-
pageSize: z.ZodNumber;
|
|
413
|
-
}, z.core.$strip>;
|
|
414
|
-
export declare const TableStateSchema: z.ZodObject<{
|
|
415
|
-
sortActive: z.ZodString;
|
|
416
|
-
sortDirection: z.ZodCustom<SortDirection, SortDirection>;
|
|
417
|
-
pageIndex: z.ZodNumber;
|
|
418
|
-
pageSize: z.ZodNumber;
|
|
419
|
-
}, z.core.$strip>;
|
|
420
|
-
export type SortState = z.infer<typeof SortStateSchema>;
|
|
421
|
-
export type PageState = z.infer<typeof PageStateSchema>;
|
|
422
|
-
export type TableState = z.infer<typeof TableStateSchema>;
|
|
423
|
-
/** Настройки действий в колонке таблицы. */
|
|
424
|
-
interface IColumnActionOptions<T> {
|
|
425
|
-
/** Заголовок. */
|
|
426
|
-
title?: string;
|
|
427
|
-
/** Подсказка. */
|
|
428
|
-
tooltip?: string;
|
|
429
|
-
/** Функция обработчик нажатия. */
|
|
430
|
-
onClickFn?: (item: T | undefined) => void;
|
|
431
|
-
/** Функция обработчик нажатия средней кнопкой мыши. */
|
|
432
|
-
onClickMiddleFn?: ($event: MouseEvent, item: T | undefined) => void;
|
|
433
|
-
/** Иконка. */
|
|
434
|
-
icon?: string;
|
|
435
|
-
/** Символ (Material Symbols). */
|
|
436
|
-
symbol?: string;
|
|
437
|
-
/** Доступность. */
|
|
438
|
-
disabled?: boolean;
|
|
439
|
-
/** Функция определяющая доступность. */
|
|
440
|
-
disabledFn?: (item: T | undefined) => boolean;
|
|
441
|
-
/** Видимость. */
|
|
442
|
-
hide?: boolean;
|
|
443
|
-
/** Функция определяющая видимость. */
|
|
444
|
-
hideFn?: (item: T | undefined) => boolean;
|
|
445
|
-
/** Классы css*/
|
|
446
|
-
classList?: string[];
|
|
447
|
-
}
|
|
448
|
-
/** Настройки колонки. */
|
|
449
|
-
export interface IColumnOptions<T> {
|
|
450
|
-
/** Имя. */
|
|
451
|
-
name: string;
|
|
452
|
-
/** Заголовок. */
|
|
453
|
-
title: string;
|
|
454
|
-
/**
|
|
455
|
-
* Формат колонки {
|
|
456
|
-
* '' - текст (по умолчанию) |
|
|
457
|
-
* 'pre-wrap' - текст с переносами строк |
|
|
458
|
-
* 'link' - гиперссылка |
|
|
459
|
-
* 'linkIcon' - гиперссылка (иконка вместо текста) |
|
|
460
|
-
* 'routerLink' - ссылка на страницу в приложении |
|
|
461
|
-
* 'routerLinkIcon' - ссылка на страницу в приложении (иконка вместо текста) |
|
|
462
|
-
* 'checkbox' - чекбокс |
|
|
463
|
-
* 'icon' - иконка |
|
|
464
|
-
* 'icons' - иконка по значению (отображаются из свойства icons по индексу) |
|
|
465
|
-
* 'actions' - действия |
|
|
466
|
-
* 'image' - изображение
|
|
467
|
-
* }. * */
|
|
468
|
-
format?: string;
|
|
469
|
-
/** Отключить сортировку по заголовку. */
|
|
470
|
-
titleSortDisable?: boolean;
|
|
471
|
-
/** Иконка вместо текста, когда format = 'link' | 'routerLink' | 'routerLinkIcon' | 'icon'. */
|
|
472
|
-
icon?: string;
|
|
473
|
-
/** Иконка вместо текста, когда format = 'icons'. */
|
|
474
|
-
icons?: string[];
|
|
475
|
-
/** Символ (Material Symbols) вместо текста, когда format = 'link' | 'routerLink' | 'routerLinkIcon' | 'icon'. */
|
|
476
|
-
symbol?: string;
|
|
477
|
-
/** Символ (Material Symbols) вместо текста, когда format = 'icons'. */
|
|
478
|
-
symbols?: string;
|
|
479
|
-
/** Скрыть колонку. */
|
|
480
|
-
hide?: boolean;
|
|
481
|
-
footer?: boolean;
|
|
482
|
-
footerTitle?: string;
|
|
483
|
-
tooltip?: string;
|
|
484
|
-
tooltips?: string[];
|
|
485
|
-
classList?: string[];
|
|
486
|
-
actions?: IColumnActionOptions<T>[];
|
|
487
|
-
imageUrl?: string;
|
|
488
|
-
imageAlt?: string;
|
|
489
|
-
}
|
|
490
|
-
/** Настройки пункта меню. */
|
|
491
|
-
export interface IContextMenuOptions<T> {
|
|
492
|
-
/** Заголовок. */
|
|
493
|
-
title: string;
|
|
494
|
-
/** Функция обработчик нажатия. */
|
|
495
|
-
onClickFn?: (item: T | undefined) => void;
|
|
496
|
-
/** Функция обработчик нажатия средней кнопкой мыши. */
|
|
497
|
-
onClickMiddleFn?: ($event: MouseEvent, item: T | undefined, contextMenu: MatMenuTrigger) => void;
|
|
498
|
-
/** Иконка. */
|
|
499
|
-
icon?: string;
|
|
500
|
-
/** Символ (Material Symbols). */
|
|
501
|
-
symbol?: string;
|
|
502
|
-
/** Доступность. */
|
|
503
|
-
disabled?: boolean;
|
|
504
|
-
/** Функция определяющая доступность. */
|
|
505
|
-
disabledFn?: (item: T | undefined) => boolean;
|
|
506
|
-
/** Видимость. */
|
|
507
|
-
hide?: boolean;
|
|
508
|
-
/** Функция определяющая видимость. */
|
|
509
|
-
hideFn?: (item: T | undefined) => boolean;
|
|
510
|
-
classList?: string[];
|
|
511
|
-
}
|
|
512
|
-
export declare class TableComponent<T extends BaseSchemaClass> {
|
|
513
|
-
/** Отображаемые данные. */
|
|
514
|
-
data: import("@angular/core").InputSignal<T[]>;
|
|
515
|
-
/** Количество записей. */
|
|
516
|
-
length: import("@angular/core").InputSignal<number>;
|
|
517
|
-
/** Настройки колонок. */
|
|
518
|
-
columnOptions: import("@angular/core").InputSignal<IColumnOptions<T>[]>;
|
|
519
|
-
/** Состояние сортировки, пагинации. */
|
|
520
|
-
tableState: import("@angular/core").InputSignal<{
|
|
521
|
-
sortActive: string;
|
|
522
|
-
sortDirection: import("@kuzntsv/uikit/ui").SortDirection;
|
|
523
|
-
pageIndex: number;
|
|
524
|
-
pageSize: number;
|
|
525
|
-
}>;
|
|
526
|
-
/** Разрешен выбор нескольких строк. */
|
|
527
|
-
allowMultiSelect: import("@angular/core").InputSignal<boolean>;
|
|
528
|
-
/** Список элементов контекстного меню. */
|
|
529
|
-
opt: import("@angular/core").InputSignal<IContextMenuOptions<T>[]>;
|
|
530
|
-
/** Отправка события rowDoubleClicked (при двойном щелчке мышью) отключена. */
|
|
531
|
-
rowDblClickedDisable: import("@angular/core").InputSignal<boolean>;
|
|
532
|
-
/** Отображать строку с итогом. */
|
|
533
|
-
footer: import("@angular/core").InputSignal<boolean>;
|
|
534
|
-
/** Изменение страницы. */
|
|
535
|
-
pageStateChange: import("@angular/core").OutputEmitterRef<{
|
|
536
|
-
pageIndex: number;
|
|
537
|
-
pageSize: number;
|
|
538
|
-
}>;
|
|
539
|
-
/** Изменение сортировки. */
|
|
540
|
-
sortStateChange: import("@angular/core").OutputEmitterRef<{
|
|
541
|
-
sortActive: string;
|
|
542
|
-
sortDirection: import("@kuzntsv/uikit/ui").SortDirection;
|
|
543
|
-
}>;
|
|
544
|
-
/** Изменение выбранных записей. */
|
|
545
|
-
selectionChange: import("@angular/core").OutputEmitterRef<T[]>;
|
|
546
|
-
/** Двойной щелчек ЛКМ*/
|
|
547
|
-
rowDoubleClicked: import("@angular/core").OutputEmitterRef<T>;
|
|
548
|
-
readonly sort: import("@angular/core").Signal<MatSort | undefined>;
|
|
549
|
-
readonly paginator: import("@angular/core").Signal<MatPaginator | undefined>;
|
|
550
|
-
readonly contextMenu: import("@angular/core").Signal<MatMenuTrigger | undefined>;
|
|
551
|
-
pageState: import("@angular/core").WritableSignal<{
|
|
552
|
-
pageIndex: number;
|
|
553
|
-
pageSize: number;
|
|
554
|
-
}>;
|
|
555
|
-
sortState: import("@angular/core").WritableSignal<{
|
|
556
|
-
sortActive: string;
|
|
557
|
-
sortDirection: import("@kuzntsv/uikit/ui").SortDirection;
|
|
558
|
-
}>;
|
|
559
|
-
/** Выбранная строка, для которого будет показываться меню при нажатии правой кнопки мыши. */
|
|
560
|
-
itemForMenu?: T;
|
|
561
|
-
/** Позиция в которой отображается контекстное меню. */
|
|
562
|
-
contextMenuPosition: {
|
|
563
|
-
x: string;
|
|
564
|
-
y: string;
|
|
565
|
-
};
|
|
566
|
-
readonly defaultPageIndex = 0;
|
|
567
|
-
readonly defaultPageSize = 10;
|
|
568
|
-
/** Источник данных для отображения. */
|
|
569
|
-
dataSource: MatTableDataSource<T, MatPaginator>;
|
|
570
|
-
/** Выбранные записи. */
|
|
571
|
-
selection: import("@angular/core").Signal<SignalSelectionModel<T>>;
|
|
572
|
-
/** Список отображаемых колонок (формируется из @columnOptions). */
|
|
573
|
-
displayedColumns: import("@angular/core").Signal<string[]>;
|
|
574
|
-
totals: import("@angular/core").Signal<Record<string, string | number>>;
|
|
575
|
-
constructor();
|
|
576
|
-
onPageEvent(event: PageEvent): void;
|
|
577
|
-
onSortEvent(sort: Sort): void;
|
|
578
|
-
/** Whether the number of selected elements matches the total number of rows. */
|
|
579
|
-
isAllSelected(): boolean;
|
|
580
|
-
/** Selects all rows if they are not all selected; otherwise clear selection. */
|
|
581
|
-
masterToggle(): void;
|
|
582
|
-
/** При щелчке по строке. */
|
|
583
|
-
onRowClicked(row: T): void;
|
|
584
|
-
/** При двойном щелчке по строке. */
|
|
585
|
-
onRowDblClicked(row: T): void;
|
|
586
|
-
/** При вызове контекстного меню. */
|
|
587
|
-
onContextMenu(event: MouseEvent, itemForMenu: T | undefined): void;
|
|
588
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent<any>, never>;
|
|
589
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any>, "ngx-uik-table", never, {
|
|
590
|
-
"data": {
|
|
591
|
-
"alias": "data";
|
|
389
|
+
"rolesCsvBtn": {
|
|
390
|
+
"alias": "rolesCsvBtn";
|
|
592
391
|
"required": false;
|
|
593
392
|
"isSignal": true;
|
|
594
393
|
};
|
|
595
|
-
"
|
|
596
|
-
"alias": "
|
|
394
|
+
"rolesPdfBtn": {
|
|
395
|
+
"alias": "rolesPdfBtn";
|
|
597
396
|
"required": false;
|
|
598
397
|
"isSignal": true;
|
|
599
398
|
};
|
|
600
|
-
"
|
|
601
|
-
"alias": "
|
|
399
|
+
"rolesPrintBtn": {
|
|
400
|
+
"alias": "rolesPrintBtn";
|
|
602
401
|
"required": false;
|
|
603
402
|
"isSignal": true;
|
|
604
403
|
};
|
|
605
|
-
"
|
|
606
|
-
"alias": "
|
|
607
|
-
"required":
|
|
404
|
+
"rolesRefreshBtn": {
|
|
405
|
+
"alias": "rolesRefreshBtn";
|
|
406
|
+
"required": false;
|
|
608
407
|
"isSignal": true;
|
|
609
408
|
};
|
|
610
|
-
"
|
|
611
|
-
"alias": "
|
|
409
|
+
"rolesClearBtn": {
|
|
410
|
+
"alias": "rolesClearBtn";
|
|
612
411
|
"required": false;
|
|
613
412
|
"isSignal": true;
|
|
614
413
|
};
|
|
615
|
-
"
|
|
616
|
-
"alias": "
|
|
414
|
+
"newBtnDisabled": {
|
|
415
|
+
"alias": "newBtnDisabled";
|
|
617
416
|
"required": false;
|
|
618
417
|
"isSignal": true;
|
|
619
418
|
};
|
|
620
|
-
"
|
|
621
|
-
"alias": "
|
|
419
|
+
"editBtnDisabled": {
|
|
420
|
+
"alias": "editBtnDisabled";
|
|
622
421
|
"required": false;
|
|
623
422
|
"isSignal": true;
|
|
624
423
|
};
|
|
625
|
-
"
|
|
626
|
-
"alias": "
|
|
424
|
+
"removeBtnDisabled": {
|
|
425
|
+
"alias": "removeBtnDisabled";
|
|
627
426
|
"required": false;
|
|
628
427
|
"isSignal": true;
|
|
629
428
|
};
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
"sortStateChange": "sortStateChange";
|
|
633
|
-
"selectionChange": "selectionChange";
|
|
634
|
-
"rowDoubleClicked": "rowDoubleClicked";
|
|
635
|
-
}, never, never, true, never>;
|
|
636
|
-
}
|
|
637
|
-
export declare class BaseToolbarComponent {
|
|
638
|
-
/**
|
|
639
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
640
|
-
*/
|
|
641
|
-
rolesNewBtn: import("@angular/core").InputSignal<string[]>;
|
|
642
|
-
/**
|
|
643
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
644
|
-
*/
|
|
645
|
-
rolesEditBtn: import("@angular/core").InputSignal<string[]>;
|
|
646
|
-
/**
|
|
647
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
648
|
-
*/
|
|
649
|
-
rolesRemoveBtn: import("@angular/core").InputSignal<string[]>;
|
|
650
|
-
/**
|
|
651
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
652
|
-
*/
|
|
653
|
-
rolesCopyBtn: import("@angular/core").InputSignal<string[]>;
|
|
654
|
-
/**
|
|
655
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
656
|
-
*/
|
|
657
|
-
rolesExcelBtn: import("@angular/core").InputSignal<string[]>;
|
|
658
|
-
/**
|
|
659
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
660
|
-
*/
|
|
661
|
-
rolesCsvBtn: import("@angular/core").InputSignal<string[]>;
|
|
662
|
-
/**
|
|
663
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
664
|
-
*/
|
|
665
|
-
rolesPdfBtn: import("@angular/core").InputSignal<string[]>;
|
|
666
|
-
/**
|
|
667
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
668
|
-
*/
|
|
669
|
-
rolesPrintBtn: import("@angular/core").InputSignal<string[]>;
|
|
670
|
-
/**
|
|
671
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
672
|
-
*/
|
|
673
|
-
rolesRefreshBtn: import("@angular/core").InputSignal<string[]>;
|
|
674
|
-
/**
|
|
675
|
-
* Список Ролей, для которых кнопка видна. Если в списке есть роль 'HIDE', то скрывается.
|
|
676
|
-
*/
|
|
677
|
-
rolesClearBtn: import("@angular/core").InputSignal<string[]>;
|
|
678
|
-
newBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
679
|
-
editBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
680
|
-
removeBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
681
|
-
copyBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
682
|
-
excelBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
683
|
-
csvBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
684
|
-
pdfBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
685
|
-
printBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
686
|
-
refreshBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
687
|
-
clearBtnDisabled: import("@angular/core").InputSignal<boolean>;
|
|
688
|
-
newBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
689
|
-
editBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
690
|
-
removeBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
691
|
-
copyBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
692
|
-
excelBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
693
|
-
csvBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
694
|
-
pdfBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
695
|
-
printBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
696
|
-
refreshBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
697
|
-
clearBtnTooltip: import("@angular/core").InputSignal<string>;
|
|
698
|
-
/** Список элементов контекстного меню. */
|
|
699
|
-
newBtnOpt: import("@angular/core").InputSignal<IContextMenuOptions<string>[]>;
|
|
700
|
-
clickedNewBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
701
|
-
clickedEditBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
702
|
-
clickedRemoveBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
703
|
-
clickedCopyBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
704
|
-
clickedExcelBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
705
|
-
clickedCsvBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
706
|
-
clickedPdfBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
707
|
-
clickedPrintBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
708
|
-
clickedRefreshBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
709
|
-
clickedClearBtn: import("@angular/core").OutputEmitterRef<void>;
|
|
710
|
-
protected roleService: RoleService;
|
|
711
|
-
readonly isNewBtnVisible: import("@angular/core").Signal<boolean>;
|
|
712
|
-
readonly isEditBtnVisible: import("@angular/core").Signal<boolean>;
|
|
713
|
-
readonly isRemoveBtnVisible: import("@angular/core").Signal<boolean>;
|
|
714
|
-
readonly isCopyBtnVisible: import("@angular/core").Signal<boolean>;
|
|
715
|
-
readonly isExcelBtnVisible: import("@angular/core").Signal<boolean>;
|
|
716
|
-
readonly isCsvBtnVisible: import("@angular/core").Signal<boolean>;
|
|
717
|
-
readonly isPdfBtnVisible: import("@angular/core").Signal<boolean>;
|
|
718
|
-
readonly isPrintBtnVisible: import("@angular/core").Signal<boolean>;
|
|
719
|
-
readonly isRefreshBtnVisible: import("@angular/core").Signal<boolean>;
|
|
720
|
-
readonly isClearBtnVisible: import("@angular/core").Signal<boolean>;
|
|
721
|
-
/**
|
|
722
|
-
* Внутренний метод для вычисления видимости.
|
|
723
|
-
* Не вызывается напрямую из шаблона, а служит хелпером для декларативных computed.
|
|
724
|
-
* Проверяет, заблокирован ли доступ к элементу на основе списка ограничений.
|
|
725
|
-
* Возвращает true, если у пользователя есть запрещенная роль или передан маркер 'HIDE'.
|
|
726
|
-
* Администратор (ADMIN) всегда игнорирует любые запреты и маркер 'HIDE'.
|
|
727
|
-
*/
|
|
728
|
-
private checkVisibility;
|
|
729
|
-
onNewClick(): void;
|
|
730
|
-
onEditClick(): void;
|
|
731
|
-
onRemoveClick(): void;
|
|
732
|
-
onCopyClick(): void;
|
|
733
|
-
onExcelClick(): void;
|
|
734
|
-
onCsvClick(): void;
|
|
735
|
-
onPdfClick(): void;
|
|
736
|
-
onPrintClick(): void;
|
|
737
|
-
onRefreshGridClick(): void;
|
|
738
|
-
onClearClick(): void;
|
|
739
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BaseToolbarComponent, never>;
|
|
740
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BaseToolbarComponent, "ngx-uik-base-toolbar", never, {
|
|
741
|
-
"rolesNewBtn": {
|
|
742
|
-
"alias": "rolesNewBtn";
|
|
429
|
+
"copyBtnDisabled": {
|
|
430
|
+
"alias": "copyBtnDisabled";
|
|
743
431
|
"required": false;
|
|
744
432
|
"isSignal": true;
|
|
745
433
|
};
|
|
746
|
-
"
|
|
747
|
-
"alias": "
|
|
434
|
+
"excelBtnDisabled": {
|
|
435
|
+
"alias": "excelBtnDisabled";
|
|
748
436
|
"required": false;
|
|
749
437
|
"isSignal": true;
|
|
750
438
|
};
|
|
751
|
-
"
|
|
752
|
-
"alias": "
|
|
439
|
+
"csvBtnDisabled": {
|
|
440
|
+
"alias": "csvBtnDisabled";
|
|
753
441
|
"required": false;
|
|
754
442
|
"isSignal": true;
|
|
755
443
|
};
|
|
756
|
-
"
|
|
757
|
-
"alias": "
|
|
444
|
+
"pdfBtnDisabled": {
|
|
445
|
+
"alias": "pdfBtnDisabled";
|
|
758
446
|
"required": false;
|
|
759
447
|
"isSignal": true;
|
|
760
448
|
};
|
|
761
|
-
"
|
|
762
|
-
"alias": "
|
|
763
|
-
"required": false;
|
|
764
|
-
"isSignal": true;
|
|
765
|
-
};
|
|
766
|
-
"rolesCsvBtn": {
|
|
767
|
-
"alias": "rolesCsvBtn";
|
|
768
|
-
"required": false;
|
|
769
|
-
"isSignal": true;
|
|
770
|
-
};
|
|
771
|
-
"rolesPdfBtn": {
|
|
772
|
-
"alias": "rolesPdfBtn";
|
|
773
|
-
"required": false;
|
|
774
|
-
"isSignal": true;
|
|
775
|
-
};
|
|
776
|
-
"rolesPrintBtn": {
|
|
777
|
-
"alias": "rolesPrintBtn";
|
|
778
|
-
"required": false;
|
|
779
|
-
"isSignal": true;
|
|
780
|
-
};
|
|
781
|
-
"rolesRefreshBtn": {
|
|
782
|
-
"alias": "rolesRefreshBtn";
|
|
783
|
-
"required": false;
|
|
784
|
-
"isSignal": true;
|
|
785
|
-
};
|
|
786
|
-
"rolesClearBtn": {
|
|
787
|
-
"alias": "rolesClearBtn";
|
|
788
|
-
"required": false;
|
|
789
|
-
"isSignal": true;
|
|
790
|
-
};
|
|
791
|
-
"newBtnDisabled": {
|
|
792
|
-
"alias": "newBtnDisabled";
|
|
793
|
-
"required": false;
|
|
794
|
-
"isSignal": true;
|
|
795
|
-
};
|
|
796
|
-
"editBtnDisabled": {
|
|
797
|
-
"alias": "editBtnDisabled";
|
|
798
|
-
"required": false;
|
|
799
|
-
"isSignal": true;
|
|
800
|
-
};
|
|
801
|
-
"removeBtnDisabled": {
|
|
802
|
-
"alias": "removeBtnDisabled";
|
|
803
|
-
"required": false;
|
|
804
|
-
"isSignal": true;
|
|
805
|
-
};
|
|
806
|
-
"copyBtnDisabled": {
|
|
807
|
-
"alias": "copyBtnDisabled";
|
|
808
|
-
"required": false;
|
|
809
|
-
"isSignal": true;
|
|
810
|
-
};
|
|
811
|
-
"excelBtnDisabled": {
|
|
812
|
-
"alias": "excelBtnDisabled";
|
|
813
|
-
"required": false;
|
|
814
|
-
"isSignal": true;
|
|
815
|
-
};
|
|
816
|
-
"csvBtnDisabled": {
|
|
817
|
-
"alias": "csvBtnDisabled";
|
|
818
|
-
"required": false;
|
|
819
|
-
"isSignal": true;
|
|
820
|
-
};
|
|
821
|
-
"pdfBtnDisabled": {
|
|
822
|
-
"alias": "pdfBtnDisabled";
|
|
823
|
-
"required": false;
|
|
824
|
-
"isSignal": true;
|
|
825
|
-
};
|
|
826
|
-
"printBtnDisabled": {
|
|
827
|
-
"alias": "printBtnDisabled";
|
|
449
|
+
"printBtnDisabled": {
|
|
450
|
+
"alias": "printBtnDisabled";
|
|
828
451
|
"required": false;
|
|
829
452
|
"isSignal": true;
|
|
830
453
|
};
|
|
@@ -1013,12 +636,11 @@ export interface Topic {
|
|
|
1013
636
|
getTopic(baseUrl: string, user: SseUser): string;
|
|
1014
637
|
}
|
|
1015
638
|
export declare class SseService<T> {
|
|
1016
|
-
private
|
|
1017
|
-
private
|
|
1018
|
-
private
|
|
639
|
+
private readonly destroyRef;
|
|
640
|
+
private activeEventSource;
|
|
641
|
+
private readonly stop$;
|
|
1019
642
|
constructor();
|
|
1020
643
|
createSseEventSource(baseUrl: string, user: SseUser, topic: Topic): Observable<T>;
|
|
1021
|
-
private reconnectOnError;
|
|
1022
644
|
closeSseEventSource(): void;
|
|
1023
645
|
static ɵfac: i0.ɵɵFactoryDeclaration<SseService<any>, never>;
|
|
1024
646
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
@@ -1058,6 +680,26 @@ export declare class BaseNavBarMenuClass {
|
|
|
1058
680
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseNavBarMenuClass, never>;
|
|
1059
681
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseNavBarMenuClass, never, never, {}, {}, never, never, true, never>;
|
|
1060
682
|
}
|
|
683
|
+
export declare enum DialogAction {
|
|
684
|
+
Add = "Добавить",
|
|
685
|
+
Edit = "Изменить",
|
|
686
|
+
Delete = "Удалить",
|
|
687
|
+
None = ""
|
|
688
|
+
}
|
|
689
|
+
export interface DialogData {
|
|
690
|
+
id: string;
|
|
691
|
+
title: string;
|
|
692
|
+
message: string;
|
|
693
|
+
btnNoTitle: string;
|
|
694
|
+
btnYesTitle: string;
|
|
695
|
+
}
|
|
696
|
+
export declare class DialogComponent {
|
|
697
|
+
readonly data: DialogData | null;
|
|
698
|
+
readonly dialogRef: MatDialogRef<any, any>;
|
|
699
|
+
readonly dialogData: DialogData;
|
|
700
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
|
|
701
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "ngx-uik-dialog", never, {}, {}, never, never, true, never>;
|
|
702
|
+
}
|
|
1061
703
|
export declare class BasePageClass<T> implements OnDestroy {
|
|
1062
704
|
protected dialog: MatDialog;
|
|
1063
705
|
/** Данные для табличного компонента. */
|
|
@@ -1245,6 +887,16 @@ export declare abstract class BaseSignalEditClass<TDomain extends Record<string,
|
|
|
1245
887
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseSignalEditClass<any, any>, never>;
|
|
1246
888
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSignalEditClass<any, any>, never, never, {}, {}, never, never, true, never>;
|
|
1247
889
|
}
|
|
890
|
+
type FilterValue = string | number | boolean | readonly string[] | readonly number[] | null | undefined;
|
|
891
|
+
type SafeFilterState = Readonly<Record<string, FilterValue>>;
|
|
892
|
+
type CleanFilterValue = Exclude<FilterValue, null | undefined>;
|
|
893
|
+
type CleanFilterState = Readonly<Record<string, CleanFilterValue>>;
|
|
894
|
+
declare function cleanFilterParams(filters: SafeFilterState): CleanFilterState;
|
|
895
|
+
/**
|
|
896
|
+
* Проверяет, является ли значение фильтра пустым (мусорным),
|
|
897
|
+
* которое нужно удалить из URL/LocalStorage, чтобы не спамить бэкенд.
|
|
898
|
+
*/
|
|
899
|
+
declare function isEmptyFilterValue(value: unknown): boolean;
|
|
1248
900
|
export declare abstract class BaseSignalFilterClass<F extends SafeFilterState> {
|
|
1249
901
|
/** Сервис индикатор загрузки. */
|
|
1250
902
|
protected loaderService: LoaderService;
|
|
@@ -1312,7 +964,13 @@ export declare abstract class BaseSignalFilterClass<F extends SafeFilterState> {
|
|
|
1312
964
|
}
|
|
1313
965
|
export declare abstract class BaseSignalPageClass<TDomain extends BaseSchemaClass, TForm extends BaseSchemaClass = TDomain, TFilter extends SafeFilterState = Record<string, never>> implements OnDestroy {
|
|
1314
966
|
protected dialog: MatDialog;
|
|
1315
|
-
protected
|
|
967
|
+
protected router: Router;
|
|
968
|
+
/** Сервис для работы с LocalStorage. */
|
|
969
|
+
protected localStorageService: LocalStorageService;
|
|
970
|
+
/** Сервис индикатор загрузки. */
|
|
971
|
+
protected loaderService: LoaderService;
|
|
972
|
+
/** Сервис уведомлений. */
|
|
973
|
+
protected notificationService: import("@kuzntsv/uikit").INotificationService;
|
|
1316
974
|
protected entityService: any;
|
|
1317
975
|
protected entityEditComponent?: any;
|
|
1318
976
|
protected extraData?: any;
|
|
@@ -1324,7 +982,6 @@ export declare abstract class BaseSignalPageClass<TDomain extends BaseSchemaClas
|
|
|
1324
982
|
defaultPageSize: number;
|
|
1325
983
|
dialogEditWidth: string;
|
|
1326
984
|
dialogRemoveWidth: string;
|
|
1327
|
-
routeAddress: string;
|
|
1328
985
|
/** Сообщение при удалении записи(й). */
|
|
1329
986
|
removalMessage: string;
|
|
1330
987
|
/** Заголовок страницы. */
|
|
@@ -1359,10 +1016,19 @@ export declare abstract class BaseSignalPageClass<TDomain extends BaseSchemaClas
|
|
|
1359
1016
|
hideRoles: string[];
|
|
1360
1017
|
/** Разрешен выбор нескольких строк. */
|
|
1361
1018
|
allowMultiSelect: boolean;
|
|
1019
|
+
/** Разрешено ли отправлять событие rowDoubleClicked при двойном щелчке мышью. */
|
|
1020
|
+
dblClickedEventEnable: boolean;
|
|
1362
1021
|
/** Выбранные строки в таблице. */
|
|
1363
1022
|
selected: import("@angular/core").WritableSignal<TForm[]>;
|
|
1023
|
+
/** Доступность кнопки "Изменить". */
|
|
1024
|
+
editBtnDisabled: import("@angular/core").Signal<boolean>;
|
|
1025
|
+
/** Доступность кнопки "Удалить". */
|
|
1026
|
+
removeBtnDisabled: import("@angular/core").Signal<boolean>;
|
|
1027
|
+
/** Маппинг TDomain в TForm */
|
|
1364
1028
|
protected fnMapEntity: fnMapEntityType<TForm> | undefined;
|
|
1029
|
+
/** Ссылка на ресурс получения данных, определяет потомок. */
|
|
1365
1030
|
protected dataResource: HttpResourceRef<TForm[]>;
|
|
1031
|
+
/** Ссылка на ресурс получения количества записей, определяет потомок. */
|
|
1366
1032
|
protected countResource: HttpResourceRef<number>;
|
|
1367
1033
|
/** Данные для табличного компонента. */
|
|
1368
1034
|
data: import("@angular/core").Signal<TForm[]>;
|
|
@@ -1370,29 +1036,11 @@ export declare abstract class BaseSignalPageClass<TDomain extends BaseSchemaClas
|
|
|
1370
1036
|
length: import("@angular/core").Signal<number>;
|
|
1371
1037
|
/** Глобальный индикатор загрузки (для спиннера на странице) */
|
|
1372
1038
|
isLoading: import("@angular/core").Signal<boolean>;
|
|
1373
|
-
/**
|
|
1374
|
-
editBtnDisabled: import("@angular/core").Signal<boolean>;
|
|
1375
|
-
/** Доступность кнопки "Удалить". */
|
|
1376
|
-
removeBtnDisabled: import("@angular/core").Signal<boolean>;
|
|
1377
|
-
/** Разрешено ли отправлять событие rowDoubleClicked при двойном щелчке мышью. */
|
|
1378
|
-
dblClickedEventEnable: boolean;
|
|
1039
|
+
/** Список элементов контекстного меню. */
|
|
1379
1040
|
opt: IContextMenuOptions<TForm>[];
|
|
1380
|
-
protected router: Router;
|
|
1381
|
-
/** Сервис для работы с LocalStorage. */
|
|
1382
|
-
protected localStorageService: LocalStorageService;
|
|
1383
|
-
/** Сервис индикатор загрузки. */
|
|
1384
|
-
protected loaderService: LoaderService;
|
|
1385
|
-
/** Сервис уведомлений. */
|
|
1386
|
-
protected notificationService: import("@kuzntsv/uikit").INotificationService;
|
|
1387
1041
|
/** Объект для отписки (вызывается метод unsubscribe при уничтожении компонента). */
|
|
1388
1042
|
subscription: Subscription;
|
|
1389
|
-
|
|
1390
|
-
/** Разово прочитать сохраненные значения из localStorage при старте страницы,
|
|
1391
|
-
* провалидировать их через Zod-схему и записать в сигнал filters */
|
|
1392
|
-
protected initFilters(): void;
|
|
1393
|
-
private getInitialFilters2;
|
|
1394
|
-
/** Событие очистки фильтра. */
|
|
1395
|
-
clearEvent(): void;
|
|
1043
|
+
/** Единое реактивное хранилище для ВСЕХ фильтров текущей страницы. */
|
|
1396
1044
|
filters: import("@angular/core").WritableSignal<TFilter>;
|
|
1397
1045
|
/** Очистка фильтра. (для очистки присвоить пустой объект '{}'). */
|
|
1398
1046
|
clearFilters: import("@angular/core").WritableSignal<any>;
|
|
@@ -1405,16 +1053,21 @@ export declare abstract class BaseSignalPageClass<TDomain extends BaseSchemaClas
|
|
|
1405
1053
|
}>;
|
|
1406
1054
|
constructor();
|
|
1407
1055
|
ngOnDestroy(): void;
|
|
1056
|
+
/** Разово прочитать сохраненные значения из localStorage при старте страницы,
|
|
1057
|
+
* провалидировать их через Zod-схему и записать в сигнал filters */
|
|
1058
|
+
protected initFilters(): void;
|
|
1059
|
+
/** Событие очистки фильтра. */
|
|
1060
|
+
protected clearEvent(): void;
|
|
1408
1061
|
/** Установка значение фильтра.
|
|
1409
1062
|
* @param key - имя фильтра.
|
|
1410
1063
|
* @param value - значение.
|
|
1411
1064
|
*/
|
|
1412
|
-
setFilter<K extends keyof TFilter>(key: K, value: TFilter[K]): void;
|
|
1065
|
+
protected setFilter<K extends keyof TFilter>(key: K, value: TFilter[K]): void;
|
|
1413
1066
|
/**
|
|
1414
1067
|
* Обновление нескольких фильтров одновременно (пачкой)
|
|
1415
1068
|
* @param fields Пачка фильтров в виде объекта { имяПоля: значение }
|
|
1416
1069
|
*/
|
|
1417
|
-
setFilters(fields: Partial<TFilter>): void;
|
|
1070
|
+
protected setFilters(fields: Partial<TFilter>): void;
|
|
1418
1071
|
onPageChange(pageState: PageState): void;
|
|
1419
1072
|
onSortChange(sortState: SortState): void;
|
|
1420
1073
|
/** Событие изменение выбранных записей. */
|
|
@@ -1445,6 +1098,351 @@ export declare abstract class BaseSignalPageClass<TDomain extends BaseSchemaClas
|
|
|
1445
1098
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseSignalPageClass<any, any, any>, never>;
|
|
1446
1099
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSignalPageClass<any, any, any>, never, never, {}, {}, never, never, true, never>;
|
|
1447
1100
|
}
|
|
1101
|
+
export interface ChipItem {
|
|
1102
|
+
value: string;
|
|
1103
|
+
viewValue: string;
|
|
1104
|
+
}
|
|
1105
|
+
export declare class ChipInputAutocompleteComponent implements FormValueControl<string[]> {
|
|
1106
|
+
private readonly formFieldDirective;
|
|
1107
|
+
/** Все элементы. */
|
|
1108
|
+
items: import("@angular/core").InputSignal<ChipItem[]>;
|
|
1109
|
+
/** Заголовок. */
|
|
1110
|
+
title: import("@angular/core").InputSignal<string>;
|
|
1111
|
+
readonly value: import("@angular/core").ModelSignal<string[]>;
|
|
1112
|
+
readonly filterQuery: import("@angular/core").ModelSignal<string>;
|
|
1113
|
+
separatorKeysCodes: number[];
|
|
1114
|
+
readonly selectedItems: import("@angular/core").WritableSignal<ChipItem[]>;
|
|
1115
|
+
readonly filteredItems: import("@angular/core").Signal<ChipItem[]>;
|
|
1116
|
+
readonly isDisabled: import("@angular/core").Signal<boolean>;
|
|
1117
|
+
readonly isInvalid: import("@angular/core").Signal<boolean>;
|
|
1118
|
+
remove(value: string): void;
|
|
1119
|
+
selected(event: MatAutocompleteSelectedEvent): void;
|
|
1120
|
+
onCloseClick($event: MouseEvent): void;
|
|
1121
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChipInputAutocompleteComponent, never>;
|
|
1122
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChipInputAutocompleteComponent, "ngx-uik-chip-input-autocomplete", never, {
|
|
1123
|
+
"items": {
|
|
1124
|
+
"alias": "items";
|
|
1125
|
+
"required": false;
|
|
1126
|
+
"isSignal": true;
|
|
1127
|
+
};
|
|
1128
|
+
"title": {
|
|
1129
|
+
"alias": "title";
|
|
1130
|
+
"required": false;
|
|
1131
|
+
"isSignal": true;
|
|
1132
|
+
};
|
|
1133
|
+
"value": {
|
|
1134
|
+
"alias": "value";
|
|
1135
|
+
"required": false;
|
|
1136
|
+
"isSignal": true;
|
|
1137
|
+
};
|
|
1138
|
+
"filterQuery": {
|
|
1139
|
+
"alias": "filterQuery";
|
|
1140
|
+
"required": false;
|
|
1141
|
+
"isSignal": true;
|
|
1142
|
+
};
|
|
1143
|
+
}, {
|
|
1144
|
+
"value": "valueChange";
|
|
1145
|
+
"filterQuery": "filterQueryChange";
|
|
1146
|
+
}, never, never, true, never>;
|
|
1147
|
+
}
|
|
1148
|
+
export declare class DateRangeInputComponent {
|
|
1149
|
+
readonly DEFAULT_MIN_DATE: Date;
|
|
1150
|
+
label: import("@angular/core").InputSignal<string>;
|
|
1151
|
+
dateRange: import("@angular/core").InputSignal<{
|
|
1152
|
+
begin: string;
|
|
1153
|
+
end: string;
|
|
1154
|
+
}>;
|
|
1155
|
+
minDate: import("@angular/core").InputSignal<Date>;
|
|
1156
|
+
clearInput: import("@angular/core").InputSignal<any>;
|
|
1157
|
+
required: import("@angular/core").InputSignal<boolean>;
|
|
1158
|
+
dateRangeChange: import("@angular/core").OutputEmitterRef<{
|
|
1159
|
+
begin: string;
|
|
1160
|
+
end: string;
|
|
1161
|
+
}>;
|
|
1162
|
+
formModel: import("@angular/core").WritableSignal<{
|
|
1163
|
+
begin: Date | null;
|
|
1164
|
+
end: Date | null;
|
|
1165
|
+
}>;
|
|
1166
|
+
form: import("@angular/forms/signals").FieldTree<{
|
|
1167
|
+
begin: Date | null;
|
|
1168
|
+
end: Date | null;
|
|
1169
|
+
}, string | number, "writable">;
|
|
1170
|
+
constructor();
|
|
1171
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DateRangeInputComponent, never>;
|
|
1172
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DateRangeInputComponent, "ngx-uik-date-range-input", never, {
|
|
1173
|
+
"label": {
|
|
1174
|
+
"alias": "label";
|
|
1175
|
+
"required": false;
|
|
1176
|
+
"isSignal": true;
|
|
1177
|
+
};
|
|
1178
|
+
"dateRange": {
|
|
1179
|
+
"alias": "dateRange";
|
|
1180
|
+
"required": false;
|
|
1181
|
+
"isSignal": true;
|
|
1182
|
+
};
|
|
1183
|
+
"minDate": {
|
|
1184
|
+
"alias": "minDate";
|
|
1185
|
+
"required": false;
|
|
1186
|
+
"isSignal": true;
|
|
1187
|
+
};
|
|
1188
|
+
"clearInput": {
|
|
1189
|
+
"alias": "clearInput";
|
|
1190
|
+
"required": false;
|
|
1191
|
+
"isSignal": true;
|
|
1192
|
+
};
|
|
1193
|
+
"required": {
|
|
1194
|
+
"alias": "required";
|
|
1195
|
+
"required": false;
|
|
1196
|
+
"isSignal": true;
|
|
1197
|
+
};
|
|
1198
|
+
}, {
|
|
1199
|
+
"dateRangeChange": "dateRangeChange";
|
|
1200
|
+
}, never, never, true, never>;
|
|
1201
|
+
}
|
|
1202
|
+
export declare class CustomDateAdapter extends NativeDateAdapter {
|
|
1203
|
+
parse(value: any): Date | null;
|
|
1204
|
+
format(date: Date, displayFormat: Object): string;
|
|
1205
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomDateAdapter, never>;
|
|
1206
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
1207
|
+
}
|
|
1208
|
+
export declare const MY_NATIVE_FORMATS: {
|
|
1209
|
+
parse: {
|
|
1210
|
+
dateInput: string;
|
|
1211
|
+
};
|
|
1212
|
+
display: {
|
|
1213
|
+
dateInput: string;
|
|
1214
|
+
monthYearLabel: {
|
|
1215
|
+
year: string;
|
|
1216
|
+
month: string;
|
|
1217
|
+
};
|
|
1218
|
+
dateA11yLabel: {
|
|
1219
|
+
year: string;
|
|
1220
|
+
month: string;
|
|
1221
|
+
day: string;
|
|
1222
|
+
};
|
|
1223
|
+
monthYearA11yLabel: {
|
|
1224
|
+
year: string;
|
|
1225
|
+
month: string;
|
|
1226
|
+
};
|
|
1227
|
+
};
|
|
1228
|
+
};
|
|
1229
|
+
export declare const dateRangeFormSchema: z$1.ZodObject<{
|
|
1230
|
+
begin: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
1231
|
+
end: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
1232
|
+
}, z$1.core.$strip>;
|
|
1233
|
+
export type DateRangeForm = z$1.output<typeof dateRangeFormSchema>;
|
|
1234
|
+
export declare const dateRangeSchema: z$1.ZodPipe<z$1.ZodObject<{
|
|
1235
|
+
begin: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
1236
|
+
end: z$1.ZodNullable<z$1.ZodInstanceOf<Date>>;
|
|
1237
|
+
}, z$1.core.$strip>, z$1.ZodTransform<{
|
|
1238
|
+
begin: string;
|
|
1239
|
+
end: string;
|
|
1240
|
+
}, {
|
|
1241
|
+
begin: Date | null;
|
|
1242
|
+
end: Date | null;
|
|
1243
|
+
}>>;
|
|
1244
|
+
export type DateRange = z$1.output<typeof dateRangeSchema>;
|
|
1245
|
+
export declare class EmptyComponent {
|
|
1246
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EmptyComponent, never>;
|
|
1247
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EmptyComponent, "ngx-uik-empty-route-guard-holder", never, {}, {}, never, never, true, never>;
|
|
1248
|
+
}
|
|
1249
|
+
declare const loginSchema: z$1.ZodObject<{
|
|
1250
|
+
username: z$1.ZodString;
|
|
1251
|
+
password: z$1.ZodString;
|
|
1252
|
+
}, z$1.core.$strip>;
|
|
1253
|
+
type Authenticate = z$1.infer<typeof loginSchema>;
|
|
1254
|
+
export declare class LoginPageComponent {
|
|
1255
|
+
pending: import("@angular/core").WritableSignal<boolean>;
|
|
1256
|
+
isKiosk: import("@angular/core").WritableSignal<boolean>;
|
|
1257
|
+
/**
|
|
1258
|
+
* Идентификатор АС получаем автоматически из ActivatedRoute Data!
|
|
1259
|
+
* (Для этого в настройках роутера должен быть включен withComponentInputBinding())
|
|
1260
|
+
*/
|
|
1261
|
+
idCas: import("@angular/core").InputSignal<number>;
|
|
1262
|
+
private readonly authService;
|
|
1263
|
+
private readonly router;
|
|
1264
|
+
private readonly notificationService;
|
|
1265
|
+
constructor();
|
|
1266
|
+
onSubmit(event: Authenticate): Promise<void>;
|
|
1267
|
+
onSubmitPermit(permit: string): Promise<void>;
|
|
1268
|
+
private startLoading;
|
|
1269
|
+
private finishLoading;
|
|
1270
|
+
private handleError;
|
|
1271
|
+
private handleSuccessLogin;
|
|
1272
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoginPageComponent, never>;
|
|
1273
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoginPageComponent, "ngx-uik-login-page", never, {
|
|
1274
|
+
"idCas": {
|
|
1275
|
+
"alias": "idCas";
|
|
1276
|
+
"required": false;
|
|
1277
|
+
"isSignal": true;
|
|
1278
|
+
};
|
|
1279
|
+
}, {}, never, never, true, never>;
|
|
1280
|
+
}
|
|
1281
|
+
export declare class NavBarComponent extends BaseNavBarMenuClass {
|
|
1282
|
+
/** Видимость панели, когда loggedIn === false. */
|
|
1283
|
+
visibleOnLogout: import("@angular/core").InputSignal<boolean>;
|
|
1284
|
+
/** Видимость аватара. */
|
|
1285
|
+
visibleAvatar: import("@angular/core").InputSignal<boolean>;
|
|
1286
|
+
/** Видимость кнопки "Выйти". */
|
|
1287
|
+
visibleLogoutBtn: import("@angular/core").InputSignal<boolean>;
|
|
1288
|
+
/** Признак, что пользователь авторизован. */
|
|
1289
|
+
loggedIn: import("@angular/core").InputSignal<boolean>;
|
|
1290
|
+
/** ФИО пользователя. */
|
|
1291
|
+
fioUser: import("@angular/core").InputSignal<string>;
|
|
1292
|
+
/** Всплывающая подсказка о пользователе. */
|
|
1293
|
+
userTooltip: import("@angular/core").InputSignal<string>;
|
|
1294
|
+
/** URL аватара */
|
|
1295
|
+
avatarURL: import("@angular/core").InputSignal<string | SafeUrl>;
|
|
1296
|
+
/** Нажата кнопка "Выйти". */
|
|
1297
|
+
logout: import("@angular/core").OutputEmitterRef<string>;
|
|
1298
|
+
private readonly dialog;
|
|
1299
|
+
onLogout(): void;
|
|
1300
|
+
openDialog(): void;
|
|
1301
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NavBarComponent, never>;
|
|
1302
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NavBarComponent, "ngx-uik-navbar", never, {
|
|
1303
|
+
"visibleOnLogout": {
|
|
1304
|
+
"alias": "visibleOnLogout";
|
|
1305
|
+
"required": false;
|
|
1306
|
+
"isSignal": true;
|
|
1307
|
+
};
|
|
1308
|
+
"visibleAvatar": {
|
|
1309
|
+
"alias": "visibleAvatar";
|
|
1310
|
+
"required": false;
|
|
1311
|
+
"isSignal": true;
|
|
1312
|
+
};
|
|
1313
|
+
"visibleLogoutBtn": {
|
|
1314
|
+
"alias": "visibleLogoutBtn";
|
|
1315
|
+
"required": false;
|
|
1316
|
+
"isSignal": true;
|
|
1317
|
+
};
|
|
1318
|
+
"loggedIn": {
|
|
1319
|
+
"alias": "loggedIn";
|
|
1320
|
+
"required": false;
|
|
1321
|
+
"isSignal": true;
|
|
1322
|
+
};
|
|
1323
|
+
"fioUser": {
|
|
1324
|
+
"alias": "fioUser";
|
|
1325
|
+
"required": false;
|
|
1326
|
+
"isSignal": true;
|
|
1327
|
+
};
|
|
1328
|
+
"userTooltip": {
|
|
1329
|
+
"alias": "userTooltip";
|
|
1330
|
+
"required": false;
|
|
1331
|
+
"isSignal": true;
|
|
1332
|
+
};
|
|
1333
|
+
"avatarURL": {
|
|
1334
|
+
"alias": "avatarURL";
|
|
1335
|
+
"required": false;
|
|
1336
|
+
"isSignal": true;
|
|
1337
|
+
};
|
|
1338
|
+
}, {
|
|
1339
|
+
"logout": "logout";
|
|
1340
|
+
}, never, ["*"], true, never>;
|
|
1341
|
+
}
|
|
1342
|
+
export declare class NotFoundComponent {
|
|
1343
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotFoundComponent, never>;
|
|
1344
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NotFoundComponent, "ngx-uik-not-found", never, {}, {}, never, never, true, never>;
|
|
1345
|
+
}
|
|
1346
|
+
interface SelectItem$1 {
|
|
1347
|
+
value: string;
|
|
1348
|
+
viewValue: string;
|
|
1349
|
+
}
|
|
1350
|
+
export declare class SelectAutocompleteWithVsComponent implements FormValueControl<string | undefined> {
|
|
1351
|
+
readonly ITEM_HEIGHT_PX = 50;
|
|
1352
|
+
readonly MAX_VISIBLE_ITEMS = 4;
|
|
1353
|
+
readonly MAX_HEIGHT_PX = 200;
|
|
1354
|
+
private readonly formFieldDirective;
|
|
1355
|
+
/** Все элементы. */
|
|
1356
|
+
items: import("@angular/core").InputSignal<SelectItem$1[]>;
|
|
1357
|
+
/** Заголовок. */
|
|
1358
|
+
title: import("@angular/core").InputSignal<string>;
|
|
1359
|
+
/** Ширина. */
|
|
1360
|
+
width: import("@angular/core").InputSignal<string>;
|
|
1361
|
+
readonly value: import("@angular/core").ModelSignal<string | undefined>;
|
|
1362
|
+
readonly filterQuery: import("@angular/core").ModelSignal<string>;
|
|
1363
|
+
readonly isDisabled: import("@angular/core").Signal<boolean>;
|
|
1364
|
+
readonly isInvalid: import("@angular/core").Signal<boolean>;
|
|
1365
|
+
readonly debouncedQuery: import("@angular/core").Resource<string>;
|
|
1366
|
+
readonly filteredItems: import("@angular/core").Signal<SelectItem$1[]>;
|
|
1367
|
+
readonly height: import("@angular/core").Signal<string>;
|
|
1368
|
+
constructor();
|
|
1369
|
+
readonly selectedItemObject: import("@angular/core").Signal<SelectItem$1 | undefined>;
|
|
1370
|
+
onOptionSelected(event: MatAutocompleteSelectedEvent): void;
|
|
1371
|
+
onInputChanges(event: Event): void;
|
|
1372
|
+
onBlur(): void;
|
|
1373
|
+
onClearClick($event: MouseEvent): void;
|
|
1374
|
+
displayWithFn(item: SelectItem$1 | null | undefined): string;
|
|
1375
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectAutocompleteWithVsComponent, never>;
|
|
1376
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectAutocompleteWithVsComponent, "ngx-uik-select-autocomplete-with-vs", never, {
|
|
1377
|
+
"items": {
|
|
1378
|
+
"alias": "items";
|
|
1379
|
+
"required": false;
|
|
1380
|
+
"isSignal": true;
|
|
1381
|
+
};
|
|
1382
|
+
"title": {
|
|
1383
|
+
"alias": "title";
|
|
1384
|
+
"required": false;
|
|
1385
|
+
"isSignal": true;
|
|
1386
|
+
};
|
|
1387
|
+
"width": {
|
|
1388
|
+
"alias": "width";
|
|
1389
|
+
"required": false;
|
|
1390
|
+
"isSignal": true;
|
|
1391
|
+
};
|
|
1392
|
+
"value": {
|
|
1393
|
+
"alias": "value";
|
|
1394
|
+
"required": false;
|
|
1395
|
+
"isSignal": true;
|
|
1396
|
+
};
|
|
1397
|
+
"filterQuery": {
|
|
1398
|
+
"alias": "filterQuery";
|
|
1399
|
+
"required": false;
|
|
1400
|
+
"isSignal": true;
|
|
1401
|
+
};
|
|
1402
|
+
}, {
|
|
1403
|
+
"value": "valueChange";
|
|
1404
|
+
"filterQuery": "filterQueryChange";
|
|
1405
|
+
}, never, never, true, never>;
|
|
1406
|
+
}
|
|
1407
|
+
export interface SelectItem {
|
|
1408
|
+
value: string;
|
|
1409
|
+
viewValue: string;
|
|
1410
|
+
}
|
|
1411
|
+
export interface SelectGroup {
|
|
1412
|
+
name: string;
|
|
1413
|
+
items: SelectItem[];
|
|
1414
|
+
}
|
|
1415
|
+
export declare class SelectWithGroupComponent implements FormValueControl<string[]> {
|
|
1416
|
+
/** Все группы. */
|
|
1417
|
+
groups: import("@angular/core").InputSignal<SelectGroup[]>;
|
|
1418
|
+
/** Заголовок. */
|
|
1419
|
+
title: import("@angular/core").InputSignal<string>;
|
|
1420
|
+
/** Выбранные элементы, ключи (BaseSelectItem.value). */
|
|
1421
|
+
readonly value: import("@angular/core").ModelSignal<string[]>;
|
|
1422
|
+
readonly separatorKeysCodes: number[];
|
|
1423
|
+
onSelectionChange(event: MatSelectChange): void;
|
|
1424
|
+
onClearClick($event: MouseEvent): void;
|
|
1425
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectWithGroupComponent, never>;
|
|
1426
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectWithGroupComponent, "ngx-uik-select-with-group", never, {
|
|
1427
|
+
"groups": {
|
|
1428
|
+
"alias": "groups";
|
|
1429
|
+
"required": false;
|
|
1430
|
+
"isSignal": true;
|
|
1431
|
+
};
|
|
1432
|
+
"title": {
|
|
1433
|
+
"alias": "title";
|
|
1434
|
+
"required": false;
|
|
1435
|
+
"isSignal": true;
|
|
1436
|
+
};
|
|
1437
|
+
"value": {
|
|
1438
|
+
"alias": "value";
|
|
1439
|
+
"required": false;
|
|
1440
|
+
"isSignal": true;
|
|
1441
|
+
};
|
|
1442
|
+
}, {
|
|
1443
|
+
"value": "valueChange";
|
|
1444
|
+
}, never, never, true, never>;
|
|
1445
|
+
}
|
|
1448
1446
|
export declare abstract class BaseSignalServiceClass<T extends BaseSchemaClass> {
|
|
1449
1447
|
abstract baseRoute: string;
|
|
1450
1448
|
protected abstract readonly schema: z.ZodType<T>;
|