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