@acorex/components 22.1.0-next.8 → 22.1.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/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +15 -0
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +321 -118
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +259 -37
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs +16548 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +51 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs +85 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs → acorex-components-conversation-open-composer-picker-for-files-BKKO_8x6.mjs} +7 -20
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BKKO_8x6.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs +65 -0
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +1 -17608
- 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-image-editor.mjs +600 -409
- package/fesm2022/acorex-components-image-editor.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 +1259 -169
- 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 +33 -0
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.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-tree-view.mjs +45 -3
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/lookup/README.md +19 -8
- package/package.json +4 -3
- package/types/acorex-components-audio-wave.d.ts +3 -0
- package/types/acorex-components-calendar.d.ts +41 -9
- package/types/acorex-components-combo-box.d.ts +50 -10
- package/types/acorex-components-conversation.d.ts +1232 -1782
- package/types/acorex-components-data-table.d.ts +12 -2
- package/types/acorex-components-image-editor.d.ts +54 -49
- package/types/acorex-components-loading-dialog.d.ts +12 -4
- package/types/acorex-components-lookup.d.ts +286 -71
- package/types/acorex-components-popover.d.ts +8 -0
- package/types/acorex-components-select-box.d.ts +11 -0
- package/types/acorex-components-tree-view.d.ts +11 -1
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +0 -50
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map +0 -1
|
@@ -2,7 +2,8 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { TemplateRef, ElementRef } from '@angular/core';
|
|
3
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
|
|
@@ -45,11 +52,75 @@ interface AXLookupItemClickEvent {
|
|
|
45
52
|
/**
|
|
46
53
|
* Emitted by `ax-lookup` when the selection changes, carrying the resolved selected items.
|
|
47
54
|
*/
|
|
48
|
-
interface AXLookupSelectionChangedEvent extends AXEvent {
|
|
49
|
-
items:
|
|
55
|
+
interface AXLookupSelectionChangedEvent<TItem = any> extends AXEvent {
|
|
56
|
+
items: TItem[];
|
|
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
|
+
* When set, matching characters in the default node label are highlighted.
|
|
105
|
+
*/
|
|
106
|
+
highlightText: _angular_core.InputSignal<string>;
|
|
107
|
+
/**
|
|
108
|
+
* Emitted when the user selects a node.
|
|
109
|
+
*/
|
|
110
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
111
|
+
protected selectedIds: _angular_core.Signal<string[]>;
|
|
112
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
|
113
|
+
protected treeInstances: _angular_core.Signal<{
|
|
114
|
+
id: string;
|
|
115
|
+
source: AXTreeViewDataSource;
|
|
116
|
+
}[]>;
|
|
117
|
+
/** Whether the filtered tree currently has no nodes. */
|
|
118
|
+
hasNoMatches(): boolean;
|
|
119
|
+
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
120
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownTreeComponent, never>;
|
|
121
|
+
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; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
122
|
+
}
|
|
123
|
+
|
|
53
124
|
/**
|
|
54
125
|
* Shared `AXDataSource` + CDK virtual scroll plumbing for the list-based lookup views
|
|
55
126
|
* (`ax-lookup-drop-down-list`, `ax-lookup-multi-select`).
|
|
@@ -86,6 +157,7 @@ declare abstract class AXLookupListViewBase {
|
|
|
86
157
|
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
87
158
|
/**
|
|
88
159
|
* Custom template rendered for each item. Context: `$implicit` is the item.
|
|
160
|
+
* Default option chrome is not applied on top of the template.
|
|
89
161
|
*/
|
|
90
162
|
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
91
163
|
/**
|
|
@@ -100,6 +172,10 @@ declare abstract class AXLookupListViewBase {
|
|
|
100
172
|
* When `true`, list rows use alternating background colors for easier scanning.
|
|
101
173
|
*/
|
|
102
174
|
alternate: _angular_core.InputSignal<boolean>;
|
|
175
|
+
/**
|
|
176
|
+
* When set, matching characters in the default option label are highlighted.
|
|
177
|
+
*/
|
|
178
|
+
highlightText: _angular_core.InputSignal<string>;
|
|
103
179
|
/**
|
|
104
180
|
* Emitted when the user picks (or toggles) an item.
|
|
105
181
|
*/
|
|
@@ -114,6 +190,10 @@ declare abstract class AXLookupListViewBase {
|
|
|
114
190
|
protected totalCount: _angular_core.WritableSignal<number>;
|
|
115
191
|
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
116
192
|
protected isEmpty: _angular_core.Signal<boolean>;
|
|
193
|
+
/** Whether the filtered datasource currently has no items. */
|
|
194
|
+
hasNoMatches(): boolean;
|
|
195
|
+
/** Number of items in the current filtered result set. */
|
|
196
|
+
matchCount(): number;
|
|
117
197
|
/** Viewport height so the popup grows with the items up to `maxVisibleItems`. */
|
|
118
198
|
protected viewportHeight: _angular_core.Signal<number>;
|
|
119
199
|
protected viewportRef: _angular_core.Signal<CdkVirtualScrollViewport>;
|
|
@@ -137,7 +217,7 @@ declare abstract class AXLookupListViewBase {
|
|
|
137
217
|
protected activateNavItem(nav: AXListNavigationDirective, item: AXListNavigationItemDirective): void;
|
|
138
218
|
protected trackByIndex: (index: number) => number;
|
|
139
219
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupListViewBase, never>;
|
|
140
|
-
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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "navigateOut": "navigateOut"; }, never, never, true, never>;
|
|
220
|
+
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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "navigateOut": "navigateOut"; }, never, never, true, never>;
|
|
141
221
|
}
|
|
142
222
|
|
|
143
223
|
/**
|
|
@@ -182,25 +262,54 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
182
262
|
* Custom template rendered for each tree node.
|
|
183
263
|
*/
|
|
184
264
|
nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
|
|
265
|
+
/**
|
|
266
|
+
* Custom template rendered when the filtered tree has no nodes.
|
|
267
|
+
*/
|
|
268
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
269
|
+
/**
|
|
270
|
+
* When `true`, visible tree nodes use alternating background colors.
|
|
271
|
+
*/
|
|
272
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
273
|
+
/**
|
|
274
|
+
* Unique id that changes on every search apply so a new tree instance is created.
|
|
275
|
+
*/
|
|
276
|
+
filterKey: _angular_core.InputSignal<string>;
|
|
277
|
+
/**
|
|
278
|
+
* When set, matching characters in the default node label are highlighted.
|
|
279
|
+
*/
|
|
280
|
+
highlightText: _angular_core.InputSignal<string>;
|
|
185
281
|
/**
|
|
186
282
|
* Emitted when the user changes the tree selection.
|
|
187
283
|
*/
|
|
188
284
|
selectionChange: _angular_core.OutputEmitterRef<AXLookupTreeSelectionEvent>;
|
|
189
285
|
protected selectedIds: _angular_core.Signal<string[]>;
|
|
286
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
|
287
|
+
protected treeInstances: _angular_core.Signal<{
|
|
288
|
+
id: string;
|
|
289
|
+
source: AXTreeViewDataSource;
|
|
290
|
+
}[]>;
|
|
291
|
+
/** Whether the filtered tree currently has no nodes. */
|
|
292
|
+
hasNoMatches(): boolean;
|
|
190
293
|
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
191
294
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiSelectTreeComponent, never>;
|
|
192
|
-
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>;
|
|
295
|
+
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; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
193
296
|
}
|
|
194
297
|
|
|
195
298
|
/**
|
|
196
|
-
* An advanced drop-down (lookup) editor with
|
|
299
|
+
* An advanced drop-down (lookup) editor with six modes, `AXDataSource` support, and virtual scrolling.
|
|
197
300
|
*
|
|
198
301
|
* Modes (each rendered by its own internal mini component):
|
|
199
302
|
* - `drop-down-list` — a predefined list of options for picking single values.
|
|
200
303
|
* - `multi-select` — a predefined list of options for multiple item selection (chips in the trigger).
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* - `
|
|
304
|
+
* In multi modes, Backspace with an empty trigger input removes the last chip; repeated presses clear
|
|
305
|
+
* the whole selection.
|
|
306
|
+
* - `drop-down-tree` — a tree-like structure for single item selection; when searchable, the trigger
|
|
307
|
+
* input filters nested nodes as you type (on small screens the search field is inside the actionsheet).
|
|
308
|
+
* - `multi-select-tree` — a tree-like structure for multiple item selection; searchable the same way.
|
|
309
|
+
* - `multi-column` — an `ax-data-table` grid; when searchable, the trigger input filters as you type
|
|
310
|
+
* (on small screens the search field is inside the actionsheet).
|
|
311
|
+
* - `multi-column-tree` — a multi-column `ax-data-table` with a drop-down tree inside it
|
|
312
|
+
* (expandable hierarchical rows). Uses `treeDataSource` + `columns`, or a hierarchical `dataSource`.
|
|
204
313
|
*
|
|
205
314
|
* With `adaptivityEnabled` (default `true`), the list opens as a bottom actionsheet on small
|
|
206
315
|
* screens instead of an anchored dropdown — the same alternate presentation as `ax-select-box`.
|
|
@@ -210,7 +319,7 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
210
319
|
*
|
|
211
320
|
* @category Components
|
|
212
321
|
*/
|
|
213
|
-
declare class AXLookupComponent extends NXValueComponent implements FormValueControl<unknown | unknown[] | null> {
|
|
322
|
+
declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent implements FormValueControl<unknown | unknown[] | null> {
|
|
214
323
|
#private;
|
|
215
324
|
/**
|
|
216
325
|
* The name of the form field, used by validation rules and `ax-form.validate(names)`.
|
|
@@ -221,12 +330,13 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
221
330
|
*/
|
|
222
331
|
mode: _angular_core.InputSignal<AXLookupMode>;
|
|
223
332
|
/**
|
|
224
|
-
* The items source for list-based modes (`drop-down-list`, `multi-select`, `multi-column`)
|
|
333
|
+
* The items source for list-based modes (`drop-down-list`, `multi-select`, `multi-column`)
|
|
334
|
+
* and for `multi-column-tree` when `treeDataSource` is not set.
|
|
225
335
|
* Accepts an `AXDataSource` (remote paging, `byKey`, server-side filter) or a plain array.
|
|
226
336
|
*/
|
|
227
|
-
dataSource: _angular_core.InputSignal<
|
|
337
|
+
dataSource: _angular_core.InputSignal<AXDataSource<T> | T[]>;
|
|
228
338
|
/**
|
|
229
|
-
* The nodes source for tree modes (`drop-down-tree`, `multi-select-tree`):
|
|
339
|
+
* The nodes source for tree modes (`drop-down-tree`, `multi-select-tree`, `multi-column-tree`):
|
|
230
340
|
* an array of nodes or a lazy children callback.
|
|
231
341
|
*/
|
|
232
342
|
treeDataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
|
|
@@ -244,18 +354,32 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
244
354
|
*/
|
|
245
355
|
disabledField: _angular_core.InputSignal<string>;
|
|
246
356
|
/**
|
|
247
|
-
* Column definitions for the `multi-column`
|
|
357
|
+
* Column definitions for the `multi-column` and `multi-column-tree` modes
|
|
358
|
+
* (rendered as `ax-text-column` in `ax-data-table`).
|
|
248
359
|
*/
|
|
249
360
|
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
361
|
+
/**
|
|
362
|
+
* Field used by `multi-column-tree` to fetch children when a row is expanded
|
|
363
|
+
* (`AXDataSource` filter). Defaults to `parentId`. Nested `children` arrays are also supported.
|
|
364
|
+
*/
|
|
365
|
+
treeParentField: _angular_core.InputSignal<string>;
|
|
366
|
+
/**
|
|
367
|
+
* Field used by `multi-column-tree` to decide whether a row shows an expand control.
|
|
368
|
+
* Defaults to `hasChild`. Nodes with `children` / `childrenCount` are mapped automatically
|
|
369
|
+
* when using `treeDataSource`.
|
|
370
|
+
*/
|
|
371
|
+
hasChildrenField: _angular_core.InputSignal<string>;
|
|
250
372
|
/**
|
|
251
373
|
* Whether the trigger accepts typing and filters the datasource (`true`),
|
|
252
374
|
* or is select-only with no writable input (`false`).
|
|
253
|
-
* Applies to `drop-down-
|
|
375
|
+
* Applies to all modes, including `drop-down-tree` and `multi-select-tree`.
|
|
376
|
+
* On small screens with `adaptivityEnabled`, search is typed in the actionsheet instead of the trigger.
|
|
254
377
|
*/
|
|
255
378
|
searchable: _angular_core.InputSignal<boolean>;
|
|
256
379
|
/**
|
|
257
380
|
* When `true` (default), the popup list uses the alternate actionsheet presentation on small
|
|
258
|
-
* screens (`SM`).
|
|
381
|
+
* screens (`SM`). Searchable list modes then show a search field inside the sheet. When `false`,
|
|
382
|
+
* the list always opens as an anchored dropdown.
|
|
259
383
|
*/
|
|
260
384
|
adaptivityEnabled: _angular_core.InputSignal<boolean>;
|
|
261
385
|
/**
|
|
@@ -264,12 +388,13 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
264
388
|
caption: _angular_core.InputSignal<string>;
|
|
265
389
|
/**
|
|
266
390
|
* When `true`, list rows use alternating background colors for easier scanning
|
|
267
|
-
* (
|
|
391
|
+
* (all lookup modes, including drop-down-tree and multi-select-tree).
|
|
268
392
|
*/
|
|
269
393
|
alternate: _angular_core.InputSignal<boolean>;
|
|
270
394
|
/**
|
|
271
395
|
* Placeholder for the trigger search input when items are already selected
|
|
272
|
-
* (mainly useful in `multi-select`
|
|
396
|
+
* (mainly useful in `multi-select` / `multi-select-tree`), and for the in-sheet search field on small screens.
|
|
397
|
+
* Falls back to `placeholder` when the selection is empty on desktop.
|
|
273
398
|
*/
|
|
274
399
|
searchPlaceholder: _angular_core.InputSignal<string>;
|
|
275
400
|
/**
|
|
@@ -300,8 +425,15 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
300
425
|
* How selecting parent/child nodes affects each other in `multi-select-tree` mode.
|
|
301
426
|
*/
|
|
302
427
|
treeSelectionBehavior: _angular_core.InputSignal<AXTreeViewSelectionBehavior>;
|
|
428
|
+
/**
|
|
429
|
+
* When `true` (default), matching characters in popup result items are highlighted
|
|
430
|
+
* while the user searches.
|
|
431
|
+
*/
|
|
432
|
+
highlightSearch: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
303
433
|
/**
|
|
304
434
|
* Custom template rendered for each item/node. Context: `$implicit` is the item.
|
|
435
|
+
* Default option chrome (padding, typography, check icon) is not applied; only the
|
|
436
|
+
* template's styles are used. Selection and hover backgrounds remain on the row.
|
|
305
437
|
*/
|
|
306
438
|
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
307
439
|
/**
|
|
@@ -327,15 +459,15 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
327
459
|
* Use when the parent already has the selected entity (e.g. edit forms). Seeds the internal
|
|
328
460
|
* item cache; missing keys still fall through to `find` / `byKey`.
|
|
329
461
|
*/
|
|
330
|
-
valueItems: _angular_core.InputSignal<
|
|
462
|
+
valueItems: _angular_core.InputSignal<T[]>;
|
|
331
463
|
/**
|
|
332
464
|
* Emitted when the selected value changes.
|
|
333
465
|
*/
|
|
334
|
-
onValueChanged: _angular_core.OutputEmitterRef<AXValueChangedEvent<
|
|
466
|
+
onValueChanged: _angular_core.OutputEmitterRef<AXValueChangedEvent<any>>;
|
|
335
467
|
/**
|
|
336
468
|
* Emitted when the selection changes, carrying the resolved selected items.
|
|
337
469
|
*/
|
|
338
|
-
onSelectionChanged: _angular_core.OutputEmitterRef<AXLookupSelectionChangedEvent
|
|
470
|
+
onSelectionChanged: _angular_core.OutputEmitterRef<AXLookupSelectionChangedEvent<T>>;
|
|
339
471
|
/**
|
|
340
472
|
* Emitted when the trigger receives focus.
|
|
341
473
|
*/
|
|
@@ -368,10 +500,21 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
368
500
|
protected isMultiple: _angular_core.Signal<boolean>;
|
|
369
501
|
/** Whether the current mode renders a tree. */
|
|
370
502
|
protected isTreeMode: _angular_core.Signal<boolean>;
|
|
371
|
-
/** Whether the
|
|
503
|
+
/** Whether the current mode can filter as you type (list, table, or tree). */
|
|
504
|
+
protected isListSearchMode: _angular_core.Signal<boolean>;
|
|
505
|
+
/** Whether the trigger input is writable and filters as you type (desktop only). */
|
|
372
506
|
protected isEditableTrigger: _angular_core.Signal<boolean>;
|
|
507
|
+
/** Whether search is typed in the actionsheet instead of the trigger. */
|
|
508
|
+
protected isSheetSearchEnabled: _angular_core.Signal<boolean>;
|
|
509
|
+
/** Query typed in the actionsheet search field (independent of the trigger display text). */
|
|
510
|
+
protected sheetSearchText: _angular_core.WritableSignal<string>;
|
|
511
|
+
/** Increments on every tree filter apply so the tree view remounts with a new instance. */
|
|
512
|
+
protected treeFilterKey: _angular_core.Signal<string>;
|
|
513
|
+
/** Query passed to result-item highlighting (empty when disabled). */
|
|
514
|
+
protected highlightQuery: _angular_core.Signal<string>;
|
|
373
515
|
/** The datasource for list-based modes; plain arrays are converted. */
|
|
374
516
|
protected resolvedDataSource: _angular_core.Signal<AXDataSource<AXLookupItem>>;
|
|
517
|
+
protected resolvedTreeDataSource: _angular_core.Signal<AXTreeViewDataSource>;
|
|
375
518
|
/** The current selection normalized to an array. */
|
|
376
519
|
protected selectedValues: _angular_core.Signal<unknown[]>;
|
|
377
520
|
/** The resolved selected items (via cache, datasource `find`/`byKey`, or tree node lookup). */
|
|
@@ -389,9 +532,16 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
389
532
|
* the selected display text (same pattern as combo-box).
|
|
390
533
|
*/
|
|
391
534
|
protected showSelectedTemplate: _angular_core.Signal<boolean>;
|
|
535
|
+
/** Placeholder for the editable trigger search input. */
|
|
536
|
+
protected triggerSearchPlaceholder: _angular_core.Signal<string>;
|
|
392
537
|
protected popoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
538
|
+
protected originRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
539
|
+
protected popupRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
393
540
|
protected triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
394
541
|
protected listView: _angular_core.Signal<AXLookupListViewBase>;
|
|
542
|
+
protected dropDownTreeView: _angular_core.Signal<AXLookupDropDownTreeComponent>;
|
|
543
|
+
protected multiSelectTreeView: _angular_core.Signal<AXLookupMultiSelectTreeComponent>;
|
|
544
|
+
protected sheetSearchRef: _angular_core.Signal<AXSearchBoxComponent>;
|
|
395
545
|
constructor();
|
|
396
546
|
/** Returns the display text of an item using the `textField` mapping. */
|
|
397
547
|
protected getItemText(item: AXLookupItem): string;
|
|
@@ -407,12 +557,16 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
407
557
|
focus(options?: FocusOptions): void;
|
|
408
558
|
/**
|
|
409
559
|
* Handles keyboard interaction on the trigger input.
|
|
560
|
+
* In multi modes, Backspace with an empty trigger input removes the last chip; repeated presses
|
|
561
|
+
* clear the whole selection.
|
|
410
562
|
*/
|
|
411
563
|
protected onTriggerKeydown(e: KeyboardEvent): void;
|
|
564
|
+
/** Filters the datasource from the actionsheet search field and handles Enter with no matches. */
|
|
565
|
+
protected onSheetSearchKeydown(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
412
566
|
/** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
|
|
413
567
|
protected onBeforeInput(event: Event): void;
|
|
414
568
|
/**
|
|
415
|
-
* Returns focus to the
|
|
569
|
+
* Returns focus to the search field when list navigation requests it.
|
|
416
570
|
*/
|
|
417
571
|
protected onListNavigateOut(_reason: 'up' | 'typeahead'): void;
|
|
418
572
|
protected focusListFirst(): void;
|
|
@@ -437,10 +591,10 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
437
591
|
* Handles typing in the editable trigger input.
|
|
438
592
|
*/
|
|
439
593
|
protected onTriggerSearchInput(text: string): void;
|
|
440
|
-
/**
|
|
441
|
-
protected
|
|
594
|
+
/** Filters the datasource from the actionsheet search field (reads the input so delayed ngModel cannot block typing). */
|
|
595
|
+
protected onSheetSearchInput(): void;
|
|
442
596
|
/**
|
|
443
|
-
* Commits a single pick (drop-down-list, drop-down-tree, multi-column) and closes the popup.
|
|
597
|
+
* Commits a single pick (drop-down-list, drop-down-tree, multi-column, multi-column-tree) and closes the popup.
|
|
444
598
|
*/
|
|
445
599
|
protected handleSinglePick(e: AXLookupItemClickEvent): void;
|
|
446
600
|
/**
|
|
@@ -466,7 +620,7 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
466
620
|
*
|
|
467
621
|
* @param items - Full items that include `valueField` (and ideally `textField`) properties.
|
|
468
622
|
*/
|
|
469
|
-
seedItems(items:
|
|
623
|
+
seedItems(items: T[]): void;
|
|
470
624
|
/**
|
|
471
625
|
* Clears the whole selection.
|
|
472
626
|
* Sets `null` in single modes and `[]` in multi modes. Used by projected `ax-clear-button`.
|
|
@@ -474,8 +628,8 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
|
|
|
474
628
|
* @param isUserInteraction - Whether the clear was triggered by the user.
|
|
475
629
|
*/
|
|
476
630
|
reset(isUserInteraction?: boolean): void;
|
|
477
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent
|
|
478
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent
|
|
631
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent<any>, never>;
|
|
632
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent<any>, "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; }; "highlightSearch": { "alias": "highlightSearch"; "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>;
|
|
479
633
|
}
|
|
480
634
|
|
|
481
635
|
/**
|
|
@@ -501,72 +655,138 @@ declare class AXLookupMultiSelectComponent extends AXLookupListViewBase {
|
|
|
501
655
|
}
|
|
502
656
|
|
|
503
657
|
/**
|
|
504
|
-
* Internal mini component for the `
|
|
505
|
-
*
|
|
658
|
+
* Internal mini component for the `multi-column` lookup mode:
|
|
659
|
+
* renders selectable rows in an `ax-data-table` grid and loads further
|
|
660
|
+
* pages as the user scrolls (no pager UI).
|
|
506
661
|
*
|
|
507
662
|
* @category Components
|
|
508
663
|
*/
|
|
509
|
-
declare class
|
|
664
|
+
declare class AXLookupMultiColumnComponent {
|
|
665
|
+
#private;
|
|
510
666
|
/**
|
|
511
|
-
* The
|
|
667
|
+
* The datasource providing the grid rows (paged, remote-capable).
|
|
668
|
+
* Pages are fetched on demand as the user scrolls the table body.
|
|
512
669
|
*/
|
|
513
|
-
dataSource: _angular_core.InputSignal<
|
|
670
|
+
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
514
671
|
/**
|
|
515
|
-
* The
|
|
672
|
+
* The item property used as the selection value.
|
|
516
673
|
*/
|
|
517
674
|
valueField: _angular_core.InputSignal<string>;
|
|
518
675
|
/**
|
|
519
|
-
* The
|
|
676
|
+
* The item property used as the display text.
|
|
520
677
|
*/
|
|
521
678
|
textField: _angular_core.InputSignal<string>;
|
|
522
679
|
/**
|
|
523
|
-
* The
|
|
680
|
+
* The item property marking an item as disabled.
|
|
524
681
|
*/
|
|
525
682
|
disabledField: _angular_core.InputSignal<string>;
|
|
526
683
|
/**
|
|
527
|
-
* Currently selected values (
|
|
684
|
+
* Currently selected values (always an array, even for single selection).
|
|
528
685
|
*/
|
|
529
686
|
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
530
687
|
/**
|
|
531
|
-
*
|
|
688
|
+
* The fixed row height in pixels passed to the data table.
|
|
532
689
|
*/
|
|
533
|
-
|
|
690
|
+
itemHeight: _angular_core.InputSignal<number>;
|
|
534
691
|
/**
|
|
535
|
-
*
|
|
692
|
+
* The maximum number of body rows visible before the table scrolls.
|
|
693
|
+
*/
|
|
694
|
+
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
695
|
+
/**
|
|
696
|
+
* Column definitions rendered as `ax-text-column` instances.
|
|
697
|
+
*/
|
|
698
|
+
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
699
|
+
/**
|
|
700
|
+
* Optional custom row content. Context: `$implicit` is the row item.
|
|
701
|
+
* When set, replaces the default multi-column cell layout.
|
|
702
|
+
*/
|
|
703
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
704
|
+
/**
|
|
705
|
+
* Custom template rendered when the datasource has no items.
|
|
706
|
+
*/
|
|
707
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
708
|
+
/**
|
|
709
|
+
* Custom template rendered while the table is loading.
|
|
710
|
+
*/
|
|
711
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
712
|
+
/**
|
|
713
|
+
* When `true`, table rows use alternating background colors for easier scanning.
|
|
714
|
+
*/
|
|
715
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
716
|
+
/**
|
|
717
|
+
* When set, matching text in table cells is highlighted.
|
|
718
|
+
*/
|
|
719
|
+
highlightText: _angular_core.InputSignal<string>;
|
|
720
|
+
/**
|
|
721
|
+
* Emitted when the user picks a row.
|
|
536
722
|
*/
|
|
537
723
|
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
538
|
-
protected
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
724
|
+
protected tableRef: _angular_core.Signal<AXDataTableComponent>;
|
|
725
|
+
/**
|
|
726
|
+
* Local table source: one page of whatever has been scrolled in so far.
|
|
727
|
+
* Kept as a stable instance so the table host is not recreated on each page load.
|
|
728
|
+
* `pageSize` grows with `#loadedItems` — never seed with a huge empty array (data-table
|
|
729
|
+
* initializes `displayedRows` as `new Array(pageSize)`, which caused NG0955-level jank).
|
|
730
|
+
*/
|
|
731
|
+
protected readonly tableDataSource: AXDataSource<AXLookupItem>;
|
|
732
|
+
/**
|
|
733
|
+
* Header (~40px) + body rows. Grows with results up to `maxVisibleItems`,
|
|
734
|
+
* then the table body scrolls for the rest.
|
|
735
|
+
*/
|
|
736
|
+
protected tableHeight: _angular_core.Signal<number>;
|
|
737
|
+
protected loadingConfig: _angular_core.Signal<{
|
|
738
|
+
enabled: boolean;
|
|
739
|
+
animation: boolean;
|
|
740
|
+
loadingTemplate: TemplateRef<unknown>;
|
|
741
|
+
}>;
|
|
742
|
+
constructor();
|
|
743
|
+
/** Stable unique key for `@for` — avoids NG0955 when `field` is missing or duplicated. */
|
|
744
|
+
protected trackColumnKey(index: number, column: AXLookupColumn): string;
|
|
745
|
+
protected resolveColumnWidth(column: AXLookupColumn): string | number | 'auto';
|
|
746
|
+
protected resolveRowCssClass: (row: unknown) => string;
|
|
747
|
+
protected handleRowClick(event: AXDataTableRowClick): void;
|
|
748
|
+
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
749
|
+
protected handleItemMouseDown(event: Event, item: AXLookupItem | null | undefined): void;
|
|
750
|
+
protected isSelected(item: AXLookupItem): boolean;
|
|
751
|
+
protected isDisabled(item: AXLookupItem): boolean;
|
|
752
|
+
private getValue;
|
|
753
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnComponent, never>;
|
|
754
|
+
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; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
542
755
|
}
|
|
543
756
|
|
|
544
757
|
/**
|
|
545
|
-
* Internal mini component for the `multi-column` lookup mode:
|
|
546
|
-
*
|
|
547
|
-
*
|
|
758
|
+
* Internal mini component for the `multi-column-tree` lookup mode:
|
|
759
|
+
* a multi-column `ax-data-table` with a drop-down tree inside it.
|
|
760
|
+
* Rows expand/collapse via the data-table hierarchy (`parentField` / nested `children`).
|
|
548
761
|
*
|
|
549
762
|
* @category Components
|
|
550
763
|
*/
|
|
551
|
-
declare class
|
|
552
|
-
#private;
|
|
764
|
+
declare class AXLookupMultiColumnTreeComponent {
|
|
553
765
|
/**
|
|
554
|
-
* The datasource providing
|
|
555
|
-
* Pages are fetched on demand as the user scrolls the table body.
|
|
766
|
+
* The datasource providing hierarchical rows (roots on load, children via `parentField`).
|
|
556
767
|
*/
|
|
557
768
|
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
558
769
|
/**
|
|
559
|
-
* The item property used as the selection value.
|
|
770
|
+
* The item property used as the selection value (also the data-table row key).
|
|
560
771
|
*/
|
|
561
772
|
valueField: _angular_core.InputSignal<string>;
|
|
562
773
|
/**
|
|
563
|
-
* The item property used as the display text.
|
|
774
|
+
* The item property used as the display text. The matching column shows the expand control
|
|
775
|
+
* unless another column sets `expandHandler`.
|
|
564
776
|
*/
|
|
565
777
|
textField: _angular_core.InputSignal<string>;
|
|
566
778
|
/**
|
|
567
779
|
* The item property marking an item as disabled.
|
|
568
780
|
*/
|
|
569
781
|
disabledField: _angular_core.InputSignal<string>;
|
|
782
|
+
/**
|
|
783
|
+
* Field used by the data table to fetch children (`AXDataSource` filter on expand).
|
|
784
|
+
*/
|
|
785
|
+
parentField: _angular_core.InputSignal<string>;
|
|
786
|
+
/**
|
|
787
|
+
* Field used by the data table to decide whether a row can expand.
|
|
788
|
+
*/
|
|
789
|
+
hasChildrenField: _angular_core.InputSignal<string>;
|
|
570
790
|
/**
|
|
571
791
|
* Currently selected values (always an array, even for single selection).
|
|
572
792
|
*/
|
|
@@ -601,20 +821,15 @@ declare class AXLookupMultiColumnComponent {
|
|
|
601
821
|
*/
|
|
602
822
|
alternate: _angular_core.InputSignal<boolean>;
|
|
603
823
|
/**
|
|
604
|
-
*
|
|
824
|
+
* When set, matching text in table cells is highlighted.
|
|
605
825
|
*/
|
|
606
|
-
|
|
607
|
-
protected tableRef: _angular_core.Signal<AXDataTableComponent>;
|
|
826
|
+
highlightText: _angular_core.InputSignal<string>;
|
|
608
827
|
/**
|
|
609
|
-
*
|
|
610
|
-
* Kept as a stable instance so the table host is not recreated on each page load.
|
|
611
|
-
* `pageSize` grows with `#loadedItems` — never seed with a huge empty array (data-table
|
|
612
|
-
* initializes `displayedRows` as `new Array(pageSize)`, which caused NG0955-level jank).
|
|
828
|
+
* Emitted when the user picks a row (not when expanding/collapsing).
|
|
613
829
|
*/
|
|
614
|
-
|
|
830
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
615
831
|
/**
|
|
616
|
-
* Header (~40px) + body rows.
|
|
617
|
-
* then the table body scrolls for the rest.
|
|
832
|
+
* Header (~40px) + up to `maxVisibleItems` body rows. Expanded children scroll inside.
|
|
618
833
|
*/
|
|
619
834
|
protected tableHeight: _angular_core.Signal<number>;
|
|
620
835
|
protected loadingConfig: _angular_core.Signal<{
|
|
@@ -622,10 +837,10 @@ declare class AXLookupMultiColumnComponent {
|
|
|
622
837
|
animation: boolean;
|
|
623
838
|
loadingTemplate: TemplateRef<unknown>;
|
|
624
839
|
}>;
|
|
625
|
-
constructor();
|
|
626
840
|
/** Stable unique key for `@for` — avoids NG0955 when `field` is missing or duplicated. */
|
|
627
841
|
protected trackColumnKey(index: number, column: AXLookupColumn): string;
|
|
628
842
|
protected resolveColumnWidth(column: AXLookupColumn): string | number | 'auto';
|
|
843
|
+
protected isExpandColumn(index: number, column: AXLookupColumn): boolean;
|
|
629
844
|
protected resolveRowCssClass: (row: unknown) => string;
|
|
630
845
|
protected handleRowClick(event: AXDataTableRowClick): void;
|
|
631
846
|
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
@@ -633,15 +848,15 @@ declare class AXLookupMultiColumnComponent {
|
|
|
633
848
|
protected isSelected(item: AXLookupItem): boolean;
|
|
634
849
|
protected isDisabled(item: AXLookupItem): boolean;
|
|
635
850
|
private getValue;
|
|
636
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
637
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<
|
|
851
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnTreeComponent, never>;
|
|
852
|
+
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; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
638
853
|
}
|
|
639
854
|
|
|
640
855
|
declare class AXLookupModule {
|
|
641
856
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupModule, never>;
|
|
642
|
-
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]>;
|
|
857
|
+
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]>;
|
|
643
858
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXLookupModule>;
|
|
644
859
|
}
|
|
645
860
|
|
|
646
|
-
export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent };
|
|
861
|
+
export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiColumnTreeComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent };
|
|
647
862
|
export type { AXLookupColumn, AXLookupItem, AXLookupItemClickEvent, AXLookupMode, AXLookupSelectionChangedEvent, AXLookupTreeSelectionEvent };
|