@progress/kendo-angular-treelist 17.0.0-develop.9 → 17.0.1-develop.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/binding-directives/base-binding.directive.d.ts +1 -1
- package/binding-directives/flat-binding.directive.d.ts +1 -1
- package/binding-directives/hierarchy-binding.directive.d.ts +1 -1
- package/column-menu/column-chooser.component.d.ts +1 -1
- package/column-menu/column-list.component.d.ts +2 -2
- package/column-menu/column-menu-chooser.component.d.ts +1 -1
- package/column-menu/column-menu-filter.component.d.ts +1 -1
- package/column-menu/column-menu-item-base.d.ts +1 -1
- package/column-menu/column-menu-item.component.d.ts +1 -1
- package/column-menu/column-menu.component.d.ts +1 -1
- package/column-resizing/column-handle.directive.d.ts +1 -1
- package/column-resizing/column-resize.interface.d.ts +3 -3
- package/column-resizing/table.directive.d.ts +1 -1
- package/columns/checkbox-column.component.d.ts +1 -1
- package/columns/column-base.d.ts +1 -1
- package/columns/column.component.d.ts +1 -1
- package/columns/sort-settings.d.ts +2 -2
- package/columns/span-column.component.d.ts +13 -13
- package/common/create-form-group.d.ts +1 -1
- package/{pager → common}/pager-settings.d.ts +1 -1
- package/common/provider.service.d.ts +0 -1
- package/common/remove-confirmation.d.ts +1 -1
- package/data/treelist-item.interface.d.ts +1 -1
- package/directives.d.ts +7 -17
- package/dragdrop/context-types.d.ts +1 -1
- package/dragdrop/draggable-column.directive.d.ts +1 -1
- package/dragdrop/drop-target.directive.d.ts +1 -1
- package/editing/add-command-tool.directive.d.ts +38 -0
- package/editing/add-command.directive.d.ts +1 -1
- package/editing/cancel-command.directive.d.ts +1 -1
- package/editing/cancel-event-args.interface.d.ts +1 -1
- package/editing/edit-command.directive.d.ts +1 -1
- package/editing/edit.service.d.ts +3 -3
- package/editing/remove-command.directive.d.ts +1 -1
- package/editing/save-command.directive.d.ts +1 -1
- package/editing-directives/create-form-group-args.interface.d.ts +1 -1
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/editing-directives/in-cell-editing.directive.d.ts +1 -1
- package/editing-directives/reactive-editing.directive.d.ts +1 -1
- package/editing-directives/row-editing-directive-base.d.ts +0 -1
- package/editing-directives/template-editing.directive.d.ts +1 -2
- package/{esm2020 → esm2022}/binding-directives/base-binding.directive.mjs +17 -13
- package/{esm2020 → esm2022}/binding-directives/data-bound-tree-component.mjs +3 -3
- package/{esm2020 → esm2022}/binding-directives/flat-binding.directive.mjs +29 -21
- package/{esm2020 → esm2022}/binding-directives/hierarchy-binding.directive.mjs +26 -19
- package/{esm2020 → esm2022}/column-menu/column-chooser.component.mjs +26 -18
- package/{esm2020 → esm2022}/column-menu/column-list.component.mjs +71 -59
- package/{esm2020 → esm2022}/column-menu/column-locked-change-event.mjs +4 -0
- package/{esm2020 → esm2022}/column-menu/column-menu-chooser.component.mjs +28 -25
- package/{esm2020 → esm2022}/column-menu/column-menu-filter.component.mjs +23 -22
- package/{esm2020 → esm2022}/column-menu/column-menu-item-base.mjs +9 -6
- package/{esm2020 → esm2022}/column-menu/column-menu-item-content-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/column-menu/column-menu-item.component.mjs +67 -42
- package/{esm2020 → esm2022}/column-menu/column-menu-lock.component.mjs +9 -6
- package/{esm2020 → esm2022}/column-menu/column-menu-sort.component.mjs +8 -6
- package/{esm2020 → esm2022}/column-menu/column-menu-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/column-menu/column-menu.component.mjs +49 -25
- package/{esm2020 → esm2022}/column-menu/column-menu.service.mjs +23 -9
- package/{esm2020 → esm2022}/column-menu/column-visibility-change-event.mjs +4 -0
- package/{esm2020 → esm2022}/column-resizing/column-handle.directive.mjs +21 -14
- package/{esm2020 → esm2022}/column-resizing/column-resizing.service.mjs +8 -8
- package/{esm2020 → esm2022}/column-resizing/table.directive.mjs +17 -8
- package/{esm2020 → esm2022}/columns/checkbox-column.component.mjs +27 -12
- package/{esm2020 → esm2022}/columns/column-base.mjs +140 -72
- package/{esm2020 → esm2022}/columns/column-group.component.mjs +24 -20
- package/{esm2020 → esm2022}/columns/column-list.mjs +4 -3
- package/{esm2020 → esm2022}/columns/column.component.mjs +56 -38
- package/{esm2020 → esm2022}/columns/columns-container.mjs +14 -13
- package/{esm2020 → esm2022}/columns/command-column.component.mjs +11 -9
- package/{esm2020 → esm2022}/columns/rowreorder-column.component.mjs +13 -12
- package/{esm2020 → esm2022}/columns/span-column.component.mjs +64 -29
- package/{esm2020 → esm2022}/common/column-info.service.mjs +8 -9
- package/esm2022/common/dom-events.service.mjs +24 -0
- package/{esm2020 → esm2022}/common/id.service.mjs +4 -3
- package/{esm2020 → esm2022}/common/option-changes.service.mjs +5 -7
- package/{esm2020 → esm2022}/common/preventable-event.mjs +1 -3
- package/{esm2020 → esm2022}/common/provider.service.mjs +8 -6
- package/{esm2020 → esm2022}/common/single-popup.service.mjs +19 -8
- package/{esm2020 → esm2022}/common/sort.service.mjs +1 -3
- package/{esm2020 → esm2022}/data/change-notification.service.mjs +6 -4
- package/{esm2020 → esm2022}/data/data.collection.mjs +45 -23
- package/{esm2020 → esm2022}/directives.mjs +8 -25
- package/{esm2020 → esm2022}/dragdrop/column-reorder-event.mjs +14 -0
- package/{esm2020 → esm2022}/dragdrop/column-reorder.service.mjs +4 -6
- package/{esm2020 → esm2022}/dragdrop/drag-and-drop.service.mjs +6 -8
- package/{esm2020 → esm2022}/dragdrop/drag-hint.service.mjs +7 -4
- package/{esm2020 → esm2022}/dragdrop/draggable-column.directive.mjs +22 -13
- package/{esm2020 → esm2022}/dragdrop/drop-cue.service.mjs +4 -3
- package/{esm2020 → esm2022}/dragdrop/drop-target.directive.mjs +10 -8
- package/esm2022/editing/add-command-tool.directive.mjs +63 -0
- package/{esm2020 → esm2022}/editing/add-command.directive.mjs +10 -6
- package/{esm2020 → esm2022}/editing/base-command.directive.mjs +9 -8
- package/{esm2020 → esm2022}/editing/cancel-command.directive.mjs +10 -6
- package/{esm2020 → esm2022}/editing/cell-close-event.mjs +20 -4
- package/{esm2020 → esm2022}/editing/edit-command.directive.mjs +10 -6
- package/{esm2020 → esm2022}/editing/edit-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/editing/edit.service.mjs +18 -13
- package/{esm2020 → esm2022}/editing/remove-command.directive.mjs +10 -6
- package/{esm2020 → esm2022}/editing/save-command.directive.mjs +10 -6
- package/{esm2020 → esm2022}/editing-directives/editing-directive-base.mjs +17 -7
- package/{esm2020 → esm2022}/editing-directives/flat-edit.service.mjs +1 -0
- package/{esm2020 → esm2022}/editing-directives/hierarchy-edit.service.mjs +1 -0
- package/{esm2020 → esm2022}/editing-directives/in-cell-editing.directive.mjs +8 -3
- package/{esm2020 → esm2022}/editing-directives/reactive-editing.directive.mjs +8 -3
- package/{esm2020 → esm2022}/editing-directives/row-editing-directive-base.mjs +3 -3
- package/{esm2020 → esm2022}/editing-directives/template-editing.directive.mjs +9 -3
- package/esm2022/excel/excel-command-tool.directive.mjs +66 -0
- package/{esm2020 → esm2022}/excel/excel-command.directive.mjs +10 -9
- package/{esm2020 → esm2022}/excel/excel-export-event.mjs +1 -0
- package/{esm2020 → esm2022}/excel/excel.component.mjs +71 -22
- package/{esm2020 → esm2022}/excel/excel.module.mjs +5 -4
- package/{esm2020 → esm2022}/excel/excel.service.mjs +7 -8
- package/{esm2020 → esm2022}/expand-state/expand-event.mjs +12 -0
- package/{esm2020 → esm2022}/expand-state/expand-state.service.mjs +5 -7
- package/{esm2020 → esm2022}/expand-state/expandable-tree-component.mjs +3 -3
- package/{esm2020 → esm2022}/expand-state/expandable.directive.mjs +23 -19
- package/{esm2020 → esm2022}/filtering/base-filter-cell.component.mjs +18 -7
- package/{esm2020 → esm2022}/filtering/boolean-filter.component.mjs +33 -29
- package/{esm2020 → esm2022}/filtering/cell/autocomplete-filter-cell.component.mjs +15 -13
- package/{esm2020 → esm2022}/filtering/cell/boolean-filter-cell.component.mjs +5 -4
- package/{esm2020 → esm2022}/filtering/cell/date-filter-cell.component.mjs +11 -10
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-host.directive.mjs +3 -3
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-operators.component.mjs +53 -33
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-wrapper.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/cell/filter-cell.component.mjs +11 -8
- package/{esm2020 → esm2022}/filtering/cell/numeric-filter-cell.component.mjs +23 -17
- package/{esm2020 → esm2022}/filtering/cell/string-filter-cell.component.mjs +34 -28
- package/{esm2020 → esm2022}/filtering/date-filter.component.mjs +64 -39
- package/{esm2020 → esm2022}/filtering/filter-host.directive.mjs +8 -3
- package/{esm2020 → esm2022}/filtering/filter-input-wrapper.component.mjs +11 -8
- package/{esm2020 → esm2022}/filtering/filter-input.directive.mjs +21 -13
- package/{esm2020 → esm2022}/filtering/filter-row.component.mjs +11 -8
- package/{esm2020 → esm2022}/filtering/filter.service.mjs +7 -9
- package/{esm2020 → esm2022}/filtering/menu/boolean-filter-menu.component.mjs +33 -26
- package/{esm2020 → esm2022}/filtering/menu/date-filter-menu-input.component.mjs +21 -5
- package/{esm2020 → esm2022}/filtering/menu/date-filter-menu.component.mjs +22 -21
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-container.component.mjs +28 -16
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-host.directive.mjs +4 -3
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-input-wrapper.component.mjs +9 -7
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/filtering/menu/filter-menu.component.mjs +20 -8
- package/{esm2020 → esm2022}/filtering/menu/filter-radio-button.directive.mjs +7 -3
- package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu-input.component.mjs +43 -17
- package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu.component.mjs +32 -31
- package/{esm2020 → esm2022}/filtering/menu/string-filter-menu-input.component.mjs +23 -16
- package/{esm2020 → esm2022}/filtering/menu/string-filter-menu.component.mjs +32 -21
- package/{esm2020 → esm2022}/filtering/numeric-filter.component.mjs +51 -28
- package/{esm2020 → esm2022}/filtering/operators/after-eq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/after-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/before-eq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/before-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/contains-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/ends-with-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/eq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/filter-operator.base.mjs +15 -10
- package/{esm2020 → esm2022}/filtering/operators/gt-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/gte-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/is-empty-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/is-not-empty-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/is-not-null-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/isnull-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/lt-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/lte-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/neq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/not-contains-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/starts-with-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/string-filter.component.mjs +20 -15
- package/{esm2020 → esm2022}/index.mjs +3 -15
- package/{esm2020 → esm2022}/layout/browser-support.service.mjs +7 -4
- package/{esm2020 → esm2022}/layout/resizable.directive.mjs +16 -10
- package/{esm2020 → esm2022}/layout/resize.service.mjs +6 -8
- package/{esm2020 → esm2022}/layout/responsive.service.mjs +7 -9
- package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/localization/messages.mjs +416 -0
- package/{esm2020 → esm2022}/navigation/default-focusable-element.mjs +10 -6
- package/{esm2020 → esm2022}/navigation/focus-group.mjs +12 -11
- package/{esm2020 → esm2022}/navigation/focus-root.mjs +5 -4
- package/{esm2020 → esm2022}/navigation/focusable.directive.mjs +18 -10
- package/{esm2020 → esm2022}/navigation/item-map.mjs +2 -4
- package/{esm2020 → esm2022}/navigation/logical-cell.directive.mjs +35 -22
- package/{esm2020 → esm2022}/navigation/logical-row.directive.mjs +19 -13
- package/{esm2020 → esm2022}/navigation/model-cell.mjs +11 -0
- package/{esm2020 → esm2022}/navigation/navigation-cursor.mjs +10 -8
- package/{esm2020 → esm2022}/navigation/navigation-metadata.mjs +13 -6
- package/{esm2020 → esm2022}/navigation/navigation-model.mjs +1 -3
- package/{esm2020 → esm2022}/navigation/navigation.service.mjs +46 -26
- package/{esm2020 → esm2022}/navigation/treelist-focusable-element.mjs +1 -0
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/esm2022/pdf/pdf-command-tool.directive.mjs +66 -0
- package/{esm2020 → esm2022}/pdf/pdf-command.directive.mjs +10 -9
- package/{esm2020 → esm2022}/pdf/pdf-margin.component.mjs +3 -3
- package/{esm2020 → esm2022}/pdf/pdf-template.directive.mjs +3 -3
- package/{esm2020 → esm2022}/pdf/pdf.component.mjs +24 -4
- package/{esm2020 → esm2022}/pdf/pdf.module.mjs +6 -5
- package/{esm2020 → esm2022}/pdf/pdf.service.mjs +8 -9
- package/{esm2020 → esm2022}/pdf/treelist-query.mjs +4 -0
- package/{esm2020 → esm2022}/rendering/cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/cell.component.mjs +60 -54
- package/{esm2020 → esm2022}/rendering/common/col-group.component.mjs +5 -7
- package/{esm2020 → esm2022}/rendering/common/field-accessor.pipe.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/common/level-items.pipe.mjs +3 -3
- package/{esm2020 → esm2022}/rendering/common/loading.component.mjs +9 -8
- package/{esm2020 → esm2022}/rendering/common/spacer.component.mjs +12 -7
- package/{esm2020 → esm2022}/rendering/footer-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/header/header-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/header/header.component.mjs +62 -44
- package/{esm2020 → esm2022}/rendering/list.component.mjs +85 -45
- package/{esm2020 → esm2022}/rendering/no-records-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/table-body.component.mjs +48 -21
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar-focusable.directive.mjs +9 -7
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar-navigation.service.mjs +9 -8
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar-template.directive.mjs +10 -8
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar.component.mjs +18 -13
- package/{esm2020 → esm2022}/row-reordering/flat-reorder.service.mjs +3 -3
- package/{esm2020 → esm2022}/row-reordering/hierarchical-reorder.service.mjs +3 -3
- package/{esm2020 → esm2022}/row-reordering/row-reorder.service.mjs +14 -9
- package/{esm2020 → esm2022}/scrolling/row-height.service.mjs +2 -0
- package/{esm2020 → esm2022}/scrolling/scroll-request.service.mjs +4 -6
- package/{esm2020 → esm2022}/scrolling/scroll-sync.service.mjs +10 -8
- package/{esm2020 → esm2022}/scrolling/scroller.service.mjs +12 -2
- package/{esm2020 → esm2022}/scrolling/suspend.service.mjs +4 -6
- package/{esm2020 → esm2022}/selection/marquee.directive.mjs +18 -7
- package/{esm2020 → esm2022}/selection/selectable.directive.mjs +23 -17
- package/{esm2020 → esm2022}/selection/selection-change-event.mjs +12 -0
- package/{esm2020 → esm2022}/selection/selection-state.mjs +2 -6
- package/{esm2020 → esm2022}/selection/selection.service.mjs +15 -14
- package/{esm2020 → esm2022}/treelist.component.mjs +619 -420
- package/esm2022/treelist.module.mjs +173 -0
- package/excel/excel-command-tool.directive.d.ts +41 -0
- package/excel/excel.component.d.ts +1 -1
- package/excel/excel.module.d.ts +3 -2
- package/expand-state/expandable.directive.d.ts +1 -1
- package/{fesm2020 → fesm2022}/progress-kendo-angular-treelist.mjs +4095 -4024
- package/filtering/base-filter-cell.component.d.ts +5 -1
- package/filtering/boolean-filter.component.d.ts +2 -7
- package/filtering/cell/autocomplete-filter-cell.component.d.ts +2 -7
- package/filtering/cell/date-filter-cell.component.d.ts +1 -1
- package/filtering/cell/filter-cell-operators.component.d.ts +1 -1
- package/filtering/cell/filter-cell-wrapper.component.d.ts +1 -1
- package/filtering/cell/filter-cell.component.d.ts +1 -1
- package/filtering/cell/numeric-filter-cell.component.d.ts +1 -1
- package/filtering/cell/string-filter-cell.component.d.ts +1 -1
- package/filtering/date-filter.component.d.ts +2 -11
- package/filtering/filter-host.directive.d.ts +2 -2
- package/filtering/filter-input-wrapper.component.d.ts +1 -2
- package/filtering/filter-input.directive.d.ts +1 -1
- package/filtering/filter-row.component.d.ts +1 -2
- package/filtering/filterable.d.ts +1 -1
- package/filtering/menu/boolean-filter-menu.component.d.ts +1 -1
- package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/date-filter-menu.component.d.ts +1 -7
- package/filtering/menu/filter-menu-container.component.d.ts +1 -1
- package/filtering/menu/filter-menu-host.directive.d.ts +1 -1
- package/filtering/menu/filter-menu-input-wrapper.component.d.ts +1 -1
- package/filtering/menu/filter-menu.component.d.ts +1 -4
- package/filtering/menu/filter-radio-button.directive.d.ts +1 -1
- package/filtering/menu/numeric-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/numeric-filter-menu.component.d.ts +1 -7
- package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/string-filter-menu.component.d.ts +1 -7
- package/filtering/numeric-filter.component.d.ts +2 -11
- package/filtering/operators/filter-operator.base.d.ts +1 -1
- package/filtering/string-filter.component.d.ts +2 -11
- package/index.d.ts +4 -17
- package/layout/resizable.directive.d.ts +1 -1
- package/localization/messages.d.ts +6 -2
- package/navigation/focusable.directive.d.ts +1 -1
- package/navigation/logical-cell.directive.d.ts +1 -1
- package/navigation/logical-row.directive.d.ts +1 -1
- package/navigation/navigation.service.d.ts +1 -1
- package/package.json +27 -32
- package/pdf/pdf-command-tool.directive.d.ts +41 -0
- package/pdf/pdf-margin.interface.d.ts +1 -1
- package/pdf/pdf.component.d.ts +1 -7
- package/pdf/pdf.module.d.ts +3 -2
- package/rendering/cell.component.d.ts +2 -1
- package/rendering/common/col-group.component.d.ts +1 -1
- package/rendering/common/row-class.d.ts +2 -2
- package/rendering/common/spacer.component.d.ts +1 -1
- package/rendering/header/header.component.d.ts +2 -2
- package/rendering/list.component.d.ts +1 -1
- package/rendering/table-body.component.d.ts +1 -1
- package/rendering/toolbar/toolbar-template.directive.d.ts +1 -1
- package/rendering/toolbar/toolbar.component.d.ts +1 -1
- package/row-reordering/types.d.ts +1 -1
- package/schematics/ngAdd/index.js +4 -4
- package/scrolling/scroll-sync.service.d.ts +1 -1
- package/scrolling/scroller.service.d.ts +1 -1
- package/scrolling/scrollmode.d.ts +1 -1
- package/selection/is-selected.d.ts +1 -1
- package/selection/selectable.directive.d.ts +1 -1
- package/treelist.component.d.ts +4 -3
- package/treelist.module.d.ts +60 -65
- package/utils.d.ts +1 -1
- package/constants.d.ts +0 -12
- package/esm2020/common/dom-events.service.mjs +0 -26
- package/esm2020/constants.mjs +0 -12
- package/esm2020/filtering/cell/row-filtering.module.mjs +0 -77
- package/esm2020/filtering/menu/filter-menu.module.mjs +0 -80
- package/esm2020/filtering/shared-filtering.module.mjs +0 -94
- package/esm2020/localization/messages.mjs +0 -138
- package/esm2020/pager/pager-context.service.mjs +0 -42
- package/esm2020/pager/pager-element.component.mjs +0 -103
- package/esm2020/pager/pager-info.component.mjs +0 -75
- package/esm2020/pager/pager-input.component.mjs +0 -144
- package/esm2020/pager/pager-next-buttons.component.mjs +0 -126
- package/esm2020/pager/pager-numeric-buttons.component.mjs +0 -244
- package/esm2020/pager/pager-page-sizes.component.mjs +0 -139
- package/esm2020/pager/pager-prev-buttons.component.mjs +0 -126
- package/esm2020/pager/pager-template.directive.mjs +0 -48
- package/esm2020/pager/pager.component.mjs +0 -415
- package/esm2020/pager/pager.module.mjs +0 -43
- package/esm2020/pager/pagesize-item.interface.mjs +0 -5
- package/esm2020/rendering/body.module.mjs +0 -40
- package/esm2020/rendering/header/header.module.mjs +0 -94
- package/esm2020/shared.module.mjs +0 -41
- package/esm2020/treelist.module.mjs +0 -176
- package/fesm2015/progress-kendo-angular-treelist.mjs +0 -21537
- package/filtering/cell/row-filtering.module.d.ts +0 -57
- package/filtering/menu/filter-menu.module.d.ts +0 -60
- package/filtering/shared-filtering.module.d.ts +0 -52
- package/pager/pager-context.service.d.ts +0 -32
- package/pager/pager-element.component.d.ts +0 -74
- package/pager/pager-info.component.d.ts +0 -43
- package/pager/pager-input.component.d.ts +0 -45
- package/pager/pager-next-buttons.component.d.ts +0 -36
- package/pager/pager-numeric-buttons.component.d.ts +0 -52
- package/pager/pager-page-sizes.component.d.ts +0 -48
- package/pager/pager-prev-buttons.component.d.ts +0 -32
- package/pager/pager-template.directive.d.ts +0 -38
- package/pager/pager.component.d.ts +0 -73
- package/pager/pager.module.d.ts +0 -27
- package/pager/pagesize-item.interface.d.ts +0 -14
- package/rendering/body.module.d.ts +0 -28
- package/rendering/header/header.module.d.ts +0 -84
- package/shared.module.d.ts +0 -29
- /package/{esm2020 → esm2022}/column-menu/column-menu-settings.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/column-menu/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resizing/column-resize.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/columns/column-common.mjs +0 -0
- /package/{esm2020 → esm2022}/columns/sort-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/common/cell-click-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/common/create-form-group.mjs +0 -0
- /package/{esm2020 → esm2022}/common/default-track-by.mjs +0 -0
- /package/{esm2020 → esm2022}/common/filter-descriptor-differ.mjs +0 -0
- /package/{esm2020 → esm2022}/common/filter-operator.interface.mjs +0 -0
- /package/{esm2020/pager → esm2022/common}/pager-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/common/remove-confirmation.mjs +0 -0
- /package/{esm2020 → esm2022}/data/change-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/data/data-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/data/treelist-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/dragdrop/column-reorder-config.mjs +0 -0
- /package/{esm2020 → esm2022}/dragdrop/common.mjs +0 -0
- /package/{esm2020 → esm2022}/dragdrop/context-types.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/add-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/cancel-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/edit-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/remove-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/save-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/create-form-group-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/edit-service.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/local-edit.service.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/excel/excel-export-data.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/cell/filter-cell-component.factory.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/filter-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/filterable.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/menu/filter-menu-component.factory.mjs +0 -0
- /package/{esm2020 → esm2022}/layout/row-sync.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/focusable-element.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/logical-cell.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/logical-row.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-cell.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-change.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-row.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/export-element.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/pdf-export-event.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/pdf-margin.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-treelist.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/common/dom-queries.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/common/row-class.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/row-reordering/types.mjs +0 -0
- /package/{esm2020 → esm2022}/row-reordering/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/content-scroll-event.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/scroll-bottom-event.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/scrollmode.mjs +0 -0
- /package/{esm2020 → esm2022}/selection/is-selected.mjs +0 -0
- /package/{esm2020 → esm2022}/selection/selectable-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/utils.mjs +0 -0
@@ -4,7 +4,7 @@
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
5
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
6
6
|
import { Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, QueryList, ViewChild, isDevMode, NgZone, ViewChildren, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, forwardRef } from '@angular/core';
|
7
|
-
import { NgIf } from '@angular/common';
|
7
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
8
8
|
import { FormControl, FormGroup } from '@angular/forms';
|
9
9
|
import { Subscription, merge, isObservable } from 'rxjs';
|
10
10
|
import { map, tap, take, filter, switchMap, takeUntil } from 'rxjs/operators';
|
@@ -27,8 +27,6 @@ import { NoRecordsTemplateDirective } from './rendering/no-records-template.dire
|
|
27
27
|
import { ColumnBase } from './columns/column-base';
|
28
28
|
import { syncRowsHeight } from './layout/row-sync';
|
29
29
|
import { FilterService } from './filtering/filter.service';
|
30
|
-
import { PagerTemplateDirective } from './pager/pager-template.directive';
|
31
|
-
import { PagerContextService } from "./pager/pager-context.service";
|
32
30
|
import { PDFService } from './pdf/pdf.service';
|
33
31
|
import { PDFExportEvent } from './pdf/pdf-export-event';
|
34
32
|
import { SuspendService } from './scrolling/suspend.service';
|
@@ -70,7 +68,6 @@ import { DataBoundTreeComponent } from './binding-directives/data-bound-tree-com
|
|
70
68
|
import { ExpandableTreeComponent } from './expand-state/expandable-tree-component';
|
71
69
|
import { ContextService } from './common/provider.service';
|
72
70
|
import { RowReorderService } from './row-reordering/row-reorder.service';
|
73
|
-
import { PagerComponent } from './pager/pager.component';
|
74
71
|
import { LoadingComponent } from './rendering/common/loading.component';
|
75
72
|
import { TableBodyComponent } from './rendering/table-body.component';
|
76
73
|
import { MarqueeDirective } from './selection/marquee.directive';
|
@@ -81,6 +78,8 @@ import { ColGroupComponent } from './rendering/common/col-group.component';
|
|
81
78
|
import { TableDirective } from './column-resizing/table.directive';
|
82
79
|
import { ToolbarComponent } from './rendering/toolbar/toolbar.component';
|
83
80
|
import { LocalizedMessagesDirective } from './localization/localized-messages.directive';
|
81
|
+
import { KENDO_PAGER, PagerContextService, PagerNavigationService, PagerTemplateDirective } from '@progress/kendo-angular-pager';
|
82
|
+
import { normalize } from './common/pager-settings';
|
84
83
|
import * as i0 from "@angular/core";
|
85
84
|
import * as i1 from "./layout/browser-support.service";
|
86
85
|
import * as i2 from "./data/change-notification.service";
|
@@ -103,6 +102,7 @@ import * as i18 from "./selection/selection.service";
|
|
103
102
|
import * as i19 from "@progress/kendo-angular-l10n";
|
104
103
|
import * as i20 from "./common/provider.service";
|
105
104
|
import * as i21 from "./row-reordering/row-reorder.service";
|
105
|
+
import * as i22 from "@progress/kendo-angular-pager";
|
106
106
|
const createControl = (source) => (acc, key) => {
|
107
107
|
acc[key] = new FormControl(source[key]);
|
108
108
|
return acc;
|
@@ -127,349 +127,35 @@ const isInEditedCell = (element, treelistElement) => closest(element, matchesCla
|
|
127
127
|
*
|
128
128
|
*/
|
129
129
|
export class TreeListComponent {
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
* @default 10
|
160
|
-
*/
|
161
|
-
this.pageSize = 10;
|
162
|
-
/**
|
163
|
-
* Defines the scroll mode used by the TreeList.
|
164
|
-
* @default 'scrollable'
|
165
|
-
*/
|
166
|
-
this.scrollable = 'scrollable';
|
167
|
-
/**
|
168
|
-
* A function that defines how to track changes for the data rows.
|
169
|
-
*
|
170
|
-
* By default, the TreeList tracks changes by the index of the data item.
|
171
|
-
* Edited rows are tracked by reference.
|
172
|
-
*
|
173
|
-
*/
|
174
|
-
this.trackBy = defaultTrackBy;
|
175
|
-
/**
|
176
|
-
* If set to `true`, the treelist will render only the columns in the current viewport.
|
177
|
-
* @default false
|
178
|
-
*/
|
179
|
-
this.virtualColumns = false;
|
180
|
-
/**
|
181
|
-
* Enables the [filtering]({% slug filtering_treelist %}) of the TreeList columns that have their `field` option set.
|
182
|
-
*/
|
183
|
-
this.filterable = false;
|
184
|
-
/**
|
185
|
-
* Enables the [sorting]({% slug sorting_treelist %}) of the TreeList columns that have their `field` option set.
|
186
|
-
*/
|
187
|
-
this.sortable = false;
|
188
|
-
/**
|
189
|
-
* Configures the pager of the TreeList ([see example]({% slug paging_treelist %})).
|
190
|
-
*
|
191
|
-
*/
|
192
|
-
this.pageable = false;
|
193
|
-
/**
|
194
|
-
* If set to `true`, the user can use dedicated shortcuts to interact with the TreeList.
|
195
|
-
* By default, navigation is disabled and the TreeList content is accessible in the normal tab sequence.
|
196
|
-
* @default false
|
197
|
-
*/
|
198
|
-
this.navigable = false;
|
199
|
-
/**
|
200
|
-
* Indicates whether the TreeList columns will be resized during initialization so that
|
201
|
-
* they fit their headers and row content. Defaults to `false`.
|
202
|
-
* Columns with `autoSize` set to `false` are excluded.
|
203
|
-
* To dynamically update the column width to match the new content,
|
204
|
-
* refer to [this example]({% slug resizing_columns_treelist %}).
|
205
|
-
*
|
206
|
-
* @default false
|
207
|
-
*/
|
208
|
-
this.autoSize = false;
|
209
|
-
/**
|
210
|
-
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
211
|
-
* ([see example]({% slug resizing_columns_treelist %})).
|
212
|
-
*
|
213
|
-
* @default false
|
214
|
-
*/
|
215
|
-
this.resizable = false;
|
216
|
-
/**
|
217
|
-
* If set to `true`, the user can reorder columns by dragging their header cells
|
218
|
-
* ([see example]({% slug reordering_columns_treelist %})).
|
219
|
-
*
|
220
|
-
* @default false
|
221
|
-
*/
|
222
|
-
this.reorderable = false;
|
223
|
-
/**
|
224
|
-
* Specifies if the loading indicator of the TreeList will be displayed ([see example]({% slug databinding_treelist %})).
|
225
|
-
*
|
226
|
-
* @default false
|
227
|
-
*/
|
228
|
-
this.loading = false;
|
229
|
-
/**
|
230
|
-
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_treelist %})).
|
231
|
-
*
|
232
|
-
* @default false
|
233
|
-
*/
|
234
|
-
this.columnMenu = false;
|
235
|
-
/**
|
236
|
-
* Specifies if the header of the treelist will be hidden. The header is visible by default.
|
237
|
-
*
|
238
|
-
* The header includes column headers and the [filter row](slug:filter_row_treelist).
|
239
|
-
*
|
240
|
-
* @default false
|
241
|
-
*/
|
242
|
-
this.hideHeader = false;
|
243
|
-
/**
|
244
|
-
* Fires when the TreeList selection is changed.
|
245
|
-
*/
|
246
|
-
this.selectionChange = new EventEmitter();
|
247
|
-
/**
|
248
|
-
* Fires when the TreeList filter is modified through the UI.
|
249
|
-
* You have to handle the event yourself and filter the data.
|
250
|
-
*/
|
251
|
-
this.filterChange = new EventEmitter();
|
252
|
-
/**
|
253
|
-
* Fires when the page of the TreeList is changed ([see example]({% slug paging_treelist %})).
|
254
|
-
* You have to handle the event yourself and page the data.
|
255
|
-
*/
|
256
|
-
this.pageChange = new EventEmitter();
|
257
|
-
/**
|
258
|
-
* Fires when the sorting of the TreeList is changed ([see example]({% slug sorting_treelist %})).
|
259
|
-
* You have to handle the event yourself and sort the data.
|
260
|
-
*/
|
261
|
-
this.sortChange = new EventEmitter();
|
262
|
-
/**
|
263
|
-
* Fires when the data state of the TreeList is changed.
|
264
|
-
*/
|
265
|
-
this.dataStateChange = new EventEmitter();
|
266
|
-
/**
|
267
|
-
* Fires when the user clicks the **Edit** command button to edit a row
|
268
|
-
* ([see example]({% slug editing_template_forms_treelist %}#toc-editing-records)).
|
269
|
-
*/
|
270
|
-
this.edit = new EventEmitter();
|
271
|
-
/**
|
272
|
-
* Fires when the user clicks the **Cancel** command button to close a row
|
273
|
-
* ([see example]({% slug editing_template_forms_treelist %}#toc-cancelling-editing)).
|
274
|
-
*/
|
275
|
-
this.cancel = new EventEmitter();
|
276
|
-
/**
|
277
|
-
* Fires when the user clicks the **Save** command button to save changes in a row
|
278
|
-
* ([see example]({% slug editing_template_forms_treelist %}#toc-saving-records)).
|
279
|
-
*/
|
280
|
-
this.save = new EventEmitter();
|
281
|
-
/**
|
282
|
-
* Fires when the user clicks the **Remove** command button to remove a row
|
283
|
-
* ([see example]({% slug editing_template_forms_treelist %}#toc-removing-records)).
|
284
|
-
*/
|
285
|
-
this.remove = new EventEmitter();
|
286
|
-
/**
|
287
|
-
* Fires when the user clicks the **Add** command button to add a new row
|
288
|
-
* ([see example]({% slug editing_template_forms_treelist %}#toc-adding-records)).
|
289
|
-
*/
|
290
|
-
this.add = new EventEmitter();
|
291
|
-
/**
|
292
|
-
* Fires when the user leaves an edited cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
|
293
|
-
*/
|
294
|
-
this.cellClose = new EventEmitter();
|
295
|
-
/**
|
296
|
-
* Fires when the user clicks a cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
|
297
|
-
*/
|
298
|
-
this.cellClick = new EventEmitter();
|
299
|
-
/**
|
300
|
-
* Fires when the user clicks the **Export to PDF** command button.
|
301
|
-
*/
|
302
|
-
this.pdfExport = new EventEmitter();
|
303
|
-
/**
|
304
|
-
* Fires when the user clicks the **Export to Excel** command button.
|
305
|
-
*/
|
306
|
-
this.excelExport = new EventEmitter();
|
307
|
-
/**
|
308
|
-
* Fires when the user completes the resizing of the column.
|
309
|
-
*/
|
310
|
-
this.columnResize = new EventEmitter();
|
311
|
-
/**
|
312
|
-
* Fires when the user completes the reordering of the column.
|
313
|
-
*/
|
314
|
-
this.columnReorder = new EventEmitter();
|
315
|
-
/**
|
316
|
-
* Fires when the user changes the visibility of the columns from the column menu or column chooser.
|
317
|
-
*/
|
318
|
-
this.columnVisibilityChange = new EventEmitter();
|
319
|
-
/**
|
320
|
-
* Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
|
321
|
-
*/
|
322
|
-
this.columnLockedChange = new EventEmitter();
|
323
|
-
/**
|
324
|
-
* Fires when the user scrolls to the last record on the page and enables endless scrolling
|
325
|
-
* ([see example]({% slug scrollmmodes_treelist %}#toc-endless-scrolling)).
|
326
|
-
* You have to handle the event yourself and page the data.
|
327
|
-
*/
|
328
|
-
this.scrollBottom = new EventEmitter();
|
329
|
-
/**
|
330
|
-
* Fires when the treelist content is scrolled.
|
331
|
-
* For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
|
332
|
-
*/
|
333
|
-
this.contentScroll = new EventEmitter();
|
334
|
-
/**
|
335
|
-
* Fires when an item is expanded.
|
336
|
-
*/
|
337
|
-
this.expandEvent = new EventEmitter();
|
338
|
-
/**
|
339
|
-
* Fires when an item is collapsed.
|
340
|
-
*/
|
341
|
-
this.collapseEvent = new EventEmitter();
|
342
|
-
/**
|
343
|
-
* @hidden
|
344
|
-
*
|
345
|
-
* Emits when the expand or collapse events are fired.
|
346
|
-
* Used by the expand directive and the Gantt component.
|
347
|
-
*/
|
348
|
-
this.expandStateChange = new EventEmitter();
|
349
|
-
/**
|
350
|
-
* Fires when the user drops the dragged row and reordering is performed.
|
351
|
-
* Emits the [RowReorderEvent]({% slug api_treelist_rowreorderevent %}).
|
352
|
-
*/
|
353
|
-
this.rowReorder = new EventEmitter();
|
354
|
-
/**
|
355
|
-
* @hidden
|
356
|
-
*/
|
357
|
-
this.columnOrderChange = new EventEmitter();
|
358
|
-
/**
|
359
|
-
* A query list of all declared columns.
|
360
|
-
*/
|
361
|
-
this.columns = new QueryList();
|
362
|
-
this.hostClasses = true;
|
363
|
-
this.footer = new QueryList();
|
364
|
-
this.columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
|
365
|
-
if (!isUniversal()) {
|
366
|
-
column.matchesMedia = this.matchesMedia(column);
|
367
|
-
}
|
368
|
-
return column.isVisible;
|
369
|
-
}));
|
370
|
-
this.idGetter = getter(undefined);
|
371
|
-
this.localEditService = new LocalEditService();
|
372
|
-
this.view = new ViewCollection(this.viewFieldAccessor.bind(this), this.expandStateService, this.editService, this.selectionService);
|
373
|
-
this.ariaRootId = `k-${guid()}`;
|
374
|
-
this.dataChanged = false;
|
375
|
-
this._hasChildren = (() => false);
|
376
|
-
this.subscriptions = new Subscription();
|
377
|
-
this.rtl = false;
|
378
|
-
this.shouldGenerateColumns = true;
|
379
|
-
this._data = [];
|
380
|
-
this._sort = new Array();
|
381
|
-
this._skip = 0;
|
382
|
-
this.cachedWindowWidth = 0;
|
383
|
-
this._rowReorderable = false;
|
384
|
-
/**
|
385
|
-
* @hidden
|
386
|
-
*/
|
387
|
-
this.treeListData = () => { return this.view; };
|
388
|
-
this._rowClass = () => null;
|
389
|
-
validatePackage(packageMetadata);
|
390
|
-
this.subscriptions.add(localization.changes.subscribe(({ rtl }) => {
|
391
|
-
this.rtl = rtl;
|
392
|
-
this.direction = this.rtl ? 'rtl' : 'ltr';
|
393
|
-
}));
|
394
|
-
this.selectionService.init(this);
|
395
|
-
this.ctx.treelist = this;
|
396
|
-
this.subscriptions.add(this.selectionService.changes.subscribe((args) => {
|
397
|
-
if (hasObservers(this.selectionChange)) {
|
398
|
-
this.ngZone.run(() => {
|
399
|
-
args.sender = this;
|
400
|
-
this.selectionChange.emit(args);
|
401
|
-
this.selectionService.updateSelectedState();
|
402
|
-
this.changeDetectorRef.markForCheck();
|
403
|
-
});
|
404
|
-
}
|
405
|
-
}));
|
406
|
-
this.columnInfoService.init(this.columnsContainer, () => this.columnList);
|
407
|
-
this.subscriptions.add(this.columnInfoService.visibilityChange.subscribe((changed) => {
|
408
|
-
this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
|
409
|
-
this.changeDetectorRef.markForCheck();
|
410
|
-
}));
|
411
|
-
this.subscriptions.add(this.columnInfoService.lockedChange.subscribe((changed) => {
|
412
|
-
this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
|
413
|
-
this.changeDetectorRef.markForCheck();
|
414
|
-
}));
|
415
|
-
this.subscriptions.add(merge(this.optionChanges.columns, this.optionChanges.options).subscribe(() => {
|
416
|
-
this.changeDetectorRef.markForCheck();
|
417
|
-
}));
|
418
|
-
this.subscriptions.add(this.filterService.changes.subscribe(x => {
|
419
|
-
this.filterChange.emit(x);
|
420
|
-
}));
|
421
|
-
this.subscriptions.add(this.sortService.changes.subscribe(x => {
|
422
|
-
this.sortChange.emit(x);
|
423
|
-
}));
|
424
|
-
this.attachStateChangesEmitter();
|
425
|
-
this.attachEditHandlers();
|
426
|
-
this.attachDomEventHandlers();
|
427
|
-
this.subscriptions.add(this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this)));
|
428
|
-
this.subscriptions.add(this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this)));
|
429
|
-
this.subscriptions.add(this.excelService.loadingChange.subscribe(() => {
|
430
|
-
this.changeDetectorRef.detectChanges();
|
431
|
-
}));
|
432
|
-
this.columnsContainerChange();
|
433
|
-
this.handleColumnResize();
|
434
|
-
this.columnList = new ColumnList(this.columns);
|
435
|
-
this.subscriptions.add(this.columnReorderService
|
436
|
-
.changes.subscribe(this.reorder.bind(this)));
|
437
|
-
this.subscriptions.add(this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this)));
|
438
|
-
this.subscriptions.add(this.expandStateService.changes.subscribe((args) => {
|
439
|
-
if (args.expand) {
|
440
|
-
this.expandEvent.emit(args);
|
441
|
-
}
|
442
|
-
else {
|
443
|
-
this.collapseEvent.emit(args);
|
444
|
-
}
|
445
|
-
if (!args.isDefaultPrevented()) {
|
446
|
-
this.changeDetectorRef.markForCheck();
|
447
|
-
this.view.clear();
|
448
|
-
this.expandStateChange.emit(args);
|
449
|
-
}
|
450
|
-
if (this.rowReorderable) {
|
451
|
-
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
452
|
-
this.notifyReorderContainers();
|
453
|
-
});
|
454
|
-
}
|
455
|
-
}));
|
456
|
-
this.subscriptions.add(this.view.childrenLoaded.subscribe(() => {
|
457
|
-
this.changeDetectorRef.detectChanges();
|
458
|
-
}));
|
459
|
-
this.subscriptions.add(this.view.resetPage.subscribe(() => {
|
460
|
-
if (this.skip > 0 && hasObservers(this.pageChange)) {
|
461
|
-
// don't think there is a way to avoid this
|
462
|
-
// every callback in which the view can be computed is already passed the change detection
|
463
|
-
// computing the current page in advance also does not seem feasible for such a rare case
|
464
|
-
this.pageChangeTimeout = setTimeout(() => {
|
465
|
-
this.pageChange.emit({ skip: 0, take: this.pageSize });
|
466
|
-
}, 0);
|
467
|
-
}
|
468
|
-
this.skip = 0;
|
469
|
-
}));
|
470
|
-
this.dataLoaded = this.dataLoaded.bind(this);
|
471
|
-
this.editService.idGetter = this.idGetter;
|
472
|
-
}
|
130
|
+
supportService;
|
131
|
+
wrapper;
|
132
|
+
changeNotification;
|
133
|
+
editService;
|
134
|
+
filterService;
|
135
|
+
pdfService;
|
136
|
+
responsiveService;
|
137
|
+
renderer;
|
138
|
+
excelService;
|
139
|
+
ngZone;
|
140
|
+
scrollSyncService;
|
141
|
+
domEvents;
|
142
|
+
columnResizingService;
|
143
|
+
changeDetectorRef;
|
144
|
+
columnReorderService;
|
145
|
+
columnInfoService;
|
146
|
+
navigationService;
|
147
|
+
sortService;
|
148
|
+
scrollRequestService;
|
149
|
+
expandStateService;
|
150
|
+
optionChanges;
|
151
|
+
selectionService;
|
152
|
+
localization;
|
153
|
+
ctx;
|
154
|
+
rowReorderService;
|
155
|
+
/**
|
156
|
+
* An optional accessible description of the component.
|
157
|
+
*/
|
158
|
+
ariaLabel;
|
473
159
|
/**
|
474
160
|
* Sets the data of the TreeList. If an array is provided, the TreeList automatically gets the total count
|
475
161
|
* ([more information and example]({% slug databinding_treelist %})).
|
@@ -489,6 +175,24 @@ export class TreeListComponent {
|
|
489
175
|
get data() {
|
490
176
|
return this.loadedData;
|
491
177
|
}
|
178
|
+
/**
|
179
|
+
* Defines the page size used by the TreeList when [paging]({% slug paging_treelist %}) is enabled.
|
180
|
+
*
|
181
|
+
* @default 10
|
182
|
+
*/
|
183
|
+
pageSize = 10;
|
184
|
+
/**
|
185
|
+
* Defines the height (in pixels) that is used when the `scrollable` option of the TreeList is set.
|
186
|
+
* To set the height of the TreeList, you can also use `style.height`. The `style.height`
|
187
|
+
* option supports units such as `px`, `%`, `em`, `rem`, and others.
|
188
|
+
*/
|
189
|
+
height;
|
190
|
+
/**
|
191
|
+
* Represent the actual height of each TreeList row (`tr`) element in the DOM.
|
192
|
+
* Required by the [virtual scrolling functionality]({% slug scrollmmodes_treelist %}).
|
193
|
+
* Set the `rowHeight` option to the exact pixels as the height of the `tr` element appears in the DOM.
|
194
|
+
*/
|
195
|
+
rowHeight;
|
492
196
|
/**
|
493
197
|
* Defines the number of records to be skipped by the pager.
|
494
198
|
* Required by the [paging]({% slug paging_treelist %}) functionality.
|
@@ -502,6 +206,11 @@ export class TreeListComponent {
|
|
502
206
|
this.view.clear();
|
503
207
|
}
|
504
208
|
}
|
209
|
+
/**
|
210
|
+
* Defines the scroll mode used by the TreeList.
|
211
|
+
* @default 'scrollable'
|
212
|
+
*/
|
213
|
+
scrollable = 'scrollable';
|
505
214
|
/**
|
506
215
|
* The descriptors by which the data will be sorted ([see example]({% slug sorting_treelist %})).
|
507
216
|
*/
|
@@ -513,6 +222,23 @@ export class TreeListComponent {
|
|
513
222
|
get sort() {
|
514
223
|
return this._sort;
|
515
224
|
}
|
225
|
+
/**
|
226
|
+
* A function that defines how to track changes for the data rows.
|
227
|
+
*
|
228
|
+
* By default, the TreeList tracks changes by the index of the data item.
|
229
|
+
* Edited rows are tracked by reference.
|
230
|
+
*
|
231
|
+
*/
|
232
|
+
trackBy = defaultTrackBy;
|
233
|
+
/**
|
234
|
+
* The descriptor by which the data will be filtered ([see examples]({% slug filtering_treelist %})).
|
235
|
+
*/
|
236
|
+
filter;
|
237
|
+
/**
|
238
|
+
* If set to `true`, the treelist will render only the columns in the current viewport.
|
239
|
+
* @default false
|
240
|
+
*/
|
241
|
+
virtualColumns = false;
|
516
242
|
/**
|
517
243
|
* @hidden
|
518
244
|
*/
|
@@ -540,6 +266,28 @@ export class TreeListComponent {
|
|
540
266
|
get marqueeSelection() {
|
541
267
|
return this.selectionService.enableMarquee;
|
542
268
|
}
|
269
|
+
/**
|
270
|
+
* Enables the [filtering]({% slug filtering_treelist %}) of the TreeList columns that have their `field` option set.
|
271
|
+
*/
|
272
|
+
filterable = false;
|
273
|
+
/**
|
274
|
+
* Enables the [sorting]({% slug sorting_treelist %}) of the TreeList columns that have their `field` option set.
|
275
|
+
*/
|
276
|
+
sortable = false;
|
277
|
+
/**
|
278
|
+
* Configures the pager of the TreeList ([see example]({% slug paging_treelist %})).
|
279
|
+
*
|
280
|
+
*/
|
281
|
+
pageable = false;
|
282
|
+
get normalizedPageableSettings() {
|
283
|
+
return normalize(this.pageable);
|
284
|
+
}
|
285
|
+
/**
|
286
|
+
* If set to `true`, the user can use dedicated shortcuts to interact with the TreeList.
|
287
|
+
* By default, navigation is disabled and the TreeList content is accessible in the normal tab sequence.
|
288
|
+
* @default false
|
289
|
+
*/
|
290
|
+
navigable = false;
|
543
291
|
/**
|
544
292
|
* @hidden
|
545
293
|
*
|
@@ -554,6 +302,16 @@ export class TreeListComponent {
|
|
554
302
|
get navigatable() {
|
555
303
|
return this.navigable;
|
556
304
|
}
|
305
|
+
/**
|
306
|
+
* Indicates whether the TreeList columns will be resized during initialization so that
|
307
|
+
* they fit their headers and row content. Defaults to `false`.
|
308
|
+
* Columns with `autoSize` set to `false` are excluded.
|
309
|
+
* To dynamically update the column width to match the new content,
|
310
|
+
* refer to [this example]({% slug resizing_columns_treelist %}).
|
311
|
+
*
|
312
|
+
* @default false
|
313
|
+
*/
|
314
|
+
autoSize = false;
|
557
315
|
/**
|
558
316
|
* Defines a function that is executed for every data row in the component.
|
559
317
|
*
|
@@ -579,6 +337,40 @@ export class TreeListComponent {
|
|
579
337
|
get activeRow() {
|
580
338
|
return this.navigationService.activeRow;
|
581
339
|
}
|
340
|
+
/**
|
341
|
+
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
342
|
+
* ([see example]({% slug resizing_columns_treelist %})).
|
343
|
+
*
|
344
|
+
* @default false
|
345
|
+
*/
|
346
|
+
resizable = false;
|
347
|
+
/**
|
348
|
+
* If set to `true`, the user can reorder columns by dragging their header cells
|
349
|
+
* ([see example]({% slug reordering_columns_treelist %})).
|
350
|
+
*
|
351
|
+
* @default false
|
352
|
+
*/
|
353
|
+
reorderable = false;
|
354
|
+
/**
|
355
|
+
* Specifies if the loading indicator of the TreeList will be displayed ([see example]({% slug databinding_treelist %})).
|
356
|
+
*
|
357
|
+
* @default false
|
358
|
+
*/
|
359
|
+
loading = false;
|
360
|
+
/**
|
361
|
+
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_treelist %})).
|
362
|
+
*
|
363
|
+
* @default false
|
364
|
+
*/
|
365
|
+
columnMenu = false;
|
366
|
+
/**
|
367
|
+
* Specifies if the header of the treelist will be hidden. The header is visible by default.
|
368
|
+
*
|
369
|
+
* The header includes column headers and the [filter row](slug:filter_row_treelist).
|
370
|
+
*
|
371
|
+
* @default false
|
372
|
+
*/
|
373
|
+
hideHeader = false;
|
582
374
|
/**
|
583
375
|
* The name of the field which contains the unique identifier of the node.
|
584
376
|
*
|
@@ -628,6 +420,121 @@ export class TreeListComponent {
|
|
628
420
|
get rowReorderable() {
|
629
421
|
return this._rowReorderable;
|
630
422
|
}
|
423
|
+
/**
|
424
|
+
* Fires when the TreeList selection is changed.
|
425
|
+
*/
|
426
|
+
selectionChange = new EventEmitter();
|
427
|
+
/**
|
428
|
+
* Fires when the TreeList filter is modified through the UI.
|
429
|
+
* You have to handle the event yourself and filter the data.
|
430
|
+
*/
|
431
|
+
filterChange = new EventEmitter();
|
432
|
+
/**
|
433
|
+
* Fires when the page of the TreeList is changed ([see example]({% slug paging_treelist %})).
|
434
|
+
* You have to handle the event yourself and page the data.
|
435
|
+
*/
|
436
|
+
pageChange = new EventEmitter();
|
437
|
+
/**
|
438
|
+
* Fires when the sorting of the TreeList is changed ([see example]({% slug sorting_treelist %})).
|
439
|
+
* You have to handle the event yourself and sort the data.
|
440
|
+
*/
|
441
|
+
sortChange = new EventEmitter();
|
442
|
+
/**
|
443
|
+
* Fires when the data state of the TreeList is changed.
|
444
|
+
*/
|
445
|
+
dataStateChange = new EventEmitter();
|
446
|
+
/**
|
447
|
+
* Fires when the user clicks the **Edit** command button to edit a row
|
448
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-editing-records)).
|
449
|
+
*/
|
450
|
+
edit = new EventEmitter();
|
451
|
+
/**
|
452
|
+
* Fires when the user clicks the **Cancel** command button to close a row
|
453
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-cancelling-editing)).
|
454
|
+
*/
|
455
|
+
cancel = new EventEmitter();
|
456
|
+
/**
|
457
|
+
* Fires when the user clicks the **Save** command button to save changes in a row
|
458
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-saving-records)).
|
459
|
+
*/
|
460
|
+
save = new EventEmitter();
|
461
|
+
/**
|
462
|
+
* Fires when the user clicks the **Remove** command button to remove a row
|
463
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-removing-records)).
|
464
|
+
*/
|
465
|
+
remove = new EventEmitter();
|
466
|
+
/**
|
467
|
+
* Fires when the user clicks the **Add** command button to add a new row
|
468
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-adding-records)).
|
469
|
+
*/
|
470
|
+
add = new EventEmitter();
|
471
|
+
/**
|
472
|
+
* Fires when the user leaves an edited cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
|
473
|
+
*/
|
474
|
+
cellClose = new EventEmitter();
|
475
|
+
/**
|
476
|
+
* Fires when the user clicks a cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
|
477
|
+
*/
|
478
|
+
cellClick = new EventEmitter();
|
479
|
+
/**
|
480
|
+
* Fires when the user clicks the **Export to PDF** command button.
|
481
|
+
*/
|
482
|
+
pdfExport = new EventEmitter();
|
483
|
+
/**
|
484
|
+
* Fires when the user clicks the **Export to Excel** command button.
|
485
|
+
*/
|
486
|
+
excelExport = new EventEmitter();
|
487
|
+
/**
|
488
|
+
* Fires when the user completes the resizing of the column.
|
489
|
+
*/
|
490
|
+
columnResize = new EventEmitter();
|
491
|
+
/**
|
492
|
+
* Fires when the user completes the reordering of the column.
|
493
|
+
*/
|
494
|
+
columnReorder = new EventEmitter();
|
495
|
+
/**
|
496
|
+
* Fires when the user changes the visibility of the columns from the column menu or column chooser.
|
497
|
+
*/
|
498
|
+
columnVisibilityChange = new EventEmitter();
|
499
|
+
/**
|
500
|
+
* Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
|
501
|
+
*/
|
502
|
+
columnLockedChange = new EventEmitter();
|
503
|
+
/**
|
504
|
+
* Fires when the user scrolls to the last record on the page and enables endless scrolling
|
505
|
+
* ([see example]({% slug scrollmmodes_treelist %}#toc-endless-scrolling)).
|
506
|
+
* You have to handle the event yourself and page the data.
|
507
|
+
*/
|
508
|
+
scrollBottom = new EventEmitter();
|
509
|
+
/**
|
510
|
+
* Fires when the treelist content is scrolled.
|
511
|
+
* For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
|
512
|
+
*/
|
513
|
+
contentScroll = new EventEmitter();
|
514
|
+
/**
|
515
|
+
* Fires when an item is expanded.
|
516
|
+
*/
|
517
|
+
expandEvent = new EventEmitter();
|
518
|
+
/**
|
519
|
+
* Fires when an item is collapsed.
|
520
|
+
*/
|
521
|
+
collapseEvent = new EventEmitter();
|
522
|
+
/**
|
523
|
+
* @hidden
|
524
|
+
*
|
525
|
+
* Emits when the expand or collapse events are fired.
|
526
|
+
* Used by the expand directive and the Gantt component.
|
527
|
+
*/
|
528
|
+
expandStateChange = new EventEmitter();
|
529
|
+
/**
|
530
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
531
|
+
* Emits the [RowReorderEvent]({% slug api_treelist_rowreorderevent %}).
|
532
|
+
*/
|
533
|
+
rowReorder = new EventEmitter();
|
534
|
+
/**
|
535
|
+
* @hidden
|
536
|
+
*/
|
537
|
+
columnOrderChange = new EventEmitter();
|
631
538
|
/**
|
632
539
|
* @hidden
|
633
540
|
*/
|
@@ -641,9 +548,14 @@ export class TreeListComponent {
|
|
641
548
|
get columnsRef() {
|
642
549
|
return this._columnsRef;
|
643
550
|
}
|
551
|
+
/**
|
552
|
+
* A query list of all declared columns.
|
553
|
+
*/
|
554
|
+
columns = new QueryList();
|
644
555
|
get dir() {
|
645
556
|
return this.direction;
|
646
557
|
}
|
558
|
+
hostClasses = true;
|
647
559
|
get lockedClasses() {
|
648
560
|
return this.lockedLeafColumns.length > 0;
|
649
561
|
}
|
@@ -653,6 +565,7 @@ export class TreeListComponent {
|
|
653
565
|
get noScrollbarClass() {
|
654
566
|
return this.scrollbarWidth === 0;
|
655
567
|
}
|
568
|
+
noRecordsTemplateChildren;
|
656
569
|
get noRecordsTemplate() {
|
657
570
|
if (this._customNoRecordsTemplate) {
|
658
571
|
return this._customNoRecordsTemplate;
|
@@ -662,6 +575,7 @@ export class TreeListComponent {
|
|
662
575
|
set noRecordsTemplate(customNoRecordsTemplate) {
|
663
576
|
this._customNoRecordsTemplate = customNoRecordsTemplate;
|
664
577
|
}
|
578
|
+
pagerTemplateChildren;
|
665
579
|
get pagerTemplate() {
|
666
580
|
if (this._customPagerTemplate) {
|
667
581
|
return this._customPagerTemplate;
|
@@ -671,6 +585,7 @@ export class TreeListComponent {
|
|
671
585
|
set pagerTemplate(customPagerTemplate) {
|
672
586
|
this._customPagerTemplate = customPagerTemplate;
|
673
587
|
}
|
588
|
+
toolbarTemplateChildren;
|
674
589
|
get toolbarTemplate() {
|
675
590
|
if (this._customToolbarTemplate) {
|
676
591
|
return this._customToolbarTemplate;
|
@@ -680,6 +595,13 @@ export class TreeListComponent {
|
|
680
595
|
set toolbarTemplate(customToolbarTemplate) {
|
681
596
|
this._customToolbarTemplate = customToolbarTemplate;
|
682
597
|
}
|
598
|
+
columnMenuTemplates;
|
599
|
+
lockedHeader;
|
600
|
+
header;
|
601
|
+
footer = new QueryList();
|
602
|
+
ariaRoot;
|
603
|
+
dragTargetContainer;
|
604
|
+
dropTargetContainer;
|
683
605
|
get scrollbarWidth() {
|
684
606
|
return this.supportService.scrollbarWidth;
|
685
607
|
}
|
@@ -692,6 +614,14 @@ export class TreeListComponent {
|
|
692
614
|
const left = this.rtl ? padding : 0;
|
693
615
|
return `0 ${right} 0 ${left}`;
|
694
616
|
}
|
617
|
+
columnMenuOptions;
|
618
|
+
columnList;
|
619
|
+
columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
|
620
|
+
if (!isUniversal()) {
|
621
|
+
column.matchesMedia = this.matchesMedia(column);
|
622
|
+
}
|
623
|
+
return column.isVisible;
|
624
|
+
}));
|
695
625
|
get showLoading() {
|
696
626
|
return this.loading || (isObservable(this._data) && !this.loadedData) || this.excelService.loading;
|
697
627
|
}
|
@@ -793,6 +723,146 @@ export class TreeListComponent {
|
|
793
723
|
this.expandStateService.isExpanded = value || defaultExpanded;
|
794
724
|
this.expandIcons = Boolean(value);
|
795
725
|
}
|
726
|
+
idGetter = getter(undefined);
|
727
|
+
localEditService = new LocalEditService();
|
728
|
+
view;
|
729
|
+
expandIcons;
|
730
|
+
ariaRootId = `k-${guid()}`;
|
731
|
+
dataChanged = false;
|
732
|
+
loadedData;
|
733
|
+
_fetchChildren;
|
734
|
+
_hasChildren = (() => false);
|
735
|
+
subscriptions = new Subscription();
|
736
|
+
dataLoadedSubscription;
|
737
|
+
focusElementSubscription;
|
738
|
+
rowReorderSubscription;
|
739
|
+
detachElementEventHandlers;
|
740
|
+
rtl = false;
|
741
|
+
shouldGenerateColumns = true;
|
742
|
+
direction;
|
743
|
+
_data = [];
|
744
|
+
_sort = new Array();
|
745
|
+
_skip = 0;
|
746
|
+
_columnsRef;
|
747
|
+
cachedWindowWidth = 0;
|
748
|
+
_customNoRecordsTemplate;
|
749
|
+
_customPagerTemplate;
|
750
|
+
_customToolbarTemplate;
|
751
|
+
leafViewportColumns;
|
752
|
+
viewportColumns;
|
753
|
+
pageChangeTimeout;
|
754
|
+
_rowReorderable = false;
|
755
|
+
constructor(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization, ctx, rowReorderService) {
|
756
|
+
this.supportService = supportService;
|
757
|
+
this.wrapper = wrapper;
|
758
|
+
this.changeNotification = changeNotification;
|
759
|
+
this.editService = editService;
|
760
|
+
this.filterService = filterService;
|
761
|
+
this.pdfService = pdfService;
|
762
|
+
this.responsiveService = responsiveService;
|
763
|
+
this.renderer = renderer;
|
764
|
+
this.excelService = excelService;
|
765
|
+
this.ngZone = ngZone;
|
766
|
+
this.scrollSyncService = scrollSyncService;
|
767
|
+
this.domEvents = domEvents;
|
768
|
+
this.columnResizingService = columnResizingService;
|
769
|
+
this.changeDetectorRef = changeDetectorRef;
|
770
|
+
this.columnReorderService = columnReorderService;
|
771
|
+
this.columnInfoService = columnInfoService;
|
772
|
+
this.navigationService = navigationService;
|
773
|
+
this.sortService = sortService;
|
774
|
+
this.scrollRequestService = scrollRequestService;
|
775
|
+
this.expandStateService = expandStateService;
|
776
|
+
this.optionChanges = optionChanges;
|
777
|
+
this.selectionService = selectionService;
|
778
|
+
this.localization = localization;
|
779
|
+
this.ctx = ctx;
|
780
|
+
this.rowReorderService = rowReorderService;
|
781
|
+
validatePackage(packageMetadata);
|
782
|
+
this.subscriptions.add(localization.changes.subscribe(({ rtl }) => {
|
783
|
+
this.rtl = rtl;
|
784
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
785
|
+
}));
|
786
|
+
this.view = new ViewCollection(this.viewFieldAccessor.bind(this), this.expandStateService, this.editService, this.selectionService);
|
787
|
+
this.selectionService.init(this);
|
788
|
+
this.ctx.treelist = this;
|
789
|
+
this.subscriptions.add(this.selectionService.changes.subscribe((args) => {
|
790
|
+
if (hasObservers(this.selectionChange)) {
|
791
|
+
this.ngZone.run(() => {
|
792
|
+
args.sender = this;
|
793
|
+
this.selectionChange.emit(args);
|
794
|
+
this.selectionService.updateSelectedState();
|
795
|
+
this.changeDetectorRef.markForCheck();
|
796
|
+
});
|
797
|
+
}
|
798
|
+
}));
|
799
|
+
this.columnInfoService.init(this.columnsContainer, () => this.columnList);
|
800
|
+
this.subscriptions.add(this.columnInfoService.visibilityChange.subscribe((changed) => {
|
801
|
+
this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
|
802
|
+
this.changeDetectorRef.markForCheck();
|
803
|
+
}));
|
804
|
+
this.subscriptions.add(this.columnInfoService.lockedChange.subscribe((changed) => {
|
805
|
+
this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
|
806
|
+
this.changeDetectorRef.markForCheck();
|
807
|
+
}));
|
808
|
+
this.subscriptions.add(merge(this.optionChanges.columns, this.optionChanges.options).subscribe(() => {
|
809
|
+
this.changeDetectorRef.markForCheck();
|
810
|
+
}));
|
811
|
+
this.subscriptions.add(this.filterService.changes.subscribe(x => {
|
812
|
+
this.filterChange.emit(x);
|
813
|
+
}));
|
814
|
+
this.subscriptions.add(this.sortService.changes.subscribe(x => {
|
815
|
+
this.sortChange.emit(x);
|
816
|
+
}));
|
817
|
+
this.attachStateChangesEmitter();
|
818
|
+
this.attachEditHandlers();
|
819
|
+
this.attachDomEventHandlers();
|
820
|
+
this.subscriptions.add(this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this)));
|
821
|
+
this.subscriptions.add(this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this)));
|
822
|
+
this.subscriptions.add(this.excelService.loadingChange.subscribe(() => {
|
823
|
+
this.changeDetectorRef.detectChanges();
|
824
|
+
}));
|
825
|
+
this.columnsContainerChange();
|
826
|
+
this.handleColumnResize();
|
827
|
+
this.columnList = new ColumnList(this.columns);
|
828
|
+
this.subscriptions.add(this.columnReorderService
|
829
|
+
.changes.subscribe(this.reorder.bind(this)));
|
830
|
+
this.subscriptions.add(this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this)));
|
831
|
+
this.subscriptions.add(this.expandStateService.changes.subscribe((args) => {
|
832
|
+
if (args.expand) {
|
833
|
+
this.expandEvent.emit(args);
|
834
|
+
}
|
835
|
+
else {
|
836
|
+
this.collapseEvent.emit(args);
|
837
|
+
}
|
838
|
+
if (!args.isDefaultPrevented()) {
|
839
|
+
this.changeDetectorRef.markForCheck();
|
840
|
+
this.view.clear();
|
841
|
+
this.expandStateChange.emit(args);
|
842
|
+
}
|
843
|
+
if (this.rowReorderable) {
|
844
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
845
|
+
this.notifyReorderContainers();
|
846
|
+
});
|
847
|
+
}
|
848
|
+
}));
|
849
|
+
this.subscriptions.add(this.view.childrenLoaded.subscribe(() => {
|
850
|
+
this.changeDetectorRef.detectChanges();
|
851
|
+
}));
|
852
|
+
this.subscriptions.add(this.view.resetPage.subscribe(() => {
|
853
|
+
if (this.skip > 0 && hasObservers(this.pageChange)) {
|
854
|
+
// don't think there is a way to avoid this
|
855
|
+
// every callback in which the view can be computed is already passed the change detection
|
856
|
+
// computing the current page in advance also does not seem feasible for such a rare case
|
857
|
+
this.pageChangeTimeout = setTimeout(() => {
|
858
|
+
this.pageChange.emit({ skip: 0, take: this.pageSize });
|
859
|
+
}, 0);
|
860
|
+
}
|
861
|
+
this.skip = 0;
|
862
|
+
}));
|
863
|
+
this.dataLoaded = this.dataLoaded.bind(this);
|
864
|
+
this.editService.idGetter = this.idGetter;
|
865
|
+
}
|
796
866
|
/**
|
797
867
|
* @hidden
|
798
868
|
*/
|
@@ -850,6 +920,10 @@ export class TreeListComponent {
|
|
850
920
|
this.updateNavigationMetadata();
|
851
921
|
this.applyAutoSize();
|
852
922
|
this.subscriptions.add(this.pagerTemplateChildren.changes.subscribe(() => this.changeDetectorRef.markForCheck()));
|
923
|
+
const toolbarComponentWrapper = this.wrapper?.nativeElement?.querySelector('kendo-toolbar');
|
924
|
+
if (toolbarComponentWrapper) {
|
925
|
+
this.renderer.addClass(toolbarComponentWrapper, 'k-grid-toolbar');
|
926
|
+
}
|
853
927
|
}
|
854
928
|
ngAfterContentChecked() {
|
855
929
|
if (this.dataChanged) {
|
@@ -902,6 +976,10 @@ export class TreeListComponent {
|
|
902
976
|
getDefaultSelectors(type) {
|
903
977
|
return this.rowReorderService.defaultSelectors[type];
|
904
978
|
}
|
979
|
+
/**
|
980
|
+
* @hidden
|
981
|
+
*/
|
982
|
+
treeListData = () => { return this.view; };
|
905
983
|
/**
|
906
984
|
* @hidden
|
907
985
|
*/
|
@@ -1409,6 +1487,10 @@ export class TreeListComponent {
|
|
1409
1487
|
if ((this.rowHeight) && !this.isVirtual) {
|
1410
1488
|
throw new Error('Row height setting requires virtual scrolling mode to be enabled.');
|
1411
1489
|
}
|
1490
|
+
if (this.wrapper?.nativeElement?.querySelector('kendo-toolbar') && this.toolbarTemplate) {
|
1491
|
+
console.warn(`Defining both a toolbar template and a ToolBarComponent within the TreeList is not supported.
|
1492
|
+
Please use either the ToolBarComponent or a custom template.`);
|
1493
|
+
}
|
1412
1494
|
validateColumnsField(this.columnList);
|
1413
1495
|
}
|
1414
1496
|
}
|
@@ -1617,6 +1699,7 @@ export class TreeListComponent {
|
|
1617
1699
|
throw new Error('The TreeList should be configured as [navigable]="true" to control focus');
|
1618
1700
|
}
|
1619
1701
|
}
|
1702
|
+
_rowClass = () => null;
|
1620
1703
|
navigationMetadata() {
|
1621
1704
|
const isVirtual = this.isVirtual;
|
1622
1705
|
const filterRowOffset = hasFilterRow(this.filterable) ? 1 : 0;
|
@@ -1700,54 +1783,53 @@ export class TreeListComponent {
|
|
1700
1783
|
this.dragTargetContainer?.notify();
|
1701
1784
|
this.dropTargetContainer?.notify();
|
1702
1785
|
}
|
1703
|
-
}
|
1704
|
-
|
1705
|
-
|
1706
|
-
|
1707
|
-
|
1708
|
-
|
1709
|
-
|
1710
|
-
|
1711
|
-
|
1712
|
-
|
1713
|
-
|
1714
|
-
|
1715
|
-
|
1716
|
-
|
1717
|
-
|
1718
|
-
|
1719
|
-
|
1720
|
-
|
1721
|
-
|
1722
|
-
|
1723
|
-
|
1724
|
-
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
1728
|
-
|
1729
|
-
|
1730
|
-
|
1731
|
-
|
1732
|
-
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1736
|
-
|
1737
|
-
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1747
|
-
|
1748
|
-
|
1786
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListComponent, deps: [{ token: i1.BrowserSupportService }, { token: i0.ElementRef }, { token: i2.ChangeNotificationService }, { token: i3.EditService }, { token: i4.FilterService }, { token: i5.PDFService }, { token: i6.ResponsiveService }, { token: i0.Renderer2 }, { token: i7.ExcelService }, { token: i0.NgZone }, { token: i8.ScrollSyncService }, { token: i9.DomEventsService }, { token: i10.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i11.ColumnReorderService }, { token: i12.ColumnInfoService }, { token: i13.NavigationService }, { token: i14.SortService }, { token: i15.ScrollRequestService }, { token: i16.ExpandStateService }, { token: i17.OptionChangesService }, { token: i18.SelectionService }, { token: i19.LocalizationService }, { token: i20.ContextService }, { token: i21.RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
|
1787
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeListComponent, isStandalone: true, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
1788
|
+
BrowserSupportService,
|
1789
|
+
LocalizationService,
|
1790
|
+
ColumnInfoService,
|
1791
|
+
ChangeNotificationService,
|
1792
|
+
EditService,
|
1793
|
+
PDFService,
|
1794
|
+
SuspendService,
|
1795
|
+
{
|
1796
|
+
provide: L10N_PREFIX,
|
1797
|
+
useValue: 'kendo.treelist'
|
1798
|
+
},
|
1799
|
+
FilterService,
|
1800
|
+
ResponsiveService,
|
1801
|
+
PagerContextService,
|
1802
|
+
PagerNavigationService,
|
1803
|
+
ExcelService,
|
1804
|
+
ScrollSyncService,
|
1805
|
+
ResizeService,
|
1806
|
+
DomEventsService,
|
1807
|
+
ColumnResizingService,
|
1808
|
+
SinglePopupService,
|
1809
|
+
DragAndDropService,
|
1810
|
+
DragHintService,
|
1811
|
+
DropCueService,
|
1812
|
+
ColumnReorderService,
|
1813
|
+
NavigationService,
|
1814
|
+
FocusRoot,
|
1815
|
+
IdService,
|
1816
|
+
ScrollRequestService,
|
1817
|
+
SortService,
|
1818
|
+
ExpandStateService,
|
1819
|
+
OptionChangesService,
|
1820
|
+
SelectionService,
|
1821
|
+
{
|
1822
|
+
provide: DataBoundTreeComponent,
|
1823
|
+
useExisting: forwardRef(() => TreeListComponent)
|
1824
|
+
},
|
1825
|
+
{
|
1826
|
+
provide: ExpandableTreeComponent,
|
1827
|
+
useExisting: forwardRef(() => TreeListComponent)
|
1828
|
+
},
|
1829
|
+
ContextService,
|
1830
|
+
RowReorderService
|
1831
|
+
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoTreeList"], usesOnChanges: true, ngImport: i0, template: `
|
1749
1832
|
<ng-container kendoTreeListLocalizedMessages
|
1750
|
-
|
1751
1833
|
i18n-noRecords="kendo.treelist.noRecords|The label visible in the TreeList when there are no records"
|
1752
1834
|
noRecords="No records available."
|
1753
1835
|
|
@@ -1781,6 +1863,9 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
1781
1863
|
i18n-pagerItemsTotal="kendo.treelist.pagerItemsTotal|The label after the total items count in the TreeList pager"
|
1782
1864
|
pagerItemsTotal="items total"
|
1783
1865
|
|
1866
|
+
i18n-pagerInputLabel="kendo.treelist.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number"
|
1867
|
+
pagerInputLabel="Type a page number"
|
1868
|
+
|
1784
1869
|
i18n-filterCellOperatorLabel="kendo.treelist.filterCellOperatorLabel|The label of the filter cell operators dropdown"
|
1785
1870
|
filterCellOperatorLabel="{{ 'Filter cell operators for {columnName}' }}"
|
1786
1871
|
|
@@ -1901,8 +1986,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
1901
1986
|
i18n-columnsReset="kendo.treelist.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
|
1902
1987
|
columnsReset="Reset"
|
1903
1988
|
|
1904
|
-
i18n-
|
1905
|
-
|
1989
|
+
i18n-pagerSelectPage="kendo.treelist.pagerSelectPage|The text of the title and aria-label attributes applied to the page chooser in the TreeList Pager"
|
1990
|
+
pagerSelectPage="Select page"
|
1906
1991
|
|
1907
1992
|
i18n-topToolbarLabel="kendo.treelist.topToolbarLabel|The label of the TreeList top toolbar"
|
1908
1993
|
topToolbarLabel="Top toolbar"
|
@@ -1926,8 +2011,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
1926
2011
|
[navigable]="navigable"
|
1927
2012
|
class="k-toolbar k-grid-toolbar k-toolbar-md"
|
1928
2013
|
[attr.aria-label]="messageFor('topToolbarLabel')"
|
1929
|
-
[attr.aria-controls]="ariaRootId">
|
1930
|
-
|
2014
|
+
[attr.aria-controls]="ariaRootId"></kendo-treelist-toolbar>
|
2015
|
+
<ng-content select="kendo-toolbar"></ng-content>
|
1931
2016
|
<div #ariaRoot
|
1932
2017
|
class="k-grid-aria-root"
|
1933
2018
|
role="treegrid"
|
@@ -2092,18 +2177,41 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
2092
2177
|
</div>
|
2093
2178
|
</ng-template>
|
2094
2179
|
</div>
|
2095
|
-
<kendo-
|
2180
|
+
<kendo-pager
|
2181
|
+
#pager
|
2096
2182
|
*ngIf="showPager"
|
2097
|
-
|
2183
|
+
class="k-grid-pager"
|
2184
|
+
[navigable]="navigable"
|
2098
2185
|
[pageSize]="pageSize"
|
2099
2186
|
[total]="view.totalVisible"
|
2100
|
-
[allCount]="view.total"
|
2101
2187
|
[skip]="skip"
|
2102
|
-
[
|
2103
|
-
[
|
2104
|
-
[
|
2188
|
+
[responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
|
2189
|
+
[buttonCount]="normalizedPageableSettings.buttonCount"
|
2190
|
+
[info]="normalizedPageableSettings.info"
|
2191
|
+
[pageSizeValues]="normalizedPageableSettings.pageSizes"
|
2192
|
+
[previousNext]="normalizedPageableSettings.previousNext"
|
2193
|
+
[type]="normalizedPageableSettings.type"
|
2105
2194
|
(pageChange)="notifyPageChange('pager', $event)">
|
2106
|
-
|
2195
|
+
<ng-template kendoPagerTemplate>
|
2196
|
+
<ng-container
|
2197
|
+
[ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
|
2198
|
+
[ngTemplateOutletContext]="pager.templateContext"></ng-container>
|
2199
|
+
</ng-template>
|
2200
|
+
<kendo-pager-messages
|
2201
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
2202
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
2203
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
2204
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
2205
|
+
[nextPage]="messageFor('pagerNextPage')"
|
2206
|
+
[lastPage]="messageFor('pagerLastPage')"
|
2207
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
2208
|
+
[page]="messageFor('pagerPage')"
|
2209
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
2210
|
+
[items]="messageFor('pagerItems')"
|
2211
|
+
[of]="messageFor('pagerOf')"
|
2212
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
2213
|
+
</kendo-pager-messages>
|
2214
|
+
</kendo-pager>
|
2107
2215
|
<kendo-treelist-toolbar
|
2108
2216
|
*ngIf="showBottomToolbar"
|
2109
2217
|
class="k-toolbar k-grid-toolbar k-grid-toolbar-bottom k-toolbar-md"
|
@@ -2121,8 +2229,40 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
2121
2229
|
</kendo-icon-wrapper>
|
2122
2230
|
{{hintText}}
|
2123
2231
|
</ng-template>
|
2124
|
-
|
2125
|
-
|
2232
|
+
|
2233
|
+
<ng-template #defaultPager>
|
2234
|
+
<div class="k-pager-numbers-wrap">
|
2235
|
+
<kendo-pager-prev-buttons *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-prev-buttons>
|
2236
|
+
<kendo-pager-numeric-buttons
|
2237
|
+
*ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
|
2238
|
+
[buttonCount]="normalizedPageableSettings.buttonCount">
|
2239
|
+
</kendo-pager-numeric-buttons>
|
2240
|
+
<kendo-pager-input *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
|
2241
|
+
<kendo-pager-next-buttons *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
|
2242
|
+
</div>
|
2243
|
+
<kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
|
2244
|
+
[pageSizes]="normalizedPageableSettings.pageSizes">
|
2245
|
+
</kendo-pager-page-sizes>
|
2246
|
+
<kendo-pager-info *ngIf="normalizedPageableSettings.info">
|
2247
|
+
</kendo-pager-info>
|
2248
|
+
<kendo-pager-messages
|
2249
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
2250
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
2251
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
2252
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
2253
|
+
[nextPage]="messageFor('pagerNextPage')"
|
2254
|
+
[lastPage]="messageFor('pagerLastPage')"
|
2255
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
2256
|
+
[page]="messageFor('pagerPage')"
|
2257
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
2258
|
+
[items]="messageFor('pagerItems')"
|
2259
|
+
[of]="messageFor('pagerOf')"
|
2260
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
2261
|
+
</kendo-pager-messages>
|
2262
|
+
</ng-template>
|
2263
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoTreeListLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-treelist-toolbar", inputs: ["position", "navigable"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: HeaderComponent, selector: "[kendoTreeListHeader]", inputs: ["totalColumnLevels", "columns", "scrollable", "filterable", "sort", "filter", "sortable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-treelist-list", inputs: ["view", "total", "rowHeight", "take", "skip", "columns", "noRecordsTemplate", "filterable", "rowClass", "loading", "trackBy", "virtualColumns", "isVirtual", "expandIcons"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: MarqueeDirective, selector: "[kendoTreeListSelectionMarquee]" }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }, { kind: "component", type: i22.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i22.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i22.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i22.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i22.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i22.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i22.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i22.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i22.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
2264
|
+
}
|
2265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListComponent, decorators: [{
|
2126
2266
|
type: Component,
|
2127
2267
|
args: [{
|
2128
2268
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
@@ -2143,6 +2283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
2143
2283
|
FilterService,
|
2144
2284
|
ResponsiveService,
|
2145
2285
|
PagerContextService,
|
2286
|
+
PagerNavigationService,
|
2146
2287
|
ExcelService,
|
2147
2288
|
ScrollSyncService,
|
2148
2289
|
ResizeService,
|
@@ -2175,7 +2316,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
2175
2316
|
selector: 'kendo-treelist',
|
2176
2317
|
template: `
|
2177
2318
|
<ng-container kendoTreeListLocalizedMessages
|
2178
|
-
|
2179
2319
|
i18n-noRecords="kendo.treelist.noRecords|The label visible in the TreeList when there are no records"
|
2180
2320
|
noRecords="No records available."
|
2181
2321
|
|
@@ -2209,6 +2349,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
2209
2349
|
i18n-pagerItemsTotal="kendo.treelist.pagerItemsTotal|The label after the total items count in the TreeList pager"
|
2210
2350
|
pagerItemsTotal="items total"
|
2211
2351
|
|
2352
|
+
i18n-pagerInputLabel="kendo.treelist.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number"
|
2353
|
+
pagerInputLabel="Type a page number"
|
2354
|
+
|
2212
2355
|
i18n-filterCellOperatorLabel="kendo.treelist.filterCellOperatorLabel|The label of the filter cell operators dropdown"
|
2213
2356
|
filterCellOperatorLabel="{{ 'Filter cell operators for {columnName}' }}"
|
2214
2357
|
|
@@ -2329,8 +2472,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
2329
2472
|
i18n-columnsReset="kendo.treelist.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
|
2330
2473
|
columnsReset="Reset"
|
2331
2474
|
|
2332
|
-
i18n-
|
2333
|
-
|
2475
|
+
i18n-pagerSelectPage="kendo.treelist.pagerSelectPage|The text of the title and aria-label attributes applied to the page chooser in the TreeList Pager"
|
2476
|
+
pagerSelectPage="Select page"
|
2334
2477
|
|
2335
2478
|
i18n-topToolbarLabel="kendo.treelist.topToolbarLabel|The label of the TreeList top toolbar"
|
2336
2479
|
topToolbarLabel="Top toolbar"
|
@@ -2354,8 +2497,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
2354
2497
|
[navigable]="navigable"
|
2355
2498
|
class="k-toolbar k-grid-toolbar k-toolbar-md"
|
2356
2499
|
[attr.aria-label]="messageFor('topToolbarLabel')"
|
2357
|
-
[attr.aria-controls]="ariaRootId">
|
2358
|
-
|
2500
|
+
[attr.aria-controls]="ariaRootId"></kendo-treelist-toolbar>
|
2501
|
+
<ng-content select="kendo-toolbar"></ng-content>
|
2359
2502
|
<div #ariaRoot
|
2360
2503
|
class="k-grid-aria-root"
|
2361
2504
|
role="treegrid"
|
@@ -2520,18 +2663,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
2520
2663
|
</div>
|
2521
2664
|
</ng-template>
|
2522
2665
|
</div>
|
2523
|
-
<kendo-
|
2666
|
+
<kendo-pager
|
2667
|
+
#pager
|
2524
2668
|
*ngIf="showPager"
|
2525
|
-
|
2669
|
+
class="k-grid-pager"
|
2670
|
+
[navigable]="navigable"
|
2526
2671
|
[pageSize]="pageSize"
|
2527
2672
|
[total]="view.totalVisible"
|
2528
|
-
[allCount]="view.total"
|
2529
2673
|
[skip]="skip"
|
2530
|
-
[
|
2531
|
-
[
|
2532
|
-
[
|
2674
|
+
[responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
|
2675
|
+
[buttonCount]="normalizedPageableSettings.buttonCount"
|
2676
|
+
[info]="normalizedPageableSettings.info"
|
2677
|
+
[pageSizeValues]="normalizedPageableSettings.pageSizes"
|
2678
|
+
[previousNext]="normalizedPageableSettings.previousNext"
|
2679
|
+
[type]="normalizedPageableSettings.type"
|
2533
2680
|
(pageChange)="notifyPageChange('pager', $event)">
|
2534
|
-
|
2681
|
+
<ng-template kendoPagerTemplate>
|
2682
|
+
<ng-container
|
2683
|
+
[ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
|
2684
|
+
[ngTemplateOutletContext]="pager.templateContext"></ng-container>
|
2685
|
+
</ng-template>
|
2686
|
+
<kendo-pager-messages
|
2687
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
2688
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
2689
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
2690
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
2691
|
+
[nextPage]="messageFor('pagerNextPage')"
|
2692
|
+
[lastPage]="messageFor('pagerLastPage')"
|
2693
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
2694
|
+
[page]="messageFor('pagerPage')"
|
2695
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
2696
|
+
[items]="messageFor('pagerItems')"
|
2697
|
+
[of]="messageFor('pagerOf')"
|
2698
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
2699
|
+
</kendo-pager-messages>
|
2700
|
+
</kendo-pager>
|
2535
2701
|
<kendo-treelist-toolbar
|
2536
2702
|
*ngIf="showBottomToolbar"
|
2537
2703
|
class="k-toolbar k-grid-toolbar k-grid-toolbar-bottom k-toolbar-md"
|
@@ -2549,9 +2715,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
2549
2715
|
</kendo-icon-wrapper>
|
2550
2716
|
{{hintText}}
|
2551
2717
|
</ng-template>
|
2718
|
+
|
2719
|
+
<ng-template #defaultPager>
|
2720
|
+
<div class="k-pager-numbers-wrap">
|
2721
|
+
<kendo-pager-prev-buttons *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-prev-buttons>
|
2722
|
+
<kendo-pager-numeric-buttons
|
2723
|
+
*ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
|
2724
|
+
[buttonCount]="normalizedPageableSettings.buttonCount">
|
2725
|
+
</kendo-pager-numeric-buttons>
|
2726
|
+
<kendo-pager-input *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
|
2727
|
+
<kendo-pager-next-buttons *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
|
2728
|
+
</div>
|
2729
|
+
<kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
|
2730
|
+
[pageSizes]="normalizedPageableSettings.pageSizes">
|
2731
|
+
</kendo-pager-page-sizes>
|
2732
|
+
<kendo-pager-info *ngIf="normalizedPageableSettings.info">
|
2733
|
+
</kendo-pager-info>
|
2734
|
+
<kendo-pager-messages
|
2735
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
2736
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
2737
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
2738
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
2739
|
+
[nextPage]="messageFor('pagerNextPage')"
|
2740
|
+
[lastPage]="messageFor('pagerLastPage')"
|
2741
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
2742
|
+
[page]="messageFor('pagerPage')"
|
2743
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
2744
|
+
[items]="messageFor('pagerItems')"
|
2745
|
+
[of]="messageFor('pagerOf')"
|
2746
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
2747
|
+
</kendo-pager-messages>
|
2748
|
+
</ng-template>
|
2552
2749
|
`,
|
2553
2750
|
standalone: true,
|
2554
|
-
imports: [LocalizedMessagesDirective, NgIf, ToolbarComponent, DragTargetContainerDirective, DropTargetContainerDirective,
|
2751
|
+
imports: [LocalizedMessagesDirective, NgIf, NgTemplateOutlet, ToolbarComponent, DragTargetContainerDirective, DropTargetContainerDirective,
|
2752
|
+
TableDirective, ColGroupComponent, HeaderComponent, ResizableContainerDirective, ListComponent, DraggableDirective, MarqueeDirective,
|
2753
|
+
TableBodyComponent, LoadingComponent, ...KENDO_PAGER, IconWrapperComponent]
|
2555
2754
|
}]
|
2556
2755
|
}], ctorParameters: function () { return [{ type: i1.BrowserSupportService }, { type: i0.ElementRef }, { type: i2.ChangeNotificationService }, { type: i3.EditService }, { type: i4.FilterService }, { type: i5.PDFService }, { type: i6.ResponsiveService }, { type: i0.Renderer2 }, { type: i7.ExcelService }, { type: i0.NgZone }, { type: i8.ScrollSyncService }, { type: i9.DomEventsService }, { type: i10.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i11.ColumnReorderService }, { type: i12.ColumnInfoService }, { type: i13.NavigationService }, { type: i14.SortService }, { type: i15.ScrollRequestService }, { type: i16.ExpandStateService }, { type: i17.OptionChangesService }, { type: i18.SelectionService }, { type: i19.LocalizationService }, { type: i20.ContextService }, { type: i21.RowReorderService }]; }, propDecorators: { ariaLabel: [{
|
2557
2756
|
type: Input,
|