@xiriframework/xiri-ng 0.2.44 → 0.2.45
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/xiriframework-xiri-ng.mjs +1181 -901
- package/fesm2022/xiriframework-xiri-ng.mjs.map +1 -1
- package/package.json +10 -12
- package/skills/xiri-ng-expert/references/form-fields.md +16 -1
- package/types/xiriframework-xiri-ng.d.ts +354 -249
- package/types/xiriframework-xiri-ng.d.ts.map +1 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { PipeTransform, OnInit, OnDestroy, ChangeDetectorRef, TemplateRef, Type, Signal, WritableSignal, AfterViewInit, ElementRef, EnvironmentProviders } from '@angular/core';
|
|
3
3
|
import * as _angular_forms from '@angular/forms';
|
|
4
|
-
import { FormControl, UntypedFormGroup, UntypedFormControl } from '@angular/forms';
|
|
4
|
+
import { ValidatorFn, FormControl, UntypedFormGroup, UntypedFormControl } from '@angular/forms';
|
|
5
5
|
import * as rxjs from 'rxjs';
|
|
6
6
|
import { Observable, Subject } from 'rxjs';
|
|
7
|
-
import
|
|
7
|
+
import * as _angular_material_paginator from '@angular/material/paginator';
|
|
8
8
|
import { MatPaginator } from '@angular/material/paginator';
|
|
9
|
+
import { MatTableDataSource, MatTable } from '@angular/material/table';
|
|
9
10
|
import { MatSort } from '@angular/material/sort';
|
|
10
11
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
11
12
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
12
13
|
import { MatStepper } from '@angular/material/stepper';
|
|
13
14
|
import { StepperSelectionEvent } from '@angular/cdk/stepper';
|
|
15
|
+
import { HttpResponse } from '@angular/common/http';
|
|
14
16
|
import { Locale } from 'date-fns';
|
|
15
17
|
import { MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';
|
|
16
18
|
|
|
@@ -28,14 +30,16 @@ declare class SafehtmlPipe implements PipeTransform {
|
|
|
28
30
|
interface XiriFormValidator {
|
|
29
31
|
id: string;
|
|
30
32
|
name?: string;
|
|
31
|
-
validator:
|
|
33
|
+
validator: ValidatorFn;
|
|
32
34
|
message: string;
|
|
33
35
|
}
|
|
34
36
|
interface XiriFormFieldSelectOption {
|
|
35
|
-
id: number;
|
|
37
|
+
id: number | string;
|
|
36
38
|
name: string;
|
|
37
39
|
disabled?: boolean;
|
|
38
40
|
color?: XiriColor;
|
|
41
|
+
isGroup?: boolean;
|
|
42
|
+
children?: XiriFormFieldSelectOption[];
|
|
39
43
|
}
|
|
40
44
|
interface XiriTagChip {
|
|
41
45
|
label: string;
|
|
@@ -45,7 +49,7 @@ type XiriFormFieldConditionOperator = 'equals' | 'notEquals' | 'contains' | 'gre
|
|
|
45
49
|
interface XiriFormFieldCondition {
|
|
46
50
|
field: string;
|
|
47
51
|
operator: XiriFormFieldConditionOperator;
|
|
48
|
-
value?:
|
|
52
|
+
value?: unknown;
|
|
49
53
|
}
|
|
50
54
|
interface XiriFormField {
|
|
51
55
|
id: string;
|
|
@@ -60,10 +64,10 @@ interface XiriFormField {
|
|
|
60
64
|
iconPrefix?: string;
|
|
61
65
|
iconSuffix?: string;
|
|
62
66
|
locale?: string;
|
|
63
|
-
value?:
|
|
67
|
+
value?: unknown;
|
|
64
68
|
validations?: XiriFormValidator[];
|
|
65
69
|
list?: XiriFormFieldSelectOption[];
|
|
66
|
-
texts?:
|
|
70
|
+
texts?: Record<string, string>;
|
|
67
71
|
hide?: boolean;
|
|
68
72
|
required?: boolean;
|
|
69
73
|
disabled?: boolean;
|
|
@@ -76,17 +80,18 @@ interface XiriFormField {
|
|
|
76
80
|
url?: string;
|
|
77
81
|
search?: boolean;
|
|
78
82
|
serverSideSearch?: boolean;
|
|
79
|
-
params?:
|
|
83
|
+
params?: Record<string, unknown>;
|
|
80
84
|
rows?: number;
|
|
81
85
|
accept?: string;
|
|
82
86
|
pwdhide?: boolean;
|
|
83
87
|
icon?: string;
|
|
84
88
|
iconColor?: XiriColor;
|
|
89
|
+
question?: string;
|
|
85
90
|
done?: boolean;
|
|
86
91
|
showWhen?: XiriFormFieldCondition | XiriFormFieldCondition[];
|
|
87
92
|
control?: FormControl;
|
|
88
93
|
placeholder?: string;
|
|
89
|
-
array?:
|
|
94
|
+
array?: (string | number)[];
|
|
90
95
|
tree?: boolean;
|
|
91
96
|
}
|
|
92
97
|
|
|
@@ -94,11 +99,11 @@ type XiriFormFieldDisplay = 'full' | 'line' | 'small';
|
|
|
94
99
|
declare class XiriFormFieldsComponent implements OnInit {
|
|
95
100
|
private formBuilder;
|
|
96
101
|
private destroyRef;
|
|
97
|
-
form: _angular_core.InputSignal<XiriFormField[]>;
|
|
102
|
+
form: _angular_core.InputSignal<XiriFormField[] | null>;
|
|
98
103
|
display: _angular_core.InputSignal<XiriFormFieldDisplay>;
|
|
99
104
|
disabled: _angular_core.InputSignal<boolean>;
|
|
100
|
-
formChange: _angular_core.OutputEmitterRef<
|
|
101
|
-
check: _angular_core.InputSignal<Observable<void
|
|
105
|
+
formChange: _angular_core.OutputEmitterRef<UntypedFormGroup>;
|
|
106
|
+
check: _angular_core.InputSignal<Observable<void> | null>;
|
|
102
107
|
formGroup: UntypedFormGroup;
|
|
103
108
|
private lastValue;
|
|
104
109
|
private _fields;
|
|
@@ -107,7 +112,7 @@ declare class XiriFormFieldsComponent implements OnInit {
|
|
|
107
112
|
private _initialEmitDone;
|
|
108
113
|
constructor();
|
|
109
114
|
ngOnInit(): void;
|
|
110
|
-
fields: _angular_core.Signal<XiriFormField[]>;
|
|
115
|
+
fields: _angular_core.Signal<XiriFormField[] | null>;
|
|
111
116
|
private createControl;
|
|
112
117
|
private bindValidations;
|
|
113
118
|
private validateAllFormFields;
|
|
@@ -120,11 +125,11 @@ declare class XiriFormFieldsComponent implements OnInit {
|
|
|
120
125
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriFormFieldsComponent, "xiri-form-fields", never, { "form": { "alias": "form"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "check": { "alias": "check"; "required": false; "isSignal": true; }; }, { "formChange": "formChange"; }, never, never, true, never>;
|
|
121
126
|
}
|
|
122
127
|
|
|
123
|
-
type XiriSelectPredicate =
|
|
128
|
+
type XiriSelectPredicate = (filter: string, element: XiriFormFieldSelectOption) => boolean;
|
|
124
129
|
declare const DEFAULT_PREDICATE: XiriSelectPredicate;
|
|
125
|
-
type XiriSelectCompare =
|
|
130
|
+
type XiriSelectCompare = (a: XiriFormFieldSelectOption, b: XiriFormFieldSelectOption) => boolean;
|
|
126
131
|
declare const DEFAULT_COMPARE: XiriSelectCompare;
|
|
127
|
-
declare class XiriSelectDirective
|
|
132
|
+
declare class XiriSelectDirective implements OnInit, OnDestroy {
|
|
128
133
|
private dataService;
|
|
129
134
|
private cdr;
|
|
130
135
|
get formControl(): UntypedFormControl;
|
|
@@ -137,20 +142,20 @@ declare class XiriSelectDirective<T> {
|
|
|
137
142
|
searching: boolean;
|
|
138
143
|
/** Subject that emits when the component has been destroyed. */
|
|
139
144
|
protected _onDestroy: Subject<void>;
|
|
140
|
-
|
|
141
|
-
|
|
145
|
+
predicate: _angular_core.InputSignal<XiriSelectPredicate>;
|
|
146
|
+
compare: _angular_core.InputSignal<XiriSelectCompare>;
|
|
142
147
|
serverSideSearch: _angular_core.InputSignal<boolean>;
|
|
143
148
|
serverUrl: _angular_core.InputSignal<string>;
|
|
144
|
-
serverParams: _angular_core.InputSignal<
|
|
149
|
+
serverParams: _angular_core.InputSignal<Record<string, unknown>>;
|
|
145
150
|
/** list of _allValues */
|
|
146
151
|
private _allValues;
|
|
147
|
-
|
|
152
|
+
values: _angular_core.InputSignal<XiriFormFieldSelectOption[]>;
|
|
148
153
|
constructor();
|
|
149
154
|
ngOnInit(): void;
|
|
150
155
|
ngOnDestroy(): void;
|
|
151
156
|
private applyFilter;
|
|
152
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSelectDirective
|
|
153
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<XiriSelectDirective
|
|
157
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSelectDirective, never>;
|
|
158
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<XiriSelectDirective, "[xiriSelect]", ["xiriSelect"], { "predicate": { "alias": "predicate"; "required": false; "isSignal": true; }; "compare": { "alias": "compare"; "required": false; "isSignal": true; }; "serverSideSearch": { "alias": "serverSideSearch"; "required": false; "isSignal": true; }; "serverUrl": { "alias": "serverUrl"; "required": false; "isSignal": true; }; "serverParams": { "alias": "serverParams"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
154
159
|
}
|
|
155
160
|
|
|
156
161
|
interface XiriButton {
|
|
@@ -171,32 +176,39 @@ interface XiriButton {
|
|
|
171
176
|
inline?: boolean;
|
|
172
177
|
disabled?: boolean;
|
|
173
178
|
autoLoad?: boolean;
|
|
174
|
-
data?: Record<string,
|
|
179
|
+
data?: Record<string, unknown>;
|
|
175
180
|
target?: string;
|
|
176
181
|
loading?: boolean;
|
|
177
182
|
filename?: string;
|
|
178
|
-
check?:
|
|
179
|
-
send?:
|
|
183
|
+
check?: string[];
|
|
184
|
+
send?: string[];
|
|
180
185
|
menuItems?: {
|
|
181
186
|
action: string;
|
|
182
187
|
url?: string;
|
|
183
188
|
icon?: string;
|
|
184
189
|
color?: string;
|
|
185
190
|
text?: string;
|
|
186
|
-
data?: Record<string,
|
|
191
|
+
data?: Record<string, unknown>;
|
|
187
192
|
}[];
|
|
188
193
|
}
|
|
189
194
|
interface XiriButtonResult {
|
|
190
195
|
button: XiriButton;
|
|
191
|
-
result:
|
|
196
|
+
result: unknown;
|
|
192
197
|
done: boolean;
|
|
193
198
|
loading: boolean;
|
|
194
199
|
}
|
|
200
|
+
interface XiriButtonResponse {
|
|
201
|
+
poll?: number;
|
|
202
|
+
pollUrl?: string;
|
|
203
|
+
text?: string;
|
|
204
|
+
button?: Partial<XiriButton>;
|
|
205
|
+
[key: string]: unknown;
|
|
206
|
+
}
|
|
195
207
|
declare class XiriButtonComponent implements OnDestroy {
|
|
196
208
|
button: _angular_core.InputSignal<XiriButton>;
|
|
197
209
|
disabled: _angular_core.InputSignal<boolean>;
|
|
198
|
-
filterData: _angular_core.InputSignal<
|
|
199
|
-
url: _angular_core.InputSignal<string>;
|
|
210
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
211
|
+
url: _angular_core.InputSignal<string | undefined>;
|
|
200
212
|
result: _angular_core.OutputEmitterRef<XiriButtonResult>;
|
|
201
213
|
private dialogRef?;
|
|
202
214
|
private destroyRef;
|
|
@@ -209,7 +221,7 @@ declare class XiriButtonComponent implements OnDestroy {
|
|
|
209
221
|
nextAt: number;
|
|
210
222
|
url: string;
|
|
211
223
|
text?: string;
|
|
212
|
-
}>;
|
|
224
|
+
} | null>;
|
|
213
225
|
private _now;
|
|
214
226
|
protected countdown: _angular_core.Signal<number>;
|
|
215
227
|
protected pollText: _angular_core.Signal<string>;
|
|
@@ -221,12 +233,12 @@ declare class XiriButtonComponent implements OnDestroy {
|
|
|
221
233
|
private downloadService;
|
|
222
234
|
private responseHandler;
|
|
223
235
|
_disabled: _angular_core.Signal<boolean>;
|
|
224
|
-
_url: _angular_core.Signal<string>;
|
|
236
|
+
_url: _angular_core.Signal<string | undefined>;
|
|
225
237
|
constructor();
|
|
226
238
|
clicked(event: MouseEvent): void;
|
|
227
239
|
private runAction;
|
|
228
240
|
private actionDialog;
|
|
229
|
-
openMenuDialog(event: MouseEvent, item:
|
|
241
|
+
openMenuDialog(event: MouseEvent, item: Record<string, unknown>): void;
|
|
230
242
|
private actionApi;
|
|
231
243
|
private processResult;
|
|
232
244
|
private startPolling;
|
|
@@ -278,8 +290,10 @@ interface XiriTableField {
|
|
|
278
290
|
editableSearchUrl?: string;
|
|
279
291
|
}
|
|
280
292
|
|
|
293
|
+
/** A single table row: a map of column id → cell value (value shapes vary by column format). */
|
|
294
|
+
type XiriRawTableRow = Record<string, unknown>;
|
|
281
295
|
interface XiriRawTableSettings {
|
|
282
|
-
data:
|
|
296
|
+
data: unknown;
|
|
283
297
|
fields?: XiriTableField[];
|
|
284
298
|
dense?: number;
|
|
285
299
|
forceMinWidth?: boolean;
|
|
@@ -288,9 +302,9 @@ interface XiriRawTableSettings {
|
|
|
288
302
|
declare class XiriRawTableComponent {
|
|
289
303
|
settings: _angular_core.InputSignal<XiriRawTableSettings>;
|
|
290
304
|
showHeader: _angular_core.Signal<boolean>;
|
|
291
|
-
displayedColumns:
|
|
305
|
+
displayedColumns: XiriTableField[];
|
|
292
306
|
columnsToDisplay: string[];
|
|
293
|
-
dataSource: MatTableDataSource<
|
|
307
|
+
dataSource: MatTableDataSource<XiriRawTableRow, _angular_material_paginator.MatPaginator>;
|
|
294
308
|
tableClass: string;
|
|
295
309
|
constructor();
|
|
296
310
|
private loadFields;
|
|
@@ -298,74 +312,15 @@ declare class XiriRawTableComponent {
|
|
|
298
312
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriRawTableComponent, "xiri-raw-table", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
299
313
|
}
|
|
300
314
|
|
|
301
|
-
type
|
|
302
|
-
|
|
303
|
-
label: string;
|
|
304
|
-
color?: string;
|
|
315
|
+
type XiriTableCellValue = string | number | boolean | null | undefined | XiriTagChip | XiriTableCellValue[] | {
|
|
316
|
+
[key: string]: XiriTableCellValue;
|
|
305
317
|
};
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
row: any;
|
|
312
|
-
field: string;
|
|
313
|
-
}>;
|
|
314
|
-
editingChipsValues: _angular_core.WritableSignal<string[]>;
|
|
315
|
-
editableOptionsLoading: _angular_core.WritableSignal<boolean>;
|
|
316
|
-
loadedEditableOptions: _angular_core.WritableSignal<EditableOption[]>;
|
|
317
|
-
savingCell: _angular_core.WritableSignal<{
|
|
318
|
-
row: any;
|
|
319
|
-
field: string;
|
|
320
|
-
}>;
|
|
321
|
-
searchControl: FormControl<string>;
|
|
322
|
-
searching: _angular_core.WritableSignal<boolean>;
|
|
323
|
-
displayedOptions: _angular_core.WritableSignal<EditableOption[]>;
|
|
324
|
-
private editingOriginalValue;
|
|
325
|
-
private editableOptionsSub;
|
|
326
|
-
private optionCache;
|
|
327
|
-
private searchSub;
|
|
328
|
-
private searchReqSub;
|
|
329
|
-
private getEditUrl;
|
|
330
|
-
private getDisplayedColumns;
|
|
331
|
-
private abort$;
|
|
332
|
-
private onSaved;
|
|
333
|
-
private onDataUpdate;
|
|
334
|
-
private onCallReturn;
|
|
335
|
-
private get editUrl();
|
|
336
|
-
private get displayedColumns();
|
|
337
|
-
init(config: {
|
|
338
|
-
getEditUrl: () => string;
|
|
339
|
-
getDisplayedColumns: () => XiriTableField[];
|
|
340
|
-
abort$: Subject<void>;
|
|
341
|
-
onSaved: (row: any, fieldId: string) => void;
|
|
342
|
-
onDataUpdate: () => void;
|
|
343
|
-
onCallReturn: (result: any) => void;
|
|
344
|
-
}): void;
|
|
345
|
-
start(row: any, column: XiriTableField, skipSavingCheck?: boolean): void;
|
|
346
|
-
/** Sets up the search box + subscription for searchable inline-edit selects. */
|
|
347
|
-
private initSearch;
|
|
348
|
-
/** Runs the search: server-side POST when editableSearchUrl is set, otherwise local label filter. */
|
|
349
|
-
private runSearch;
|
|
350
|
-
private teardownSearch;
|
|
351
|
-
/** The unfiltered option list: static options on the column, or those loaded via editableOptionsUrl. */
|
|
352
|
-
private baseOptions;
|
|
353
|
-
cancel(): void;
|
|
354
|
-
save(row: any, column: XiriTableField): void;
|
|
355
|
-
isEditing(row: any, fieldId: string): boolean;
|
|
356
|
-
isSaving(row: any, fieldId: string): boolean;
|
|
357
|
-
onKeydown(event: KeyboardEvent, row: any, column: XiriTableField): void;
|
|
358
|
-
focus(): void;
|
|
359
|
-
getAdjacentEditableColumn(currentField: string, direction: 1 | -1): XiriTableField | null;
|
|
360
|
-
flashSaved(row: any, fieldId: string, dataSource: any): void;
|
|
361
|
-
getOptions(column: XiriTableField): EditableOption[];
|
|
362
|
-
/** The currently selected value(s) of the editing cell. */
|
|
363
|
-
private selectedValues;
|
|
364
|
-
onChipsChange(row: any, column: XiriTableField, selectedValues: string[]): void;
|
|
365
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableInlineEditService, never>;
|
|
366
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriTableInlineEditService>;
|
|
318
|
+
interface XiriTableRow {
|
|
319
|
+
[key: string]: XiriTableCellValue | XiriTreeMeta | undefined;
|
|
320
|
+
id?: string | number;
|
|
321
|
+
select?: boolean;
|
|
322
|
+
_tree?: XiriTreeMeta;
|
|
367
323
|
}
|
|
368
|
-
|
|
369
324
|
/**
|
|
370
325
|
* Opt-in tree-mode settings for xiri-table. When present on XiriTableSettings.tree, the
|
|
371
326
|
* table renders rows hierarchically (indent + expand/collapse) based on each flat row's
|
|
@@ -378,10 +333,18 @@ interface XiriTableTreeSettings {
|
|
|
378
333
|
collapseAllByDefault?: boolean;
|
|
379
334
|
persistStateKey?: string;
|
|
380
335
|
showCounts?: boolean;
|
|
381
|
-
addSubHandler?: (parentRow:
|
|
336
|
+
addSubHandler?: (parentRow: XiriTableRow) => void;
|
|
382
337
|
addSubUrl?: string;
|
|
383
338
|
addSubField?: string;
|
|
384
|
-
addSubWhen?: (row:
|
|
339
|
+
addSubWhen?: (row: XiriTableRow) => boolean;
|
|
340
|
+
}
|
|
341
|
+
/** Per-row tree metadata, attached as row._tree by flatten()/searchProjection(). */
|
|
342
|
+
interface XiriTreeMeta {
|
|
343
|
+
level: number;
|
|
344
|
+
hasChildren: boolean;
|
|
345
|
+
expanded: boolean;
|
|
346
|
+
childCount: number;
|
|
347
|
+
dimmed?: boolean;
|
|
385
348
|
}
|
|
386
349
|
declare class XiriTableTreeService {
|
|
387
350
|
private localStorage;
|
|
@@ -400,26 +363,26 @@ declare class XiriTableTreeService {
|
|
|
400
363
|
/** Initialises the service from the table's tree settings. treeColumn falls back to firstColumnId. */
|
|
401
364
|
init(config: XiriTableTreeSettings, firstColumnId: string): void;
|
|
402
365
|
/** Builds the tree from flat rows and initialises the expand-state. */
|
|
403
|
-
build(rows:
|
|
366
|
+
build(rows: XiriTableRow[]): void;
|
|
404
367
|
/** Returns the visible rows: search projection when searching, otherwise the expand-state flatten. */
|
|
405
|
-
visibleRows(matches?: (row:
|
|
368
|
+
visibleRows(matches?: (row: XiriTableRow) => boolean): XiriTableRow[];
|
|
406
369
|
/**
|
|
407
370
|
* Applies (or clears) a search. On the empty→active transition the current expand-state is
|
|
408
371
|
* snapshotted and the tree is fully expanded (so all matches are visible); during the search
|
|
409
372
|
* the same `expanded` state drives expand/collapse, so the arrows work. On active→empty the
|
|
410
373
|
* pre-search state is restored (Spec §5). Returns the new visible rows.
|
|
411
374
|
*/
|
|
412
|
-
applySearch(matches: ((row:
|
|
413
|
-
toggle(row:
|
|
375
|
+
applySearch(matches: ((row: XiriTableRow) => boolean) | null): XiriTableRow[];
|
|
376
|
+
toggle(row: XiriTableRow): void;
|
|
414
377
|
expandAll(): void;
|
|
415
378
|
collapseAll(): void;
|
|
416
379
|
/**
|
|
417
380
|
* Whether the "+ sub" button should be shown for a given row. Opt-in: an addSubWhen predicate
|
|
418
381
|
* or a truthy addSubField value gates it; without either, the button shows on every row.
|
|
419
382
|
*/
|
|
420
|
-
canAddSub(row:
|
|
383
|
+
canAddSub(row: XiriTableRow): boolean;
|
|
421
384
|
/** Resolves the "+ sub" target URL for a row, substituting the {id} placeholder. */
|
|
422
|
-
addSubUrlFor(row:
|
|
385
|
+
addSubUrlFor(row: XiriTableRow): string | null;
|
|
423
386
|
private storageKey;
|
|
424
387
|
private loadPersisted;
|
|
425
388
|
private persist;
|
|
@@ -427,6 +390,74 @@ declare class XiriTableTreeService {
|
|
|
427
390
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriTableTreeService>;
|
|
428
391
|
}
|
|
429
392
|
|
|
393
|
+
interface EditableOption {
|
|
394
|
+
value: string;
|
|
395
|
+
label: string;
|
|
396
|
+
color?: string;
|
|
397
|
+
}
|
|
398
|
+
declare class XiriTableInlineEditService {
|
|
399
|
+
private dataService;
|
|
400
|
+
private snackbar;
|
|
401
|
+
private injector;
|
|
402
|
+
editingCell: _angular_core.WritableSignal<{
|
|
403
|
+
row: XiriTableRow;
|
|
404
|
+
field: string;
|
|
405
|
+
} | null>;
|
|
406
|
+
editingChipsValues: _angular_core.WritableSignal<string[]>;
|
|
407
|
+
editableOptionsLoading: _angular_core.WritableSignal<boolean>;
|
|
408
|
+
loadedEditableOptions: _angular_core.WritableSignal<EditableOption[]>;
|
|
409
|
+
savingCell: _angular_core.WritableSignal<{
|
|
410
|
+
row: XiriTableRow;
|
|
411
|
+
field: string;
|
|
412
|
+
} | null>;
|
|
413
|
+
searchControl: FormControl<string>;
|
|
414
|
+
searching: _angular_core.WritableSignal<boolean>;
|
|
415
|
+
displayedOptions: _angular_core.WritableSignal<EditableOption[]>;
|
|
416
|
+
private editingOriginalValue;
|
|
417
|
+
private editableOptionsSub;
|
|
418
|
+
private optionCache;
|
|
419
|
+
private searchSub;
|
|
420
|
+
private searchReqSub;
|
|
421
|
+
private getEditUrl;
|
|
422
|
+
private getDisplayedColumns;
|
|
423
|
+
private abort$;
|
|
424
|
+
private onSaved;
|
|
425
|
+
private onDataUpdate;
|
|
426
|
+
private onCallReturn;
|
|
427
|
+
private get editUrl();
|
|
428
|
+
private get displayedColumns();
|
|
429
|
+
init(config: {
|
|
430
|
+
getEditUrl: () => string;
|
|
431
|
+
getDisplayedColumns: () => XiriTableField[];
|
|
432
|
+
abort$: Subject<void>;
|
|
433
|
+
onSaved: (row: XiriTableRow, fieldId: string) => void;
|
|
434
|
+
onDataUpdate: () => void;
|
|
435
|
+
onCallReturn: (result: unknown) => void;
|
|
436
|
+
}): void;
|
|
437
|
+
start(row: XiriTableRow, column: XiriTableField, skipSavingCheck?: boolean): void;
|
|
438
|
+
/** Sets up the search box + subscription for searchable inline-edit selects. */
|
|
439
|
+
private initSearch;
|
|
440
|
+
/** Runs the search: server-side POST when editableSearchUrl is set, otherwise local label filter. */
|
|
441
|
+
private runSearch;
|
|
442
|
+
private teardownSearch;
|
|
443
|
+
/** The unfiltered option list: static options on the column, or those loaded via editableOptionsUrl. */
|
|
444
|
+
private baseOptions;
|
|
445
|
+
cancel(): void;
|
|
446
|
+
save(row: XiriTableRow, column: XiriTableField): void;
|
|
447
|
+
isEditing(row: XiriTableRow, fieldId: string): boolean;
|
|
448
|
+
isSaving(row: XiriTableRow, fieldId: string): boolean;
|
|
449
|
+
onKeydown(event: KeyboardEvent, row: XiriTableRow, column: XiriTableField): void;
|
|
450
|
+
focus(): void;
|
|
451
|
+
getAdjacentEditableColumn(currentField: string, direction: 1 | -1): XiriTableField | null;
|
|
452
|
+
flashSaved(row: XiriTableRow, fieldId: string, dataSource: MatTableDataSource<XiriTableRow>): void;
|
|
453
|
+
getOptions(column: XiriTableField): EditableOption[];
|
|
454
|
+
/** The currently selected value(s) of the editing cell. */
|
|
455
|
+
private selectedValues;
|
|
456
|
+
onChipsChange(row: XiriTableRow, column: XiriTableField, selectedValues: string[]): void;
|
|
457
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableInlineEditService, never>;
|
|
458
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriTableInlineEditService>;
|
|
459
|
+
}
|
|
460
|
+
|
|
430
461
|
interface XiriButtonlineSettings {
|
|
431
462
|
buttons: XiriButton[];
|
|
432
463
|
class: string;
|
|
@@ -434,7 +465,7 @@ interface XiriButtonlineSettings {
|
|
|
434
465
|
declare class XiriButtonlineComponent {
|
|
435
466
|
settings: _angular_core.InputSignal<XiriButtonlineSettings>;
|
|
436
467
|
disabled: _angular_core.InputSignal<boolean>;
|
|
437
|
-
filterData: _angular_core.InputSignal<
|
|
468
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
438
469
|
result: _angular_core.OutputEmitterRef<XiriButtonResult>;
|
|
439
470
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriButtonlineComponent, never>;
|
|
440
471
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriButtonlineComponent, "xiri-buttonline", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "filterData": { "alias": "filterData"; "required": false; "isSignal": true; }; }, { "result": "result"; }, never, never, true, never>;
|
|
@@ -444,12 +475,22 @@ type XiriDynDataType = 'card' | 'buttonline' | 'table' | 'cardlink' | 'links' |
|
|
|
444
475
|
interface XiriDynData {
|
|
445
476
|
id?: number;
|
|
446
477
|
type: XiriDynDataType | (string & {});
|
|
447
|
-
data?:
|
|
478
|
+
data?: unknown;
|
|
448
479
|
display?: string;
|
|
449
480
|
newRow?: boolean;
|
|
450
481
|
mode?: string;
|
|
451
482
|
}
|
|
452
483
|
|
|
484
|
+
interface XiriTableResponse {
|
|
485
|
+
data?: XiriTableRow[];
|
|
486
|
+
fields?: XiriTableField[];
|
|
487
|
+
summary?: XiriDynData[];
|
|
488
|
+
components?: XiriDynData[];
|
|
489
|
+
footer?: Record<string, XiriTableCellValue>;
|
|
490
|
+
totalCount?: number;
|
|
491
|
+
poll?: number;
|
|
492
|
+
[key: string]: unknown;
|
|
493
|
+
}
|
|
453
494
|
interface XiriTableEmptyState {
|
|
454
495
|
icon?: string;
|
|
455
496
|
iconColor?: XiriColor;
|
|
@@ -486,7 +527,7 @@ interface XiriTableOptions {
|
|
|
486
527
|
}
|
|
487
528
|
interface XiriTableSettings {
|
|
488
529
|
url?: string;
|
|
489
|
-
data?:
|
|
530
|
+
data?: XiriTableRow[];
|
|
490
531
|
fields?: XiriTableField[];
|
|
491
532
|
options?: XiriTableOptions;
|
|
492
533
|
hasFilter?: boolean;
|
|
@@ -506,25 +547,25 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
506
547
|
tree: XiriTableTreeService;
|
|
507
548
|
protected _changeDetectorRef: ChangeDetectorRef;
|
|
508
549
|
private destroyRef;
|
|
509
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
550
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
510
551
|
settings: _angular_core.InputSignal<XiriTableSettings>;
|
|
511
|
-
filterData: _angular_core.InputSignal<
|
|
512
|
-
clickedRow: _angular_core.OutputEmitterRef<
|
|
552
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
553
|
+
clickedRow: _angular_core.OutputEmitterRef<XiriTableRow>;
|
|
513
554
|
paginator: _angular_core.Signal<MatPaginator>;
|
|
514
555
|
sort: _angular_core.Signal<MatSort>;
|
|
515
|
-
table: _angular_core.Signal<MatTable<
|
|
556
|
+
table: _angular_core.Signal<MatTable<XiriTableRow>>;
|
|
516
557
|
loading: _angular_core.WritableSignal<boolean>;
|
|
517
558
|
private _totalCount;
|
|
518
559
|
displayedColumns: XiriTableField[];
|
|
519
560
|
columnsToDisplay: string[];
|
|
520
561
|
columnsToSearch: string[];
|
|
521
|
-
dataSource: MatTableDataSource<
|
|
522
|
-
protected _displayeddata: readonly
|
|
523
|
-
_alldata: _angular_core.WritableSignal<
|
|
524
|
-
footer:
|
|
562
|
+
dataSource: MatTableDataSource<XiriTableRow, MatPaginator>;
|
|
563
|
+
protected _displayeddata: readonly XiriTableRow[];
|
|
564
|
+
_alldata: _angular_core.WritableSignal<XiriTableRow[] | null>;
|
|
565
|
+
footer: Record<string, XiriTableCellValue>;
|
|
525
566
|
extraHeaderFields: XiriTableField[];
|
|
526
567
|
extraHeaders: string[];
|
|
527
|
-
selection: SelectionModel<
|
|
568
|
+
selection: SelectionModel<XiriTableRow>;
|
|
528
569
|
private dialogRef?;
|
|
529
570
|
private reloadAbort$;
|
|
530
571
|
private autoRefreshTimer?;
|
|
@@ -532,38 +573,34 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
532
573
|
autoRefresh: _angular_core.WritableSignal<{
|
|
533
574
|
intervalMs: number;
|
|
534
575
|
nextAt: number;
|
|
535
|
-
}>;
|
|
576
|
+
} | null>;
|
|
536
577
|
private _now;
|
|
537
578
|
countdown: _angular_core.Signal<number>;
|
|
538
579
|
options: XiriTableOptions;
|
|
539
580
|
dynData: {
|
|
540
|
-
data: XiriDynData[];
|
|
541
|
-
filterData:
|
|
581
|
+
data: XiriDynData[] | null;
|
|
582
|
+
filterData: Record<string, unknown> | null | undefined;
|
|
542
583
|
};
|
|
543
584
|
errorMsg: string;
|
|
544
585
|
private _firstData;
|
|
545
586
|
searchText: string;
|
|
546
587
|
searchTextInit: string;
|
|
547
588
|
private tableStateKey;
|
|
548
|
-
trackByRowId: (
|
|
589
|
+
trackByRowId: (index: number, row: XiriTableRow) => string | number;
|
|
549
590
|
get editingCell(): _angular_core.WritableSignal<{
|
|
550
|
-
row:
|
|
591
|
+
row: XiriTableRow;
|
|
551
592
|
field: string;
|
|
552
|
-
}>;
|
|
593
|
+
} | null>;
|
|
553
594
|
get editingChipsValues(): _angular_core.WritableSignal<string[]>;
|
|
554
595
|
get editableOptionsLoading(): _angular_core.WritableSignal<boolean>;
|
|
555
|
-
get loadedEditableOptions(): _angular_core.WritableSignal<
|
|
556
|
-
value: string;
|
|
557
|
-
label: string;
|
|
558
|
-
color?: string;
|
|
559
|
-
}[]>;
|
|
596
|
+
get loadedEditableOptions(): _angular_core.WritableSignal<EditableOption[]>;
|
|
560
597
|
get savingCell(): _angular_core.WritableSignal<{
|
|
561
|
-
row:
|
|
598
|
+
row: XiriTableRow;
|
|
562
599
|
field: string;
|
|
563
|
-
}>;
|
|
600
|
+
} | null>;
|
|
564
601
|
get inlineSearchControl(): _angular_forms.FormControl<string>;
|
|
565
602
|
get inlineSearching(): _angular_core.WritableSignal<boolean>;
|
|
566
|
-
_filterData: _angular_core.Signal<
|
|
603
|
+
_filterData: _angular_core.Signal<Record<string, unknown> | null | undefined>;
|
|
567
604
|
constructor();
|
|
568
605
|
ngOnInit(): void;
|
|
569
606
|
private loadData;
|
|
@@ -574,49 +611,49 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
574
611
|
private scheduleAutoRefresh;
|
|
575
612
|
private cancelAutoRefreshTimers;
|
|
576
613
|
private clearAutoRefresh;
|
|
577
|
-
searchDo($event:
|
|
614
|
+
searchDo($event: string): void;
|
|
578
615
|
get treeEnabled(): boolean;
|
|
579
616
|
get treeColumnId(): string;
|
|
580
617
|
get treeShowCounts(): boolean;
|
|
581
618
|
get treeHasAddSub(): boolean;
|
|
582
|
-
treeCanAddSub(row:
|
|
619
|
+
treeCanAddSub(row: XiriTableRow): boolean;
|
|
583
620
|
/** Recomputes the visible rows from the tree (respecting the active search), into the data source. */
|
|
584
621
|
private refreshTree;
|
|
585
622
|
private rowMatches;
|
|
586
|
-
toggleNode(event: MouseEvent, row:
|
|
623
|
+
toggleNode(event: MouseEvent, row: XiriTableRow): void;
|
|
587
624
|
expandAllNodes(): void;
|
|
588
625
|
collapseAllNodes(): void;
|
|
589
|
-
addSub(event: MouseEvent, row:
|
|
626
|
+
addSub(event: MouseEvent, row: XiriTableRow): void;
|
|
590
627
|
isAllSelected(): boolean;
|
|
591
628
|
masterToggle(): void;
|
|
592
|
-
clicked(row:
|
|
593
|
-
openDialog(event: MouseEvent, button:
|
|
594
|
-
openMenuDialog(event: MouseEvent, item:
|
|
629
|
+
clicked(row: XiriTableRow): void;
|
|
630
|
+
openDialog(event: MouseEvent, button: XiriButton, id: string, subid: number, row: XiriTableRow): void;
|
|
631
|
+
openMenuDialog(event: MouseEvent, item: NonNullable<XiriButton['menuItems']>[number], columnId: string, buttonIndex: number, menuItemIndex: number, row: XiriTableRow): void;
|
|
595
632
|
openDialogSelection(event: MouseEvent, button: XiriButton): boolean;
|
|
596
633
|
private startDialog;
|
|
597
634
|
apiCall(event: MouseEvent, url: string): void;
|
|
598
635
|
apiCallSelection(event: MouseEvent, button: XiriButton): void;
|
|
599
|
-
saveCall(event: MouseEvent, button: XiriButton, row:
|
|
600
|
-
saveCallCheck(button: XiriButton, row:
|
|
636
|
+
saveCall(event: MouseEvent, button: XiriButton, row: XiriTableRow, url: string): void;
|
|
637
|
+
saveCallCheck(button: XiriButton, row: XiriTableRow): boolean;
|
|
601
638
|
downloadSelection(event: MouseEvent, button: XiriButton): void;
|
|
602
639
|
private makeApiCall;
|
|
603
640
|
buttonReturn(event: XiriButtonResult): void;
|
|
604
641
|
private callReturn;
|
|
605
642
|
private getSelectionIDs;
|
|
606
|
-
startInlineEdit(row:
|
|
643
|
+
startInlineEdit(row: XiriTableRow, column: XiriTableField, skipSavingCheck?: boolean): void;
|
|
607
644
|
cancelInlineEdit(): void;
|
|
608
|
-
saveInlineEdit(row:
|
|
609
|
-
isEditing(row:
|
|
610
|
-
isSaving(row:
|
|
611
|
-
onInlineEditKeydown(event: KeyboardEvent, row:
|
|
645
|
+
saveInlineEdit(row: XiriTableRow, column: XiriTableField): void;
|
|
646
|
+
isEditing(row: XiriTableRow, fieldId: string): boolean;
|
|
647
|
+
isSaving(row: XiriTableRow, fieldId: string): boolean;
|
|
648
|
+
onInlineEditKeydown(event: KeyboardEvent, row: XiriTableRow, column: XiriTableField): void;
|
|
612
649
|
getEditableOptions(column: XiriTableField): {
|
|
613
650
|
value: string;
|
|
614
651
|
label: string;
|
|
615
652
|
color?: string;
|
|
616
653
|
}[];
|
|
617
|
-
onChipsSelectionChange(row:
|
|
654
|
+
onChipsSelectionChange(row: XiriTableRow, column: XiriTableField, selectedValues: string[]): void;
|
|
618
655
|
ngOnDestroy(): void;
|
|
619
|
-
pasteInput($event:
|
|
656
|
+
pasteInput($event: ClipboardEvent, row: XiriTableRow, column: XiriTableField): false | null;
|
|
620
657
|
saveInputData(): void;
|
|
621
658
|
private getSortingDataAccessor;
|
|
622
659
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableComponent, never>;
|
|
@@ -626,7 +663,7 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
626
663
|
interface XiriFormSettings {
|
|
627
664
|
load?: boolean;
|
|
628
665
|
url: string;
|
|
629
|
-
fields?:
|
|
666
|
+
fields?: XiriFormField[];
|
|
630
667
|
buttons?: XiriButton[];
|
|
631
668
|
header?: string;
|
|
632
669
|
}
|
|
@@ -635,9 +672,9 @@ declare class XiriFormComponent implements OnInit {
|
|
|
635
672
|
private location;
|
|
636
673
|
private formService;
|
|
637
674
|
private destroyRef;
|
|
638
|
-
formFields: _angular_core.WritableSignal<XiriFormField[]>;
|
|
675
|
+
formFields: _angular_core.WritableSignal<XiriFormField[] | null>;
|
|
639
676
|
loading: _angular_core.WritableSignal<boolean>;
|
|
640
|
-
loadingButton: _angular_core.WritableSignal<XiriButton>;
|
|
677
|
+
loadingButton: _angular_core.WritableSignal<XiriButton | null>;
|
|
641
678
|
done: _angular_core.WritableSignal<boolean>;
|
|
642
679
|
error: _angular_core.WritableSignal<string>;
|
|
643
680
|
private url;
|
|
@@ -651,7 +688,7 @@ declare class XiriFormComponent implements OnInit {
|
|
|
651
688
|
private loadData;
|
|
652
689
|
clickButton(button: XiriButton): void;
|
|
653
690
|
private startSend;
|
|
654
|
-
formChanged(event:
|
|
691
|
+
formChanged(event: UntypedFormGroup): void;
|
|
655
692
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriFormComponent, never>;
|
|
656
693
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriFormComponent, "xiri-form", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
657
694
|
}
|
|
@@ -661,12 +698,28 @@ interface XiriDialogSettings {
|
|
|
661
698
|
url?: string;
|
|
662
699
|
size?: XiriDialogSize | string;
|
|
663
700
|
type: "form" | "data" | "question" | "waiting" | "table" | "component";
|
|
664
|
-
data?:
|
|
665
|
-
filter?:
|
|
701
|
+
data?: unknown;
|
|
702
|
+
filter?: Record<string, unknown> | null;
|
|
703
|
+
}
|
|
704
|
+
interface XiriDialogResponse {
|
|
705
|
+
buttons?: XiriButton[];
|
|
706
|
+
size?: XiriDialogSize | string;
|
|
707
|
+
url?: string;
|
|
708
|
+
header?: string;
|
|
709
|
+
type?: string;
|
|
710
|
+
content?: unknown;
|
|
711
|
+
fields?: unknown;
|
|
712
|
+
model?: Record<string, unknown>;
|
|
713
|
+
extra?: Record<string, unknown>;
|
|
714
|
+
time?: number;
|
|
715
|
+
done?: boolean;
|
|
716
|
+
error?: string;
|
|
717
|
+
goto?: string;
|
|
718
|
+
[key: string]: unknown;
|
|
666
719
|
}
|
|
667
720
|
declare class XiriDialogComponent implements OnDestroy {
|
|
668
721
|
dialogRef: MatDialogRef<XiriDialogComponent, any>;
|
|
669
|
-
initData:
|
|
722
|
+
initData: XiriDialogSettings;
|
|
670
723
|
private breakpointObserver;
|
|
671
724
|
private dataService;
|
|
672
725
|
private router;
|
|
@@ -678,9 +731,9 @@ declare class XiriDialogComponent implements OnDestroy {
|
|
|
678
731
|
private extra;
|
|
679
732
|
private destroyRef;
|
|
680
733
|
private downloadService;
|
|
681
|
-
formFields: _angular_core.WritableSignal<XiriFormField[]>;
|
|
682
|
-
componentData: _angular_core.WritableSignal<
|
|
683
|
-
dynComponentType: _angular_core.WritableSignal<Type<unknown
|
|
734
|
+
formFields: _angular_core.WritableSignal<XiriFormField[] | null>;
|
|
735
|
+
componentData: _angular_core.WritableSignal<unknown>;
|
|
736
|
+
dynComponentType: _angular_core.WritableSignal<Type<unknown> | null>;
|
|
684
737
|
loading: _angular_core.WritableSignal<boolean>;
|
|
685
738
|
done: _angular_core.WritableSignal<boolean>;
|
|
686
739
|
error: _angular_core.WritableSignal<string>;
|
|
@@ -697,10 +750,13 @@ declare class XiriDialogComponent implements OnDestroy {
|
|
|
697
750
|
private applyDialogSize;
|
|
698
751
|
private loadData;
|
|
699
752
|
private refresh;
|
|
700
|
-
download(data:
|
|
753
|
+
download(data: unknown): void;
|
|
701
754
|
clickButton(button: XiriButton): void;
|
|
702
755
|
private startSend;
|
|
703
|
-
formChanged(event:
|
|
756
|
+
formChanged(event: {
|
|
757
|
+
valid: boolean;
|
|
758
|
+
value: Record<string, unknown> | null;
|
|
759
|
+
}): void;
|
|
704
760
|
ngOnDestroy(): void;
|
|
705
761
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDialogComponent, never>;
|
|
706
762
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriDialogComponent, "xiri-dialog", never, {}, {}, never, never, true, never>;
|
|
@@ -708,50 +764,55 @@ declare class XiriDialogComponent implements OnDestroy {
|
|
|
708
764
|
|
|
709
765
|
interface XiriQuerySettings {
|
|
710
766
|
fields?: XiriFormField[];
|
|
711
|
-
dyn?:
|
|
767
|
+
dyn?: XiriDynData[];
|
|
712
768
|
url?: string;
|
|
713
769
|
buttonline?: XiriDynData;
|
|
714
|
-
extra?:
|
|
770
|
+
extra?: Record<string, unknown>;
|
|
715
771
|
saveState?: boolean;
|
|
716
772
|
saveStateId?: string;
|
|
717
773
|
collapsed?: boolean;
|
|
718
774
|
}
|
|
775
|
+
interface XiriQueryFormChangeEvent {
|
|
776
|
+
valid: boolean;
|
|
777
|
+
value: Record<string, unknown> | null;
|
|
778
|
+
pristine?: boolean;
|
|
779
|
+
}
|
|
719
780
|
declare class XiriQueryComponent implements OnInit {
|
|
720
781
|
private dataService;
|
|
721
782
|
private formService;
|
|
722
783
|
private cdr;
|
|
723
784
|
private destroyRef;
|
|
724
785
|
settings: _angular_core.InputSignal<XiriQuerySettings>;
|
|
725
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
726
|
-
|
|
786
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
787
|
+
filterChange: _angular_core.OutputEmitterRef<Record<string, unknown> | null>;
|
|
727
788
|
private waiter;
|
|
728
789
|
dynData: {
|
|
729
|
-
data: XiriDynData[];
|
|
730
|
-
filterData:
|
|
790
|
+
data: XiriDynData[] | null;
|
|
791
|
+
filterData: Record<string, unknown> | null;
|
|
731
792
|
};
|
|
732
793
|
private saveState;
|
|
733
794
|
private saveStateId;
|
|
734
795
|
private extra;
|
|
735
796
|
private _initialChangeDone;
|
|
736
797
|
private get effectiveSaveKey();
|
|
737
|
-
data: _angular_core.WritableSignal<XiriDynData[]>;
|
|
738
|
-
error: _angular_core.WritableSignal<string>;
|
|
739
|
-
formFields: _angular_core.WritableSignal<XiriFormField[]>;
|
|
798
|
+
data: _angular_core.WritableSignal<XiriDynData[] | null>;
|
|
799
|
+
error: _angular_core.WritableSignal<string | null>;
|
|
800
|
+
formFields: _angular_core.WritableSignal<XiriFormField[] | null>;
|
|
740
801
|
formValid: _angular_core.WritableSignal<boolean>;
|
|
741
|
-
filterData: _angular_core.WritableSignal<
|
|
802
|
+
filterData: _angular_core.WritableSignal<Record<string, unknown> | null>;
|
|
742
803
|
loading: _angular_core.WritableSignal<boolean>;
|
|
743
804
|
ngOnInit(): void;
|
|
744
|
-
formChanged(event:
|
|
805
|
+
formChanged(event: XiriQueryFormChangeEvent): void;
|
|
745
806
|
clickedButton(event: XiriButtonResult): void;
|
|
746
807
|
private load;
|
|
747
808
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriQueryComponent, never>;
|
|
748
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriQueryComponent, "xiri-query", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; "dyncomponent": { "alias": "dyncomponent"; "required": false; "isSignal": true; }; }, { "
|
|
809
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriQueryComponent, "xiri-query", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; "dyncomponent": { "alias": "dyncomponent"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; }, never, never, true, never>;
|
|
749
810
|
}
|
|
750
811
|
|
|
751
812
|
interface XiriCardSettings {
|
|
752
813
|
url?: string;
|
|
753
814
|
reload?: boolean;
|
|
754
|
-
data?:
|
|
815
|
+
data?: unknown;
|
|
755
816
|
fields?: XiriTableField[];
|
|
756
817
|
components?: XiriDynData[];
|
|
757
818
|
header?: string;
|
|
@@ -770,20 +831,18 @@ interface XiriCardSettings {
|
|
|
770
831
|
}
|
|
771
832
|
declare class XiriCardComponent {
|
|
772
833
|
private dataService;
|
|
773
|
-
private destroyRef;
|
|
774
834
|
settings: _angular_core.InputSignal<XiriCardSettings>;
|
|
775
|
-
loading: _angular_core.WritableSignal<boolean>;
|
|
776
|
-
errorMsg: _angular_core.WritableSignal<string>;
|
|
777
835
|
isCollapsed: _angular_core.WritableSignal<boolean>;
|
|
778
|
-
private
|
|
779
|
-
|
|
836
|
+
private cardResource;
|
|
837
|
+
loading: Signal<boolean>;
|
|
838
|
+
errorMsg: Signal<string>;
|
|
839
|
+
private _loaded;
|
|
840
|
+
cardData: Signal<unknown>;
|
|
780
841
|
hasComponents: Signal<boolean>;
|
|
781
842
|
/** Resolves padding setting (token or free CSS value) into a CSS length string. */
|
|
782
843
|
componentsPadding: Signal<string>;
|
|
783
844
|
rawTable: Signal<XiriRawTableSettings | null>;
|
|
784
|
-
constructor();
|
|
785
845
|
toggleCollapse(): void;
|
|
786
|
-
private loadData;
|
|
787
846
|
reload(): void;
|
|
788
847
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriCardComponent, never>;
|
|
789
848
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriCardComponent, "xiri-card", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -801,8 +860,8 @@ declare class XiriButtonstyleComponent {
|
|
|
801
860
|
|
|
802
861
|
declare class XiriDynComponentComponent {
|
|
803
862
|
data: _angular_core.InputSignal<XiriDynData[]>;
|
|
804
|
-
filterData: _angular_core.InputSignal<
|
|
805
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
863
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
864
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
806
865
|
dataInt: _angular_core.Signal<XiriDynData[]>;
|
|
807
866
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDynComponentComponent, never>;
|
|
808
867
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriDynComponentComponent, "xiri-dyncomponent", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "filterData": { "alias": "filterData"; "required": false; "isSignal": true; }; "dyncomponent": { "alias": "dyncomponent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -874,10 +933,23 @@ interface XiriStepperStep {
|
|
|
874
933
|
url?: string;
|
|
875
934
|
title: string;
|
|
876
935
|
fields: XiriFormField[];
|
|
877
|
-
data?:
|
|
878
|
-
extra?:
|
|
936
|
+
data?: Record<string, unknown>;
|
|
937
|
+
extra?: Record<string, unknown>;
|
|
879
938
|
buttons: XiriButton[];
|
|
880
939
|
}
|
|
940
|
+
interface XiriStepperFormChangeEvent {
|
|
941
|
+
valid: boolean;
|
|
942
|
+
value: Record<string, unknown> | null;
|
|
943
|
+
pristine?: boolean;
|
|
944
|
+
}
|
|
945
|
+
interface XiriStepperResponse {
|
|
946
|
+
step?: number;
|
|
947
|
+
fields?: XiriFormField[];
|
|
948
|
+
buttons?: XiriButton[];
|
|
949
|
+
url?: string;
|
|
950
|
+
goto?: string;
|
|
951
|
+
[key: string]: unknown;
|
|
952
|
+
}
|
|
881
953
|
interface StepState {
|
|
882
954
|
url?: string;
|
|
883
955
|
title: string;
|
|
@@ -889,8 +961,8 @@ interface StepState {
|
|
|
889
961
|
errorMsg: WritableSignal<string | null>;
|
|
890
962
|
fields: WritableSignal<XiriFormField[]>;
|
|
891
963
|
buttons: WritableSignal<XiriButton[]>;
|
|
892
|
-
data?:
|
|
893
|
-
extra?:
|
|
964
|
+
data?: Record<string, unknown>;
|
|
965
|
+
extra?: Record<string, unknown>;
|
|
894
966
|
}
|
|
895
967
|
declare class XiriStepperComponent implements OnInit {
|
|
896
968
|
private dataService;
|
|
@@ -904,7 +976,7 @@ declare class XiriStepperComponent implements OnInit {
|
|
|
904
976
|
steps: WritableSignal<StepState[]>;
|
|
905
977
|
ngOnInit(): void;
|
|
906
978
|
stepChanged($event: StepperSelectionEvent): void;
|
|
907
|
-
formChanged(step: StepState, event:
|
|
979
|
+
formChanged(step: StepState, event: XiriStepperFormChangeEvent, i: number): void;
|
|
908
980
|
clickButton(button: XiriButton): void;
|
|
909
981
|
private checkStep;
|
|
910
982
|
private showError;
|
|
@@ -1063,7 +1135,7 @@ interface XiriNavigationField {
|
|
|
1063
1135
|
declare class XiriSidenavComponent {
|
|
1064
1136
|
private router;
|
|
1065
1137
|
private cdr;
|
|
1066
|
-
settings: _angular_core.InputSignal<XiriSidebarSettings>;
|
|
1138
|
+
settings: _angular_core.InputSignal<XiriSidebarSettings | undefined>;
|
|
1067
1139
|
loading: boolean;
|
|
1068
1140
|
fields: XiriNavigationField[];
|
|
1069
1141
|
private prefix;
|
|
@@ -1096,8 +1168,8 @@ interface XiriTabsSettings {
|
|
|
1096
1168
|
}
|
|
1097
1169
|
declare class XiriTabsComponent {
|
|
1098
1170
|
settings: _angular_core.InputSignal<XiriTabsSettings>;
|
|
1099
|
-
filterData: _angular_core.InputSignal<
|
|
1100
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
1171
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
1172
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
1101
1173
|
selectedIndex: _angular_core.WritableSignal<number>;
|
|
1102
1174
|
visitedTabs: _angular_core.WritableSignal<Set<number>>;
|
|
1103
1175
|
constructor();
|
|
@@ -1128,8 +1200,8 @@ interface XiriExpansionSettings {
|
|
|
1128
1200
|
}
|
|
1129
1201
|
declare class XiriExpansionComponent {
|
|
1130
1202
|
settings: _angular_core.InputSignal<XiriExpansionSettings>;
|
|
1131
|
-
filterData: _angular_core.InputSignal<
|
|
1132
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
1203
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
1204
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
1133
1205
|
openedPanels: _angular_core.WritableSignal<Set<number>>;
|
|
1134
1206
|
visitedPanels: _angular_core.WritableSignal<Set<number>>;
|
|
1135
1207
|
onPanelOpened(index: number): void;
|
|
@@ -1226,7 +1298,7 @@ interface XiriEchartsClick {
|
|
|
1226
1298
|
seriesIndex: number;
|
|
1227
1299
|
dataIndex: number;
|
|
1228
1300
|
name: string;
|
|
1229
|
-
value:
|
|
1301
|
+
value: unknown;
|
|
1230
1302
|
}
|
|
1231
1303
|
/**
|
|
1232
1304
|
* `xiri-echarts-host` — shared echarts plumbing for all chart components.
|
|
@@ -1243,11 +1315,11 @@ interface XiriEchartsClick {
|
|
|
1243
1315
|
* outer xiri-card without card-in-card visuals.
|
|
1244
1316
|
*/
|
|
1245
1317
|
declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
|
|
1246
|
-
option: _angular_core.InputSignal<
|
|
1318
|
+
option: _angular_core.InputSignal<unknown>;
|
|
1247
1319
|
compact: _angular_core.InputSignal<boolean>;
|
|
1248
|
-
title: _angular_core.InputSignal<string>;
|
|
1249
|
-
headerIcon: _angular_core.InputSignal<string>;
|
|
1250
|
-
headerIconColor: _angular_core.InputSignal<XiriColor>;
|
|
1320
|
+
title: _angular_core.InputSignal<string | undefined>;
|
|
1321
|
+
headerIcon: _angular_core.InputSignal<string | undefined>;
|
|
1322
|
+
headerIconColor: _angular_core.InputSignal<XiriColor | undefined>;
|
|
1251
1323
|
chartHeight: _angular_core.InputSignal<string>;
|
|
1252
1324
|
itemClick: _angular_core.OutputEmitterRef<XiriEchartsClick>;
|
|
1253
1325
|
chartHostRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
@@ -1257,7 +1329,7 @@ declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
|
|
|
1257
1329
|
private echarts;
|
|
1258
1330
|
private resizeObserver;
|
|
1259
1331
|
private loadError;
|
|
1260
|
-
readonly error: _angular_core.Signal<string>;
|
|
1332
|
+
readonly error: _angular_core.Signal<string | null>;
|
|
1261
1333
|
readonly hasHeader: _angular_core.Signal<boolean>;
|
|
1262
1334
|
constructor();
|
|
1263
1335
|
ngAfterViewInit(): Promise<void>;
|
|
@@ -1268,6 +1340,40 @@ declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
|
|
|
1268
1340
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriEchartsHostComponent, "xiri-echarts-host", never, { "option": { "alias": "option"; "required": true; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "headerIcon": { "alias": "headerIcon"; "required": false; "isSignal": true; }; "headerIconColor": { "alias": "headerIconColor"; "required": false; "isSignal": true; }; "chartHeight": { "alias": "chartHeight"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
1269
1341
|
}
|
|
1270
1342
|
|
|
1343
|
+
/**
|
|
1344
|
+
* Minimal structural types for the echarts callback params that the xiri chart
|
|
1345
|
+
* components read inside tooltip / label / renderItem formatters.
|
|
1346
|
+
*
|
|
1347
|
+
* echarts is an optional peer dependency and is loaded lazily, so we avoid a
|
|
1348
|
+
* static import of its (large) option/param types here and describe only the
|
|
1349
|
+
* fields the chart components actually access. The shapes intentionally mirror
|
|
1350
|
+
* echarts' `CallbackDataParams` / `CustomSeriesRenderItem*` surfaces.
|
|
1351
|
+
*/
|
|
1352
|
+
/** Params object passed to a single-series tooltip / label formatter callback. */
|
|
1353
|
+
interface XiriEchartsCallbackParams {
|
|
1354
|
+
componentType?: string;
|
|
1355
|
+
seriesType?: string;
|
|
1356
|
+
seriesIndex?: number;
|
|
1357
|
+
seriesName?: string;
|
|
1358
|
+
dataIndex: number;
|
|
1359
|
+
name?: string;
|
|
1360
|
+
axisValueLabel?: string;
|
|
1361
|
+
marker?: string;
|
|
1362
|
+
percent?: number;
|
|
1363
|
+
value?: unknown;
|
|
1364
|
+
data?: {
|
|
1365
|
+
value?: unknown;
|
|
1366
|
+
};
|
|
1367
|
+
}
|
|
1368
|
+
/** Params for an 'axis'-trigger tooltip: either a single params object or an array of them. */
|
|
1369
|
+
type XiriEchartsTooltipParams = XiriEchartsCallbackParams | XiriEchartsCallbackParams[];
|
|
1370
|
+
/** The `api` object handed to a custom-series `renderItem` callback. */
|
|
1371
|
+
interface XiriEchartsRenderItemApi {
|
|
1372
|
+
value(dimension: number): number;
|
|
1373
|
+
coord(point: number[]): number[];
|
|
1374
|
+
size(dataSize: number[]): number[];
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1271
1377
|
type XiriBarChartMode = 'simple' | 'stacked' | 'heatmap';
|
|
1272
1378
|
interface XiriBarChartSegment {
|
|
1273
1379
|
value: number;
|
|
@@ -1316,7 +1422,7 @@ declare class XiriBarChartComponent {
|
|
|
1316
1422
|
};
|
|
1317
1423
|
tooltip: {
|
|
1318
1424
|
trigger: string;
|
|
1319
|
-
formatter: (params:
|
|
1425
|
+
formatter: (params: XiriEchartsTooltipParams) => string;
|
|
1320
1426
|
};
|
|
1321
1427
|
xAxis: {
|
|
1322
1428
|
type: string;
|
|
@@ -1330,19 +1436,19 @@ declare class XiriBarChartComponent {
|
|
|
1330
1436
|
axisLabel: {
|
|
1331
1437
|
rotate: number;
|
|
1332
1438
|
interval: number;
|
|
1333
|
-
};
|
|
1439
|
+
} | undefined;
|
|
1334
1440
|
};
|
|
1335
1441
|
yAxis: {
|
|
1336
1442
|
type: string;
|
|
1337
|
-
min: number;
|
|
1338
|
-
max: number;
|
|
1443
|
+
min: number | undefined;
|
|
1444
|
+
max: number | undefined;
|
|
1339
1445
|
splitLine: {
|
|
1340
1446
|
lineStyle: {
|
|
1341
1447
|
color: string;
|
|
1342
1448
|
};
|
|
1343
1449
|
};
|
|
1344
1450
|
};
|
|
1345
|
-
series:
|
|
1451
|
+
series: unknown[];
|
|
1346
1452
|
} | {
|
|
1347
1453
|
grid: {
|
|
1348
1454
|
left: number;
|
|
@@ -1353,7 +1459,7 @@ declare class XiriBarChartComponent {
|
|
|
1353
1459
|
};
|
|
1354
1460
|
tooltip: {
|
|
1355
1461
|
trigger: string;
|
|
1356
|
-
formatter: (params:
|
|
1462
|
+
formatter: (params: XiriEchartsTooltipParams) => string;
|
|
1357
1463
|
};
|
|
1358
1464
|
xAxis: {
|
|
1359
1465
|
type: string;
|
|
@@ -1370,7 +1476,7 @@ declare class XiriBarChartComponent {
|
|
|
1370
1476
|
yAxis: {
|
|
1371
1477
|
type: string;
|
|
1372
1478
|
min: number;
|
|
1373
|
-
max: number;
|
|
1479
|
+
max: number | undefined;
|
|
1374
1480
|
show: boolean;
|
|
1375
1481
|
};
|
|
1376
1482
|
series: {
|
|
@@ -1427,13 +1533,13 @@ declare class XiriLineChartComponent {
|
|
|
1427
1533
|
};
|
|
1428
1534
|
tooltip: {
|
|
1429
1535
|
trigger: string;
|
|
1430
|
-
formatter: (params:
|
|
1536
|
+
formatter: (params: XiriEchartsTooltipParams) => string;
|
|
1431
1537
|
};
|
|
1432
1538
|
legend: {
|
|
1433
1539
|
top: number;
|
|
1434
1540
|
right: number;
|
|
1435
1541
|
type: string;
|
|
1436
|
-
};
|
|
1542
|
+
} | undefined;
|
|
1437
1543
|
xAxis: {
|
|
1438
1544
|
type: string;
|
|
1439
1545
|
data: string[];
|
|
@@ -1447,12 +1553,12 @@ declare class XiriLineChartComponent {
|
|
|
1447
1553
|
axisLabel: {
|
|
1448
1554
|
rotate: number;
|
|
1449
1555
|
interval: number;
|
|
1450
|
-
};
|
|
1556
|
+
} | undefined;
|
|
1451
1557
|
};
|
|
1452
1558
|
yAxis: {
|
|
1453
1559
|
type: string;
|
|
1454
|
-
min: number;
|
|
1455
|
-
max: number;
|
|
1560
|
+
min: number | undefined;
|
|
1561
|
+
max: number | undefined;
|
|
1456
1562
|
splitLine: {
|
|
1457
1563
|
lineStyle: {
|
|
1458
1564
|
color: string;
|
|
@@ -1476,7 +1582,7 @@ declare class XiriLineChartComponent {
|
|
|
1476
1582
|
areaStyle: {
|
|
1477
1583
|
color: string;
|
|
1478
1584
|
opacity: number;
|
|
1479
|
-
};
|
|
1585
|
+
} | undefined;
|
|
1480
1586
|
data: number[];
|
|
1481
1587
|
}[];
|
|
1482
1588
|
}>;
|
|
@@ -1503,13 +1609,13 @@ declare class XiriPieChartComponent {
|
|
|
1503
1609
|
option: _angular_core.Signal<{
|
|
1504
1610
|
tooltip: {
|
|
1505
1611
|
trigger: string;
|
|
1506
|
-
formatter: (p:
|
|
1612
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1507
1613
|
};
|
|
1508
1614
|
legend: {
|
|
1509
1615
|
bottom: number;
|
|
1510
1616
|
type: string;
|
|
1511
1617
|
};
|
|
1512
|
-
series:
|
|
1618
|
+
series: Record<string, unknown>[];
|
|
1513
1619
|
}>;
|
|
1514
1620
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriPieChartComponent, never>;
|
|
1515
1621
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriPieChartComponent, "xiri-piechart", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -1623,7 +1729,7 @@ declare class XiriHeatmapComponent {
|
|
|
1623
1729
|
};
|
|
1624
1730
|
tooltip: {
|
|
1625
1731
|
position: string;
|
|
1626
|
-
formatter: (p:
|
|
1732
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1627
1733
|
};
|
|
1628
1734
|
xAxis: {
|
|
1629
1735
|
type: string;
|
|
@@ -1640,7 +1746,7 @@ declare class XiriHeatmapComponent {
|
|
|
1640
1746
|
axisLabel: {
|
|
1641
1747
|
rotate: number;
|
|
1642
1748
|
interval: number;
|
|
1643
|
-
};
|
|
1749
|
+
} | undefined;
|
|
1644
1750
|
};
|
|
1645
1751
|
yAxis: {
|
|
1646
1752
|
type: string;
|
|
@@ -1672,7 +1778,7 @@ declare class XiriHeatmapComponent {
|
|
|
1672
1778
|
data: number[][];
|
|
1673
1779
|
label: {
|
|
1674
1780
|
show: boolean;
|
|
1675
|
-
formatter: (p:
|
|
1781
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1676
1782
|
};
|
|
1677
1783
|
emphasis: {
|
|
1678
1784
|
itemStyle: {
|
|
@@ -1707,7 +1813,7 @@ declare class XiriCalendarComponent {
|
|
|
1707
1813
|
height: _angular_core.Signal<string>;
|
|
1708
1814
|
option: _angular_core.Signal<{
|
|
1709
1815
|
tooltip: {
|
|
1710
|
-
formatter: (p:
|
|
1816
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1711
1817
|
};
|
|
1712
1818
|
visualMap: {
|
|
1713
1819
|
min: number;
|
|
@@ -1774,7 +1880,7 @@ declare class XiriTreeComponent {
|
|
|
1774
1880
|
tooltip: {
|
|
1775
1881
|
trigger: string;
|
|
1776
1882
|
triggerOn: string;
|
|
1777
|
-
formatter: (p:
|
|
1883
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1778
1884
|
};
|
|
1779
1885
|
series: {
|
|
1780
1886
|
type: string;
|
|
@@ -1887,7 +1993,7 @@ declare class XiriGanttComponent {
|
|
|
1887
1993
|
height: _angular_core.Signal<string>;
|
|
1888
1994
|
option: _angular_core.Signal<{
|
|
1889
1995
|
tooltip: {
|
|
1890
|
-
formatter: (p:
|
|
1996
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1891
1997
|
};
|
|
1892
1998
|
grid: {
|
|
1893
1999
|
left: number;
|
|
@@ -1898,8 +2004,8 @@ declare class XiriGanttComponent {
|
|
|
1898
2004
|
};
|
|
1899
2005
|
xAxis: {
|
|
1900
2006
|
type: string;
|
|
1901
|
-
min: number;
|
|
1902
|
-
max: number;
|
|
2007
|
+
min: number | undefined;
|
|
2008
|
+
max: number | undefined;
|
|
1903
2009
|
splitLine: {
|
|
1904
2010
|
lineStyle: {
|
|
1905
2011
|
color: string;
|
|
@@ -1927,18 +2033,18 @@ declare class XiriGanttComponent {
|
|
|
1927
2033
|
y: number;
|
|
1928
2034
|
};
|
|
1929
2035
|
clip: boolean;
|
|
1930
|
-
renderItem: (_params:
|
|
2036
|
+
renderItem: (_params: unknown, api: XiriEchartsRenderItemApi) => {
|
|
1931
2037
|
type: string;
|
|
1932
2038
|
transition: string[];
|
|
1933
2039
|
shape: {
|
|
1934
|
-
x:
|
|
2040
|
+
x: number;
|
|
1935
2041
|
y: number;
|
|
1936
2042
|
width: number;
|
|
1937
2043
|
height: number;
|
|
1938
2044
|
r: number;
|
|
1939
2045
|
};
|
|
1940
2046
|
style: {
|
|
1941
|
-
fill:
|
|
2047
|
+
fill: number;
|
|
1942
2048
|
};
|
|
1943
2049
|
};
|
|
1944
2050
|
data: (string | number)[][];
|
|
@@ -1987,11 +2093,10 @@ interface XiriSectionSettings {
|
|
|
1987
2093
|
buttons?: XiriButtonlineSettings;
|
|
1988
2094
|
components?: XiriDynData[];
|
|
1989
2095
|
}
|
|
1990
|
-
declare class XiriSectionComponent {
|
|
2096
|
+
declare class XiriSectionComponent implements OnInit {
|
|
1991
2097
|
settings: _angular_core.InputSignal<XiriSectionSettings>;
|
|
1992
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
2098
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
1993
2099
|
collapsed: _angular_core.WritableSignal<boolean>;
|
|
1994
|
-
constructor();
|
|
1995
2100
|
ngOnInit(): void;
|
|
1996
2101
|
toggle(): void;
|
|
1997
2102
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSectionComponent, never>;
|
|
@@ -2031,7 +2136,7 @@ interface XiriToolbarSettings {
|
|
|
2031
2136
|
}
|
|
2032
2137
|
declare class XiriToolbarComponent {
|
|
2033
2138
|
settings: _angular_core.InputSignal<XiriToolbarSettings>;
|
|
2034
|
-
filterData: _angular_core.InputSignal<
|
|
2139
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
2035
2140
|
searchChanged: _angular_core.OutputEmitterRef<string>;
|
|
2036
2141
|
searchPlaceholder: _angular_core.Signal<string>;
|
|
2037
2142
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriToolbarComponent, never>;
|
|
@@ -2065,12 +2170,12 @@ declare class XiriDataService {
|
|
|
2065
2170
|
private http;
|
|
2066
2171
|
private config;
|
|
2067
2172
|
private snackbar;
|
|
2068
|
-
get(url: string): Observable<
|
|
2069
|
-
post(url: string, data:
|
|
2070
|
-
postFile(url: string, data:
|
|
2071
|
-
postFileResponse(url: string, data:
|
|
2173
|
+
get(url: string): Observable<object>;
|
|
2174
|
+
post(url: string, data: unknown): Observable<unknown>;
|
|
2175
|
+
postFile(url: string, data: unknown): Observable<Blob>;
|
|
2176
|
+
postFileResponse(url: string, data: unknown): Observable<HttpResponse<Blob>>;
|
|
2072
2177
|
/** @deprecated Use postFileResponse() + XiriDownloadService.download() instead */
|
|
2073
|
-
postDownload(url: string, data:
|
|
2178
|
+
postDownload(url: string, data: unknown): void;
|
|
2074
2179
|
getConfigApi(): string;
|
|
2075
2180
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDataService, never>;
|
|
2076
2181
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriDataService>;
|
|
@@ -2119,10 +2224,10 @@ declare class XiriFormService {
|
|
|
2119
2224
|
private dataService;
|
|
2120
2225
|
private router;
|
|
2121
2226
|
private sessionStorageService;
|
|
2122
|
-
get(url: string, data?:
|
|
2227
|
+
get(url: string, data?: object | null, extra?: object): Observable<XiriFormServiceData>;
|
|
2123
2228
|
parse(res: XiriFormServiceReturn): XiriFormServiceData;
|
|
2124
2229
|
loadState(saveStateId: string | null | undefined, fields: XiriFormField[]): XiriFormField[];
|
|
2125
|
-
saveState(saveStateId: string | null | undefined, values:
|
|
2230
|
+
saveState(saveStateId: string | null | undefined, values: unknown): void;
|
|
2126
2231
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriFormService, never>;
|
|
2127
2232
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriFormService>;
|
|
2128
2233
|
}
|
|
@@ -2132,15 +2237,15 @@ declare class XiriLocalStorageService {
|
|
|
2132
2237
|
private data;
|
|
2133
2238
|
constructor();
|
|
2134
2239
|
clear(): void;
|
|
2135
|
-
set(name: string, value:
|
|
2240
|
+
set(name: string, value: unknown): void;
|
|
2136
2241
|
private getStruct;
|
|
2137
2242
|
remove(name: string): void;
|
|
2138
|
-
get(name: string):
|
|
2243
|
+
get(name: string): unknown;
|
|
2139
2244
|
/**
|
|
2140
2245
|
* @param name
|
|
2141
2246
|
* @param maxTime in seconds
|
|
2142
2247
|
*/
|
|
2143
|
-
getTimeout(name: string, maxTime: number):
|
|
2248
|
+
getTimeout(name: string, maxTime: number): unknown;
|
|
2144
2249
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriLocalStorageService, never>;
|
|
2145
2250
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriLocalStorageService>;
|
|
2146
2251
|
}
|
|
@@ -2150,15 +2255,15 @@ declare class XiriSessionStorageService {
|
|
|
2150
2255
|
private data;
|
|
2151
2256
|
constructor();
|
|
2152
2257
|
clear(): void;
|
|
2153
|
-
set(name: string, value:
|
|
2258
|
+
set(name: string, value: unknown): void;
|
|
2154
2259
|
private getStruct;
|
|
2155
2260
|
remove(name: string): void;
|
|
2156
|
-
get(name: string):
|
|
2261
|
+
get(name: string): unknown;
|
|
2157
2262
|
/**
|
|
2158
2263
|
* @param name
|
|
2159
2264
|
* @param maxTime in seconds
|
|
2160
2265
|
*/
|
|
2161
|
-
getTimeout(name: string, maxTime: number):
|
|
2266
|
+
getTimeout(name: string, maxTime: number): unknown;
|
|
2162
2267
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSessionStorageService, never>;
|
|
2163
2268
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriSessionStorageService>;
|
|
2164
2269
|
}
|
|
@@ -2211,7 +2316,7 @@ declare class XiriSnackbarService {
|
|
|
2211
2316
|
error(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
2212
2317
|
info(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
2213
2318
|
warning(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
2214
|
-
handleResponse(response:
|
|
2319
|
+
handleResponse(response: unknown): boolean;
|
|
2215
2320
|
private show;
|
|
2216
2321
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSnackbarService, never>;
|
|
2217
2322
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriSnackbarService>;
|
|
@@ -2219,16 +2324,16 @@ declare class XiriSnackbarService {
|
|
|
2219
2324
|
|
|
2220
2325
|
declare class XiriResponseHandlerService {
|
|
2221
2326
|
private router;
|
|
2222
|
-
handle(result:
|
|
2327
|
+
handle(result: unknown, callbacks?: {
|
|
2223
2328
|
onTableRefresh?: () => void;
|
|
2224
|
-
onTableUpdate?: (id:
|
|
2329
|
+
onTableUpdate?: (id: unknown, field: string, content: unknown) => void;
|
|
2225
2330
|
}): void;
|
|
2226
2331
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriResponseHandlerService, never>;
|
|
2227
2332
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriResponseHandlerService>;
|
|
2228
2333
|
}
|
|
2229
2334
|
|
|
2230
2335
|
declare class XiriDownloadService {
|
|
2231
|
-
download(result:
|
|
2336
|
+
download(result: HttpResponse<Blob>, filename: string, open: boolean): boolean;
|
|
2232
2337
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDownloadService, never>;
|
|
2233
2338
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriDownloadService>;
|
|
2234
2339
|
}
|
|
@@ -2236,5 +2341,5 @@ declare class XiriDownloadService {
|
|
|
2236
2341
|
declare function provideXiriServices(config: Partial<XiriDataServiceConfig>): EnvironmentProviders;
|
|
2237
2342
|
|
|
2238
2343
|
export { COLOR_CSS_VAR, DEFAULT_COMPARE, DEFAULT_PREDICATE, SafehtmlPipe, ThemeService, XiriAlertComponent, XiriBarChartComponent, XiriBreadcrumbComponent, XiriButtonComponent, XiriButtonlineComponent, XiriButtonstyleComponent, XiriCalendarComponent, XiriCardComponent, XiriCardlinkComponent, XiriDataService, XiriDataServiceConfig, XiriDateService, XiriDescriptionListComponent, XiriDialogComponent, XiriDividerComponent, XiriDoneComponent, XiriDownloadService, XiriDynComponentComponent, XiriEchartsHostComponent, XiriEmptyStateComponent, XiriErrorComponent, XiriExpansionComponent, XiriFormComponent, XiriFormFieldsComponent, XiriFormService, XiriGanttComponent, XiriGaugeChartComponent, XiriHeaderComponent, XiriHeatmapComponent, XiriImagetextComponent, XiriInfopointComponent, XiriLineChartComponent, XiriLinksComponent, XiriListComponent, XiriLocalStorageService, XiriMultiprogressComponent, XiriNumberService, XiriPageHeaderComponent, XiriPieChartComponent, XiriQueryComponent, XiriRawTableComponent, XiriResponseHandlerService, XiriSankeyComponent, XiriSearchComponent, XiriSectionComponent, XiriSelectDirective, XiriSessionStorageService, XiriSidenavComponent, XiriSkeletonComponent, XiriSnackbarService, XiriStatComponent, XiriStatGridComponent, XiriStepperComponent, XiriTableComponent, XiriTabsComponent, XiriTimelineComponent, XiriToolbarComponent, XiriTreeComponent, defaultXiriDataServiceConfig, escapeHtml, provideXiriServices, resolveColor };
|
|
2239
|
-
export type { ThemeMode, XiriAlertConfig, XiriBarChartBar, XiriBarChartMode, XiriBarChartPoint, XiriBarChartSegment, XiriBarChartSettings, XiriBreadcrumbItem, XiriButton, XiriButtonResult, XiriButtonlineSettings, XiriCalendarCell, XiriCalendarSettings, XiriCardSettings, XiriCardlinkSettings, XiriColor, XiriDescriptionListItem, XiriDescriptionListSettings, XiriDialogSettings, XiriDialogSize, XiriDividerSettings, XiriDynData, XiriDynDataType, XiriEchartsClick, XiriEmptyStateSettings, XiriExpansionPanelSettings, XiriExpansionSettings, XiriExtendedColor, XiriFormField, XiriFormFieldCondition, XiriFormFieldConditionOperator, XiriFormFieldDisplay, XiriFormFieldSelectOption, XiriFormServiceData, XiriFormServiceError, XiriFormSettings, XiriFormValidator, XiriGanttSettings, XiriGanttTask, XiriGaugeChartSettings, XiriHeaderSettings, XiriHeatmapCell, XiriHeatmapSettings, XiriImagetextSettings, XiriInfopointSettings, XiriLineChartLine, XiriLineChartSettings, XiriLinksSettings, XiriListItem, XiriListSection, XiriListSettings, XiriMultiprogressItem, XiriMultiprogressSettings, XiriNavigationField, XiriPageHeaderSettings, XiriPieChartSettings, XiriPieChartSlice, XiriQuerySettings, XiriRawTableSettings, XiriSankeyLink, XiriSankeyNode, XiriSankeySettings, XiriSectionSettings, XiriSelectCompare, XiriSelectPredicate, XiriSidebarSettings, XiriSkeletonType, XiriSnackbarType, XiriStatGridSettings, XiriStatSettings, XiriStatTrend, XiriStepperSettings, XiriStepperStep, XiriTabSettings, XiriTableEmptyState, XiriTableField, XiriTableOptions, XiriTableSettings, XiriTableTreeSettings, XiriTabsSettings, XiriTagChip, XiriThemeColor, XiriTimelineItem, XiriTimelineSettings, XiriToolbarSearchConfig, XiriToolbarSettings, XiriTreeNode, XiriTreeSettings };
|
|
2344
|
+
export type { ThemeMode, XiriAlertConfig, XiriBarChartBar, XiriBarChartMode, XiriBarChartPoint, XiriBarChartSegment, XiriBarChartSettings, XiriBreadcrumbItem, XiriButton, XiriButtonResponse, XiriButtonResult, XiriButtonlineSettings, XiriCalendarCell, XiriCalendarSettings, XiriCardSettings, XiriCardlinkSettings, XiriColor, XiriDescriptionListItem, XiriDescriptionListSettings, XiriDialogResponse, XiriDialogSettings, XiriDialogSize, XiriDividerSettings, XiriDynData, XiriDynDataType, XiriEchartsCallbackParams, XiriEchartsClick, XiriEchartsRenderItemApi, XiriEchartsTooltipParams, XiriEmptyStateSettings, XiriExpansionPanelSettings, XiriExpansionSettings, XiriExtendedColor, XiriFormField, XiriFormFieldCondition, XiriFormFieldConditionOperator, XiriFormFieldDisplay, XiriFormFieldSelectOption, XiriFormServiceData, XiriFormServiceError, XiriFormServiceReturn, XiriFormSettings, XiriFormValidator, XiriGanttSettings, XiriGanttTask, XiriGaugeChartSettings, XiriHeaderSettings, XiriHeatmapCell, XiriHeatmapSettings, XiriImagetextSettings, XiriInfopointSettings, XiriLineChartLine, XiriLineChartSettings, XiriLinksSettings, XiriListItem, XiriListSection, XiriListSettings, XiriMultiprogressItem, XiriMultiprogressSettings, XiriNavigationField, XiriPageHeaderSettings, XiriPieChartSettings, XiriPieChartSlice, XiriQueryFormChangeEvent, XiriQuerySettings, XiriRawTableRow, XiriRawTableSettings, XiriSankeyLink, XiriSankeyNode, XiriSankeySettings, XiriSectionSettings, XiriSelectCompare, XiriSelectPredicate, XiriSidebarSettings, XiriSkeletonType, XiriSnackbarType, XiriStatGridSettings, XiriStatSettings, XiriStatTrend, XiriStepperFormChangeEvent, XiriStepperResponse, XiriStepperSettings, XiriStepperStep, XiriTabSettings, XiriTableCellValue, XiriTableEmptyState, XiriTableField, XiriTableOptions, XiriTableResponse, XiriTableRow, XiriTableSettings, XiriTableTreeSettings, XiriTabsSettings, XiriTagChip, XiriThemeColor, XiriTimelineItem, XiriTimelineSettings, XiriToolbarSearchConfig, XiriToolbarSettings, XiriTreeNode, XiriTreeSettings };
|
|
2240
2345
|
//# sourceMappingURL=xiriframework-xiri-ng.d.ts.map
|