@acorex/components 22.1.0-next.3 → 22.1.0-next.30
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/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +229 -25
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs → acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs} +6 -19
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +7568 -9585
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +57 -23
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +2 -2
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +5 -5
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +21 -5
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +1191 -171
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +11 -5
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +6 -6
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +22 -0
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +38 -11
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +40 -3
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/lookup/README.md +19 -8
- package/package.json +4 -7
- package/types/acorex-components-combo-box.d.ts +46 -9
- package/types/acorex-components-conversation.d.ts +663 -1293
- package/types/acorex-components-data-table.d.ts +12 -2
- package/types/acorex-components-loading-dialog.d.ts +12 -4
- package/types/acorex-components-lookup.d.ts +258 -64
- package/types/acorex-components-popover.d.ts +6 -0
- package/types/acorex-components-select-box.d.ts +11 -0
- package/types/acorex-components-tree-view.d.ts +9 -1
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map +0 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +0 -168
- package/fesm2022/acorex-components-selection-list-2.mjs.map +0 -1
- package/selection-list-2/README.md +0 -3
- package/types/acorex-components-selection-list-2.d.ts +0 -52
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { TemplateRef, ElementRef } from '@angular/core';
|
|
3
|
-
import { AXEvent, AXDataSource, AXListDataSource, AXHtmlEvent,
|
|
3
|
+
import { AXEvent, AXDataSource, AXListDataSource, AXHtmlEvent, NXValueComponent, AXStyleLookType, AXValueChangedEvent, AXFocusEvent, AXItemClickEvent, AXItemSelectedEvent } from '@acorex/cdk/common';
|
|
4
4
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
5
|
-
import {
|
|
5
|
+
import { AXSearchBoxComponent } from '@acorex/components/search-box';
|
|
6
|
+
import { AXTreeViewDataSource, AXTreeViewItemTemplateContext, AXTreeViewSelectionChangeEvent, AXTreeViewSelectionBehavior, AXTreeViewNode } from '@acorex/components/tree-view';
|
|
6
7
|
import { FormValueControl } from '@angular/forms/signals';
|
|
7
8
|
import { AXListNavigationDirective, AXListNavigationItemDirective } from '@acorex/cdk/list-navigation';
|
|
8
9
|
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
@@ -16,19 +17,25 @@ import { AXDataTableComponent, AXDataTableRowClick } from '@acorex/components/da
|
|
|
16
17
|
* - `drop-down-tree` — a tree-like structure for single item selection.
|
|
17
18
|
* - `multi-select-tree` — a tree-like structure for multiple item selection.
|
|
18
19
|
* - `multi-column` — a table-structured list for single selection.
|
|
20
|
+
* - `multi-column-tree` — a multi-column table with a drop-down tree inside it (expandable rows).
|
|
19
21
|
*/
|
|
20
|
-
type AXLookupMode = 'drop-down-list' | 'multi-select' | 'drop-down-tree' | 'multi-select-tree' | 'multi-column';
|
|
22
|
+
type AXLookupMode = 'drop-down-list' | 'multi-select' | 'drop-down-tree' | 'multi-select-tree' | 'multi-column' | 'multi-column-tree';
|
|
21
23
|
/**
|
|
22
|
-
* A column definition for the `multi-column`
|
|
24
|
+
* A column definition for the `multi-column` and `multi-column-tree` lookup modes
|
|
25
|
+
* (rendered via `ax-data-table`).
|
|
23
26
|
*
|
|
24
27
|
* - `field` — the item property rendered in this column (`ax-text-column` `dataField`).
|
|
25
28
|
* - `title` — the header text of the column (`ax-text-column` `caption`).
|
|
26
29
|
* - `width` — optional column width (`120px`, `20%`, or `auto`). Defaults to `auto`.
|
|
30
|
+
* - `expandHandler` — when `true`, this column shows the tree expand/collapse control
|
|
31
|
+
* (`multi-column-tree` only). If omitted, the column matching `textField` (or the first
|
|
32
|
+
* column) is used.
|
|
27
33
|
*/
|
|
28
34
|
interface AXLookupColumn {
|
|
29
35
|
field: string;
|
|
30
36
|
title: string;
|
|
31
37
|
width?: string;
|
|
38
|
+
expandHandler?: boolean;
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
34
41
|
* A lookup item. Items are plain records; the lookup reads them through
|
|
@@ -50,6 +57,66 @@ interface AXLookupSelectionChangedEvent extends AXEvent {
|
|
|
50
57
|
value: unknown | unknown[] | null;
|
|
51
58
|
}
|
|
52
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Internal mini component for the `drop-down-tree` lookup mode:
|
|
62
|
+
* a predefined list rendered in a tree-like structure for single item selection.
|
|
63
|
+
*
|
|
64
|
+
* @category Components
|
|
65
|
+
*/
|
|
66
|
+
declare class AXLookupDropDownTreeComponent {
|
|
67
|
+
/**
|
|
68
|
+
* The tree datasource: an array of nodes or a lazy children callback.
|
|
69
|
+
*/
|
|
70
|
+
dataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
|
|
71
|
+
/**
|
|
72
|
+
* The node property used as the selection value (tree `idField`).
|
|
73
|
+
*/
|
|
74
|
+
valueField: _angular_core.InputSignal<string>;
|
|
75
|
+
/**
|
|
76
|
+
* The node property used as the display text (tree `titleField`).
|
|
77
|
+
*/
|
|
78
|
+
textField: _angular_core.InputSignal<string>;
|
|
79
|
+
/**
|
|
80
|
+
* The node property marking a node as disabled.
|
|
81
|
+
*/
|
|
82
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
83
|
+
/**
|
|
84
|
+
* Currently selected values (at most one for single selection).
|
|
85
|
+
*/
|
|
86
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
87
|
+
/**
|
|
88
|
+
* Custom template rendered for each tree node.
|
|
89
|
+
*/
|
|
90
|
+
nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
|
|
91
|
+
/**
|
|
92
|
+
* Custom template rendered when the filtered tree has no nodes.
|
|
93
|
+
*/
|
|
94
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
95
|
+
/**
|
|
96
|
+
* When `true`, visible tree nodes use alternating background colors.
|
|
97
|
+
*/
|
|
98
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
99
|
+
/**
|
|
100
|
+
* Unique id that changes on every search apply so a new tree instance is created.
|
|
101
|
+
*/
|
|
102
|
+
filterKey: _angular_core.InputSignal<string>;
|
|
103
|
+
/**
|
|
104
|
+
* Emitted when the user selects a node.
|
|
105
|
+
*/
|
|
106
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
107
|
+
protected selectedIds: _angular_core.Signal<string[]>;
|
|
108
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
|
109
|
+
protected treeInstances: _angular_core.Signal<{
|
|
110
|
+
id: string;
|
|
111
|
+
source: AXTreeViewDataSource;
|
|
112
|
+
}[]>;
|
|
113
|
+
/** Whether the filtered tree currently has no nodes. */
|
|
114
|
+
hasNoMatches(): boolean;
|
|
115
|
+
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
116
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownTreeComponent, never>;
|
|
117
|
+
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; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "filterKey": { "alias": "filterKey"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
118
|
+
}
|
|
119
|
+
|
|
53
120
|
/**
|
|
54
121
|
* Shared `AXDataSource` + CDK virtual scroll plumbing for the list-based lookup views
|
|
55
122
|
* (`ax-lookup-drop-down-list`, `ax-lookup-multi-select`).
|
|
@@ -86,6 +153,7 @@ declare abstract class AXLookupListViewBase {
|
|
|
86
153
|
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
87
154
|
/**
|
|
88
155
|
* Custom template rendered for each item. Context: `$implicit` is the item.
|
|
156
|
+
* Default option chrome is not applied on top of the template.
|
|
89
157
|
*/
|
|
90
158
|
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
91
159
|
/**
|
|
@@ -114,6 +182,10 @@ declare abstract class AXLookupListViewBase {
|
|
|
114
182
|
protected totalCount: _angular_core.WritableSignal<number>;
|
|
115
183
|
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
116
184
|
protected isEmpty: _angular_core.Signal<boolean>;
|
|
185
|
+
/** Whether the filtered datasource currently has no items. */
|
|
186
|
+
hasNoMatches(): boolean;
|
|
187
|
+
/** Number of items in the current filtered result set. */
|
|
188
|
+
matchCount(): number;
|
|
117
189
|
/** Viewport height so the popup grows with the items up to `maxVisibleItems`. */
|
|
118
190
|
protected viewportHeight: _angular_core.Signal<number>;
|
|
119
191
|
protected viewportRef: _angular_core.Signal<CdkVirtualScrollViewport>;
|
|
@@ -127,6 +199,11 @@ declare abstract class AXLookupListViewBase {
|
|
|
127
199
|
protected isSelected(item: AXLookupItem): boolean;
|
|
128
200
|
protected isDisabled(item: AXLookupItem): boolean;
|
|
129
201
|
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
202
|
+
/**
|
|
203
|
+
* Commit on mousedown (not click) so a searchable trigger blur cannot destroy the
|
|
204
|
+
* list before the pick is applied.
|
|
205
|
+
*/
|
|
206
|
+
protected handleItemMouseDown(event: Event, item: AXLookupItem | null | undefined): void;
|
|
130
207
|
protected handleItemKeypress(e: AXHtmlEvent<KeyboardEvent>, item: AXLookupItem | null | undefined): void;
|
|
131
208
|
protected handleListKeypress(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
132
209
|
protected activateNavItem(nav: AXListNavigationDirective, item: AXListNavigationItemDirective): void;
|
|
@@ -177,25 +254,48 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
177
254
|
* Custom template rendered for each tree node.
|
|
178
255
|
*/
|
|
179
256
|
nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
|
|
257
|
+
/**
|
|
258
|
+
* Custom template rendered when the filtered tree has no nodes.
|
|
259
|
+
*/
|
|
260
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
261
|
+
/**
|
|
262
|
+
* When `true`, visible tree nodes use alternating background colors.
|
|
263
|
+
*/
|
|
264
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
265
|
+
/**
|
|
266
|
+
* Unique id that changes on every search apply so a new tree instance is created.
|
|
267
|
+
*/
|
|
268
|
+
filterKey: _angular_core.InputSignal<string>;
|
|
180
269
|
/**
|
|
181
270
|
* Emitted when the user changes the tree selection.
|
|
182
271
|
*/
|
|
183
272
|
selectionChange: _angular_core.OutputEmitterRef<AXLookupTreeSelectionEvent>;
|
|
184
273
|
protected selectedIds: _angular_core.Signal<string[]>;
|
|
274
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
|
275
|
+
protected treeInstances: _angular_core.Signal<{
|
|
276
|
+
id: string;
|
|
277
|
+
source: AXTreeViewDataSource;
|
|
278
|
+
}[]>;
|
|
279
|
+
/** Whether the filtered tree currently has no nodes. */
|
|
280
|
+
hasNoMatches(): boolean;
|
|
185
281
|
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
186
282
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiSelectTreeComponent, never>;
|
|
187
|
-
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>;
|
|
283
|
+
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; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "filterKey": { "alias": "filterKey"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
188
284
|
}
|
|
189
285
|
|
|
190
286
|
/**
|
|
191
|
-
* An advanced drop-down (lookup) editor with
|
|
287
|
+
* An advanced drop-down (lookup) editor with six modes, `AXDataSource` support, and virtual scrolling.
|
|
192
288
|
*
|
|
193
289
|
* Modes (each rendered by its own internal mini component):
|
|
194
290
|
* - `drop-down-list` — a predefined list of options for picking single values.
|
|
195
291
|
* - `multi-select` — a predefined list of options for multiple item selection (chips in the trigger).
|
|
196
|
-
* - `drop-down-tree` — a
|
|
197
|
-
*
|
|
198
|
-
* - `multi-
|
|
292
|
+
* - `drop-down-tree` — a tree-like structure for single item selection; when searchable, the trigger
|
|
293
|
+
* input filters nested nodes as you type (on small screens the search field is inside the actionsheet).
|
|
294
|
+
* - `multi-select-tree` — a tree-like structure for multiple item selection; searchable the same way.
|
|
295
|
+
* - `multi-column` — an `ax-data-table` grid; when searchable, the trigger input filters as you type
|
|
296
|
+
* (on small screens the search field is inside the actionsheet).
|
|
297
|
+
* - `multi-column-tree` — a multi-column `ax-data-table` with a drop-down tree inside it
|
|
298
|
+
* (expandable hierarchical rows). Uses `treeDataSource` + `columns`, or a hierarchical `dataSource`.
|
|
199
299
|
*
|
|
200
300
|
* With `adaptivityEnabled` (default `true`), the list opens as a bottom actionsheet on small
|
|
201
301
|
* screens instead of an anchored dropdown — the same alternate presentation as `ax-select-box`.
|
|
@@ -205,19 +305,24 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
205
305
|
*
|
|
206
306
|
* @category Components
|
|
207
307
|
*/
|
|
208
|
-
declare class AXLookupComponent extends
|
|
308
|
+
declare class AXLookupComponent extends NXValueComponent implements FormValueControl<unknown | unknown[] | null> {
|
|
209
309
|
#private;
|
|
310
|
+
/**
|
|
311
|
+
* The name of the form field, used by validation rules and `ax-form.validate(names)`.
|
|
312
|
+
*/
|
|
313
|
+
name: _angular_core.InputSignal<string>;
|
|
210
314
|
/**
|
|
211
315
|
* The lookup rendering mode. Selects which mini component renders in the popup.
|
|
212
316
|
*/
|
|
213
317
|
mode: _angular_core.InputSignal<AXLookupMode>;
|
|
214
318
|
/**
|
|
215
|
-
* The items source for list-based modes (`drop-down-list`, `multi-select`, `multi-column`)
|
|
319
|
+
* The items source for list-based modes (`drop-down-list`, `multi-select`, `multi-column`)
|
|
320
|
+
* and for `multi-column-tree` when `treeDataSource` is not set.
|
|
216
321
|
* Accepts an `AXDataSource` (remote paging, `byKey`, server-side filter) or a plain array.
|
|
217
322
|
*/
|
|
218
323
|
dataSource: _angular_core.InputSignal<AXLookupItem[] | AXDataSource<AXLookupItem>>;
|
|
219
324
|
/**
|
|
220
|
-
* The nodes source for tree modes (`drop-down-tree`, `multi-select-tree`):
|
|
325
|
+
* The nodes source for tree modes (`drop-down-tree`, `multi-select-tree`, `multi-column-tree`):
|
|
221
326
|
* an array of nodes or a lazy children callback.
|
|
222
327
|
*/
|
|
223
328
|
treeDataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
|
|
@@ -235,18 +340,32 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
235
340
|
*/
|
|
236
341
|
disabledField: _angular_core.InputSignal<string>;
|
|
237
342
|
/**
|
|
238
|
-
* Column definitions for the `multi-column`
|
|
343
|
+
* Column definitions for the `multi-column` and `multi-column-tree` modes
|
|
344
|
+
* (rendered as `ax-text-column` in `ax-data-table`).
|
|
239
345
|
*/
|
|
240
346
|
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
347
|
+
/**
|
|
348
|
+
* Field used by `multi-column-tree` to fetch children when a row is expanded
|
|
349
|
+
* (`AXDataSource` filter). Defaults to `parentId`. Nested `children` arrays are also supported.
|
|
350
|
+
*/
|
|
351
|
+
treeParentField: _angular_core.InputSignal<string>;
|
|
352
|
+
/**
|
|
353
|
+
* Field used by `multi-column-tree` to decide whether a row shows an expand control.
|
|
354
|
+
* Defaults to `hasChild`. Nodes with `children` / `childrenCount` are mapped automatically
|
|
355
|
+
* when using `treeDataSource`.
|
|
356
|
+
*/
|
|
357
|
+
hasChildrenField: _angular_core.InputSignal<string>;
|
|
241
358
|
/**
|
|
242
359
|
* Whether the trigger accepts typing and filters the datasource (`true`),
|
|
243
360
|
* or is select-only with no writable input (`false`).
|
|
244
|
-
* Applies to `drop-down-
|
|
361
|
+
* Applies to all modes, including `drop-down-tree` and `multi-select-tree`.
|
|
362
|
+
* On small screens with `adaptivityEnabled`, search is typed in the actionsheet instead of the trigger.
|
|
245
363
|
*/
|
|
246
364
|
searchable: _angular_core.InputSignal<boolean>;
|
|
247
365
|
/**
|
|
248
366
|
* When `true` (default), the popup list uses the alternate actionsheet presentation on small
|
|
249
|
-
* screens (`SM`).
|
|
367
|
+
* screens (`SM`). Searchable list modes then show a search field inside the sheet. When `false`,
|
|
368
|
+
* the list always opens as an anchored dropdown.
|
|
250
369
|
*/
|
|
251
370
|
adaptivityEnabled: _angular_core.InputSignal<boolean>;
|
|
252
371
|
/**
|
|
@@ -255,12 +374,13 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
255
374
|
caption: _angular_core.InputSignal<string>;
|
|
256
375
|
/**
|
|
257
376
|
* When `true`, list rows use alternating background colors for easier scanning
|
|
258
|
-
* (
|
|
377
|
+
* (all lookup modes, including drop-down-tree and multi-select-tree).
|
|
259
378
|
*/
|
|
260
379
|
alternate: _angular_core.InputSignal<boolean>;
|
|
261
380
|
/**
|
|
262
381
|
* Placeholder for the trigger search input when items are already selected
|
|
263
|
-
* (mainly useful in `multi-select`
|
|
382
|
+
* (mainly useful in `multi-select` / `multi-select-tree`), and for the in-sheet search field on small screens.
|
|
383
|
+
* Falls back to `placeholder` when the selection is empty on desktop.
|
|
264
384
|
*/
|
|
265
385
|
searchPlaceholder: _angular_core.InputSignal<string>;
|
|
266
386
|
/**
|
|
@@ -293,6 +413,8 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
293
413
|
treeSelectionBehavior: _angular_core.InputSignal<AXTreeViewSelectionBehavior>;
|
|
294
414
|
/**
|
|
295
415
|
* Custom template rendered for each item/node. Context: `$implicit` is the item.
|
|
416
|
+
* Default option chrome (padding, typography, check icon) is not applied; only the
|
|
417
|
+
* template's styles are used. Selection and hover backgrounds remain on the row.
|
|
296
418
|
*/
|
|
297
419
|
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
298
420
|
/**
|
|
@@ -359,10 +481,19 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
359
481
|
protected isMultiple: _angular_core.Signal<boolean>;
|
|
360
482
|
/** Whether the current mode renders a tree. */
|
|
361
483
|
protected isTreeMode: _angular_core.Signal<boolean>;
|
|
362
|
-
/** Whether the
|
|
484
|
+
/** Whether the current mode can filter as you type (list, table, or tree). */
|
|
485
|
+
protected isListSearchMode: _angular_core.Signal<boolean>;
|
|
486
|
+
/** Whether the trigger input is writable and filters as you type (desktop only). */
|
|
363
487
|
protected isEditableTrigger: _angular_core.Signal<boolean>;
|
|
488
|
+
/** Whether search is typed in the actionsheet instead of the trigger. */
|
|
489
|
+
protected isSheetSearchEnabled: _angular_core.Signal<boolean>;
|
|
490
|
+
/** Query typed in the actionsheet search field (independent of the trigger display text). */
|
|
491
|
+
protected sheetSearchText: _angular_core.WritableSignal<string>;
|
|
492
|
+
/** Increments on every tree filter apply so the tree view remounts with a new instance. */
|
|
493
|
+
protected treeFilterKey: _angular_core.Signal<string>;
|
|
364
494
|
/** The datasource for list-based modes; plain arrays are converted. */
|
|
365
495
|
protected resolvedDataSource: _angular_core.Signal<AXDataSource<AXLookupItem>>;
|
|
496
|
+
protected resolvedTreeDataSource: _angular_core.Signal<AXTreeViewDataSource>;
|
|
366
497
|
/** The current selection normalized to an array. */
|
|
367
498
|
protected selectedValues: _angular_core.Signal<unknown[]>;
|
|
368
499
|
/** The resolved selected items (via cache, datasource `find`/`byKey`, or tree node lookup). */
|
|
@@ -380,9 +511,16 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
380
511
|
* the selected display text (same pattern as combo-box).
|
|
381
512
|
*/
|
|
382
513
|
protected showSelectedTemplate: _angular_core.Signal<boolean>;
|
|
514
|
+
/** Placeholder for the editable trigger search input. */
|
|
515
|
+
protected triggerSearchPlaceholder: _angular_core.Signal<string>;
|
|
383
516
|
protected popoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
517
|
+
protected originRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
518
|
+
protected popupRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
384
519
|
protected triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
385
520
|
protected listView: _angular_core.Signal<AXLookupListViewBase>;
|
|
521
|
+
protected dropDownTreeView: _angular_core.Signal<AXLookupDropDownTreeComponent>;
|
|
522
|
+
protected multiSelectTreeView: _angular_core.Signal<AXLookupMultiSelectTreeComponent>;
|
|
523
|
+
protected sheetSearchRef: _angular_core.Signal<AXSearchBoxComponent>;
|
|
386
524
|
constructor();
|
|
387
525
|
/** Returns the display text of an item using the `textField` mapping. */
|
|
388
526
|
protected getItemText(item: AXLookupItem): string;
|
|
@@ -400,10 +538,12 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
400
538
|
* Handles keyboard interaction on the trigger input.
|
|
401
539
|
*/
|
|
402
540
|
protected onTriggerKeydown(e: KeyboardEvent): void;
|
|
541
|
+
/** Filters the datasource from the actionsheet search field and handles Enter with no matches. */
|
|
542
|
+
protected onSheetSearchKeydown(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
403
543
|
/** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
|
|
404
544
|
protected onBeforeInput(event: Event): void;
|
|
405
545
|
/**
|
|
406
|
-
* Returns focus to the
|
|
546
|
+
* Returns focus to the search field when list navigation requests it.
|
|
407
547
|
*/
|
|
408
548
|
protected onListNavigateOut(_reason: 'up' | 'typeahead'): void;
|
|
409
549
|
protected focusListFirst(): void;
|
|
@@ -428,10 +568,10 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
428
568
|
* Handles typing in the editable trigger input.
|
|
429
569
|
*/
|
|
430
570
|
protected onTriggerSearchInput(text: string): void;
|
|
431
|
-
/**
|
|
432
|
-
protected
|
|
571
|
+
/** Filters the datasource from the actionsheet search field (reads the input so delayed ngModel cannot block typing). */
|
|
572
|
+
protected onSheetSearchInput(): void;
|
|
433
573
|
/**
|
|
434
|
-
* Commits a single pick (drop-down-list, drop-down-tree, multi-column) and closes the popup.
|
|
574
|
+
* Commits a single pick (drop-down-list, drop-down-tree, multi-column, multi-column-tree) and closes the popup.
|
|
435
575
|
*/
|
|
436
576
|
protected handleSinglePick(e: AXLookupItemClickEvent): void;
|
|
437
577
|
/**
|
|
@@ -466,7 +606,7 @@ declare class AXLookupComponent extends NXComponent implements FormValueControl<
|
|
|
466
606
|
*/
|
|
467
607
|
reset(isUserInteraction?: boolean): void;
|
|
468
608
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent, never>;
|
|
469
|
-
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; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "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; }; "valueItems": { "alias": "valueItems"; "required": false; "isSignal": true; }; }, { "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onSelectionChanged": "onSelectionChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-header", "ax-footer"], true, never>;
|
|
609
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent, "ax-lookup", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "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; }; "treeParentField": { "alias": "treeParentField"; "required": false; "isSignal": true; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "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; }; "valueItems": { "alias": "valueItems"; "required": false; "isSignal": true; }; }, { "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onSelectionChanged": "onSelectionChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-header", "ax-footer", "ax-validation-rule"], true, never>;
|
|
470
610
|
}
|
|
471
611
|
|
|
472
612
|
/**
|
|
@@ -492,72 +632,134 @@ declare class AXLookupMultiSelectComponent extends AXLookupListViewBase {
|
|
|
492
632
|
}
|
|
493
633
|
|
|
494
634
|
/**
|
|
495
|
-
* Internal mini component for the `
|
|
496
|
-
*
|
|
635
|
+
* Internal mini component for the `multi-column` lookup mode:
|
|
636
|
+
* renders selectable rows in an `ax-data-table` grid and loads further
|
|
637
|
+
* pages as the user scrolls (no pager UI).
|
|
497
638
|
*
|
|
498
639
|
* @category Components
|
|
499
640
|
*/
|
|
500
|
-
declare class
|
|
641
|
+
declare class AXLookupMultiColumnComponent {
|
|
642
|
+
#private;
|
|
501
643
|
/**
|
|
502
|
-
* The
|
|
644
|
+
* The datasource providing the grid rows (paged, remote-capable).
|
|
645
|
+
* Pages are fetched on demand as the user scrolls the table body.
|
|
503
646
|
*/
|
|
504
|
-
dataSource: _angular_core.InputSignal<
|
|
647
|
+
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
505
648
|
/**
|
|
506
|
-
* The
|
|
649
|
+
* The item property used as the selection value.
|
|
507
650
|
*/
|
|
508
651
|
valueField: _angular_core.InputSignal<string>;
|
|
509
652
|
/**
|
|
510
|
-
* The
|
|
653
|
+
* The item property used as the display text.
|
|
511
654
|
*/
|
|
512
655
|
textField: _angular_core.InputSignal<string>;
|
|
513
656
|
/**
|
|
514
|
-
* The
|
|
657
|
+
* The item property marking an item as disabled.
|
|
515
658
|
*/
|
|
516
659
|
disabledField: _angular_core.InputSignal<string>;
|
|
517
660
|
/**
|
|
518
|
-
* Currently selected values (
|
|
661
|
+
* Currently selected values (always an array, even for single selection).
|
|
519
662
|
*/
|
|
520
663
|
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
521
664
|
/**
|
|
522
|
-
*
|
|
665
|
+
* The fixed row height in pixels passed to the data table.
|
|
523
666
|
*/
|
|
524
|
-
|
|
667
|
+
itemHeight: _angular_core.InputSignal<number>;
|
|
525
668
|
/**
|
|
526
|
-
*
|
|
669
|
+
* The maximum number of body rows visible before the table scrolls.
|
|
670
|
+
*/
|
|
671
|
+
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
672
|
+
/**
|
|
673
|
+
* Column definitions rendered as `ax-text-column` instances.
|
|
674
|
+
*/
|
|
675
|
+
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
676
|
+
/**
|
|
677
|
+
* Optional custom row content. Context: `$implicit` is the row item.
|
|
678
|
+
* When set, replaces the default multi-column cell layout.
|
|
679
|
+
*/
|
|
680
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
681
|
+
/**
|
|
682
|
+
* Custom template rendered when the datasource has no items.
|
|
683
|
+
*/
|
|
684
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
685
|
+
/**
|
|
686
|
+
* Custom template rendered while the table is loading.
|
|
687
|
+
*/
|
|
688
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
689
|
+
/**
|
|
690
|
+
* When `true`, table rows use alternating background colors for easier scanning.
|
|
691
|
+
*/
|
|
692
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
693
|
+
/**
|
|
694
|
+
* Emitted when the user picks a row.
|
|
527
695
|
*/
|
|
528
696
|
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
529
|
-
protected
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
697
|
+
protected tableRef: _angular_core.Signal<AXDataTableComponent>;
|
|
698
|
+
/**
|
|
699
|
+
* Local table source: one page of whatever has been scrolled in so far.
|
|
700
|
+
* Kept as a stable instance so the table host is not recreated on each page load.
|
|
701
|
+
* `pageSize` grows with `#loadedItems` — never seed with a huge empty array (data-table
|
|
702
|
+
* initializes `displayedRows` as `new Array(pageSize)`, which caused NG0955-level jank).
|
|
703
|
+
*/
|
|
704
|
+
protected readonly tableDataSource: AXDataSource<AXLookupItem>;
|
|
705
|
+
/**
|
|
706
|
+
* Header (~40px) + body rows. Grows with results up to `maxVisibleItems`,
|
|
707
|
+
* then the table body scrolls for the rest.
|
|
708
|
+
*/
|
|
709
|
+
protected tableHeight: _angular_core.Signal<number>;
|
|
710
|
+
protected loadingConfig: _angular_core.Signal<{
|
|
711
|
+
enabled: boolean;
|
|
712
|
+
animation: boolean;
|
|
713
|
+
loadingTemplate: TemplateRef<unknown>;
|
|
714
|
+
}>;
|
|
715
|
+
constructor();
|
|
716
|
+
/** Stable unique key for `@for` — avoids NG0955 when `field` is missing or duplicated. */
|
|
717
|
+
protected trackColumnKey(index: number, column: AXLookupColumn): string;
|
|
718
|
+
protected resolveColumnWidth(column: AXLookupColumn): string | number | 'auto';
|
|
719
|
+
protected resolveRowCssClass: (row: unknown) => string;
|
|
720
|
+
protected handleRowClick(event: AXDataTableRowClick): void;
|
|
721
|
+
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
722
|
+
protected handleItemMouseDown(event: Event, item: AXLookupItem | null | undefined): void;
|
|
723
|
+
protected isSelected(item: AXLookupItem): boolean;
|
|
724
|
+
protected isDisabled(item: AXLookupItem): boolean;
|
|
725
|
+
private getValue;
|
|
726
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnComponent, never>;
|
|
727
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnComponent, "ax-lookup-multi-column", 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; }; "columns": { "alias": "columns"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
533
728
|
}
|
|
534
729
|
|
|
535
730
|
/**
|
|
536
|
-
* Internal mini component for the `multi-column` lookup mode:
|
|
537
|
-
*
|
|
538
|
-
*
|
|
731
|
+
* Internal mini component for the `multi-column-tree` lookup mode:
|
|
732
|
+
* a multi-column `ax-data-table` with a drop-down tree inside it.
|
|
733
|
+
* Rows expand/collapse via the data-table hierarchy (`parentField` / nested `children`).
|
|
539
734
|
*
|
|
540
735
|
* @category Components
|
|
541
736
|
*/
|
|
542
|
-
declare class
|
|
543
|
-
#private;
|
|
737
|
+
declare class AXLookupMultiColumnTreeComponent {
|
|
544
738
|
/**
|
|
545
|
-
* The datasource providing
|
|
546
|
-
* Pages are fetched on demand as the user scrolls the table body.
|
|
739
|
+
* The datasource providing hierarchical rows (roots on load, children via `parentField`).
|
|
547
740
|
*/
|
|
548
741
|
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
549
742
|
/**
|
|
550
|
-
* The item property used as the selection value.
|
|
743
|
+
* The item property used as the selection value (also the data-table row key).
|
|
551
744
|
*/
|
|
552
745
|
valueField: _angular_core.InputSignal<string>;
|
|
553
746
|
/**
|
|
554
|
-
* The item property used as the display text.
|
|
747
|
+
* The item property used as the display text. The matching column shows the expand control
|
|
748
|
+
* unless another column sets `expandHandler`.
|
|
555
749
|
*/
|
|
556
750
|
textField: _angular_core.InputSignal<string>;
|
|
557
751
|
/**
|
|
558
752
|
* The item property marking an item as disabled.
|
|
559
753
|
*/
|
|
560
754
|
disabledField: _angular_core.InputSignal<string>;
|
|
755
|
+
/**
|
|
756
|
+
* Field used by the data table to fetch children (`AXDataSource` filter on expand).
|
|
757
|
+
*/
|
|
758
|
+
parentField: _angular_core.InputSignal<string>;
|
|
759
|
+
/**
|
|
760
|
+
* Field used by the data table to decide whether a row can expand.
|
|
761
|
+
*/
|
|
762
|
+
hasChildrenField: _angular_core.InputSignal<string>;
|
|
561
763
|
/**
|
|
562
764
|
* Currently selected values (always an array, even for single selection).
|
|
563
765
|
*/
|
|
@@ -592,20 +794,11 @@ declare class AXLookupMultiColumnComponent {
|
|
|
592
794
|
*/
|
|
593
795
|
alternate: _angular_core.InputSignal<boolean>;
|
|
594
796
|
/**
|
|
595
|
-
* Emitted when the user picks a row.
|
|
797
|
+
* Emitted when the user picks a row (not when expanding/collapsing).
|
|
596
798
|
*/
|
|
597
799
|
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
598
|
-
protected tableRef: _angular_core.Signal<AXDataTableComponent>;
|
|
599
|
-
/**
|
|
600
|
-
* Local table source: one page of whatever has been scrolled in so far.
|
|
601
|
-
* Kept as a stable instance so the table host is not recreated on each page load.
|
|
602
|
-
* `pageSize` grows with `#loadedItems` — never seed with a huge empty array (data-table
|
|
603
|
-
* initializes `displayedRows` as `new Array(pageSize)`, which caused NG0955-level jank).
|
|
604
|
-
*/
|
|
605
|
-
protected readonly tableDataSource: AXDataSource<AXLookupItem>;
|
|
606
800
|
/**
|
|
607
|
-
* Header (~40px) + body rows.
|
|
608
|
-
* then the table body scrolls for the rest.
|
|
801
|
+
* Header (~40px) + up to `maxVisibleItems` body rows. Expanded children scroll inside.
|
|
609
802
|
*/
|
|
610
803
|
protected tableHeight: _angular_core.Signal<number>;
|
|
611
804
|
protected loadingConfig: _angular_core.Signal<{
|
|
@@ -613,25 +806,26 @@ declare class AXLookupMultiColumnComponent {
|
|
|
613
806
|
animation: boolean;
|
|
614
807
|
loadingTemplate: TemplateRef<unknown>;
|
|
615
808
|
}>;
|
|
616
|
-
constructor();
|
|
617
809
|
/** Stable unique key for `@for` — avoids NG0955 when `field` is missing or duplicated. */
|
|
618
810
|
protected trackColumnKey(index: number, column: AXLookupColumn): string;
|
|
619
811
|
protected resolveColumnWidth(column: AXLookupColumn): string | number | 'auto';
|
|
812
|
+
protected isExpandColumn(index: number, column: AXLookupColumn): boolean;
|
|
620
813
|
protected resolveRowCssClass: (row: unknown) => string;
|
|
621
814
|
protected handleRowClick(event: AXDataTableRowClick): void;
|
|
622
815
|
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
816
|
+
protected handleItemMouseDown(event: Event, item: AXLookupItem | null | undefined): void;
|
|
623
817
|
protected isSelected(item: AXLookupItem): boolean;
|
|
624
818
|
protected isDisabled(item: AXLookupItem): boolean;
|
|
625
819
|
private getValue;
|
|
626
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
627
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<
|
|
820
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnTreeComponent, never>;
|
|
821
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnTreeComponent, "ax-lookup-multi-column-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; }; "parentField": { "alias": "parentField"; "required": false; "isSignal": true; }; "hasChildrenField": { "alias": "hasChildrenField"; "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; }; "columns": { "alias": "columns"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
628
822
|
}
|
|
629
823
|
|
|
630
824
|
declare class AXLookupModule {
|
|
631
825
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupModule, never>;
|
|
632
|
-
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]>;
|
|
826
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXLookupModule, never, [typeof AXLookupComponent, typeof AXLookupDropDownListComponent, typeof AXLookupMultiSelectComponent, typeof AXLookupDropDownTreeComponent, typeof AXLookupMultiSelectTreeComponent, typeof AXLookupMultiColumnComponent, typeof AXLookupMultiColumnTreeComponent], [typeof AXLookupComponent, typeof AXLookupDropDownListComponent, typeof AXLookupMultiSelectComponent, typeof AXLookupDropDownTreeComponent, typeof AXLookupMultiSelectTreeComponent, typeof AXLookupMultiColumnComponent, typeof AXLookupMultiColumnTreeComponent]>;
|
|
633
827
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXLookupModule>;
|
|
634
828
|
}
|
|
635
829
|
|
|
636
|
-
export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent };
|
|
830
|
+
export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiColumnTreeComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent };
|
|
637
831
|
export type { AXLookupColumn, AXLookupItem, AXLookupItemClickEvent, AXLookupMode, AXLookupSelectionChangedEvent, AXLookupTreeSelectionEvent };
|
|
@@ -186,6 +186,12 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
|
|
|
186
186
|
private setupScrollListener;
|
|
187
187
|
/** @ignore */
|
|
188
188
|
private removeScrollListener;
|
|
189
|
+
/**
|
|
190
|
+
* True when scroll is a side-effect of focusing an editable control inside the overlay
|
|
191
|
+
* (soft keyboard / visual viewport adjustment), mainly on iOS Safari.
|
|
192
|
+
* @ignore
|
|
193
|
+
*/
|
|
194
|
+
private isKeyboardInducedScroll;
|
|
189
195
|
/**
|
|
190
196
|
* Checks whether the given element lives inside a child overlay
|
|
191
197
|
* (an overlay stacked on top of this popover, e.g. a selectbox dropdown).
|
|
@@ -58,6 +58,13 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
|
|
|
58
58
|
protected _dropdownWidth: _angular_core.WritableSignal<string>;
|
|
59
59
|
/** @ignore */
|
|
60
60
|
protected _dropdownHeight: _angular_core.WritableSignal<string>;
|
|
61
|
+
/**
|
|
62
|
+
* Pixel height for the popover list and CDK viewport. Uses the sized height
|
|
63
|
+
* when known, otherwise the standard `maxVisibleItems × itemHeight` viewport.
|
|
64
|
+
* Always a pixel value so virtual scroll has a definite size on first open.
|
|
65
|
+
* @ignore
|
|
66
|
+
*/
|
|
67
|
+
protected _panelMinHeight: _angular_core.Signal<string>;
|
|
61
68
|
/** @ignore */
|
|
62
69
|
protected _listDataSource: AXDataSource<any>;
|
|
63
70
|
/** @ignore */
|
|
@@ -161,6 +168,10 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
|
|
|
161
168
|
/** @ignore */
|
|
162
169
|
protected _handleItemSelected(e: AXItemSelectedEvent): void;
|
|
163
170
|
private resetSearchAfterSelection;
|
|
171
|
+
private _getListItemPx;
|
|
172
|
+
private _getMaxVisibleItems;
|
|
173
|
+
/** Standard popover list height: `maxVisibleItems` rows (default 5). */
|
|
174
|
+
private _getStandardListHeightPx;
|
|
164
175
|
/** @ignore */
|
|
165
176
|
private setDropdownSize;
|
|
166
177
|
/**
|