@xiriframework/xiri-ng 0.2.43 → 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 +1197 -902
- package/fesm2022/xiriframework-xiri-ng.mjs.map +1 -1
- package/package.json +10 -12
- package/skills/xiri-ng-expert/SKILL.md +4 -0
- package/skills/xiri-ng-expert/references/components.md +3 -0
- package/skills/xiri-ng-expert/references/form-fields.md +16 -1
- package/types/xiriframework-xiri-ng.d.ts +358 -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 {
|
|
@@ -170,36 +175,45 @@ interface XiriButton {
|
|
|
170
175
|
tabIndex?: number;
|
|
171
176
|
inline?: boolean;
|
|
172
177
|
disabled?: boolean;
|
|
173
|
-
|
|
178
|
+
autoLoad?: boolean;
|
|
179
|
+
data?: Record<string, unknown>;
|
|
174
180
|
target?: string;
|
|
175
181
|
loading?: boolean;
|
|
176
182
|
filename?: string;
|
|
177
|
-
check?:
|
|
178
|
-
send?:
|
|
183
|
+
check?: string[];
|
|
184
|
+
send?: string[];
|
|
179
185
|
menuItems?: {
|
|
180
186
|
action: string;
|
|
181
187
|
url?: string;
|
|
182
188
|
icon?: string;
|
|
183
189
|
color?: string;
|
|
184
190
|
text?: string;
|
|
185
|
-
data?: Record<string,
|
|
191
|
+
data?: Record<string, unknown>;
|
|
186
192
|
}[];
|
|
187
193
|
}
|
|
188
194
|
interface XiriButtonResult {
|
|
189
195
|
button: XiriButton;
|
|
190
|
-
result:
|
|
196
|
+
result: unknown;
|
|
191
197
|
done: boolean;
|
|
192
198
|
loading: boolean;
|
|
193
199
|
}
|
|
200
|
+
interface XiriButtonResponse {
|
|
201
|
+
poll?: number;
|
|
202
|
+
pollUrl?: string;
|
|
203
|
+
text?: string;
|
|
204
|
+
button?: Partial<XiriButton>;
|
|
205
|
+
[key: string]: unknown;
|
|
206
|
+
}
|
|
194
207
|
declare class XiriButtonComponent implements OnDestroy {
|
|
195
208
|
button: _angular_core.InputSignal<XiriButton>;
|
|
196
209
|
disabled: _angular_core.InputSignal<boolean>;
|
|
197
|
-
filterData: _angular_core.InputSignal<
|
|
198
|
-
url: _angular_core.InputSignal<string>;
|
|
210
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
211
|
+
url: _angular_core.InputSignal<string | undefined>;
|
|
199
212
|
result: _angular_core.OutputEmitterRef<XiriButtonResult>;
|
|
200
213
|
private dialogRef?;
|
|
201
214
|
private destroyRef;
|
|
202
215
|
protected loading: _angular_core.WritableSignal<boolean>;
|
|
216
|
+
private _autoTriggered;
|
|
203
217
|
private pollTimer?;
|
|
204
218
|
private countdownTimer?;
|
|
205
219
|
protected polling: _angular_core.WritableSignal<{
|
|
@@ -207,7 +221,7 @@ declare class XiriButtonComponent implements OnDestroy {
|
|
|
207
221
|
nextAt: number;
|
|
208
222
|
url: string;
|
|
209
223
|
text?: string;
|
|
210
|
-
}>;
|
|
224
|
+
} | null>;
|
|
211
225
|
private _now;
|
|
212
226
|
protected countdown: _angular_core.Signal<number>;
|
|
213
227
|
protected pollText: _angular_core.Signal<string>;
|
|
@@ -219,10 +233,12 @@ declare class XiriButtonComponent implements OnDestroy {
|
|
|
219
233
|
private downloadService;
|
|
220
234
|
private responseHandler;
|
|
221
235
|
_disabled: _angular_core.Signal<boolean>;
|
|
222
|
-
_url: _angular_core.Signal<string>;
|
|
236
|
+
_url: _angular_core.Signal<string | undefined>;
|
|
237
|
+
constructor();
|
|
223
238
|
clicked(event: MouseEvent): void;
|
|
239
|
+
private runAction;
|
|
224
240
|
private actionDialog;
|
|
225
|
-
openMenuDialog(event: MouseEvent, item:
|
|
241
|
+
openMenuDialog(event: MouseEvent, item: Record<string, unknown>): void;
|
|
226
242
|
private actionApi;
|
|
227
243
|
private processResult;
|
|
228
244
|
private startPolling;
|
|
@@ -274,8 +290,10 @@ interface XiriTableField {
|
|
|
274
290
|
editableSearchUrl?: string;
|
|
275
291
|
}
|
|
276
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>;
|
|
277
295
|
interface XiriRawTableSettings {
|
|
278
|
-
data:
|
|
296
|
+
data: unknown;
|
|
279
297
|
fields?: XiriTableField[];
|
|
280
298
|
dense?: number;
|
|
281
299
|
forceMinWidth?: boolean;
|
|
@@ -284,9 +302,9 @@ interface XiriRawTableSettings {
|
|
|
284
302
|
declare class XiriRawTableComponent {
|
|
285
303
|
settings: _angular_core.InputSignal<XiriRawTableSettings>;
|
|
286
304
|
showHeader: _angular_core.Signal<boolean>;
|
|
287
|
-
displayedColumns:
|
|
305
|
+
displayedColumns: XiriTableField[];
|
|
288
306
|
columnsToDisplay: string[];
|
|
289
|
-
dataSource: MatTableDataSource<
|
|
307
|
+
dataSource: MatTableDataSource<XiriRawTableRow, _angular_material_paginator.MatPaginator>;
|
|
290
308
|
tableClass: string;
|
|
291
309
|
constructor();
|
|
292
310
|
private loadFields;
|
|
@@ -294,74 +312,15 @@ declare class XiriRawTableComponent {
|
|
|
294
312
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriRawTableComponent, "xiri-raw-table", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
295
313
|
}
|
|
296
314
|
|
|
297
|
-
type
|
|
298
|
-
|
|
299
|
-
label: string;
|
|
300
|
-
color?: string;
|
|
315
|
+
type XiriTableCellValue = string | number | boolean | null | undefined | XiriTagChip | XiriTableCellValue[] | {
|
|
316
|
+
[key: string]: XiriTableCellValue;
|
|
301
317
|
};
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
row: any;
|
|
308
|
-
field: string;
|
|
309
|
-
}>;
|
|
310
|
-
editingChipsValues: _angular_core.WritableSignal<string[]>;
|
|
311
|
-
editableOptionsLoading: _angular_core.WritableSignal<boolean>;
|
|
312
|
-
loadedEditableOptions: _angular_core.WritableSignal<EditableOption[]>;
|
|
313
|
-
savingCell: _angular_core.WritableSignal<{
|
|
314
|
-
row: any;
|
|
315
|
-
field: string;
|
|
316
|
-
}>;
|
|
317
|
-
searchControl: FormControl<string>;
|
|
318
|
-
searching: _angular_core.WritableSignal<boolean>;
|
|
319
|
-
displayedOptions: _angular_core.WritableSignal<EditableOption[]>;
|
|
320
|
-
private editingOriginalValue;
|
|
321
|
-
private editableOptionsSub;
|
|
322
|
-
private optionCache;
|
|
323
|
-
private searchSub;
|
|
324
|
-
private searchReqSub;
|
|
325
|
-
private getEditUrl;
|
|
326
|
-
private getDisplayedColumns;
|
|
327
|
-
private abort$;
|
|
328
|
-
private onSaved;
|
|
329
|
-
private onDataUpdate;
|
|
330
|
-
private onCallReturn;
|
|
331
|
-
private get editUrl();
|
|
332
|
-
private get displayedColumns();
|
|
333
|
-
init(config: {
|
|
334
|
-
getEditUrl: () => string;
|
|
335
|
-
getDisplayedColumns: () => XiriTableField[];
|
|
336
|
-
abort$: Subject<void>;
|
|
337
|
-
onSaved: (row: any, fieldId: string) => void;
|
|
338
|
-
onDataUpdate: () => void;
|
|
339
|
-
onCallReturn: (result: any) => void;
|
|
340
|
-
}): void;
|
|
341
|
-
start(row: any, column: XiriTableField, skipSavingCheck?: boolean): void;
|
|
342
|
-
/** Sets up the search box + subscription for searchable inline-edit selects. */
|
|
343
|
-
private initSearch;
|
|
344
|
-
/** Runs the search: server-side POST when editableSearchUrl is set, otherwise local label filter. */
|
|
345
|
-
private runSearch;
|
|
346
|
-
private teardownSearch;
|
|
347
|
-
/** The unfiltered option list: static options on the column, or those loaded via editableOptionsUrl. */
|
|
348
|
-
private baseOptions;
|
|
349
|
-
cancel(): void;
|
|
350
|
-
save(row: any, column: XiriTableField): void;
|
|
351
|
-
isEditing(row: any, fieldId: string): boolean;
|
|
352
|
-
isSaving(row: any, fieldId: string): boolean;
|
|
353
|
-
onKeydown(event: KeyboardEvent, row: any, column: XiriTableField): void;
|
|
354
|
-
focus(): void;
|
|
355
|
-
getAdjacentEditableColumn(currentField: string, direction: 1 | -1): XiriTableField | null;
|
|
356
|
-
flashSaved(row: any, fieldId: string, dataSource: any): void;
|
|
357
|
-
getOptions(column: XiriTableField): EditableOption[];
|
|
358
|
-
/** The currently selected value(s) of the editing cell. */
|
|
359
|
-
private selectedValues;
|
|
360
|
-
onChipsChange(row: any, column: XiriTableField, selectedValues: string[]): void;
|
|
361
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableInlineEditService, never>;
|
|
362
|
-
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;
|
|
363
323
|
}
|
|
364
|
-
|
|
365
324
|
/**
|
|
366
325
|
* Opt-in tree-mode settings for xiri-table. When present on XiriTableSettings.tree, the
|
|
367
326
|
* table renders rows hierarchically (indent + expand/collapse) based on each flat row's
|
|
@@ -374,10 +333,18 @@ interface XiriTableTreeSettings {
|
|
|
374
333
|
collapseAllByDefault?: boolean;
|
|
375
334
|
persistStateKey?: string;
|
|
376
335
|
showCounts?: boolean;
|
|
377
|
-
addSubHandler?: (parentRow:
|
|
336
|
+
addSubHandler?: (parentRow: XiriTableRow) => void;
|
|
378
337
|
addSubUrl?: string;
|
|
379
338
|
addSubField?: string;
|
|
380
|
-
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;
|
|
381
348
|
}
|
|
382
349
|
declare class XiriTableTreeService {
|
|
383
350
|
private localStorage;
|
|
@@ -396,26 +363,26 @@ declare class XiriTableTreeService {
|
|
|
396
363
|
/** Initialises the service from the table's tree settings. treeColumn falls back to firstColumnId. */
|
|
397
364
|
init(config: XiriTableTreeSettings, firstColumnId: string): void;
|
|
398
365
|
/** Builds the tree from flat rows and initialises the expand-state. */
|
|
399
|
-
build(rows:
|
|
366
|
+
build(rows: XiriTableRow[]): void;
|
|
400
367
|
/** Returns the visible rows: search projection when searching, otherwise the expand-state flatten. */
|
|
401
|
-
visibleRows(matches?: (row:
|
|
368
|
+
visibleRows(matches?: (row: XiriTableRow) => boolean): XiriTableRow[];
|
|
402
369
|
/**
|
|
403
370
|
* Applies (or clears) a search. On the empty→active transition the current expand-state is
|
|
404
371
|
* snapshotted and the tree is fully expanded (so all matches are visible); during the search
|
|
405
372
|
* the same `expanded` state drives expand/collapse, so the arrows work. On active→empty the
|
|
406
373
|
* pre-search state is restored (Spec §5). Returns the new visible rows.
|
|
407
374
|
*/
|
|
408
|
-
applySearch(matches: ((row:
|
|
409
|
-
toggle(row:
|
|
375
|
+
applySearch(matches: ((row: XiriTableRow) => boolean) | null): XiriTableRow[];
|
|
376
|
+
toggle(row: XiriTableRow): void;
|
|
410
377
|
expandAll(): void;
|
|
411
378
|
collapseAll(): void;
|
|
412
379
|
/**
|
|
413
380
|
* Whether the "+ sub" button should be shown for a given row. Opt-in: an addSubWhen predicate
|
|
414
381
|
* or a truthy addSubField value gates it; without either, the button shows on every row.
|
|
415
382
|
*/
|
|
416
|
-
canAddSub(row:
|
|
383
|
+
canAddSub(row: XiriTableRow): boolean;
|
|
417
384
|
/** Resolves the "+ sub" target URL for a row, substituting the {id} placeholder. */
|
|
418
|
-
addSubUrlFor(row:
|
|
385
|
+
addSubUrlFor(row: XiriTableRow): string | null;
|
|
419
386
|
private storageKey;
|
|
420
387
|
private loadPersisted;
|
|
421
388
|
private persist;
|
|
@@ -423,6 +390,74 @@ declare class XiriTableTreeService {
|
|
|
423
390
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriTableTreeService>;
|
|
424
391
|
}
|
|
425
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
|
+
|
|
426
461
|
interface XiriButtonlineSettings {
|
|
427
462
|
buttons: XiriButton[];
|
|
428
463
|
class: string;
|
|
@@ -430,7 +465,7 @@ interface XiriButtonlineSettings {
|
|
|
430
465
|
declare class XiriButtonlineComponent {
|
|
431
466
|
settings: _angular_core.InputSignal<XiriButtonlineSettings>;
|
|
432
467
|
disabled: _angular_core.InputSignal<boolean>;
|
|
433
|
-
filterData: _angular_core.InputSignal<
|
|
468
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
434
469
|
result: _angular_core.OutputEmitterRef<XiriButtonResult>;
|
|
435
470
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriButtonlineComponent, never>;
|
|
436
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>;
|
|
@@ -440,12 +475,22 @@ type XiriDynDataType = 'card' | 'buttonline' | 'table' | 'cardlink' | 'links' |
|
|
|
440
475
|
interface XiriDynData {
|
|
441
476
|
id?: number;
|
|
442
477
|
type: XiriDynDataType | (string & {});
|
|
443
|
-
data?:
|
|
478
|
+
data?: unknown;
|
|
444
479
|
display?: string;
|
|
445
480
|
newRow?: boolean;
|
|
446
481
|
mode?: string;
|
|
447
482
|
}
|
|
448
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
|
+
}
|
|
449
494
|
interface XiriTableEmptyState {
|
|
450
495
|
icon?: string;
|
|
451
496
|
iconColor?: XiriColor;
|
|
@@ -482,7 +527,7 @@ interface XiriTableOptions {
|
|
|
482
527
|
}
|
|
483
528
|
interface XiriTableSettings {
|
|
484
529
|
url?: string;
|
|
485
|
-
data?:
|
|
530
|
+
data?: XiriTableRow[];
|
|
486
531
|
fields?: XiriTableField[];
|
|
487
532
|
options?: XiriTableOptions;
|
|
488
533
|
hasFilter?: boolean;
|
|
@@ -502,25 +547,25 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
502
547
|
tree: XiriTableTreeService;
|
|
503
548
|
protected _changeDetectorRef: ChangeDetectorRef;
|
|
504
549
|
private destroyRef;
|
|
505
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
550
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
506
551
|
settings: _angular_core.InputSignal<XiriTableSettings>;
|
|
507
|
-
filterData: _angular_core.InputSignal<
|
|
508
|
-
clickedRow: _angular_core.OutputEmitterRef<
|
|
552
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
553
|
+
clickedRow: _angular_core.OutputEmitterRef<XiriTableRow>;
|
|
509
554
|
paginator: _angular_core.Signal<MatPaginator>;
|
|
510
555
|
sort: _angular_core.Signal<MatSort>;
|
|
511
|
-
table: _angular_core.Signal<MatTable<
|
|
556
|
+
table: _angular_core.Signal<MatTable<XiriTableRow>>;
|
|
512
557
|
loading: _angular_core.WritableSignal<boolean>;
|
|
513
558
|
private _totalCount;
|
|
514
559
|
displayedColumns: XiriTableField[];
|
|
515
560
|
columnsToDisplay: string[];
|
|
516
561
|
columnsToSearch: string[];
|
|
517
|
-
dataSource: MatTableDataSource<
|
|
518
|
-
protected _displayeddata: readonly
|
|
519
|
-
_alldata: _angular_core.WritableSignal<
|
|
520
|
-
footer:
|
|
562
|
+
dataSource: MatTableDataSource<XiriTableRow, MatPaginator>;
|
|
563
|
+
protected _displayeddata: readonly XiriTableRow[];
|
|
564
|
+
_alldata: _angular_core.WritableSignal<XiriTableRow[] | null>;
|
|
565
|
+
footer: Record<string, XiriTableCellValue>;
|
|
521
566
|
extraHeaderFields: XiriTableField[];
|
|
522
567
|
extraHeaders: string[];
|
|
523
|
-
selection: SelectionModel<
|
|
568
|
+
selection: SelectionModel<XiriTableRow>;
|
|
524
569
|
private dialogRef?;
|
|
525
570
|
private reloadAbort$;
|
|
526
571
|
private autoRefreshTimer?;
|
|
@@ -528,38 +573,34 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
528
573
|
autoRefresh: _angular_core.WritableSignal<{
|
|
529
574
|
intervalMs: number;
|
|
530
575
|
nextAt: number;
|
|
531
|
-
}>;
|
|
576
|
+
} | null>;
|
|
532
577
|
private _now;
|
|
533
578
|
countdown: _angular_core.Signal<number>;
|
|
534
579
|
options: XiriTableOptions;
|
|
535
580
|
dynData: {
|
|
536
|
-
data: XiriDynData[];
|
|
537
|
-
filterData:
|
|
581
|
+
data: XiriDynData[] | null;
|
|
582
|
+
filterData: Record<string, unknown> | null | undefined;
|
|
538
583
|
};
|
|
539
584
|
errorMsg: string;
|
|
540
585
|
private _firstData;
|
|
541
586
|
searchText: string;
|
|
542
587
|
searchTextInit: string;
|
|
543
588
|
private tableStateKey;
|
|
544
|
-
trackByRowId: (
|
|
589
|
+
trackByRowId: (index: number, row: XiriTableRow) => string | number;
|
|
545
590
|
get editingCell(): _angular_core.WritableSignal<{
|
|
546
|
-
row:
|
|
591
|
+
row: XiriTableRow;
|
|
547
592
|
field: string;
|
|
548
|
-
}>;
|
|
593
|
+
} | null>;
|
|
549
594
|
get editingChipsValues(): _angular_core.WritableSignal<string[]>;
|
|
550
595
|
get editableOptionsLoading(): _angular_core.WritableSignal<boolean>;
|
|
551
|
-
get loadedEditableOptions(): _angular_core.WritableSignal<
|
|
552
|
-
value: string;
|
|
553
|
-
label: string;
|
|
554
|
-
color?: string;
|
|
555
|
-
}[]>;
|
|
596
|
+
get loadedEditableOptions(): _angular_core.WritableSignal<EditableOption[]>;
|
|
556
597
|
get savingCell(): _angular_core.WritableSignal<{
|
|
557
|
-
row:
|
|
598
|
+
row: XiriTableRow;
|
|
558
599
|
field: string;
|
|
559
|
-
}>;
|
|
600
|
+
} | null>;
|
|
560
601
|
get inlineSearchControl(): _angular_forms.FormControl<string>;
|
|
561
602
|
get inlineSearching(): _angular_core.WritableSignal<boolean>;
|
|
562
|
-
_filterData: _angular_core.Signal<
|
|
603
|
+
_filterData: _angular_core.Signal<Record<string, unknown> | null | undefined>;
|
|
563
604
|
constructor();
|
|
564
605
|
ngOnInit(): void;
|
|
565
606
|
private loadData;
|
|
@@ -570,49 +611,49 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
570
611
|
private scheduleAutoRefresh;
|
|
571
612
|
private cancelAutoRefreshTimers;
|
|
572
613
|
private clearAutoRefresh;
|
|
573
|
-
searchDo($event:
|
|
614
|
+
searchDo($event: string): void;
|
|
574
615
|
get treeEnabled(): boolean;
|
|
575
616
|
get treeColumnId(): string;
|
|
576
617
|
get treeShowCounts(): boolean;
|
|
577
618
|
get treeHasAddSub(): boolean;
|
|
578
|
-
treeCanAddSub(row:
|
|
619
|
+
treeCanAddSub(row: XiriTableRow): boolean;
|
|
579
620
|
/** Recomputes the visible rows from the tree (respecting the active search), into the data source. */
|
|
580
621
|
private refreshTree;
|
|
581
622
|
private rowMatches;
|
|
582
|
-
toggleNode(event: MouseEvent, row:
|
|
623
|
+
toggleNode(event: MouseEvent, row: XiriTableRow): void;
|
|
583
624
|
expandAllNodes(): void;
|
|
584
625
|
collapseAllNodes(): void;
|
|
585
|
-
addSub(event: MouseEvent, row:
|
|
626
|
+
addSub(event: MouseEvent, row: XiriTableRow): void;
|
|
586
627
|
isAllSelected(): boolean;
|
|
587
628
|
masterToggle(): void;
|
|
588
|
-
clicked(row:
|
|
589
|
-
openDialog(event: MouseEvent, button:
|
|
590
|
-
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;
|
|
591
632
|
openDialogSelection(event: MouseEvent, button: XiriButton): boolean;
|
|
592
633
|
private startDialog;
|
|
593
634
|
apiCall(event: MouseEvent, url: string): void;
|
|
594
635
|
apiCallSelection(event: MouseEvent, button: XiriButton): void;
|
|
595
|
-
saveCall(event: MouseEvent, button: XiriButton, row:
|
|
596
|
-
saveCallCheck(button: XiriButton, row:
|
|
636
|
+
saveCall(event: MouseEvent, button: XiriButton, row: XiriTableRow, url: string): void;
|
|
637
|
+
saveCallCheck(button: XiriButton, row: XiriTableRow): boolean;
|
|
597
638
|
downloadSelection(event: MouseEvent, button: XiriButton): void;
|
|
598
639
|
private makeApiCall;
|
|
599
640
|
buttonReturn(event: XiriButtonResult): void;
|
|
600
641
|
private callReturn;
|
|
601
642
|
private getSelectionIDs;
|
|
602
|
-
startInlineEdit(row:
|
|
643
|
+
startInlineEdit(row: XiriTableRow, column: XiriTableField, skipSavingCheck?: boolean): void;
|
|
603
644
|
cancelInlineEdit(): void;
|
|
604
|
-
saveInlineEdit(row:
|
|
605
|
-
isEditing(row:
|
|
606
|
-
isSaving(row:
|
|
607
|
-
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;
|
|
608
649
|
getEditableOptions(column: XiriTableField): {
|
|
609
650
|
value: string;
|
|
610
651
|
label: string;
|
|
611
652
|
color?: string;
|
|
612
653
|
}[];
|
|
613
|
-
onChipsSelectionChange(row:
|
|
654
|
+
onChipsSelectionChange(row: XiriTableRow, column: XiriTableField, selectedValues: string[]): void;
|
|
614
655
|
ngOnDestroy(): void;
|
|
615
|
-
pasteInput($event:
|
|
656
|
+
pasteInput($event: ClipboardEvent, row: XiriTableRow, column: XiriTableField): false | null;
|
|
616
657
|
saveInputData(): void;
|
|
617
658
|
private getSortingDataAccessor;
|
|
618
659
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableComponent, never>;
|
|
@@ -622,7 +663,7 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
|
|
|
622
663
|
interface XiriFormSettings {
|
|
623
664
|
load?: boolean;
|
|
624
665
|
url: string;
|
|
625
|
-
fields?:
|
|
666
|
+
fields?: XiriFormField[];
|
|
626
667
|
buttons?: XiriButton[];
|
|
627
668
|
header?: string;
|
|
628
669
|
}
|
|
@@ -631,9 +672,9 @@ declare class XiriFormComponent implements OnInit {
|
|
|
631
672
|
private location;
|
|
632
673
|
private formService;
|
|
633
674
|
private destroyRef;
|
|
634
|
-
formFields: _angular_core.WritableSignal<XiriFormField[]>;
|
|
675
|
+
formFields: _angular_core.WritableSignal<XiriFormField[] | null>;
|
|
635
676
|
loading: _angular_core.WritableSignal<boolean>;
|
|
636
|
-
loadingButton: _angular_core.WritableSignal<XiriButton>;
|
|
677
|
+
loadingButton: _angular_core.WritableSignal<XiriButton | null>;
|
|
637
678
|
done: _angular_core.WritableSignal<boolean>;
|
|
638
679
|
error: _angular_core.WritableSignal<string>;
|
|
639
680
|
private url;
|
|
@@ -647,7 +688,7 @@ declare class XiriFormComponent implements OnInit {
|
|
|
647
688
|
private loadData;
|
|
648
689
|
clickButton(button: XiriButton): void;
|
|
649
690
|
private startSend;
|
|
650
|
-
formChanged(event:
|
|
691
|
+
formChanged(event: UntypedFormGroup): void;
|
|
651
692
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriFormComponent, never>;
|
|
652
693
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriFormComponent, "xiri-form", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
653
694
|
}
|
|
@@ -657,12 +698,28 @@ interface XiriDialogSettings {
|
|
|
657
698
|
url?: string;
|
|
658
699
|
size?: XiriDialogSize | string;
|
|
659
700
|
type: "form" | "data" | "question" | "waiting" | "table" | "component";
|
|
660
|
-
data?:
|
|
661
|
-
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;
|
|
662
719
|
}
|
|
663
720
|
declare class XiriDialogComponent implements OnDestroy {
|
|
664
721
|
dialogRef: MatDialogRef<XiriDialogComponent, any>;
|
|
665
|
-
initData:
|
|
722
|
+
initData: XiriDialogSettings;
|
|
666
723
|
private breakpointObserver;
|
|
667
724
|
private dataService;
|
|
668
725
|
private router;
|
|
@@ -674,9 +731,9 @@ declare class XiriDialogComponent implements OnDestroy {
|
|
|
674
731
|
private extra;
|
|
675
732
|
private destroyRef;
|
|
676
733
|
private downloadService;
|
|
677
|
-
formFields: _angular_core.WritableSignal<XiriFormField[]>;
|
|
678
|
-
componentData: _angular_core.WritableSignal<
|
|
679
|
-
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>;
|
|
680
737
|
loading: _angular_core.WritableSignal<boolean>;
|
|
681
738
|
done: _angular_core.WritableSignal<boolean>;
|
|
682
739
|
error: _angular_core.WritableSignal<string>;
|
|
@@ -693,10 +750,13 @@ declare class XiriDialogComponent implements OnDestroy {
|
|
|
693
750
|
private applyDialogSize;
|
|
694
751
|
private loadData;
|
|
695
752
|
private refresh;
|
|
696
|
-
download(data:
|
|
753
|
+
download(data: unknown): void;
|
|
697
754
|
clickButton(button: XiriButton): void;
|
|
698
755
|
private startSend;
|
|
699
|
-
formChanged(event:
|
|
756
|
+
formChanged(event: {
|
|
757
|
+
valid: boolean;
|
|
758
|
+
value: Record<string, unknown> | null;
|
|
759
|
+
}): void;
|
|
700
760
|
ngOnDestroy(): void;
|
|
701
761
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDialogComponent, never>;
|
|
702
762
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriDialogComponent, "xiri-dialog", never, {}, {}, never, never, true, never>;
|
|
@@ -704,50 +764,55 @@ declare class XiriDialogComponent implements OnDestroy {
|
|
|
704
764
|
|
|
705
765
|
interface XiriQuerySettings {
|
|
706
766
|
fields?: XiriFormField[];
|
|
707
|
-
dyn?:
|
|
767
|
+
dyn?: XiriDynData[];
|
|
708
768
|
url?: string;
|
|
709
769
|
buttonline?: XiriDynData;
|
|
710
|
-
extra?:
|
|
770
|
+
extra?: Record<string, unknown>;
|
|
711
771
|
saveState?: boolean;
|
|
712
772
|
saveStateId?: string;
|
|
713
773
|
collapsed?: boolean;
|
|
714
774
|
}
|
|
775
|
+
interface XiriQueryFormChangeEvent {
|
|
776
|
+
valid: boolean;
|
|
777
|
+
value: Record<string, unknown> | null;
|
|
778
|
+
pristine?: boolean;
|
|
779
|
+
}
|
|
715
780
|
declare class XiriQueryComponent implements OnInit {
|
|
716
781
|
private dataService;
|
|
717
782
|
private formService;
|
|
718
783
|
private cdr;
|
|
719
784
|
private destroyRef;
|
|
720
785
|
settings: _angular_core.InputSignal<XiriQuerySettings>;
|
|
721
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
722
|
-
|
|
786
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
787
|
+
filterChange: _angular_core.OutputEmitterRef<Record<string, unknown> | null>;
|
|
723
788
|
private waiter;
|
|
724
789
|
dynData: {
|
|
725
|
-
data: XiriDynData[];
|
|
726
|
-
filterData:
|
|
790
|
+
data: XiriDynData[] | null;
|
|
791
|
+
filterData: Record<string, unknown> | null;
|
|
727
792
|
};
|
|
728
793
|
private saveState;
|
|
729
794
|
private saveStateId;
|
|
730
795
|
private extra;
|
|
731
796
|
private _initialChangeDone;
|
|
732
797
|
private get effectiveSaveKey();
|
|
733
|
-
data: _angular_core.WritableSignal<XiriDynData[]>;
|
|
734
|
-
error: _angular_core.WritableSignal<string>;
|
|
735
|
-
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>;
|
|
736
801
|
formValid: _angular_core.WritableSignal<boolean>;
|
|
737
|
-
filterData: _angular_core.WritableSignal<
|
|
802
|
+
filterData: _angular_core.WritableSignal<Record<string, unknown> | null>;
|
|
738
803
|
loading: _angular_core.WritableSignal<boolean>;
|
|
739
804
|
ngOnInit(): void;
|
|
740
|
-
formChanged(event:
|
|
805
|
+
formChanged(event: XiriQueryFormChangeEvent): void;
|
|
741
806
|
clickedButton(event: XiriButtonResult): void;
|
|
742
807
|
private load;
|
|
743
808
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriQueryComponent, never>;
|
|
744
|
-
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>;
|
|
745
810
|
}
|
|
746
811
|
|
|
747
812
|
interface XiriCardSettings {
|
|
748
813
|
url?: string;
|
|
749
814
|
reload?: boolean;
|
|
750
|
-
data?:
|
|
815
|
+
data?: unknown;
|
|
751
816
|
fields?: XiriTableField[];
|
|
752
817
|
components?: XiriDynData[];
|
|
753
818
|
header?: string;
|
|
@@ -766,20 +831,18 @@ interface XiriCardSettings {
|
|
|
766
831
|
}
|
|
767
832
|
declare class XiriCardComponent {
|
|
768
833
|
private dataService;
|
|
769
|
-
private destroyRef;
|
|
770
834
|
settings: _angular_core.InputSignal<XiriCardSettings>;
|
|
771
|
-
loading: _angular_core.WritableSignal<boolean>;
|
|
772
|
-
errorMsg: _angular_core.WritableSignal<string>;
|
|
773
835
|
isCollapsed: _angular_core.WritableSignal<boolean>;
|
|
774
|
-
private
|
|
775
|
-
|
|
836
|
+
private cardResource;
|
|
837
|
+
loading: Signal<boolean>;
|
|
838
|
+
errorMsg: Signal<string>;
|
|
839
|
+
private _loaded;
|
|
840
|
+
cardData: Signal<unknown>;
|
|
776
841
|
hasComponents: Signal<boolean>;
|
|
777
842
|
/** Resolves padding setting (token or free CSS value) into a CSS length string. */
|
|
778
843
|
componentsPadding: Signal<string>;
|
|
779
844
|
rawTable: Signal<XiriRawTableSettings | null>;
|
|
780
|
-
constructor();
|
|
781
845
|
toggleCollapse(): void;
|
|
782
|
-
private loadData;
|
|
783
846
|
reload(): void;
|
|
784
847
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriCardComponent, never>;
|
|
785
848
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriCardComponent, "xiri-card", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -797,8 +860,8 @@ declare class XiriButtonstyleComponent {
|
|
|
797
860
|
|
|
798
861
|
declare class XiriDynComponentComponent {
|
|
799
862
|
data: _angular_core.InputSignal<XiriDynData[]>;
|
|
800
|
-
filterData: _angular_core.InputSignal<
|
|
801
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
863
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
864
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
802
865
|
dataInt: _angular_core.Signal<XiriDynData[]>;
|
|
803
866
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDynComponentComponent, never>;
|
|
804
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>;
|
|
@@ -870,10 +933,23 @@ interface XiriStepperStep {
|
|
|
870
933
|
url?: string;
|
|
871
934
|
title: string;
|
|
872
935
|
fields: XiriFormField[];
|
|
873
|
-
data?:
|
|
874
|
-
extra?:
|
|
936
|
+
data?: Record<string, unknown>;
|
|
937
|
+
extra?: Record<string, unknown>;
|
|
875
938
|
buttons: XiriButton[];
|
|
876
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
|
+
}
|
|
877
953
|
interface StepState {
|
|
878
954
|
url?: string;
|
|
879
955
|
title: string;
|
|
@@ -885,8 +961,8 @@ interface StepState {
|
|
|
885
961
|
errorMsg: WritableSignal<string | null>;
|
|
886
962
|
fields: WritableSignal<XiriFormField[]>;
|
|
887
963
|
buttons: WritableSignal<XiriButton[]>;
|
|
888
|
-
data?:
|
|
889
|
-
extra?:
|
|
964
|
+
data?: Record<string, unknown>;
|
|
965
|
+
extra?: Record<string, unknown>;
|
|
890
966
|
}
|
|
891
967
|
declare class XiriStepperComponent implements OnInit {
|
|
892
968
|
private dataService;
|
|
@@ -900,7 +976,7 @@ declare class XiriStepperComponent implements OnInit {
|
|
|
900
976
|
steps: WritableSignal<StepState[]>;
|
|
901
977
|
ngOnInit(): void;
|
|
902
978
|
stepChanged($event: StepperSelectionEvent): void;
|
|
903
|
-
formChanged(step: StepState, event:
|
|
979
|
+
formChanged(step: StepState, event: XiriStepperFormChangeEvent, i: number): void;
|
|
904
980
|
clickButton(button: XiriButton): void;
|
|
905
981
|
private checkStep;
|
|
906
982
|
private showError;
|
|
@@ -1059,7 +1135,7 @@ interface XiriNavigationField {
|
|
|
1059
1135
|
declare class XiriSidenavComponent {
|
|
1060
1136
|
private router;
|
|
1061
1137
|
private cdr;
|
|
1062
|
-
settings: _angular_core.InputSignal<XiriSidebarSettings>;
|
|
1138
|
+
settings: _angular_core.InputSignal<XiriSidebarSettings | undefined>;
|
|
1063
1139
|
loading: boolean;
|
|
1064
1140
|
fields: XiriNavigationField[];
|
|
1065
1141
|
private prefix;
|
|
@@ -1092,8 +1168,8 @@ interface XiriTabsSettings {
|
|
|
1092
1168
|
}
|
|
1093
1169
|
declare class XiriTabsComponent {
|
|
1094
1170
|
settings: _angular_core.InputSignal<XiriTabsSettings>;
|
|
1095
|
-
filterData: _angular_core.InputSignal<
|
|
1096
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
1171
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
1172
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
1097
1173
|
selectedIndex: _angular_core.WritableSignal<number>;
|
|
1098
1174
|
visitedTabs: _angular_core.WritableSignal<Set<number>>;
|
|
1099
1175
|
constructor();
|
|
@@ -1124,8 +1200,8 @@ interface XiriExpansionSettings {
|
|
|
1124
1200
|
}
|
|
1125
1201
|
declare class XiriExpansionComponent {
|
|
1126
1202
|
settings: _angular_core.InputSignal<XiriExpansionSettings>;
|
|
1127
|
-
filterData: _angular_core.InputSignal<
|
|
1128
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
1203
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
1204
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
1129
1205
|
openedPanels: _angular_core.WritableSignal<Set<number>>;
|
|
1130
1206
|
visitedPanels: _angular_core.WritableSignal<Set<number>>;
|
|
1131
1207
|
onPanelOpened(index: number): void;
|
|
@@ -1222,7 +1298,7 @@ interface XiriEchartsClick {
|
|
|
1222
1298
|
seriesIndex: number;
|
|
1223
1299
|
dataIndex: number;
|
|
1224
1300
|
name: string;
|
|
1225
|
-
value:
|
|
1301
|
+
value: unknown;
|
|
1226
1302
|
}
|
|
1227
1303
|
/**
|
|
1228
1304
|
* `xiri-echarts-host` — shared echarts plumbing for all chart components.
|
|
@@ -1239,11 +1315,11 @@ interface XiriEchartsClick {
|
|
|
1239
1315
|
* outer xiri-card without card-in-card visuals.
|
|
1240
1316
|
*/
|
|
1241
1317
|
declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
|
|
1242
|
-
option: _angular_core.InputSignal<
|
|
1318
|
+
option: _angular_core.InputSignal<unknown>;
|
|
1243
1319
|
compact: _angular_core.InputSignal<boolean>;
|
|
1244
|
-
title: _angular_core.InputSignal<string>;
|
|
1245
|
-
headerIcon: _angular_core.InputSignal<string>;
|
|
1246
|
-
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>;
|
|
1247
1323
|
chartHeight: _angular_core.InputSignal<string>;
|
|
1248
1324
|
itemClick: _angular_core.OutputEmitterRef<XiriEchartsClick>;
|
|
1249
1325
|
chartHostRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
@@ -1253,7 +1329,7 @@ declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
|
|
|
1253
1329
|
private echarts;
|
|
1254
1330
|
private resizeObserver;
|
|
1255
1331
|
private loadError;
|
|
1256
|
-
readonly error: _angular_core.Signal<string>;
|
|
1332
|
+
readonly error: _angular_core.Signal<string | null>;
|
|
1257
1333
|
readonly hasHeader: _angular_core.Signal<boolean>;
|
|
1258
1334
|
constructor();
|
|
1259
1335
|
ngAfterViewInit(): Promise<void>;
|
|
@@ -1264,6 +1340,40 @@ declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
|
|
|
1264
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>;
|
|
1265
1341
|
}
|
|
1266
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
|
+
|
|
1267
1377
|
type XiriBarChartMode = 'simple' | 'stacked' | 'heatmap';
|
|
1268
1378
|
interface XiriBarChartSegment {
|
|
1269
1379
|
value: number;
|
|
@@ -1312,7 +1422,7 @@ declare class XiriBarChartComponent {
|
|
|
1312
1422
|
};
|
|
1313
1423
|
tooltip: {
|
|
1314
1424
|
trigger: string;
|
|
1315
|
-
formatter: (params:
|
|
1425
|
+
formatter: (params: XiriEchartsTooltipParams) => string;
|
|
1316
1426
|
};
|
|
1317
1427
|
xAxis: {
|
|
1318
1428
|
type: string;
|
|
@@ -1326,19 +1436,19 @@ declare class XiriBarChartComponent {
|
|
|
1326
1436
|
axisLabel: {
|
|
1327
1437
|
rotate: number;
|
|
1328
1438
|
interval: number;
|
|
1329
|
-
};
|
|
1439
|
+
} | undefined;
|
|
1330
1440
|
};
|
|
1331
1441
|
yAxis: {
|
|
1332
1442
|
type: string;
|
|
1333
|
-
min: number;
|
|
1334
|
-
max: number;
|
|
1443
|
+
min: number | undefined;
|
|
1444
|
+
max: number | undefined;
|
|
1335
1445
|
splitLine: {
|
|
1336
1446
|
lineStyle: {
|
|
1337
1447
|
color: string;
|
|
1338
1448
|
};
|
|
1339
1449
|
};
|
|
1340
1450
|
};
|
|
1341
|
-
series:
|
|
1451
|
+
series: unknown[];
|
|
1342
1452
|
} | {
|
|
1343
1453
|
grid: {
|
|
1344
1454
|
left: number;
|
|
@@ -1349,7 +1459,7 @@ declare class XiriBarChartComponent {
|
|
|
1349
1459
|
};
|
|
1350
1460
|
tooltip: {
|
|
1351
1461
|
trigger: string;
|
|
1352
|
-
formatter: (params:
|
|
1462
|
+
formatter: (params: XiriEchartsTooltipParams) => string;
|
|
1353
1463
|
};
|
|
1354
1464
|
xAxis: {
|
|
1355
1465
|
type: string;
|
|
@@ -1366,7 +1476,7 @@ declare class XiriBarChartComponent {
|
|
|
1366
1476
|
yAxis: {
|
|
1367
1477
|
type: string;
|
|
1368
1478
|
min: number;
|
|
1369
|
-
max: number;
|
|
1479
|
+
max: number | undefined;
|
|
1370
1480
|
show: boolean;
|
|
1371
1481
|
};
|
|
1372
1482
|
series: {
|
|
@@ -1423,13 +1533,13 @@ declare class XiriLineChartComponent {
|
|
|
1423
1533
|
};
|
|
1424
1534
|
tooltip: {
|
|
1425
1535
|
trigger: string;
|
|
1426
|
-
formatter: (params:
|
|
1536
|
+
formatter: (params: XiriEchartsTooltipParams) => string;
|
|
1427
1537
|
};
|
|
1428
1538
|
legend: {
|
|
1429
1539
|
top: number;
|
|
1430
1540
|
right: number;
|
|
1431
1541
|
type: string;
|
|
1432
|
-
};
|
|
1542
|
+
} | undefined;
|
|
1433
1543
|
xAxis: {
|
|
1434
1544
|
type: string;
|
|
1435
1545
|
data: string[];
|
|
@@ -1443,12 +1553,12 @@ declare class XiriLineChartComponent {
|
|
|
1443
1553
|
axisLabel: {
|
|
1444
1554
|
rotate: number;
|
|
1445
1555
|
interval: number;
|
|
1446
|
-
};
|
|
1556
|
+
} | undefined;
|
|
1447
1557
|
};
|
|
1448
1558
|
yAxis: {
|
|
1449
1559
|
type: string;
|
|
1450
|
-
min: number;
|
|
1451
|
-
max: number;
|
|
1560
|
+
min: number | undefined;
|
|
1561
|
+
max: number | undefined;
|
|
1452
1562
|
splitLine: {
|
|
1453
1563
|
lineStyle: {
|
|
1454
1564
|
color: string;
|
|
@@ -1472,7 +1582,7 @@ declare class XiriLineChartComponent {
|
|
|
1472
1582
|
areaStyle: {
|
|
1473
1583
|
color: string;
|
|
1474
1584
|
opacity: number;
|
|
1475
|
-
};
|
|
1585
|
+
} | undefined;
|
|
1476
1586
|
data: number[];
|
|
1477
1587
|
}[];
|
|
1478
1588
|
}>;
|
|
@@ -1499,13 +1609,13 @@ declare class XiriPieChartComponent {
|
|
|
1499
1609
|
option: _angular_core.Signal<{
|
|
1500
1610
|
tooltip: {
|
|
1501
1611
|
trigger: string;
|
|
1502
|
-
formatter: (p:
|
|
1612
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1503
1613
|
};
|
|
1504
1614
|
legend: {
|
|
1505
1615
|
bottom: number;
|
|
1506
1616
|
type: string;
|
|
1507
1617
|
};
|
|
1508
|
-
series:
|
|
1618
|
+
series: Record<string, unknown>[];
|
|
1509
1619
|
}>;
|
|
1510
1620
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriPieChartComponent, never>;
|
|
1511
1621
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriPieChartComponent, "xiri-piechart", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -1619,7 +1729,7 @@ declare class XiriHeatmapComponent {
|
|
|
1619
1729
|
};
|
|
1620
1730
|
tooltip: {
|
|
1621
1731
|
position: string;
|
|
1622
|
-
formatter: (p:
|
|
1732
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1623
1733
|
};
|
|
1624
1734
|
xAxis: {
|
|
1625
1735
|
type: string;
|
|
@@ -1636,7 +1746,7 @@ declare class XiriHeatmapComponent {
|
|
|
1636
1746
|
axisLabel: {
|
|
1637
1747
|
rotate: number;
|
|
1638
1748
|
interval: number;
|
|
1639
|
-
};
|
|
1749
|
+
} | undefined;
|
|
1640
1750
|
};
|
|
1641
1751
|
yAxis: {
|
|
1642
1752
|
type: string;
|
|
@@ -1668,7 +1778,7 @@ declare class XiriHeatmapComponent {
|
|
|
1668
1778
|
data: number[][];
|
|
1669
1779
|
label: {
|
|
1670
1780
|
show: boolean;
|
|
1671
|
-
formatter: (p:
|
|
1781
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1672
1782
|
};
|
|
1673
1783
|
emphasis: {
|
|
1674
1784
|
itemStyle: {
|
|
@@ -1703,7 +1813,7 @@ declare class XiriCalendarComponent {
|
|
|
1703
1813
|
height: _angular_core.Signal<string>;
|
|
1704
1814
|
option: _angular_core.Signal<{
|
|
1705
1815
|
tooltip: {
|
|
1706
|
-
formatter: (p:
|
|
1816
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1707
1817
|
};
|
|
1708
1818
|
visualMap: {
|
|
1709
1819
|
min: number;
|
|
@@ -1770,7 +1880,7 @@ declare class XiriTreeComponent {
|
|
|
1770
1880
|
tooltip: {
|
|
1771
1881
|
trigger: string;
|
|
1772
1882
|
triggerOn: string;
|
|
1773
|
-
formatter: (p:
|
|
1883
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1774
1884
|
};
|
|
1775
1885
|
series: {
|
|
1776
1886
|
type: string;
|
|
@@ -1883,7 +1993,7 @@ declare class XiriGanttComponent {
|
|
|
1883
1993
|
height: _angular_core.Signal<string>;
|
|
1884
1994
|
option: _angular_core.Signal<{
|
|
1885
1995
|
tooltip: {
|
|
1886
|
-
formatter: (p:
|
|
1996
|
+
formatter: (p: XiriEchartsCallbackParams) => string;
|
|
1887
1997
|
};
|
|
1888
1998
|
grid: {
|
|
1889
1999
|
left: number;
|
|
@@ -1894,8 +2004,8 @@ declare class XiriGanttComponent {
|
|
|
1894
2004
|
};
|
|
1895
2005
|
xAxis: {
|
|
1896
2006
|
type: string;
|
|
1897
|
-
min: number;
|
|
1898
|
-
max: number;
|
|
2007
|
+
min: number | undefined;
|
|
2008
|
+
max: number | undefined;
|
|
1899
2009
|
splitLine: {
|
|
1900
2010
|
lineStyle: {
|
|
1901
2011
|
color: string;
|
|
@@ -1923,18 +2033,18 @@ declare class XiriGanttComponent {
|
|
|
1923
2033
|
y: number;
|
|
1924
2034
|
};
|
|
1925
2035
|
clip: boolean;
|
|
1926
|
-
renderItem: (_params:
|
|
2036
|
+
renderItem: (_params: unknown, api: XiriEchartsRenderItemApi) => {
|
|
1927
2037
|
type: string;
|
|
1928
2038
|
transition: string[];
|
|
1929
2039
|
shape: {
|
|
1930
|
-
x:
|
|
2040
|
+
x: number;
|
|
1931
2041
|
y: number;
|
|
1932
2042
|
width: number;
|
|
1933
2043
|
height: number;
|
|
1934
2044
|
r: number;
|
|
1935
2045
|
};
|
|
1936
2046
|
style: {
|
|
1937
|
-
fill:
|
|
2047
|
+
fill: number;
|
|
1938
2048
|
};
|
|
1939
2049
|
};
|
|
1940
2050
|
data: (string | number)[][];
|
|
@@ -1983,11 +2093,10 @@ interface XiriSectionSettings {
|
|
|
1983
2093
|
buttons?: XiriButtonlineSettings;
|
|
1984
2094
|
components?: XiriDynData[];
|
|
1985
2095
|
}
|
|
1986
|
-
declare class XiriSectionComponent {
|
|
2096
|
+
declare class XiriSectionComponent implements OnInit {
|
|
1987
2097
|
settings: _angular_core.InputSignal<XiriSectionSettings>;
|
|
1988
|
-
dyncomponent: _angular_core.InputSignal<TemplateRef<
|
|
2098
|
+
dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
1989
2099
|
collapsed: _angular_core.WritableSignal<boolean>;
|
|
1990
|
-
constructor();
|
|
1991
2100
|
ngOnInit(): void;
|
|
1992
2101
|
toggle(): void;
|
|
1993
2102
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSectionComponent, never>;
|
|
@@ -2027,7 +2136,7 @@ interface XiriToolbarSettings {
|
|
|
2027
2136
|
}
|
|
2028
2137
|
declare class XiriToolbarComponent {
|
|
2029
2138
|
settings: _angular_core.InputSignal<XiriToolbarSettings>;
|
|
2030
|
-
filterData: _angular_core.InputSignal<
|
|
2139
|
+
filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
|
|
2031
2140
|
searchChanged: _angular_core.OutputEmitterRef<string>;
|
|
2032
2141
|
searchPlaceholder: _angular_core.Signal<string>;
|
|
2033
2142
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriToolbarComponent, never>;
|
|
@@ -2061,12 +2170,12 @@ declare class XiriDataService {
|
|
|
2061
2170
|
private http;
|
|
2062
2171
|
private config;
|
|
2063
2172
|
private snackbar;
|
|
2064
|
-
get(url: string): Observable<
|
|
2065
|
-
post(url: string, data:
|
|
2066
|
-
postFile(url: string, data:
|
|
2067
|
-
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>>;
|
|
2068
2177
|
/** @deprecated Use postFileResponse() + XiriDownloadService.download() instead */
|
|
2069
|
-
postDownload(url: string, data:
|
|
2178
|
+
postDownload(url: string, data: unknown): void;
|
|
2070
2179
|
getConfigApi(): string;
|
|
2071
2180
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDataService, never>;
|
|
2072
2181
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriDataService>;
|
|
@@ -2115,10 +2224,10 @@ declare class XiriFormService {
|
|
|
2115
2224
|
private dataService;
|
|
2116
2225
|
private router;
|
|
2117
2226
|
private sessionStorageService;
|
|
2118
|
-
get(url: string, data?:
|
|
2227
|
+
get(url: string, data?: object | null, extra?: object): Observable<XiriFormServiceData>;
|
|
2119
2228
|
parse(res: XiriFormServiceReturn): XiriFormServiceData;
|
|
2120
2229
|
loadState(saveStateId: string | null | undefined, fields: XiriFormField[]): XiriFormField[];
|
|
2121
|
-
saveState(saveStateId: string | null | undefined, values:
|
|
2230
|
+
saveState(saveStateId: string | null | undefined, values: unknown): void;
|
|
2122
2231
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriFormService, never>;
|
|
2123
2232
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriFormService>;
|
|
2124
2233
|
}
|
|
@@ -2128,15 +2237,15 @@ declare class XiriLocalStorageService {
|
|
|
2128
2237
|
private data;
|
|
2129
2238
|
constructor();
|
|
2130
2239
|
clear(): void;
|
|
2131
|
-
set(name: string, value:
|
|
2240
|
+
set(name: string, value: unknown): void;
|
|
2132
2241
|
private getStruct;
|
|
2133
2242
|
remove(name: string): void;
|
|
2134
|
-
get(name: string):
|
|
2243
|
+
get(name: string): unknown;
|
|
2135
2244
|
/**
|
|
2136
2245
|
* @param name
|
|
2137
2246
|
* @param maxTime in seconds
|
|
2138
2247
|
*/
|
|
2139
|
-
getTimeout(name: string, maxTime: number):
|
|
2248
|
+
getTimeout(name: string, maxTime: number): unknown;
|
|
2140
2249
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriLocalStorageService, never>;
|
|
2141
2250
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriLocalStorageService>;
|
|
2142
2251
|
}
|
|
@@ -2146,15 +2255,15 @@ declare class XiriSessionStorageService {
|
|
|
2146
2255
|
private data;
|
|
2147
2256
|
constructor();
|
|
2148
2257
|
clear(): void;
|
|
2149
|
-
set(name: string, value:
|
|
2258
|
+
set(name: string, value: unknown): void;
|
|
2150
2259
|
private getStruct;
|
|
2151
2260
|
remove(name: string): void;
|
|
2152
|
-
get(name: string):
|
|
2261
|
+
get(name: string): unknown;
|
|
2153
2262
|
/**
|
|
2154
2263
|
* @param name
|
|
2155
2264
|
* @param maxTime in seconds
|
|
2156
2265
|
*/
|
|
2157
|
-
getTimeout(name: string, maxTime: number):
|
|
2266
|
+
getTimeout(name: string, maxTime: number): unknown;
|
|
2158
2267
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSessionStorageService, never>;
|
|
2159
2268
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriSessionStorageService>;
|
|
2160
2269
|
}
|
|
@@ -2207,7 +2316,7 @@ declare class XiriSnackbarService {
|
|
|
2207
2316
|
error(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
2208
2317
|
info(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
2209
2318
|
warning(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
2210
|
-
handleResponse(response:
|
|
2319
|
+
handleResponse(response: unknown): boolean;
|
|
2211
2320
|
private show;
|
|
2212
2321
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSnackbarService, never>;
|
|
2213
2322
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriSnackbarService>;
|
|
@@ -2215,16 +2324,16 @@ declare class XiriSnackbarService {
|
|
|
2215
2324
|
|
|
2216
2325
|
declare class XiriResponseHandlerService {
|
|
2217
2326
|
private router;
|
|
2218
|
-
handle(result:
|
|
2327
|
+
handle(result: unknown, callbacks?: {
|
|
2219
2328
|
onTableRefresh?: () => void;
|
|
2220
|
-
onTableUpdate?: (id:
|
|
2329
|
+
onTableUpdate?: (id: unknown, field: string, content: unknown) => void;
|
|
2221
2330
|
}): void;
|
|
2222
2331
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriResponseHandlerService, never>;
|
|
2223
2332
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriResponseHandlerService>;
|
|
2224
2333
|
}
|
|
2225
2334
|
|
|
2226
2335
|
declare class XiriDownloadService {
|
|
2227
|
-
download(result:
|
|
2336
|
+
download(result: HttpResponse<Blob>, filename: string, open: boolean): boolean;
|
|
2228
2337
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDownloadService, never>;
|
|
2229
2338
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriDownloadService>;
|
|
2230
2339
|
}
|
|
@@ -2232,5 +2341,5 @@ declare class XiriDownloadService {
|
|
|
2232
2341
|
declare function provideXiriServices(config: Partial<XiriDataServiceConfig>): EnvironmentProviders;
|
|
2233
2342
|
|
|
2234
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 };
|
|
2235
|
-
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 };
|
|
2236
2345
|
//# sourceMappingURL=xiriframework-xiri-ng.d.ts.map
|