@acorex/components 20.2.0-next.8 → 20.2.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/accordion/index.d.ts +6 -5
- package/action-sheet/index.d.ts +57 -10
- package/alert/index.d.ts +2 -4
- package/aspect-ratio/README.md +3 -0
- package/aspect-ratio/index.d.ts +11 -0
- package/autocomplete/index.d.ts +7 -2
- package/avatar/index.d.ts +12 -6
- package/badge/index.d.ts +1 -2
- package/bottom-navigation/index.d.ts +10 -2
- package/breadcrumbs/index.d.ts +17 -4
- package/button/index.d.ts +56 -17
- package/button-group/index.d.ts +10 -6
- package/calendar/index.d.ts +32 -18
- package/check-box/index.d.ts +2 -5
- package/chips/index.d.ts +1 -2
- package/circular-progress/index.d.ts +23 -18
- package/code-editor/README.md +3 -0
- package/code-editor/index.d.ts +103 -0
- package/collapse/index.d.ts +7 -6
- package/color-box/index.d.ts +6 -8
- package/color-palette/index.d.ts +19 -24
- package/command/README.md +3 -0
- package/command/index.d.ts +60 -0
- package/comment/index.d.ts +18 -13
- package/conversation/index.d.ts +107 -78
- package/cron-job/index.d.ts +5 -4
- package/data-list/README.md +356 -0
- package/data-list/index.d.ts +102 -0
- package/data-pager/index.d.ts +22 -17
- package/data-table/index.d.ts +59 -3
- package/datetime-box/index.d.ts +12 -15
- package/datetime-input/index.d.ts +2 -4
- package/datetime-picker/index.d.ts +12 -11
- package/decorators/index.d.ts +2 -2
- package/dialog/index.d.ts +29 -4
- package/drawer-2/index.d.ts +22 -8
- package/dropdown/index.d.ts +44 -3
- package/dropdown-button/index.d.ts +7 -2
- package/fesm2022/acorex-components-accordion.mjs +74 -72
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +78 -48
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +13 -17
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +36 -0
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -0
- package/fesm2022/acorex-components-audio-wave.mjs +7 -7
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +32 -11
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +24 -21
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -11
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +18 -16
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +36 -21
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +35 -26
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +78 -38
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +76 -47
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +11 -14
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +9 -11
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +31 -26
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +591 -0
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -0
- package/fesm2022/acorex-components-collapse.mjs +21 -21
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +39 -33
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +69 -85
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +144 -0
- package/fesm2022/acorex-components-command.mjs.map +1 -0
- package/fesm2022/acorex-components-comment.mjs +51 -45
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +128 -90
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +54 -48
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +386 -0
- package/fesm2022/acorex-components-data-list.mjs.map +1 -0
- package/fesm2022/acorex-components-data-pager.mjs +41 -36
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +98 -42
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +28 -36
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +20 -18
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +92 -44
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +27 -27
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +44 -19
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-2.mjs +28 -14
- package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +13 -13
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +16 -11
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +57 -13
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +25 -25
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +40 -16
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +36 -17
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +125 -15
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +121 -92
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +8 -8
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +11 -7
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +21 -29
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +11 -15
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +23 -32
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +58 -59
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +84 -28
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +484 -112
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +37 -37
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +67 -37
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs → acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs} +117 -40
- package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +1 -0
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs +235 -0
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +14 -10
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +31 -45
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-2.mjs +28 -9
- package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +16 -10
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +14 -15
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +74 -33
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +21 -18
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +51 -15
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +26 -16
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +13 -18
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +10 -10
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +7 -7
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +8 -8
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +26 -16
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +13 -9
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +222 -102
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +1581 -167
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +13 -7
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +105 -38
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +12 -9
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +14 -11
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +98 -43
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +9 -9
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +16 -16
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +31 -32
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +12 -12
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +26 -19
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +55 -21
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +17 -12
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +29 -13
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +15 -9
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +13 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +59 -14
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +12 -11
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +12 -12
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +252 -56
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +104 -62
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/flow-chart/index.d.ts +24 -0
- package/form/index.d.ts +27 -13
- package/grid-layout-builder/index.d.ts +115 -4
- package/image/index.d.ts +4 -4
- package/image-editor/index.d.ts +17 -14
- package/json-viewer/index.d.ts +3 -3
- package/kanban/index.d.ts +7 -3
- package/kbd/index.d.ts +11 -11
- package/label/index.d.ts +1 -2
- package/list/index.d.ts +4 -14
- package/loading/index.d.ts +59 -6
- package/loading-dialog/index.d.ts +30 -19
- package/map/index.d.ts +95 -2
- package/menu/index.d.ts +38 -13
- package/modal/index.d.ts +47 -2
- package/navbar/index.d.ts +7 -3
- package/notification/index.d.ts +1 -8
- package/number-box/index.d.ts +1 -0
- package/number-box-2/index.d.ts +2 -1
- package/otp/index.d.ts +1 -3
- package/package.json +43 -4
- package/paint/index.d.ts +43 -7
- package/password-box/index.d.ts +8 -10
- package/phone-box/index.d.ts +18 -16
- package/picker/index.d.ts +10 -8
- package/popover/index.d.ts +2 -2
- package/popup/index.d.ts +2 -2
- package/qrcode/index.d.ts +7 -7
- package/query-builder/index.d.ts +1 -1
- package/radio/index.d.ts +1 -1
- package/rail-navigation/index.d.ts +12 -3
- package/range-slider/index.d.ts +13 -13
- package/rate-picker/index.d.ts +5 -5
- package/rest-api-generator/index.d.ts +1 -1
- package/rrule/index.d.ts +40 -17
- package/scheduler/index.d.ts +541 -191
- package/search-box/index.d.ts +3 -2
- package/select-box/index.d.ts +22 -10
- package/selection-list-2/index.d.ts +3 -3
- package/side-menu/index.d.ts +24 -15
- package/sliding-item/index.d.ts +4 -5
- package/step-wizard/index.d.ts +10 -13
- package/switch/index.d.ts +0 -1
- package/tabs/index.d.ts +6 -1
- package/tag-box/index.d.ts +19 -2
- package/text-area/index.d.ts +2 -2
- package/text-box/index.d.ts +3 -0
- package/time-duration/index.d.ts +1 -0
- package/time-line/index.d.ts +3 -0
- package/toast/index.d.ts +45 -1
- package/tooltip/index.d.ts +2 -1
- package/uploader/index.d.ts +215 -5
- package/wysiwyg/index.d.ts +27 -5
- package/fesm2022/acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs +0 -218
- package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs.map +0 -1
@@ -0,0 +1,356 @@
|
|
1
|
+
# @acorex/components/data-list
|
2
|
+
|
3
|
+
Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/data-list`.
|
4
|
+
|
5
|
+
## Overview
|
6
|
+
|
7
|
+
`AXDataList` is a modern, signal-based Angular data list component that provides virtual scrolling, selection management, and tree grouping capabilities. It's designed to replace the existing `AXListComponent` with improved performance and modern Angular patterns.
|
8
|
+
|
9
|
+
## Key Features
|
10
|
+
|
11
|
+
### Core Functionality
|
12
|
+
|
13
|
+
- ✅ **Virtual Scrolling** - CDK-based virtual scrolling for large datasets
|
14
|
+
- ✅ **Selection Management** - Single and multiple selection modes
|
15
|
+
- ✅ **Tree Grouping** - Hierarchical item organization with expand/collapse
|
16
|
+
- ✅ **Template System** - Custom templates for items, loading, and empty states
|
17
|
+
- ✅ **Keyboard Navigation** - Full keyboard accessibility
|
18
|
+
- ✅ **Modern Angular** - Signal-based architecture for optimal performance
|
19
|
+
|
20
|
+
### Advanced Features
|
21
|
+
|
22
|
+
- ✅ **Disabled Items** - Field-based item disabling with visual and behavioral support
|
23
|
+
- ✅ **Tooltip Support** - Custom tooltip content via field mapping
|
24
|
+
- ✅ **Checkbox Control** - Configurable checkbox display and behavior
|
25
|
+
- ✅ **Search API** - External search integration (not built-in)
|
26
|
+
|
27
|
+
## Component Architecture
|
28
|
+
|
29
|
+
### Base Class
|
30
|
+
|
31
|
+
- **Inherits from**: `MXValueComponent` (instead of `MXSelectionValueComponent`)
|
32
|
+
- **Change Detection**: `OnPush` strategy
|
33
|
+
- **Encapsulation**: `ViewEncapsulation.None`
|
34
|
+
|
35
|
+
### Dependencies
|
36
|
+
|
37
|
+
- `@angular/cdk/scrolling` - Virtual scrolling
|
38
|
+
- `@angular/forms` - Form integration
|
39
|
+
- `@acorex/cdk/common` - Base components and utilities
|
40
|
+
|
41
|
+
## Input Properties
|
42
|
+
|
43
|
+
### Basic Properties
|
44
|
+
|
45
|
+
| Property | Type | Default | Description |
|
46
|
+
| ---------- | --------- | ------- | ---------------------------- |
|
47
|
+
| `id` | `string` | - | Component identifier |
|
48
|
+
| `name` | `string` | - | Component name for forms |
|
49
|
+
| `disabled` | `boolean` | `false` | Disable the entire component |
|
50
|
+
| `readonly` | `boolean` | `false` | Make component read-only |
|
51
|
+
| `tabIndex` | `number` | `0` | Tab order |
|
52
|
+
|
53
|
+
### Data & Selection
|
54
|
+
|
55
|
+
| Property | Type | Default | Description |
|
56
|
+
| --------------- | ----------------------- | -------- | -------------------------------- |
|
57
|
+
| `dataSource` | `AXDataSource<unknown>` | `[]` | Data source for the list |
|
58
|
+
| `value` | `unknown \| unknown[]` | - | Current selected value(s) |
|
59
|
+
| `valueField` | `string` | `'id'` | Field name for item value |
|
60
|
+
| `textField` | `string` | `'text'` | Field name for item display text |
|
61
|
+
| `multiple` | `boolean` | `false` | Enable multiple selection |
|
62
|
+
| `selectionMode` | `string` | `'item'` | Selection behavior |
|
63
|
+
|
64
|
+
### Display & Behavior
|
65
|
+
|
66
|
+
| Property | Type | Default | Description |
|
67
|
+
| ----------------- | ------------------ | ------- | --------------------------------- |
|
68
|
+
| `itemHeight` | `number \| 'auto'` | `40` | Height of each list item |
|
69
|
+
| `isItemTruncated` | `boolean` | `true` | Enable text truncation |
|
70
|
+
| `showItemTooltip` | `boolean` | `false` | Show tooltips for truncated items |
|
71
|
+
| `showCheckbox` | `boolean` | `true` | Show checkboxes for selection |
|
72
|
+
|
73
|
+
### Field Mappings
|
74
|
+
|
75
|
+
| Property | Type | Default | Description |
|
76
|
+
| --------------- | -------- | ------- | ------------------------------------------- |
|
77
|
+
| `disabledField` | `string` | - | Field name to determine if item is disabled |
|
78
|
+
| `tooltipField` | `string` | - | Field name for custom tooltip content |
|
79
|
+
|
80
|
+
### Tree Grouping
|
81
|
+
|
82
|
+
| Property | Type | Default | Description |
|
83
|
+
| -------------------- | ------------- | ------------ | --------------------------------- |
|
84
|
+
| `childrenField` | `string` | `'children'` | Field name containing child items |
|
85
|
+
| `expandedField` | `string` | `'expanded'` | Field name for expanded state |
|
86
|
+
| `levelField` | `string` | `'level'` | Field name for nesting level |
|
87
|
+
| `groupTemplate` | `TemplateRef` | - | Template for group headers |
|
88
|
+
| `expandIconTemplate` | `TemplateRef` | - | Custom expand/collapse icons |
|
89
|
+
|
90
|
+
### Templates
|
91
|
+
|
92
|
+
| Property | Type | Default | Description |
|
93
|
+
| ----------------- | ------------- | ------- | ------------------------------ |
|
94
|
+
| `itemTemplate` | `TemplateRef` | - | Custom template for list items |
|
95
|
+
| `emptyTemplate` | `TemplateRef` | - | Template for empty state |
|
96
|
+
| `loadingTemplate` | `TemplateRef` | - | Template for loading state |
|
97
|
+
| `textTemplate` | `TemplateRef` | - | Custom text display template |
|
98
|
+
|
99
|
+
## Output Events
|
100
|
+
|
101
|
+
### Value & Selection Events
|
102
|
+
|
103
|
+
| Event | Type | Description |
|
104
|
+
| -------------------- | ------------------------- | ----------------------- |
|
105
|
+
| `onValueChanged` | `AXValueChangedEvent` | Value selection changed |
|
106
|
+
| `onItemClick` | `AXItemClickEvent` | Item clicked |
|
107
|
+
| `onItemSelected` | `AXItemSelectedEvent` | Item selection changed |
|
108
|
+
| `onSelectionChanged` | `AXSelectionChangedEvent` | Selection state changed |
|
109
|
+
|
110
|
+
### Focus & Interaction Events
|
111
|
+
|
112
|
+
| Event | Type | Description |
|
113
|
+
| ----------- | ---------------- | ---------------------- |
|
114
|
+
| `onBlur` | `AXBlurEvent` | Component lost focus |
|
115
|
+
| `onFocus` | `AXFocusEvent` | Component gained focus |
|
116
|
+
| `onKeyDown` | `AXKeyDownEvent` | Key pressed |
|
117
|
+
|
118
|
+
### Data & State Events
|
119
|
+
|
120
|
+
| Event | Type | Description |
|
121
|
+
| ------------------------ | -------------------------- | ----------------------- |
|
122
|
+
| `onScrolledIndexChanged` | `AXListScrollIndexChanged` | Scroll position changed |
|
123
|
+
| `onLoadingChanged` | `AXLoadingChangedEvent` | Loading state changed |
|
124
|
+
| `onDataChanged` | `AXDataChangedEvent` | Data source changed |
|
125
|
+
|
126
|
+
### Tree Grouping Events
|
127
|
+
|
128
|
+
| Event | Type | Description |
|
129
|
+
| ----------------- | ---------------------- | ----------------------------- |
|
130
|
+
| `onItemExpanded` | `AXItemExpandedEvent` | Item expanded |
|
131
|
+
| `onItemCollapsed` | `AXItemCollapsedEvent` | Item collapsed |
|
132
|
+
| `onGroupToggle` | `AXGroupToggleEvent` | Group expand/collapse toggled |
|
133
|
+
|
134
|
+
## Public API Methods
|
135
|
+
|
136
|
+
### Selection Management
|
137
|
+
|
138
|
+
| Method | Parameters | Return | Description |
|
139
|
+
| ---------------------- | --------------- | ----------- | ----------------------------- |
|
140
|
+
| `selectItem(item)` | `item: unknown` | `void` | Select specific item |
|
141
|
+
| `deselectItem(item)` | `item: unknown` | `void` | Deselect specific item |
|
142
|
+
| `clearSelection()` | - | `void` | Clear all selections |
|
143
|
+
| `getSelectedItems()` | - | `unknown[]` | Get currently selected items |
|
144
|
+
| `isItemSelected(item)` | `item: unknown` | `boolean` | Check if item is selected |
|
145
|
+
| `isItemDisabled(item)` | `item: unknown` | `boolean` | Check if item is disabled |
|
146
|
+
| `canSelectItem(item)` | `item: unknown` | `boolean` | Check if item can be selected |
|
147
|
+
|
148
|
+
### Navigation & Focus
|
149
|
+
|
150
|
+
| Method | Parameters | Return | Description |
|
151
|
+
| ---------------------- | --------------- | ------ | ---------------------------- |
|
152
|
+
| `focus()` | - | `void` | Focus the component |
|
153
|
+
| `focusItem(index)` | `index: number` | `void` | Focus specific item by index |
|
154
|
+
| `focusNextItem()` | - | `void` | Focus next item |
|
155
|
+
| `focusPreviousItem()` | - | `void` | Focus previous item |
|
156
|
+
| `scrollToIndex(index)` | `index: number` | `void` | Scroll to specific index |
|
157
|
+
|
158
|
+
### Data & State
|
159
|
+
|
160
|
+
| Method | Parameters | Return | Description |
|
161
|
+
| ----------------------- | --------------- | ----------- | --------------------------- |
|
162
|
+
| `refresh()` | - | `void` | Refresh data source |
|
163
|
+
| `getItemByKey(key)` | `key: unknown` | `unknown` | Get item by key |
|
164
|
+
| `getItemByIndex(index)` | `index: number` | `unknown` | Get item by index |
|
165
|
+
| `getVisibleItems()` | - | `unknown[]` | Get items currently visible |
|
166
|
+
|
167
|
+
### Tree Grouping
|
168
|
+
|
169
|
+
| Method | Parameters | Return | Description |
|
170
|
+
| ---------------------- | --------------- | ----------- | ------------------------- |
|
171
|
+
| `expandItem(item)` | `item: unknown` | `void` | Expand group |
|
172
|
+
| `collapseItem(item)` | `item: unknown` | `void` | Collapse group |
|
173
|
+
| `toggleExpanded(item)` | `item: unknown` | `void` | Toggle expand/collapse |
|
174
|
+
| `expandAll()` | - | `void` | Expand all groups |
|
175
|
+
| `collapseAll()` | - | `void` | Collapse all groups |
|
176
|
+
| `isExpanded(item)` | `item: unknown` | `boolean` | Check if item is expanded |
|
177
|
+
| `getItemLevel(item)` | `item: unknown` | `number` | Get nesting level |
|
178
|
+
| `getParentItem(item)` | `item: unknown` | `unknown` | Get parent item |
|
179
|
+
| `getChildItems(item)` | `item: unknown` | `unknown[]` | Get child items |
|
180
|
+
|
181
|
+
### Viewport Management
|
182
|
+
|
183
|
+
| Method | Parameters | Return | Description |
|
184
|
+
| --------------------- | ---------- | ------ | -------------------------- |
|
185
|
+
| `render()` | - | `void` | Re-render the component |
|
186
|
+
| `checkViewportSize()` | - | `void` | Update viewport dimensions |
|
187
|
+
| `scrollToTop()` | - | `void` | Scroll to top |
|
188
|
+
| `scrollToBottom()` | - | `void` | Scroll to bottom |
|
189
|
+
|
190
|
+
## Template Context Variables
|
191
|
+
|
192
|
+
### Standard Item Context
|
193
|
+
|
194
|
+
| Variable | Type | Description |
|
195
|
+
| ----------- | --------- | --------------- |
|
196
|
+
| `$implicit` | `unknown` | The item data |
|
197
|
+
| `index` | `number` | Item index |
|
198
|
+
| `selected` | `boolean` | Selection state |
|
199
|
+
| `disabled` | `boolean` | Disabled state |
|
200
|
+
| `first` | `boolean` | First item flag |
|
201
|
+
| `last` | `boolean` | Last item flag |
|
202
|
+
| `even` | `boolean` | Even index flag |
|
203
|
+
| `odd` | `boolean` | Odd index flag |
|
204
|
+
|
205
|
+
### Tree Grouping Context
|
206
|
+
|
207
|
+
| Variable | Type | Description |
|
208
|
+
| ------------- | ----------- | ------------------------------ |
|
209
|
+
| `level` | `number` | Nesting level (0, 1, 2, etc.) |
|
210
|
+
| `isGroup` | `boolean` | Whether item is a group/parent |
|
211
|
+
| `isExpanded` | `boolean` | Whether group is expanded |
|
212
|
+
| `hasChildren` | `boolean` | Whether item has children |
|
213
|
+
| `parent` | `unknown` | Reference to parent item |
|
214
|
+
| `children` | `unknown[]` | Child items array |
|
215
|
+
|
216
|
+
## Behavior Specifications
|
217
|
+
|
218
|
+
### Disabled Items
|
219
|
+
|
220
|
+
- **Visual**: Grayed out appearance with reduced opacity
|
221
|
+
- **Focus**: Disabled items are focusable but not selectable
|
222
|
+
- **Navigation**: Skipped in keyboard navigation (Arrow keys)
|
223
|
+
- **Selection**: Cannot be selected or deselected
|
224
|
+
- **Checkbox**: Disabled checkboxes for disabled items
|
225
|
+
|
226
|
+
### Tooltip Behavior
|
227
|
+
|
228
|
+
- **Custom Tooltip**: `tooltipField` provides custom tooltip content
|
229
|
+
- **Default Tooltip**: Shows on hover regardless of truncation
|
230
|
+
- **Priority**: Custom tooltip overrides default text tooltip
|
231
|
+
|
232
|
+
### Checkbox Behavior
|
233
|
+
|
234
|
+
- **Display**: Controlled by `showCheckbox` input
|
235
|
+
- **State**: Disabled items show disabled checkboxes
|
236
|
+
- **Group Headers**: Can show checkboxes for "select all children" behavior
|
237
|
+
- **Behavior Options**: Configurable checkbox interaction patterns
|
238
|
+
|
239
|
+
### Tree Grouping Behavior
|
240
|
+
|
241
|
+
- **Expand/Collapse**: Click on group header or expand icon
|
242
|
+
- **Selection**: Group selection can affect child selection
|
243
|
+
- **Navigation**: Keyboard navigation respects expanded/collapsed state
|
244
|
+
- **Performance**: Virtual scrolling optimized for tree structures
|
245
|
+
|
246
|
+
## CSS Classes & Styling
|
247
|
+
|
248
|
+
### Container Classes
|
249
|
+
|
250
|
+
- `.ax-list-container` - Main container
|
251
|
+
- `.ax-list-container.ax-height-auto` - Auto height mode
|
252
|
+
- `.ax-list-container.ax-tree-mode` - Tree grouping mode
|
253
|
+
|
254
|
+
### Item Classes
|
255
|
+
|
256
|
+
- `.ax-list-item` - Individual items
|
257
|
+
- `.ax-list-item.ax-state-selected` - Selected state
|
258
|
+
- `.ax-list-item.ax-state-disabled` - Disabled state
|
259
|
+
- `.ax-list-item.ax-state-focused` - Focused state
|
260
|
+
- `.ax-list-item.ax-state-loading` - Loading state
|
261
|
+
- `.ax-list-item.ax-state-empty` - Empty state
|
262
|
+
|
263
|
+
### Tree Grouping Classes
|
264
|
+
|
265
|
+
- `.ax-list-item.ax-group-header` - Group header items
|
266
|
+
- `.ax-list-item.ax-group-expanded` - Expanded group
|
267
|
+
- `.ax-list-item.ax-group-collapsed` - Collapsed group
|
268
|
+
- `.ax-list-item.ax-group-child` - Child items
|
269
|
+
- `.ax-list-item.ax-level-{n}` - Nesting level styling
|
270
|
+
|
271
|
+
### State Classes
|
272
|
+
|
273
|
+
- `.ax-list-item.ax-level-0` - Root level items
|
274
|
+
- `.ax-list-item.ax-level-1` - First level nested items
|
275
|
+
- `.ax-list-item.ax-level-2` - Second level nested items
|
276
|
+
- `.ax-list-item.ax-has-children` - Items with children
|
277
|
+
- `.ax-list-item.ax-no-children` - Items without children
|
278
|
+
|
279
|
+
## Performance Considerations
|
280
|
+
|
281
|
+
### Virtual Scrolling
|
282
|
+
|
283
|
+
- **Item Size**: Fixed item height for optimal performance
|
284
|
+
- **Viewport Management**: Efficient viewport size calculations
|
285
|
+
- **Memory Usage**: Minimal DOM elements for large datasets
|
286
|
+
|
287
|
+
### Signal Optimization
|
288
|
+
|
289
|
+
- **Change Detection**: Signal-based updates for minimal re-renders
|
290
|
+
- **Computed Values**: Efficient computed signals for derived state
|
291
|
+
- **Memory Management**: Proper signal cleanup and disposal
|
292
|
+
|
293
|
+
### Tree Grouping Performance
|
294
|
+
|
295
|
+
- **Lazy Loading**: Children loaded on demand
|
296
|
+
- **Virtual Scrolling**: Optimized for hierarchical structures
|
297
|
+
- **Selection Caching**: Efficient selection state management
|
298
|
+
|
299
|
+
## Migration Guide
|
300
|
+
|
301
|
+
### From AXListComponent
|
302
|
+
|
303
|
+
- **Component Name**: Change from `ax-list` to `ax-data-list`
|
304
|
+
- **Base Class**: Change from `MXSelectionValueComponent` to `MXValueComponent`
|
305
|
+
- **Inputs**: Update input property names (e.g., `checkbox` → `showCheckbox`)
|
306
|
+
- **Events**: Update event handler names
|
307
|
+
- **Templates**: Ensure template context compatibility
|
308
|
+
|
309
|
+
### Breaking Changes
|
310
|
+
|
311
|
+
- **Selection API**: Simplified selection management
|
312
|
+
- **Event Names**: Updated event naming conventions
|
313
|
+
- **Template Context**: Enhanced context variables for tree grouping
|
314
|
+
|
315
|
+
## Future Enhancements
|
316
|
+
|
317
|
+
### Planned Features
|
318
|
+
|
319
|
+
- **Drag & Drop**: Item reordering and tree restructuring
|
320
|
+
- **Filtering**: Client-side filtering capabilities
|
321
|
+
- **Sorting**: Multi-column sorting support
|
322
|
+
- **Pagination**: Built-in pagination controls
|
323
|
+
- **Export**: Data export functionality
|
324
|
+
|
325
|
+
### Performance Improvements
|
326
|
+
|
327
|
+
- **Web Workers**: Background data processing
|
328
|
+
- **Service Workers**: Offline data caching
|
329
|
+
- **IndexedDB**: Local data persistence
|
330
|
+
- **WebAssembly**: High-performance data operations
|
331
|
+
|
332
|
+
## Implementation Notes
|
333
|
+
|
334
|
+
### Development Phases
|
335
|
+
|
336
|
+
1. **Phase 1**: Core functionality with virtual scrolling
|
337
|
+
2. **Phase 2**: Selection management and templates
|
338
|
+
3. **Phase 3**: Tree grouping implementation
|
339
|
+
4. **Phase 4**: Advanced features and optimizations
|
340
|
+
|
341
|
+
### Testing Strategy
|
342
|
+
|
343
|
+
- **Unit Tests**: Component logic and API methods
|
344
|
+
- **Integration Tests**: Template system and data binding
|
345
|
+
- **Performance Tests**: Virtual scrolling and large datasets
|
346
|
+
- **Accessibility Tests**: Keyboard navigation and screen readers
|
347
|
+
|
348
|
+
### Browser Support
|
349
|
+
|
350
|
+
- **Modern Browsers**: Chrome 90+, Firefox 88+, Safari 14+
|
351
|
+
- **Mobile**: iOS Safari 14+, Chrome Mobile 90+
|
352
|
+
- **Fallbacks**: Graceful degradation for older browsers
|
353
|
+
|
354
|
+
---
|
355
|
+
|
356
|
+
_This README serves as the complete specification for AXListComponent2 development and implementation._
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
2
|
+
import { OnInit, TemplateRef, EventEmitter } from '@angular/core';
|
3
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
4
|
+
import { MXValueComponent, AXDataSource, AXListDataSource } from '@acorex/cdk/common';
|
5
|
+
|
6
|
+
interface AXDataListItem {
|
7
|
+
id: string;
|
8
|
+
text: string;
|
9
|
+
description?: string;
|
10
|
+
disabled?: boolean;
|
11
|
+
tooltip?: string;
|
12
|
+
level?: number;
|
13
|
+
children?: AXDataListItem[];
|
14
|
+
expanded?: boolean;
|
15
|
+
[key: string]: any;
|
16
|
+
}
|
17
|
+
interface AXDataListConfig {
|
18
|
+
disabledField?: string;
|
19
|
+
tooltipField?: string;
|
20
|
+
textField?: string;
|
21
|
+
descriptionField?: string;
|
22
|
+
levelField?: string;
|
23
|
+
childrenField?: string;
|
24
|
+
expandedField?: string;
|
25
|
+
}
|
26
|
+
interface AXDataListSelectionChange {
|
27
|
+
selectedItems: AXDataListItem[];
|
28
|
+
selectedKeys: string[];
|
29
|
+
isMultiple: boolean;
|
30
|
+
}
|
31
|
+
declare class AXDataListComponent extends MXValueComponent implements OnInit {
|
32
|
+
dataSource: _angular_core.InputSignal<AXDataSource<AXDataListItem>>;
|
33
|
+
config: _angular_core.InputSignal<AXDataListConfig>;
|
34
|
+
multiple: _angular_core.InputSignal<boolean>;
|
35
|
+
showCheckbox: _angular_core.InputSignal<boolean>;
|
36
|
+
itemHeight: _angular_core.InputSignal<number>;
|
37
|
+
isItemTruncated: _angular_core.InputSignal<boolean>;
|
38
|
+
showItemTooltip: _angular_core.InputSignal<boolean>;
|
39
|
+
disabledField: _angular_core.InputSignal<string>;
|
40
|
+
tooltipField: _angular_core.InputSignal<string>;
|
41
|
+
textField: _angular_core.InputSignal<string>;
|
42
|
+
descriptionField: _angular_core.InputSignal<string>;
|
43
|
+
levelField: _angular_core.InputSignal<string>;
|
44
|
+
childrenField: _angular_core.InputSignal<string>;
|
45
|
+
expandedField: _angular_core.InputSignal<string>;
|
46
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<any>>;
|
47
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<any>>;
|
48
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<any>>;
|
49
|
+
selectionChange: EventEmitter<AXDataListSelectionChange>;
|
50
|
+
itemClick: EventEmitter<AXDataListItem>;
|
51
|
+
itemDoubleClick: EventEmitter<AXDataListItem>;
|
52
|
+
expandChange: EventEmitter<{
|
53
|
+
item: AXDataListItem;
|
54
|
+
expanded: boolean;
|
55
|
+
}>;
|
56
|
+
viewport: CdkVirtualScrollViewport;
|
57
|
+
protected loading: _angular_core.WritableSignal<boolean>;
|
58
|
+
protected totalItems: _angular_core.WritableSignal<number>;
|
59
|
+
protected selectedItems: _angular_core.WritableSignal<AXDataListItem[]>;
|
60
|
+
protected selectedKeys: _angular_core.WritableSignal<string[]>;
|
61
|
+
protected focusedIndex: _angular_core.WritableSignal<number>;
|
62
|
+
protected expandedItems: _angular_core.WritableSignal<Set<string>>;
|
63
|
+
protected listDataSource: AXListDataSource<AXDataListItem> | null;
|
64
|
+
protected hasItems: _angular_core.Signal<boolean>;
|
65
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
66
|
+
protected isMultipleSelection: _angular_core.Signal<boolean>;
|
67
|
+
protected showCheckboxes: _angular_core.Signal<boolean>;
|
68
|
+
selectionModel: _angular_core.ModelSignal<string | string[]>;
|
69
|
+
constructor();
|
70
|
+
ngOnInit(): void;
|
71
|
+
private setupDataSourceSubscription;
|
72
|
+
protected selectItem(item: AXDataListItem, event?: Event): void;
|
73
|
+
protected toggleMultipleSelection(item: AXDataListItem): void;
|
74
|
+
protected setSingleSelection(item: AXDataListItem): void;
|
75
|
+
protected deselectItem(item: AXDataListItem): void;
|
76
|
+
protected updateSelectedItems(): void;
|
77
|
+
protected isItemSelected(item: AXDataListItem): boolean;
|
78
|
+
protected isItemDisabled(item: AXDataListItem): boolean;
|
79
|
+
protected getItemKey(item: AXDataListItem): string;
|
80
|
+
protected toggleExpanded(item: AXDataListItem, event: Event): void;
|
81
|
+
protected hasChildren(item: AXDataListItem): boolean;
|
82
|
+
protected isExpanded(item: AXDataListItem): boolean;
|
83
|
+
protected getItemLevel(item: AXDataListItem): number;
|
84
|
+
protected onKeyDown(event: KeyboardEvent, item: AXDataListItem, index: number): void;
|
85
|
+
protected focusNextItem(currentIndex: number): void;
|
86
|
+
protected focusPreviousItem(currentIndex: number): void;
|
87
|
+
protected scrollToIndex(index: number): void;
|
88
|
+
protected onItemClick(item: AXDataListItem, event: Event): void;
|
89
|
+
protected onCheckboxChange(item: AXDataListItem, checked: boolean): void;
|
90
|
+
protected onCheckboxClick(event: Event): void;
|
91
|
+
protected onItemDoubleClick(item: AXDataListItem): void;
|
92
|
+
protected getItemText(item: AXDataListItem): string;
|
93
|
+
protected getItemDescription(item: AXDataListItem): string;
|
94
|
+
protected getItemTooltip(item: AXDataListItem): string;
|
95
|
+
protected shouldShowTooltip(item: AXDataListItem): boolean;
|
96
|
+
protected trackByFn: (index: number, item: AXDataListItem) => string;
|
97
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDataListComponent, never>;
|
98
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDataListComponent, "ax-data-list", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "descriptionField": { "alias": "descriptionField"; "required": false; "isSignal": true; }; "levelField": { "alias": "levelField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "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; }; "selectionModel": { "alias": "selectionModel"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "itemClick": "itemClick"; "itemDoubleClick": "itemDoubleClick"; "expandChange": "expandChange"; "selectionModel": "selectionModelChange"; }, never, never, true, never>;
|
99
|
+
}
|
100
|
+
|
101
|
+
export { AXDataListComponent };
|
102
|
+
export type { AXDataListConfig, AXDataListItem, AXDataListSelectionChange };
|
package/data-pager/index.d.ts
CHANGED
@@ -145,11 +145,11 @@ declare class AXDataPagerNextButtonsComponent extends AXDataPagerChild {
|
|
145
145
|
/**
|
146
146
|
* @ignore
|
147
147
|
*/
|
148
|
-
_emitOnLastPageClick(e: AXClickEvent): void;
|
148
|
+
protected _emitOnLastPageClick(e: AXClickEvent): void;
|
149
149
|
/**
|
150
150
|
* @ignore
|
151
151
|
*/
|
152
|
-
_emitOnNextPageClick(e: AXClickEvent): void;
|
152
|
+
protected _emitOnNextPageClick(e: AXClickEvent): void;
|
153
153
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerNextButtonsComponent, never>;
|
154
154
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerNextButtonsComponent, "ax-data-pager-next-buttons", never, {}, {}, never, never, true, never>;
|
155
155
|
}
|
@@ -160,10 +160,10 @@ declare class AXDataPagerNextButtonsComponent extends AXDataPagerChild {
|
|
160
160
|
* @category Components
|
161
161
|
*/
|
162
162
|
declare class AXDataPagerNumericSelectorComponent extends AXDataPagerChild {
|
163
|
-
_items: AXButtonItem[];
|
164
|
-
_currentPage: number;
|
165
|
-
_lastPage: number;
|
166
|
-
_loading: boolean;
|
163
|
+
protected _items: AXButtonItem[];
|
164
|
+
protected _currentPage: number;
|
165
|
+
protected _lastPage: number;
|
166
|
+
protected _loading: boolean;
|
167
167
|
/**
|
168
168
|
* @ignore
|
169
169
|
*/
|
@@ -183,7 +183,7 @@ declare class AXDataPagerNumericSelectorComponent extends AXDataPagerChild {
|
|
183
183
|
/**
|
184
184
|
* @ignore
|
185
185
|
*/
|
186
|
-
_handleOnItemClick(e: any): void;
|
186
|
+
protected _handleOnItemClick(e: any): void;
|
187
187
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerNumericSelectorComponent, never>;
|
188
188
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerNumericSelectorComponent, "ax-data-pager-numeric-selector", never, {}, {}, never, never, true, never>;
|
189
189
|
}
|
@@ -197,11 +197,11 @@ declare class AXDataPagerPageSizesComponent extends AXDataPagerChild {
|
|
197
197
|
/**
|
198
198
|
* @ignore
|
199
199
|
*/
|
200
|
-
_size: number;
|
200
|
+
protected _size: number;
|
201
201
|
/**
|
202
202
|
* @ignore
|
203
203
|
*/
|
204
|
-
_items: any[];
|
204
|
+
protected _items: any[];
|
205
205
|
/**
|
206
206
|
* @ignore
|
207
207
|
*/
|
@@ -223,7 +223,7 @@ declare class AXDataPagerPageSizesComponent extends AXDataPagerChild {
|
|
223
223
|
/**
|
224
224
|
* @ignore
|
225
225
|
*/
|
226
|
-
_emitOnItemClick(e: AXClickEvent): void;
|
226
|
+
protected _emitOnItemClick(e: AXClickEvent): void;
|
227
227
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerPageSizesComponent, never>;
|
228
228
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerPageSizesComponent, "ax-data-pager-page-sizes", never, { "sizes": { "alias": "sizes"; "required": false; }; }, {}, never, never, true, never>;
|
229
229
|
}
|
@@ -249,11 +249,11 @@ declare class AXDataPagerPrevButtonsComponent extends AXDataPagerChild {
|
|
249
249
|
/**
|
250
250
|
* @ignore
|
251
251
|
*/
|
252
|
-
_emitOnFirstPageClick(e: AXClickEvent): void;
|
252
|
+
protected _emitOnFirstPageClick(e: AXClickEvent): void;
|
253
253
|
/**
|
254
254
|
* @ignore
|
255
255
|
*/
|
256
|
-
_emitOnPrevPageClick(e: AXClickEvent): void;
|
256
|
+
protected _emitOnPrevPageClick(e: AXClickEvent): void;
|
257
257
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerPrevButtonsComponent, never>;
|
258
258
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerPrevButtonsComponent, "ax-data-pager-prev-buttons", never, {}, {}, never, never, true, never>;
|
259
259
|
}
|
@@ -377,28 +377,33 @@ declare class AXDataPagerComponent extends MXValueComponent<number> {
|
|
377
377
|
private _emitChangedEvent;
|
378
378
|
/**
|
379
379
|
* Navigates to the next page, or to the last page if on the final page.
|
380
|
-
*
|
380
|
+
*
|
381
|
+
* @returns void - No return value. The component navigates to the next available page.
|
381
382
|
*/
|
382
383
|
goNextPage(): void;
|
383
384
|
/**
|
384
385
|
* Navigates to the last page.
|
385
|
-
*
|
386
|
+
*
|
387
|
+
* @returns void - No return value. The component navigates to the final page.
|
386
388
|
*/
|
387
389
|
goLastPage(): void;
|
388
390
|
/**
|
389
391
|
* Navigates to the first page.
|
390
|
-
*
|
392
|
+
*
|
393
|
+
* @returns void - No return value. The component navigates to the first page.
|
391
394
|
*/
|
392
395
|
goFirstPage(): void;
|
393
396
|
/**
|
394
397
|
* Navigates to the previous page, or to the first page if on the initial page.
|
395
|
-
*
|
398
|
+
*
|
399
|
+
* @returns void - No return value. The component navigates to the previous available page.
|
396
400
|
*/
|
397
401
|
goPrevPage(): void;
|
398
402
|
/**
|
399
403
|
* Navigates to a specified page.
|
404
|
+
*
|
400
405
|
* @param page - The page number to navigate to.
|
401
|
-
* @
|
406
|
+
* @returns void - No return value. The component navigates to the specified page.
|
402
407
|
*/
|
403
408
|
goToPage(page: number): void;
|
404
409
|
get __hostClass(): string;
|
package/data-table/index.d.ts
CHANGED
@@ -43,13 +43,42 @@ declare abstract class AXBaseDataTable extends MXBaseComponent {
|
|
43
43
|
*/
|
44
44
|
parentField: string;
|
45
45
|
selectedRowsChange: EventEmitter<unknown[]>;
|
46
|
+
/**
|
47
|
+
* Gets the data source key field name.
|
48
|
+
*
|
49
|
+
* @returns string - The key field name for the data source.
|
50
|
+
*/
|
46
51
|
getDataSourceKey(): string;
|
47
52
|
private _selectedRows;
|
48
53
|
get selectedRows(): unknown[];
|
49
54
|
set selectedRows(v: unknown[]);
|
55
|
+
/**
|
56
|
+
* Expands a row to show its children.
|
57
|
+
*
|
58
|
+
* @param row - The row data to expand.
|
59
|
+
* @returns Promise<void> - Promise that resolves when expansion is complete.
|
60
|
+
*/
|
50
61
|
expandRow(row: any): Promise<void>;
|
62
|
+
/**
|
63
|
+
* Refreshes the children of a specific item.
|
64
|
+
*
|
65
|
+
* @param id - The ID of the item whose children should be refreshed.
|
66
|
+
* @returns Promise<void> - Promise that resolves when refresh is complete.
|
67
|
+
*/
|
51
68
|
refreshItemChildren(id: string): Promise<void>;
|
69
|
+
/**
|
70
|
+
* Selects one or more rows.
|
71
|
+
*
|
72
|
+
* @param rows - The rows to select.
|
73
|
+
* @returns void - No return value.
|
74
|
+
*/
|
52
75
|
selectRows(...rows: unknown[]): void;
|
76
|
+
/**
|
77
|
+
* Unselects one or more rows.
|
78
|
+
*
|
79
|
+
* @param rows - The rows to unselect.
|
80
|
+
* @returns void - No return value.
|
81
|
+
*/
|
53
82
|
unSelectRows(...rows: unknown[]): void;
|
54
83
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXBaseDataTable, never>;
|
55
84
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXBaseDataTable>;
|
@@ -87,9 +116,33 @@ declare class AXDataTableColumnResizableDirective {
|
|
87
116
|
private onMouseMoveRawBound;
|
88
117
|
private onMouseUpBound;
|
89
118
|
constructor();
|
119
|
+
/**
|
120
|
+
* Handles mouse down events to initiate column resizing.
|
121
|
+
*
|
122
|
+
* @param event - The mouse down event.
|
123
|
+
* @returns void - No return value.
|
124
|
+
*/
|
90
125
|
onMouseDown(event: MouseEvent): void;
|
126
|
+
/**
|
127
|
+
* Handles raw mouse move events and forwards them to the debounced resize stream.
|
128
|
+
* This method acts as a bridge between the raw DOM event and the debounced onMouseMove method.
|
129
|
+
*
|
130
|
+
* @param event - The raw mouse move event.
|
131
|
+
* @returns void - No return value.
|
132
|
+
*/
|
91
133
|
onMouseMoveRaw(event: MouseEvent): void;
|
134
|
+
/**
|
135
|
+
* Handles mouse move events during column resizing.
|
136
|
+
*
|
137
|
+
* @param event - The mouse move event.
|
138
|
+
* @returns void - No return value.
|
139
|
+
*/
|
92
140
|
onMouseMove(event: MouseEvent): void;
|
141
|
+
/**
|
142
|
+
* Handles mouse up events to complete column resizing.
|
143
|
+
*
|
144
|
+
* @returns void - No return value.
|
145
|
+
*/
|
93
146
|
onMouseUp(): void;
|
94
147
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableColumnResizableDirective, never>;
|
95
148
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDataTableColumnResizableDirective, "[ax-table-column-resizble]", never, { "column": { "alias": "ax-table-column-resizble"; "required": false; }; }, {}, never, never, true, never>;
|
@@ -1024,14 +1077,17 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
|
|
1024
1077
|
* @param column - The column that was clicked.
|
1025
1078
|
* @ignore
|
1026
1079
|
*/
|
1027
|
-
handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent): void;
|
1080
|
+
protected handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent): void;
|
1028
1081
|
/**
|
1029
1082
|
* @ignore
|
1030
1083
|
*/
|
1031
1084
|
protected getSort(column: AXDataTableColumnComponent): string | undefined;
|
1032
1085
|
/**
|
1033
|
-
* Refreshes the data
|
1034
|
-
*
|
1086
|
+
* Refreshes the data table with optional reset options.
|
1087
|
+
*
|
1088
|
+
* @param options - Configuration options for refresh operation.
|
1089
|
+
* @param options.reset - Whether to reset pagination state.
|
1090
|
+
* @returns void - No return value.
|
1035
1091
|
*/
|
1036
1092
|
refresh(options?: {
|
1037
1093
|
reset?: boolean;
|