@acorex/components 22.0.0-next.9 → 22.1.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/combo-box/README.md +26 -0
- package/fesm2022/acorex-components-calendar.mjs +10 -12
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +237 -0
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +50 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs → acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs} +2 -2
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs.map → acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2034 -7467
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +135 -45
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +14 -16
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +61 -32
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +3 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +27 -27
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +238 -36
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +1292 -0
- package/fesm2022/acorex-components-lookup.mjs.map +1 -0
- package/fesm2022/acorex-components-menu.mjs +211 -74
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +30 -29
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +7 -17
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/lookup/README.md +47 -0
- package/package.json +11 -3
- package/types/acorex-components-combo-box.d.ts +114 -0
- package/types/acorex-components-conversation.d.ts +317 -94
- package/types/acorex-components-data-table.d.ts +35 -3
- package/types/acorex-components-datetime-box.d.ts +2 -0
- package/types/acorex-components-datetime-input.d.ts +24 -5
- package/types/acorex-components-grid-layout-builder.d.ts +34 -2
- package/types/acorex-components-lookup.d.ts +454 -0
- package/types/acorex-components-menu.d.ts +26 -4
- package/types/acorex-components-number-box.d.ts +3 -1
- package/types/acorex-components-scheduler.d.ts +2 -4
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs +0 -106
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs.map +0 -1
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef, ElementRef } from '@angular/core';
|
|
3
|
+
import { AXEvent, NXComponent, AXDataSource, AXStyleLookType, AXValueChangedEvent, AXListDataSource } from '@acorex/cdk/common';
|
|
4
|
+
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
5
|
+
import { AXTreeViewNode, AXTreeViewDataSource, AXTreeViewSelectionBehavior, AXTreeViewItemTemplateContext, AXTreeViewSelectionChangeEvent } from '@acorex/components/tree-view';
|
|
6
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The lookup rendering mode. Each mode is rendered by its own internal mini component:
|
|
10
|
+
*
|
|
11
|
+
* - `drop-down-list` — a predefined list of options for picking single values.
|
|
12
|
+
* - `multi-select` — a predefined list of options for multiple item selection.
|
|
13
|
+
* - `drop-down-tree` — a tree-like structure for single item selection.
|
|
14
|
+
* - `multi-select-tree` — a tree-like structure for multiple item selection.
|
|
15
|
+
* - `multi-column` — a table-structured list for single selection.
|
|
16
|
+
*/
|
|
17
|
+
type AXLookupMode = 'drop-down-list' | 'multi-select' | 'drop-down-tree' | 'multi-select-tree' | 'multi-column';
|
|
18
|
+
/**
|
|
19
|
+
* A column definition for the `multi-column` lookup mode.
|
|
20
|
+
*
|
|
21
|
+
* - `field` — the item property rendered in this column.
|
|
22
|
+
* - `title` — the header text of the column.
|
|
23
|
+
* - `width` — optional CSS grid track size (e.g. `120px`, `1fr`, `minmax(80px, 1fr)`). Defaults to `1fr`.
|
|
24
|
+
*/
|
|
25
|
+
interface AXLookupColumn {
|
|
26
|
+
field: string;
|
|
27
|
+
title: string;
|
|
28
|
+
width?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A lookup item. Items are plain records; the lookup reads them through
|
|
32
|
+
* `valueField` / `textField` / `disabledField` mappings.
|
|
33
|
+
*/
|
|
34
|
+
type AXLookupItem = Record<string, unknown>;
|
|
35
|
+
/**
|
|
36
|
+
* Internal event emitted by the mini view components when the user picks or toggles an item.
|
|
37
|
+
*/
|
|
38
|
+
interface AXLookupItemClickEvent {
|
|
39
|
+
item: AXLookupItem;
|
|
40
|
+
value: unknown;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Emitted by `ax-lookup` when the selection changes, carrying the resolved selected items.
|
|
44
|
+
*/
|
|
45
|
+
interface AXLookupSelectionChangedEvent extends AXEvent {
|
|
46
|
+
items: AXLookupItem[];
|
|
47
|
+
value: unknown | unknown[] | null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Selection payload of the multi-select tree view.
|
|
52
|
+
*/
|
|
53
|
+
interface AXLookupTreeSelectionEvent {
|
|
54
|
+
ids: string[];
|
|
55
|
+
nodes: AXTreeViewNode[];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Internal mini component for the `multi-select-tree` lookup mode:
|
|
59
|
+
* a predefined list rendered in a tree-like structure for multiple item selection.
|
|
60
|
+
*
|
|
61
|
+
* @category Components
|
|
62
|
+
*/
|
|
63
|
+
declare class AXLookupMultiSelectTreeComponent {
|
|
64
|
+
/**
|
|
65
|
+
* The tree datasource: an array of nodes or a lazy children callback.
|
|
66
|
+
*/
|
|
67
|
+
dataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
|
|
68
|
+
/**
|
|
69
|
+
* The node property used as the selection value (tree `idField`).
|
|
70
|
+
*/
|
|
71
|
+
valueField: _angular_core.InputSignal<string>;
|
|
72
|
+
/**
|
|
73
|
+
* The node property used as the display text (tree `titleField`).
|
|
74
|
+
*/
|
|
75
|
+
textField: _angular_core.InputSignal<string>;
|
|
76
|
+
/**
|
|
77
|
+
* The node property marking a node as disabled.
|
|
78
|
+
*/
|
|
79
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
80
|
+
/**
|
|
81
|
+
* Currently selected values.
|
|
82
|
+
*/
|
|
83
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
84
|
+
/**
|
|
85
|
+
* How selecting parent/child nodes affects each other. Passed through to the tree-view.
|
|
86
|
+
*/
|
|
87
|
+
selectionBehavior: _angular_core.InputSignal<AXTreeViewSelectionBehavior>;
|
|
88
|
+
/**
|
|
89
|
+
* Custom template rendered for each tree node.
|
|
90
|
+
*/
|
|
91
|
+
nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
|
|
92
|
+
/**
|
|
93
|
+
* Emitted when the user changes the tree selection.
|
|
94
|
+
*/
|
|
95
|
+
selectionChange: _angular_core.OutputEmitterRef<AXLookupTreeSelectionEvent>;
|
|
96
|
+
protected selectedIds: _angular_core.Signal<string[]>;
|
|
97
|
+
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
98
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiSelectTreeComponent, never>;
|
|
99
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiSelectTreeComponent, "ax-lookup-multi-select-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* An advanced drop-down (lookup) editor with five modes, `AXDataSource` support, and virtual scrolling.
|
|
104
|
+
*
|
|
105
|
+
* Modes (each rendered by its own internal mini component):
|
|
106
|
+
* - `drop-down-list` — a predefined list of options for picking single values.
|
|
107
|
+
* - `multi-select` — a predefined list of options for multiple item selection (chips in the trigger).
|
|
108
|
+
* - `drop-down-tree` — a predefined list rendered in a tree-like structure for single item selection.
|
|
109
|
+
* - `multi-select-tree` — a tree-like structure for multiple item selection.
|
|
110
|
+
* - `multi-column` — a table-structured list; when searchable, the trigger input filters as you type.
|
|
111
|
+
*
|
|
112
|
+
* @category Components
|
|
113
|
+
*/
|
|
114
|
+
declare class AXLookupComponent extends NXComponent {
|
|
115
|
+
#private;
|
|
116
|
+
/**
|
|
117
|
+
* The lookup rendering mode. Selects which mini component renders in the popup.
|
|
118
|
+
*/
|
|
119
|
+
mode: _angular_core.InputSignal<AXLookupMode>;
|
|
120
|
+
/**
|
|
121
|
+
* The items source for list-based modes (`drop-down-list`, `multi-select`, `multi-column`).
|
|
122
|
+
* Accepts an `AXDataSource` (remote paging, `byKey`, server-side filter) or a plain array.
|
|
123
|
+
*/
|
|
124
|
+
dataSource: _angular_core.InputSignal<AXLookupItem[] | AXDataSource<AXLookupItem>>;
|
|
125
|
+
/**
|
|
126
|
+
* The nodes source for tree modes (`drop-down-tree`, `multi-select-tree`):
|
|
127
|
+
* an array of nodes or a lazy children callback.
|
|
128
|
+
*/
|
|
129
|
+
treeDataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
|
|
130
|
+
/**
|
|
131
|
+
* The item property used as the selection value. Maps to the tree `idField` in tree modes.
|
|
132
|
+
*/
|
|
133
|
+
valueField: _angular_core.InputSignal<string>;
|
|
134
|
+
/**
|
|
135
|
+
* The item property used as the display text. Maps to the tree `titleField` in tree modes
|
|
136
|
+
* (set it to `title` when your nodes use the default tree shape).
|
|
137
|
+
*/
|
|
138
|
+
textField: _angular_core.InputSignal<string>;
|
|
139
|
+
/**
|
|
140
|
+
* The item property marking an item as disabled.
|
|
141
|
+
*/
|
|
142
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
143
|
+
/**
|
|
144
|
+
* Column definitions for the `multi-column` mode.
|
|
145
|
+
*/
|
|
146
|
+
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
147
|
+
/**
|
|
148
|
+
* Whether the trigger accepts typing and filters the datasource (`true`),
|
|
149
|
+
* or is select-only with no writable input (`false`).
|
|
150
|
+
* Applies to `drop-down-list`, `multi-select`, and `multi-column`. Tree modes ignore this.
|
|
151
|
+
*/
|
|
152
|
+
searchable: _angular_core.InputSignal<boolean>;
|
|
153
|
+
/**
|
|
154
|
+
* Placeholder for the trigger search input when items are already selected
|
|
155
|
+
* (mainly useful in `multi-select`). Falls back to `placeholder` when the selection is empty.
|
|
156
|
+
*/
|
|
157
|
+
searchPlaceholder: _angular_core.InputSignal<string>;
|
|
158
|
+
/**
|
|
159
|
+
* The placeholder text shown when no value is selected.
|
|
160
|
+
*/
|
|
161
|
+
placeholder: _angular_core.InputSignal<string>;
|
|
162
|
+
/**
|
|
163
|
+
* Whether the lookup is disabled.
|
|
164
|
+
*/
|
|
165
|
+
disabled: _angular_core.ModelSignal<boolean>;
|
|
166
|
+
/**
|
|
167
|
+
* Whether the lookup is readonly.
|
|
168
|
+
*/
|
|
169
|
+
readonly: _angular_core.ModelSignal<boolean>;
|
|
170
|
+
/**
|
|
171
|
+
* Predefined look scheme of the editor container. Same looks as other editor components like ax-text-box.
|
|
172
|
+
*/
|
|
173
|
+
look: _angular_core.ModelSignal<AXStyleLookType>;
|
|
174
|
+
/**
|
|
175
|
+
* The fixed row height in pixels used by the virtual scroll viewport (list-based modes).
|
|
176
|
+
*/
|
|
177
|
+
itemHeight: _angular_core.InputSignal<number>;
|
|
178
|
+
/**
|
|
179
|
+
* The maximum number of rows visible before the popup scrolls (list-based modes).
|
|
180
|
+
*/
|
|
181
|
+
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
182
|
+
/**
|
|
183
|
+
* How selecting parent/child nodes affects each other in `multi-select-tree` mode.
|
|
184
|
+
*/
|
|
185
|
+
treeSelectionBehavior: _angular_core.InputSignal<AXTreeViewSelectionBehavior>;
|
|
186
|
+
/**
|
|
187
|
+
* Custom template rendered for each item/node. Context: `$implicit` is the item.
|
|
188
|
+
*/
|
|
189
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
190
|
+
/**
|
|
191
|
+
* Custom template for the selected item display (trigger text / chips). Context: `$implicit` is the item.
|
|
192
|
+
*/
|
|
193
|
+
selectedTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
194
|
+
/**
|
|
195
|
+
* Custom template rendered when the datasource has no items.
|
|
196
|
+
*/
|
|
197
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
198
|
+
/**
|
|
199
|
+
* Custom template rendered for rows whose page is still loading.
|
|
200
|
+
*/
|
|
201
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
202
|
+
/**
|
|
203
|
+
* The selected value(s): a scalar in single modes, an array in
|
|
204
|
+
* `multi-select` / `multi-select-tree`. Supports two-way binding.
|
|
205
|
+
*/
|
|
206
|
+
value: _angular_core.ModelSignal<unknown>;
|
|
207
|
+
/**
|
|
208
|
+
* Emitted when the selected value changes.
|
|
209
|
+
*/
|
|
210
|
+
onValueChanged: _angular_core.OutputEmitterRef<AXValueChangedEvent<unknown>>;
|
|
211
|
+
/**
|
|
212
|
+
* Emitted when the selection changes, carrying the resolved selected items.
|
|
213
|
+
*/
|
|
214
|
+
onSelectionChanged: _angular_core.OutputEmitterRef<AXLookupSelectionChangedEvent>;
|
|
215
|
+
/**
|
|
216
|
+
* Emitted when the popup opens.
|
|
217
|
+
*/
|
|
218
|
+
onOpened: _angular_core.OutputEmitterRef<AXEvent>;
|
|
219
|
+
/**
|
|
220
|
+
* Emitted when the popup closes.
|
|
221
|
+
*/
|
|
222
|
+
onClosed: _angular_core.OutputEmitterRef<AXEvent>;
|
|
223
|
+
/** Whether the popup is expanded. */
|
|
224
|
+
protected expanded: _angular_core.WritableSignal<boolean>;
|
|
225
|
+
/** Whether the current mode selects multiple values. */
|
|
226
|
+
protected isMultiple: _angular_core.Signal<boolean>;
|
|
227
|
+
/** Whether the current mode renders a tree. */
|
|
228
|
+
protected isTreeMode: _angular_core.Signal<boolean>;
|
|
229
|
+
/** Whether the trigger input is writable and filters as you type. */
|
|
230
|
+
protected isEditableTrigger: _angular_core.Signal<boolean>;
|
|
231
|
+
/** The datasource for list-based modes; plain arrays are converted. */
|
|
232
|
+
protected resolvedDataSource: _angular_core.Signal<AXDataSource<AXLookupItem>>;
|
|
233
|
+
/** The current selection normalized to an array. */
|
|
234
|
+
protected selectedValues: _angular_core.Signal<unknown[]>;
|
|
235
|
+
/** The resolved selected items (via cache, datasource `find`/`byKey`, or tree node lookup). */
|
|
236
|
+
protected selectedItems: _angular_core.WritableSignal<AXLookupItem[]>;
|
|
237
|
+
/** Display text shown in the trigger for single modes. */
|
|
238
|
+
protected displayText: _angular_core.Signal<string>;
|
|
239
|
+
/**
|
|
240
|
+
* Text typed in the editable trigger input.
|
|
241
|
+
* Multi-select starts empty; single modes sync from the selected display text.
|
|
242
|
+
*/
|
|
243
|
+
protected searchText: _angular_core.WritableSignal<string>;
|
|
244
|
+
protected popoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
245
|
+
protected triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
246
|
+
constructor();
|
|
247
|
+
/** Returns the display text of an item using the `textField` mapping. */
|
|
248
|
+
protected getItemText(item: AXLookupItem): string;
|
|
249
|
+
/**
|
|
250
|
+
* Opens (editable trigger) or toggles the popup on trigger click.
|
|
251
|
+
*/
|
|
252
|
+
protected onTriggerClick(): void;
|
|
253
|
+
/**
|
|
254
|
+
* Keeps the expanded state in sync when the popover closes (e.g. click outside),
|
|
255
|
+
* and clears any applied search filter.
|
|
256
|
+
*/
|
|
257
|
+
protected onPopoverClosed(): void;
|
|
258
|
+
/**
|
|
259
|
+
* Closes the popup.
|
|
260
|
+
*/
|
|
261
|
+
close(): void;
|
|
262
|
+
/**
|
|
263
|
+
* Opens the popup.
|
|
264
|
+
*/
|
|
265
|
+
open(): void;
|
|
266
|
+
/**
|
|
267
|
+
* Handles typing in the editable trigger input.
|
|
268
|
+
*/
|
|
269
|
+
protected onTriggerSearchInput(text: string): void;
|
|
270
|
+
/** Placeholder for the editable trigger search input. */
|
|
271
|
+
protected triggerSearchPlaceholder: _angular_core.Signal<string>;
|
|
272
|
+
/**
|
|
273
|
+
* Commits a single pick (drop-down-list, drop-down-tree, multi-column) and closes the popup.
|
|
274
|
+
*/
|
|
275
|
+
protected handleSinglePick(e: AXLookupItemClickEvent): void;
|
|
276
|
+
/**
|
|
277
|
+
* Toggles an item in the multi-select list; the popup stays open.
|
|
278
|
+
* Clears the trigger search so the full list returns (select-box-like).
|
|
279
|
+
*/
|
|
280
|
+
protected handleMultiToggle(e: AXLookupItemClickEvent): void;
|
|
281
|
+
/**
|
|
282
|
+
* Applies the multi-select-tree selection to the value; the popup stays open.
|
|
283
|
+
*/
|
|
284
|
+
protected handleTreeSelectionChange(e: AXLookupTreeSelectionEvent): void;
|
|
285
|
+
/**
|
|
286
|
+
* Removes a single chip from the multi selection.
|
|
287
|
+
*/
|
|
288
|
+
protected removeChip(event: Event, item: AXLookupItem): void;
|
|
289
|
+
/**
|
|
290
|
+
* Clears the whole selection.
|
|
291
|
+
*/
|
|
292
|
+
protected clearAll(event: Event): void;
|
|
293
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent, never>;
|
|
294
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent, "ax-lookup", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "treeDataSource": { "alias": "treeDataSource"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "treeSelectionBehavior": { "alias": "treeSelectionBehavior"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "readonly": "readonlyChange"; "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onSelectionChanged": "onSelectionChanged"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-suffix"], true, never>;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Shared `AXDataSource` + CDK virtual scroll plumbing for the list-based lookup views
|
|
299
|
+
* (`ax-lookup-drop-down-list`, `ax-lookup-multi-select`, `ax-lookup-multi-column`).
|
|
300
|
+
*/
|
|
301
|
+
declare abstract class AXLookupListViewBase {
|
|
302
|
+
#private;
|
|
303
|
+
/**
|
|
304
|
+
* The datasource providing the items (paged, remote-capable).
|
|
305
|
+
*/
|
|
306
|
+
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
307
|
+
/**
|
|
308
|
+
* The item property used as the selection value.
|
|
309
|
+
*/
|
|
310
|
+
valueField: _angular_core.InputSignal<string>;
|
|
311
|
+
/**
|
|
312
|
+
* The item property used as the display text.
|
|
313
|
+
*/
|
|
314
|
+
textField: _angular_core.InputSignal<string>;
|
|
315
|
+
/**
|
|
316
|
+
* The item property marking an item as disabled.
|
|
317
|
+
*/
|
|
318
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
319
|
+
/**
|
|
320
|
+
* Currently selected values (always an array, even for single selection).
|
|
321
|
+
*/
|
|
322
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
323
|
+
/**
|
|
324
|
+
* The fixed row height in pixels used by the virtual scroll viewport.
|
|
325
|
+
*/
|
|
326
|
+
itemHeight: _angular_core.InputSignal<number>;
|
|
327
|
+
/**
|
|
328
|
+
* The maximum number of rows visible before the popup scrolls.
|
|
329
|
+
*/
|
|
330
|
+
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
331
|
+
/**
|
|
332
|
+
* Custom template rendered for each item. Context: `$implicit` is the item.
|
|
333
|
+
*/
|
|
334
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
335
|
+
/**
|
|
336
|
+
* Custom template rendered when the datasource has no items.
|
|
337
|
+
*/
|
|
338
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
339
|
+
/**
|
|
340
|
+
* Custom template rendered for rows whose page is still loading.
|
|
341
|
+
*/
|
|
342
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
343
|
+
/**
|
|
344
|
+
* Emitted when the user picks (or toggles) an item.
|
|
345
|
+
*/
|
|
346
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
347
|
+
/** CDK virtual scroll adapter over the datasource. */
|
|
348
|
+
protected listDataSource: _angular_core.WritableSignal<AXListDataSource<AXLookupItem>>;
|
|
349
|
+
protected totalCount: _angular_core.WritableSignal<number>;
|
|
350
|
+
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
351
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
|
352
|
+
/** Viewport height so the popup grows with the items up to `maxVisibleItems`. */
|
|
353
|
+
protected viewportHeight: _angular_core.Signal<number>;
|
|
354
|
+
protected viewportRef: _angular_core.Signal<CdkVirtualScrollViewport>;
|
|
355
|
+
constructor();
|
|
356
|
+
protected getValue(item: AXLookupItem): unknown;
|
|
357
|
+
protected getText(item: AXLookupItem): string;
|
|
358
|
+
protected isSelected(item: AXLookupItem): boolean;
|
|
359
|
+
protected isDisabled(item: AXLookupItem): boolean;
|
|
360
|
+
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
361
|
+
protected trackByIndex: (index: number) => number;
|
|
362
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupListViewBase, never>;
|
|
363
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXLookupListViewBase, never, never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Internal mini component for the `drop-down-list` lookup mode:
|
|
368
|
+
* a predefined, virtualized list of options for picking single values.
|
|
369
|
+
*
|
|
370
|
+
* @category Components
|
|
371
|
+
*/
|
|
372
|
+
declare class AXLookupDropDownListComponent extends AXLookupListViewBase {
|
|
373
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownListComponent, never>;
|
|
374
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupDropDownListComponent, "ax-lookup-drop-down-list", never, {}, {}, never, never, true, never>;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Internal mini component for the `multi-select` lookup mode:
|
|
379
|
+
* a predefined, virtualized list of options with checkboxes for multiple item selection.
|
|
380
|
+
*
|
|
381
|
+
* @category Components
|
|
382
|
+
*/
|
|
383
|
+
declare class AXLookupMultiSelectComponent extends AXLookupListViewBase {
|
|
384
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiSelectComponent, never>;
|
|
385
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiSelectComponent, "ax-lookup-multi-select", never, {}, {}, never, never, true, never>;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Internal mini component for the `drop-down-tree` lookup mode:
|
|
390
|
+
* a predefined list rendered in a tree-like structure for single item selection.
|
|
391
|
+
*
|
|
392
|
+
* @category Components
|
|
393
|
+
*/
|
|
394
|
+
declare class AXLookupDropDownTreeComponent {
|
|
395
|
+
/**
|
|
396
|
+
* The tree datasource: an array of nodes or a lazy children callback.
|
|
397
|
+
*/
|
|
398
|
+
dataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
|
|
399
|
+
/**
|
|
400
|
+
* The node property used as the selection value (tree `idField`).
|
|
401
|
+
*/
|
|
402
|
+
valueField: _angular_core.InputSignal<string>;
|
|
403
|
+
/**
|
|
404
|
+
* The node property used as the display text (tree `titleField`).
|
|
405
|
+
*/
|
|
406
|
+
textField: _angular_core.InputSignal<string>;
|
|
407
|
+
/**
|
|
408
|
+
* The node property marking a node as disabled.
|
|
409
|
+
*/
|
|
410
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
411
|
+
/**
|
|
412
|
+
* Currently selected values (at most one for single selection).
|
|
413
|
+
*/
|
|
414
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
415
|
+
/**
|
|
416
|
+
* Custom template rendered for each tree node.
|
|
417
|
+
*/
|
|
418
|
+
nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
|
|
419
|
+
/**
|
|
420
|
+
* Emitted when the user selects a node.
|
|
421
|
+
*/
|
|
422
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
423
|
+
protected selectedIds: _angular_core.Signal<string[]>;
|
|
424
|
+
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
425
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownTreeComponent, never>;
|
|
426
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupDropDownTreeComponent, "ax-lookup-drop-down-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Internal mini component for the `multi-column` lookup mode:
|
|
431
|
+
* a table-structured, virtualized list with a sticky header row.
|
|
432
|
+
*
|
|
433
|
+
* @category Components
|
|
434
|
+
*/
|
|
435
|
+
declare class AXLookupMultiColumnComponent extends AXLookupListViewBase {
|
|
436
|
+
/**
|
|
437
|
+
* Column definitions rendered as a sticky header plus one grid cell per row.
|
|
438
|
+
*/
|
|
439
|
+
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
440
|
+
/** CSS grid track list built from the column widths. */
|
|
441
|
+
protected gridTemplate: _angular_core.Signal<string>;
|
|
442
|
+
protected getCellText(item: AXLookupItem, column: AXLookupColumn): string;
|
|
443
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnComponent, never>;
|
|
444
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnComponent, "ax-lookup-multi-column", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
declare class AXLookupModule {
|
|
448
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupModule, never>;
|
|
449
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXLookupModule, never, [typeof AXLookupComponent, typeof AXLookupDropDownListComponent, typeof AXLookupMultiSelectComponent, typeof AXLookupDropDownTreeComponent, typeof AXLookupMultiSelectTreeComponent, typeof AXLookupMultiColumnComponent], [typeof AXLookupComponent, typeof AXLookupDropDownListComponent, typeof AXLookupMultiSelectComponent, typeof AXLookupDropDownTreeComponent, typeof AXLookupMultiSelectTreeComponent, typeof AXLookupMultiColumnComponent]>;
|
|
450
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXLookupModule>;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent };
|
|
454
|
+
export type { AXLookupColumn, AXLookupItem, AXLookupItemClickEvent, AXLookupMode, AXLookupSelectionChangedEvent, AXLookupTreeSelectionEvent };
|
|
@@ -175,8 +175,16 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
175
175
|
private unsuscriber;
|
|
176
176
|
private renderer;
|
|
177
177
|
private injector;
|
|
178
|
+
private document;
|
|
178
179
|
private zIndexService;
|
|
179
180
|
private zToken;
|
|
181
|
+
private submenuPortalParent;
|
|
182
|
+
private submenuPortalNextSibling;
|
|
183
|
+
/** Survives submenu portaling when the DOM parent chain is broken. */
|
|
184
|
+
private linkedParent;
|
|
185
|
+
private mouseLeaveTimeout;
|
|
186
|
+
private submenuUnlistenEnter;
|
|
187
|
+
private submenuUnlistenLeave;
|
|
180
188
|
protected arrowIcon: _angular_core.Signal<string>;
|
|
181
189
|
onClick: _angular_core.OutputEmitterRef<AXMenuItemClickEvent>;
|
|
182
190
|
name: _angular_core.InputSignal<string>;
|
|
@@ -186,8 +194,8 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
186
194
|
constructor();
|
|
187
195
|
private getText;
|
|
188
196
|
/**
|
|
189
|
-
* Resolves the parent menu item.
|
|
190
|
-
*
|
|
197
|
+
* Resolves the parent menu item. Prefers an explicit link (survives submenu portaling),
|
|
198
|
+
* then DI, then the DOM tree.
|
|
191
199
|
*/
|
|
192
200
|
getParentMenuItem(): AXMenuItemComponent | null;
|
|
193
201
|
/**
|
|
@@ -204,10 +212,20 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
204
212
|
private schedulePositionCalculation;
|
|
205
213
|
/**
|
|
206
214
|
* Calculate the position of the submenu to avoid it going out of the viewport.
|
|
215
|
+
* Tall panels are height-clamped; the panel is portaled so parent overflow cannot clip it.
|
|
207
216
|
*/
|
|
208
217
|
private calculatePosition;
|
|
209
218
|
/** Measures submenu size using the same flex layout as the rendered menu. */
|
|
210
219
|
private measureSubmenuRect;
|
|
220
|
+
/** Moves the submenu under the context-menu backdrop (or body) to escape ancestor overflow. */
|
|
221
|
+
private portalSubmenu;
|
|
222
|
+
private restoreSubmenuPortal;
|
|
223
|
+
/** Keep this item open while the pointer is over its portaled submenu panel. */
|
|
224
|
+
private bindSubmenuPointerListeners;
|
|
225
|
+
private unbindSubmenuPointerListeners;
|
|
226
|
+
/** Links direct children so parent resolution still works after the panel is portaled. */
|
|
227
|
+
private linkChildItems;
|
|
228
|
+
private getInstanceFromElement;
|
|
211
229
|
/**
|
|
212
230
|
* Moves nested `ax-menu-item` nodes rendered by recursive `ngTemplateOutlet` templates
|
|
213
231
|
* into the submenu slot. Angular content queries do not traverse those embedded views.
|
|
@@ -225,10 +243,14 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
225
243
|
private clampVerticalPosition;
|
|
226
244
|
handleClick(e: MouseEvent): void;
|
|
227
245
|
handleMouseEnter(event: MouseEvent): void;
|
|
228
|
-
private mouseLeaveTimeout;
|
|
229
246
|
handleMouseLeave(event: MouseEvent): void;
|
|
230
|
-
|
|
247
|
+
private handlePointerLeave;
|
|
248
|
+
private scheduleClose;
|
|
249
|
+
private clearCloseTimeout;
|
|
250
|
+
private clearAncestorCloseTimeouts;
|
|
251
|
+
/** True when the pointer is still inside this item's submenu tree (including portaled panels). */
|
|
231
252
|
private containsSubmenuPointer;
|
|
253
|
+
private isSelfOrAncestorOf;
|
|
232
254
|
ngOnDestroy(): void;
|
|
233
255
|
/** @ignore */
|
|
234
256
|
get __hostClass(): string[];
|
|
@@ -27,6 +27,7 @@ declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
|
|
|
27
27
|
changeOnScroll: _angular_core.InputSignal<boolean>;
|
|
28
28
|
step: _angular_core.InputSignal<number>;
|
|
29
29
|
protected mode: _angular_core.WritableSignal<"digits" | "thousandsSeparator" | "decimal">;
|
|
30
|
+
protected decimalPlaces: _angular_core.Signal<number>;
|
|
30
31
|
private input;
|
|
31
32
|
protected stringValue: _angular_core.WritableSignal<string>;
|
|
32
33
|
private translationService;
|
|
@@ -37,11 +38,12 @@ declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
|
|
|
37
38
|
result: boolean;
|
|
38
39
|
message?: undefined;
|
|
39
40
|
}>;
|
|
40
|
-
protected internalValueChanged(value: number | undefined): void;
|
|
41
|
+
protected internalValueChanged(value: number | undefined | null): void;
|
|
41
42
|
private plusValue;
|
|
42
43
|
private minusValue;
|
|
43
44
|
private getNumericValue;
|
|
44
45
|
private getSteppedValue;
|
|
46
|
+
private formatDisplayValue;
|
|
45
47
|
private clampToRange;
|
|
46
48
|
private getFractionDigits;
|
|
47
49
|
protected handleOnKeydownEvent(e: KeyboardEvent): void;
|
|
@@ -115,7 +115,6 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
|
115
115
|
private translationService;
|
|
116
116
|
private eventService;
|
|
117
117
|
private translationRevision;
|
|
118
|
-
private viewModeSelectbox;
|
|
119
118
|
private calendarPopover;
|
|
120
119
|
private _calendarDayCellTemplate;
|
|
121
120
|
private _calendarMonthCellTemplate;
|
|
@@ -133,8 +132,8 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
|
133
132
|
appointments: _angular_core.Signal<AXSchedulerAppointment[]>;
|
|
134
133
|
protected readonly rtl: _angular_core.Signal<boolean>;
|
|
135
134
|
protected isFullScreen: _angular_core.WritableSignal<boolean>;
|
|
136
|
-
protected viewsDataSource: _angular_core.
|
|
137
|
-
id:
|
|
135
|
+
protected viewsDataSource: _angular_core.Signal<{
|
|
136
|
+
id: AXSchedulerView;
|
|
138
137
|
text: string;
|
|
139
138
|
}[]>;
|
|
140
139
|
private prevDate;
|
|
@@ -186,7 +185,6 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
|
186
185
|
*/
|
|
187
186
|
private getWeekReanchorDate;
|
|
188
187
|
private syncCurrentDateAfterLocaleChange;
|
|
189
|
-
private fillDataSource;
|
|
190
188
|
private getGridDateRange;
|
|
191
189
|
currentDateText: _angular_core.Signal<string>;
|
|
192
190
|
calendarDepth: _angular_core.Signal<"day" | "month" | "year">;
|