@progress/kendo-angular-treelist 3.1.3-dev.202110041229
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/LICENSE.md +11 -0
- package/NOTICE.txt +614 -0
- package/README.md +35 -0
- package/dist/cdn/js/kendo-angular-treelist.js +20 -0
- package/dist/cdn/main.js +5 -0
- package/dist/es/binding-directives/base-binding.directive.js +176 -0
- package/dist/es/binding-directives/data-bound-tree-component.js +20 -0
- package/dist/es/binding-directives/flat-binding.directive.js +101 -0
- package/dist/es/binding-directives/hierarchy-binding.directive.js +75 -0
- package/dist/es/column-menu/column-chooser.component.js +129 -0
- package/dist/es/column-menu/column-list.component.js +194 -0
- package/dist/es/column-menu/column-locked-change-event.js +17 -0
- package/dist/es/column-menu/column-menu-chooser.component.js +90 -0
- package/dist/es/column-menu/column-menu-filter.component.js +68 -0
- package/dist/es/column-menu/column-menu-item-base.js +36 -0
- package/dist/es/column-menu/column-menu-item-content-template.directive.js +35 -0
- package/dist/es/column-menu/column-menu-item.component.js +134 -0
- package/dist/es/column-menu/column-menu-lock.component.js +99 -0
- package/dist/es/column-menu/column-menu-settings.interface.js +4 -0
- package/dist/es/column-menu/column-menu-sort.component.js +87 -0
- package/dist/es/column-menu/column-menu-template.directive.js +38 -0
- package/dist/es/column-menu/column-menu.component.js +176 -0
- package/dist/es/column-menu/column-menu.module.js +59 -0
- package/dist/es/column-menu/column-menu.service.js +36 -0
- package/dist/es/column-menu/column-visibility-change-event.js +17 -0
- package/dist/es/column-menu/utils.js +28 -0
- package/dist/es/column-resizing/column-handle.directive.js +274 -0
- package/dist/es/column-resizing/column-resize.interface.js +4 -0
- package/dist/es/column-resizing/column-resizing.service.js +151 -0
- package/dist/es/column-resizing/table.directive.js +158 -0
- package/dist/es/columns/checkbox-column.component.js +64 -0
- package/dist/es/columns/column-base.js +336 -0
- package/dist/es/columns/column-common.js +92 -0
- package/dist/es/columns/column-group.component.js +124 -0
- package/dist/es/columns/column-list.js +92 -0
- package/dist/es/columns/column.component.js +201 -0
- package/dist/es/columns/columns-container.js +98 -0
- package/dist/es/columns/command-column.component.js +74 -0
- package/dist/es/columns/sort-settings.js +23 -0
- package/dist/es/columns/span-column.component.js +285 -0
- package/dist/es/common/cell-click-event-args.interface.js +4 -0
- package/dist/es/common/column-info.service.js +79 -0
- package/dist/es/common/default-track-by.js +13 -0
- package/dist/es/common/dom-events.service.js +26 -0
- package/dist/es/common/filter-descriptor-differ.js +77 -0
- package/dist/es/common/id.service.js +25 -0
- package/dist/es/common/option-changes.service.js +26 -0
- package/dist/es/common/preventable-event.js +32 -0
- package/dist/es/common/single-popup.service.js +122 -0
- package/dist/es/common/sort.service.js +18 -0
- package/dist/es/constants.js +12 -0
- package/dist/es/data/change-event-args.interface.js +4 -0
- package/dist/es/data/change-notification.service.js +30 -0
- package/dist/es/data/data-item.interface.js +4 -0
- package/dist/es/data/data.collection.js +472 -0
- package/dist/es/data/treelist-item.interface.js +4 -0
- package/dist/es/dragdrop/column-reorder-config.js +4 -0
- package/dist/es/dragdrop/column-reorder-event.js +25 -0
- package/dist/es/dragdrop/column-reorder.service.js +22 -0
- package/dist/es/dragdrop/common.js +72 -0
- package/dist/es/dragdrop/context-types.js +4 -0
- package/dist/es/dragdrop/drag-and-drop.module.js +27 -0
- package/dist/es/dragdrop/drag-and-drop.service.js +65 -0
- package/dist/es/dragdrop/drag-hint.service.js +95 -0
- package/dist/es/dragdrop/draggable-column.directive.js +170 -0
- package/dist/es/dragdrop/drop-cue.service.js +44 -0
- package/dist/es/dragdrop/drop-target.directive.js +89 -0
- package/dist/es/editing/add-command.directive.js +74 -0
- package/dist/es/editing/add-event-args.interface.js +4 -0
- package/dist/es/editing/base-command.directive.js +78 -0
- package/dist/es/editing/cancel-command.directive.js +78 -0
- package/dist/es/editing/cancel-event-args.interface.js +4 -0
- package/dist/es/editing/cell-close-event.js +23 -0
- package/dist/es/editing/edit-command.directive.js +65 -0
- package/dist/es/editing/edit-event-args.interface.js +4 -0
- package/dist/es/editing/edit-template.directive.js +34 -0
- package/dist/es/editing/edit.service.js +189 -0
- package/dist/es/editing/remove-command.directive.js +64 -0
- package/dist/es/editing/remove-event-args.interface.js +4 -0
- package/dist/es/editing/save-command.directive.js +77 -0
- package/dist/es/editing/save-event-args.interface.js +4 -0
- package/dist/es/editing-directives/create-form-group-args.interface.js +4 -0
- package/dist/es/editing-directives/edit-service.interface.js +4 -0
- package/dist/es/editing-directives/editing-directive-base.js +144 -0
- package/dist/es/editing-directives/flat-edit.service.js +56 -0
- package/dist/es/editing-directives/hierarchy-edit.service.js +52 -0
- package/dist/es/editing-directives/in-cell-editing.directive.js +76 -0
- package/dist/es/editing-directives/local-edit.service.js +32 -0
- package/dist/es/editing-directives/reactive-editing.directive.js +48 -0
- package/dist/es/editing-directives/row-editing-directive-base.js +38 -0
- package/dist/es/editing-directives/template-editing.directive.js +53 -0
- package/dist/es/editing-directives/utils.js +41 -0
- package/dist/es/excel/excel-command.directive.js +77 -0
- package/dist/es/excel/excel-export-event.js +19 -0
- package/dist/es/excel/excel.component.js +252 -0
- package/dist/es/excel/excel.module.js +53 -0
- package/dist/es/excel/excel.service.js +35 -0
- package/dist/es/expand-state/expand-event.js +23 -0
- package/dist/es/expand-state/expand-state.service.js +40 -0
- package/dist/es/expand-state/expandable-tree-component.js +20 -0
- package/dist/es/expand-state/expandable.directive.js +124 -0
- package/dist/es/filtering/base-filter-cell.component.js +172 -0
- package/dist/es/filtering/boolean-filter.component.js +100 -0
- package/dist/es/filtering/cell/autocomplete-filter-cell.component.js +94 -0
- package/dist/es/filtering/cell/boolean-filter-cell.component.js +48 -0
- package/dist/es/filtering/cell/date-filter-cell.component.js +53 -0
- package/dist/es/filtering/cell/filter-cell-component.factory.js +19 -0
- package/dist/es/filtering/cell/filter-cell-host.directive.js +34 -0
- package/dist/es/filtering/cell/filter-cell-operators.component.js +126 -0
- package/dist/es/filtering/cell/filter-cell-template.directive.js +28 -0
- package/dist/es/filtering/cell/filter-cell-wrapper.component.js +70 -0
- package/dist/es/filtering/cell/filter-cell.component.js +72 -0
- package/dist/es/filtering/cell/numeric-filter-cell.component.js +62 -0
- package/dist/es/filtering/cell/row-filtering.module.js +67 -0
- package/dist/es/filtering/cell/string-filter-cell.component.js +64 -0
- package/dist/es/filtering/date-filter.component.js +177 -0
- package/dist/es/filtering/filter-component.interface.js +4 -0
- package/dist/es/filtering/filter-host.directive.js +54 -0
- package/dist/es/filtering/filter-input-wrapper.component.js +143 -0
- package/dist/es/filtering/filter-input.directive.js +95 -0
- package/dist/es/filtering/filter-row.component.js +47 -0
- package/dist/es/filtering/filter.service.js +27 -0
- package/dist/es/filtering/filterable.js +20 -0
- package/dist/es/filtering/menu/boolean-filter-menu.component.js +97 -0
- package/dist/es/filtering/menu/date-filter-menu-input.component.js +98 -0
- package/dist/es/filtering/menu/date-filter-menu.component.js +106 -0
- package/dist/es/filtering/menu/filter-menu-component.factory.js +19 -0
- package/dist/es/filtering/menu/filter-menu-container.component.js +197 -0
- package/dist/es/filtering/menu/filter-menu-host.directive.js +43 -0
- package/dist/es/filtering/menu/filter-menu-input-wrapper.component.js +82 -0
- package/dist/es/filtering/menu/filter-menu-template.directive.js +24 -0
- package/dist/es/filtering/menu/filter-menu.component.js +58 -0
- package/dist/es/filtering/menu/filter-menu.module.js +66 -0
- package/dist/es/filtering/menu/numeric-filter-menu-input.component.js +82 -0
- package/dist/es/filtering/menu/numeric-filter-menu.component.js +106 -0
- package/dist/es/filtering/menu/string-filter-menu-input.component.js +48 -0
- package/dist/es/filtering/menu/string-filter-menu.component.js +93 -0
- package/dist/es/filtering/numeric-filter.component.js +156 -0
- package/dist/es/filtering/operators/after-eq-filter-operator.component.js +47 -0
- package/dist/es/filtering/operators/after-filter-operator.component.js +47 -0
- package/dist/es/filtering/operators/before-eq-filter-operator.component.js +47 -0
- package/dist/es/filtering/operators/before-filter-operator.component.js +47 -0
- package/dist/es/filtering/operators/contains-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/ends-with-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/eq-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/filter-operator.base.js +94 -0
- package/dist/es/filtering/operators/gt-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/gte-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/is-empty-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/is-not-empty-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/is-not-null-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/isnull-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/lt-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/lte-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/neq-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/not-contains-filter-operator.component.js +38 -0
- package/dist/es/filtering/operators/starts-with-filter-operator.component.js +38 -0
- package/dist/es/filtering/shared-filtering.module.js +87 -0
- package/dist/es/filtering/string-filter.component.js +92 -0
- package/dist/es/index.js +94 -0
- package/dist/es/layout/browser-support.service.js +85 -0
- package/dist/es/layout/resizable.directive.js +91 -0
- package/dist/es/layout/resize.service.js +32 -0
- package/dist/es/layout/responsive.service.js +41 -0
- package/dist/es/layout/row-sync.js +53 -0
- package/dist/es/localization/custom-messages.component.js +44 -0
- package/dist/es/localization/localized-messages.directive.js +35 -0
- package/dist/es/localization/messages.js +218 -0
- package/dist/es/main.js +101 -0
- package/dist/es/navigation/default-focusable-element.js +57 -0
- package/dist/es/navigation/focus-group.js +111 -0
- package/dist/es/navigation/focus-root.js +39 -0
- package/dist/es/navigation/focusable-element.interface.js +4 -0
- package/dist/es/navigation/focusable.directive.js +173 -0
- package/dist/es/navigation/item-map.js +71 -0
- package/dist/es/navigation/logical-cell.directive.js +206 -0
- package/dist/es/navigation/logical-cell.interface.js +4 -0
- package/dist/es/navigation/logical-row.directive.js +129 -0
- package/dist/es/navigation/logical-row.interface.js +4 -0
- package/dist/es/navigation/model-cell.js +28 -0
- package/dist/es/navigation/navigation-cell.interface.js +4 -0
- package/dist/es/navigation/navigation-change.interface.js +4 -0
- package/dist/es/navigation/navigation-cursor.js +197 -0
- package/dist/es/navigation/navigation-metadata.js +34 -0
- package/dist/es/navigation/navigation-mode.js +4 -0
- package/dist/es/navigation/navigation-model.js +138 -0
- package/dist/es/navigation/navigation-row.interface.js +4 -0
- package/dist/es/navigation/navigation.service.js +678 -0
- package/dist/es/navigation/treelist-focusable-element.js +29 -0
- package/dist/es/package-metadata.js +15 -0
- package/dist/es/pager/pager-context.service.js +48 -0
- package/dist/es/pager/pager-element.component.js +85 -0
- package/dist/es/pager/pager-info.component.js +89 -0
- package/dist/es/pager/pager-input.component.js +101 -0
- package/dist/es/pager/pager-next-buttons.component.js +52 -0
- package/dist/es/pager/pager-numeric-buttons.component.js +120 -0
- package/dist/es/pager/pager-page-sizes.component.js +133 -0
- package/dist/es/pager/pager-prev-buttons.component.js +52 -0
- package/dist/es/pager/pager-settings.js +26 -0
- package/dist/es/pager/pager-template.directive.js +38 -0
- package/dist/es/pager/pager.component.js +170 -0
- package/dist/es/pager/pager.module.js +68 -0
- package/dist/es/pager/pagesize-item.interface.js +4 -0
- package/dist/es/pdf/export-element.js +121 -0
- package/dist/es/pdf/pdf-command.directive.js +77 -0
- package/dist/es/pdf/pdf-export-event.js +17 -0
- package/dist/es/pdf/pdf-margin.component.js +21 -0
- package/dist/es/pdf/pdf-margin.interface.js +4 -0
- package/dist/es/pdf/pdf-template.directive.js +37 -0
- package/dist/es/pdf/pdf.component.js +247 -0
- package/dist/es/pdf/pdf.module.js +65 -0
- package/dist/es/pdf/pdf.service.js +38 -0
- package/dist/es/pdf/treelist-query.js +45 -0
- package/dist/es/rendering/body.module.js +79 -0
- package/dist/es/rendering/cell-template.directive.js +43 -0
- package/dist/es/rendering/cell.component.js +221 -0
- package/dist/es/rendering/common/col-group.component.js +37 -0
- package/dist/es/rendering/common/dom-queries.js +149 -0
- package/dist/es/rendering/common/field-accessor.pipe.js +45 -0
- package/dist/es/rendering/common/level-items.pipe.js +30 -0
- package/dist/es/rendering/common/loading.component.js +36 -0
- package/dist/es/rendering/common/row-class.js +4 -0
- package/dist/es/rendering/common/spacer.component.js +58 -0
- package/dist/es/rendering/common/template-context.directive.js +46 -0
- package/dist/es/rendering/constants.js +20 -0
- package/dist/es/rendering/footer-template.directive.js +41 -0
- package/dist/es/rendering/header/header-template.directive.js +38 -0
- package/dist/es/rendering/header/header.component.js +503 -0
- package/dist/es/rendering/header/header.module.js +49 -0
- package/dist/es/rendering/list.component.js +689 -0
- package/dist/es/rendering/no-records-template.directive.js +34 -0
- package/dist/es/rendering/table-body.component.js +403 -0
- package/dist/es/rendering/toolbar/toolbar-template.directive.js +62 -0
- package/dist/es/rendering/toolbar/toolbar.component.js +49 -0
- package/dist/es/scrolling/content-scroll-event.js +4 -0
- package/dist/es/scrolling/row-height.service.js +31 -0
- package/dist/es/scrolling/scroll-bottom-event.js +4 -0
- package/dist/es/scrolling/scroll-request.service.js +23 -0
- package/dist/es/scrolling/scroll-sync.service.js +89 -0
- package/dist/es/scrolling/scroller.service.js +115 -0
- package/dist/es/scrolling/scrollmode.js +4 -0
- package/dist/es/scrolling/suspend.service.js +19 -0
- package/dist/es/selection/is-selected.js +4 -0
- package/dist/es/selection/marquee.directive.js +179 -0
- package/dist/es/selection/selectable-settings.js +4 -0
- package/dist/es/selection/selectable.directive.js +231 -0
- package/dist/es/selection/selection-change-event.js +18 -0
- package/dist/es/selection/selection-state.js +115 -0
- package/dist/es/selection/selection.service.js +260 -0
- package/dist/es/shared.module.js +61 -0
- package/dist/es/treelist.component.js +2452 -0
- package/dist/es/treelist.module.js +115 -0
- package/dist/es/utils.js +135 -0
- package/dist/es2015/binding-directives/base-binding.directive.d.ts +61 -0
- package/dist/es2015/binding-directives/base-binding.directive.js +160 -0
- package/dist/es2015/binding-directives/data-bound-tree-component.d.ts +47 -0
- package/dist/es2015/binding-directives/data-bound-tree-component.js +17 -0
- package/dist/es2015/binding-directives/flat-binding.directive.d.ts +36 -0
- package/dist/es2015/binding-directives/flat-binding.directive.js +85 -0
- package/dist/es2015/binding-directives/hierarchy-binding.directive.d.ts +29 -0
- package/dist/es2015/binding-directives/hierarchy-binding.directive.js +64 -0
- package/dist/es2015/column-menu/column-chooser.component.d.ts +54 -0
- package/dist/es2015/column-menu/column-chooser.component.js +140 -0
- package/dist/es2015/column-menu/column-list.component.d.ts +40 -0
- package/dist/es2015/column-menu/column-list.component.js +192 -0
- package/dist/es2015/column-menu/column-locked-change-event.d.ts +18 -0
- package/dist/es2015/column-menu/column-locked-change-event.js +15 -0
- package/dist/es2015/column-menu/column-menu-chooser.component.d.ts +49 -0
- package/dist/es2015/column-menu/column-menu-chooser.component.js +98 -0
- package/dist/es2015/column-menu/column-menu-filter.component.d.ts +41 -0
- package/dist/es2015/column-menu/column-menu-filter.component.js +77 -0
- package/dist/es2015/column-menu/column-menu-item-base.d.ts +22 -0
- package/dist/es2015/column-menu/column-menu-item-base.js +34 -0
- package/dist/es2015/column-menu/column-menu-item-content-template.directive.d.ts +23 -0
- package/dist/es2015/column-menu/column-menu-item-content-template.directive.js +34 -0
- package/dist/es2015/column-menu/column-menu-item.component.d.ts +61 -0
- package/dist/es2015/column-menu/column-menu-item.component.js +150 -0
- package/dist/es2015/column-menu/column-menu-lock.component.d.ts +38 -0
- package/dist/es2015/column-menu/column-menu-lock.component.js +83 -0
- package/dist/es2015/column-menu/column-menu-settings.interface.d.ts +39 -0
- package/dist/es2015/column-menu/column-menu-settings.interface.js +4 -0
- package/dist/es2015/column-menu/column-menu-sort.component.d.ts +34 -0
- package/dist/es2015/column-menu/column-menu-sort.component.js +78 -0
- package/dist/es2015/column-menu/column-menu-template.directive.d.ts +26 -0
- package/dist/es2015/column-menu/column-menu-template.directive.js +37 -0
- package/dist/es2015/column-menu/column-menu.component.d.ts +96 -0
- package/dist/es2015/column-menu/column-menu.component.js +181 -0
- package/dist/es2015/column-menu/column-menu.module.d.ts +10 -0
- package/dist/es2015/column-menu/column-menu.module.js +56 -0
- package/dist/es2015/column-menu/column-menu.service.d.ts +42 -0
- package/dist/es2015/column-menu/column-menu.service.js +46 -0
- package/dist/es2015/column-menu/column-visibility-change-event.d.ts +18 -0
- package/dist/es2015/column-menu/column-visibility-change-event.js +15 -0
- package/dist/es2015/column-menu/utils.d.ts +24 -0
- package/dist/es2015/column-menu/utils.js +24 -0
- package/dist/es2015/column-resizing/column-handle.directive.d.ts +38 -0
- package/dist/es2015/column-resizing/column-handle.directive.js +243 -0
- package/dist/es2015/column-resizing/column-resize.interface.d.ts +58 -0
- package/dist/es2015/column-resizing/column-resize.interface.js +4 -0
- package/dist/es2015/column-resizing/column-resizing.service.d.ts +31 -0
- package/dist/es2015/column-resizing/column-resizing.service.js +145 -0
- package/dist/es2015/column-resizing/table.directive.d.ts +30 -0
- package/dist/es2015/column-resizing/table.directive.js +135 -0
- package/dist/es2015/columns/checkbox-column.component.d.ts +30 -0
- package/dist/es2015/columns/checkbox-column.component.js +56 -0
- package/dist/es2015/columns/column-base.d.ts +509 -0
- package/dist/es2015/columns/column-base.js +294 -0
- package/dist/es2015/columns/column-common.d.ts +53 -0
- package/dist/es2015/columns/column-common.js +78 -0
- package/dist/es2015/columns/column-group.component.d.ts +56 -0
- package/dist/es2015/columns/column-group.component.js +97 -0
- package/dist/es2015/columns/column-list.d.ts +20 -0
- package/dist/es2015/columns/column-list.js +90 -0
- package/dist/es2015/columns/column.component.d.ts +139 -0
- package/dist/es2015/columns/column.component.js +173 -0
- package/dist/es2015/columns/columns-container.d.ts +27 -0
- package/dist/es2015/columns/columns-container.js +91 -0
- package/dist/es2015/columns/command-column.component.d.ts +42 -0
- package/dist/es2015/columns/command-column.component.js +66 -0
- package/dist/es2015/columns/sort-settings.d.ts +107 -0
- package/dist/es2015/columns/sort-settings.js +17 -0
- package/dist/es2015/columns/span-column.component.d.ts +190 -0
- package/dist/es2015/columns/span-column.component.js +241 -0
- package/dist/es2015/common/cell-click-event-args.interface.d.ts +49 -0
- package/dist/es2015/common/cell-click-event-args.interface.js +4 -0
- package/dist/es2015/common/column-info.service.d.ts +27 -0
- package/dist/es2015/common/column-info.service.js +57 -0
- package/dist/es2015/common/default-track-by.d.ts +9 -0
- package/dist/es2015/common/default-track-by.js +13 -0
- package/dist/es2015/common/dom-events.service.d.ts +18 -0
- package/dist/es2015/common/dom-events.service.js +28 -0
- package/dist/es2015/common/filter-descriptor-differ.d.ts +13 -0
- package/dist/es2015/common/filter-descriptor-differ.js +75 -0
- package/dist/es2015/common/id.service.d.ts +12 -0
- package/dist/es2015/common/id.service.js +24 -0
- package/dist/es2015/common/option-changes.service.d.ts +14 -0
- package/dist/es2015/common/option-changes.service.js +28 -0
- package/dist/es2015/common/preventable-event.d.ts +24 -0
- package/dist/es2015/common/preventable-event.js +30 -0
- package/dist/es2015/common/single-popup.service.d.ts +50 -0
- package/dist/es2015/common/single-popup.service.js +112 -0
- package/dist/es2015/common/sort.service.d.ts +13 -0
- package/dist/es2015/common/sort.service.js +16 -0
- package/dist/es2015/constants.d.ts +12 -0
- package/dist/es2015/constants.js +12 -0
- package/dist/es2015/data/change-event-args.interface.d.ts +32 -0
- package/dist/es2015/data/change-event-args.interface.js +4 -0
- package/dist/es2015/data/change-notification.service.d.ts +15 -0
- package/dist/es2015/data/change-notification.service.js +28 -0
- package/dist/es2015/data/data-item.interface.d.ts +25 -0
- package/dist/es2015/data/data-item.interface.js +4 -0
- package/dist/es2015/data/data.collection.d.ts +121 -0
- package/dist/es2015/data/data.collection.js +431 -0
- package/dist/es2015/data/treelist-item.interface.d.ts +10 -0
- package/dist/es2015/data/treelist-item.interface.js +4 -0
- package/dist/es2015/dragdrop/column-reorder-config.d.ts +13 -0
- package/dist/es2015/dragdrop/column-reorder-config.js +4 -0
- package/dist/es2015/dragdrop/column-reorder-event.d.ts +29 -0
- package/dist/es2015/dragdrop/column-reorder-event.js +19 -0
- package/dist/es2015/dragdrop/column-reorder.service.d.ts +12 -0
- package/dist/es2015/dragdrop/column-reorder.service.js +24 -0
- package/dist/es2015/dragdrop/common.d.ts +38 -0
- package/dist/es2015/dragdrop/common.js +68 -0
- package/dist/es2015/dragdrop/context-types.d.ts +16 -0
- package/dist/es2015/dragdrop/context-types.js +4 -0
- package/dist/es2015/dragdrop/drag-and-drop.module.d.ts +9 -0
- package/dist/es2015/dragdrop/drag-and-drop.module.js +24 -0
- package/dist/es2015/dragdrop/drag-and-drop.service.d.ts +20 -0
- package/dist/es2015/dragdrop/drag-and-drop.service.js +64 -0
- package/dist/es2015/dragdrop/drag-hint.service.d.ts +26 -0
- package/dist/es2015/dragdrop/drag-hint.service.js +98 -0
- package/dist/es2015/dragdrop/draggable-column.directive.d.ts +37 -0
- package/dist/es2015/dragdrop/draggable-column.directive.js +147 -0
- package/dist/es2015/dragdrop/drop-cue.service.d.ts +15 -0
- package/dist/es2015/dragdrop/drop-cue.service.js +40 -0
- package/dist/es2015/dragdrop/drop-target.directive.d.ts +23 -0
- package/dist/es2015/dragdrop/drop-target.directive.js +75 -0
- package/dist/es2015/editing/add-command.directive.d.ts +51 -0
- package/dist/es2015/editing/add-command.directive.js +71 -0
- package/dist/es2015/editing/add-event-args.interface.d.ts +14 -0
- package/dist/es2015/editing/add-event-args.interface.js +4 -0
- package/dist/es2015/editing/base-command.directive.d.ts +28 -0
- package/dist/es2015/editing/base-command.directive.js +63 -0
- package/dist/es2015/editing/cancel-command.directive.d.ts +52 -0
- package/dist/es2015/editing/cancel-command.directive.js +75 -0
- package/dist/es2015/editing/cancel-event-args.interface.d.ts +10 -0
- package/dist/es2015/editing/cancel-event-args.interface.js +4 -0
- package/dist/es2015/editing/cell-close-event.d.ts +34 -0
- package/dist/es2015/editing/cell-close-event.js +18 -0
- package/dist/es2015/editing/edit-command.directive.d.ts +40 -0
- package/dist/es2015/editing/edit-command.directive.js +62 -0
- package/dist/es2015/editing/edit-event-args.interface.d.ts +26 -0
- package/dist/es2015/editing/edit-event-args.interface.js +4 -0
- package/dist/es2015/editing/edit-template.directive.d.ts +23 -0
- package/dist/es2015/editing/edit-template.directive.js +33 -0
- package/dist/es2015/editing/edit.service.d.ts +75 -0
- package/dist/es2015/editing/edit.service.js +171 -0
- package/dist/es2015/editing/remove-command.directive.d.ts +39 -0
- package/dist/es2015/editing/remove-command.directive.js +61 -0
- package/dist/es2015/editing/remove-event-args.interface.d.ts +14 -0
- package/dist/es2015/editing/remove-event-args.interface.js +4 -0
- package/dist/es2015/editing/save-command.directive.d.ts +52 -0
- package/dist/es2015/editing/save-command.directive.js +74 -0
- package/dist/es2015/editing/save-event-args.interface.d.ts +19 -0
- package/dist/es2015/editing/save-event-args.interface.js +4 -0
- package/dist/es2015/editing-directives/create-form-group-args.interface.d.ts +10 -0
- package/dist/es2015/editing-directives/create-form-group-args.interface.js +4 -0
- package/dist/es2015/editing-directives/edit-service.interface.d.ts +26 -0
- package/dist/es2015/editing-directives/edit-service.interface.js +4 -0
- package/dist/es2015/editing-directives/editing-directive-base.d.ts +53 -0
- package/dist/es2015/editing-directives/editing-directive-base.js +126 -0
- package/dist/es2015/editing-directives/flat-edit.service.d.ts +15 -0
- package/dist/es2015/editing-directives/flat-edit.service.js +51 -0
- package/dist/es2015/editing-directives/hierarchy-edit.service.d.ts +15 -0
- package/dist/es2015/editing-directives/hierarchy-edit.service.js +47 -0
- package/dist/es2015/editing-directives/in-cell-editing.directive.d.ts +29 -0
- package/dist/es2015/editing-directives/in-cell-editing.directive.js +72 -0
- package/dist/es2015/editing-directives/local-edit.service.d.ts +15 -0
- package/dist/es2015/editing-directives/local-edit.service.js +28 -0
- package/dist/es2015/editing-directives/reactive-editing.directive.d.ts +22 -0
- package/dist/es2015/editing-directives/reactive-editing.directive.js +44 -0
- package/dist/es2015/editing-directives/row-editing-directive-base.d.ts +18 -0
- package/dist/es2015/editing-directives/row-editing-directive-base.js +31 -0
- package/dist/es2015/editing-directives/template-editing.directive.d.ts +24 -0
- package/dist/es2015/editing-directives/template-editing.directive.js +50 -0
- package/dist/es2015/editing-directives/utils.d.ts +13 -0
- package/dist/es2015/editing-directives/utils.js +41 -0
- package/dist/es2015/excel/excel-command.directive.d.ts +39 -0
- package/dist/es2015/excel/excel-command.directive.js +70 -0
- package/dist/es2015/excel/excel-export-event.d.ts +12 -0
- package/dist/es2015/excel/excel-export-event.js +14 -0
- package/dist/es2015/excel/excel.component.d.ts +105 -0
- package/dist/es2015/excel/excel.component.js +248 -0
- package/dist/es2015/excel/excel.module.d.ts +37 -0
- package/dist/es2015/excel/excel.module.js +50 -0
- package/dist/es2015/excel/excel.service.d.ts +16 -0
- package/dist/es2015/excel/excel.service.js +37 -0
- package/dist/es2015/expand-state/expand-event.d.ts +27 -0
- package/dist/es2015/expand-state/expand-event.js +18 -0
- package/dist/es2015/expand-state/expand-state.service.d.ts +19 -0
- package/dist/es2015/expand-state/expand-state.service.js +42 -0
- package/dist/es2015/expand-state/expandable-tree-component.d.ts +31 -0
- package/dist/es2015/expand-state/expandable-tree-component.js +17 -0
- package/dist/es2015/expand-state/expandable.directive.d.ts +43 -0
- package/dist/es2015/expand-state/expandable.directive.js +111 -0
- package/dist/es2015/filtering/base-filter-cell.component.d.ts +76 -0
- package/dist/es2015/filtering/base-filter-cell.component.js +157 -0
- package/dist/es2015/filtering/boolean-filter.component.d.ts +59 -0
- package/dist/es2015/filtering/boolean-filter.component.js +84 -0
- package/dist/es2015/filtering/cell/autocomplete-filter-cell.component.d.ts +29 -0
- package/dist/es2015/filtering/cell/autocomplete-filter-cell.component.js +92 -0
- package/dist/es2015/filtering/cell/boolean-filter-cell.component.d.ts +29 -0
- package/dist/es2015/filtering/cell/boolean-filter-cell.component.js +62 -0
- package/dist/es2015/filtering/cell/date-filter-cell.component.d.ts +33 -0
- package/dist/es2015/filtering/cell/date-filter-cell.component.js +73 -0
- package/dist/es2015/filtering/cell/filter-cell-component.factory.d.ts +12 -0
- package/dist/es2015/filtering/cell/filter-cell-component.factory.js +19 -0
- package/dist/es2015/filtering/cell/filter-cell-host.directive.d.ts +14 -0
- package/dist/es2015/filtering/cell/filter-cell-host.directive.js +32 -0
- package/dist/es2015/filtering/cell/filter-cell-operators.component.d.ts +72 -0
- package/dist/es2015/filtering/cell/filter-cell-operators.component.js +145 -0
- package/dist/es2015/filtering/cell/filter-cell-template.directive.d.ts +17 -0
- package/dist/es2015/filtering/cell/filter-cell-template.directive.js +27 -0
- package/dist/es2015/filtering/cell/filter-cell-wrapper.component.d.ts +18 -0
- package/dist/es2015/filtering/cell/filter-cell-wrapper.component.js +64 -0
- package/dist/es2015/filtering/cell/filter-cell.component.d.ts +21 -0
- package/dist/es2015/filtering/cell/filter-cell.component.js +70 -0
- package/dist/es2015/filtering/cell/numeric-filter-cell.component.d.ts +38 -0
- package/dist/es2015/filtering/cell/numeric-filter-cell.component.js +80 -0
- package/dist/es2015/filtering/cell/row-filtering.module.d.ts +10 -0
- package/dist/es2015/filtering/cell/row-filtering.module.js +64 -0
- package/dist/es2015/filtering/cell/string-filter-cell.component.d.ts +40 -0
- package/dist/es2015/filtering/cell/string-filter-cell.component.js +75 -0
- package/dist/es2015/filtering/date-filter.component.d.ts +115 -0
- package/dist/es2015/filtering/date-filter.component.js +157 -0
- package/dist/es2015/filtering/filter-component.interface.d.ts +13 -0
- package/dist/es2015/filtering/filter-component.interface.js +4 -0
- package/dist/es2015/filtering/filter-host.directive.d.ts +33 -0
- package/dist/es2015/filtering/filter-host.directive.js +51 -0
- package/dist/es2015/filtering/filter-input-wrapper.component.d.ts +39 -0
- package/dist/es2015/filtering/filter-input-wrapper.component.js +123 -0
- package/dist/es2015/filtering/filter-input.directive.d.ts +26 -0
- package/dist/es2015/filtering/filter-input.directive.js +81 -0
- package/dist/es2015/filtering/filter-row.component.d.ts +20 -0
- package/dist/es2015/filtering/filter-row.component.js +58 -0
- package/dist/es2015/filtering/filter.service.d.ts +22 -0
- package/dist/es2015/filtering/filter.service.js +25 -0
- package/dist/es2015/filtering/filterable.d.ts +20 -0
- package/dist/es2015/filtering/filterable.js +16 -0
- package/dist/es2015/filtering/menu/boolean-filter-menu.component.d.ts +54 -0
- package/dist/es2015/filtering/menu/boolean-filter-menu.component.js +100 -0
- package/dist/es2015/filtering/menu/date-filter-menu-input.component.d.ts +39 -0
- package/dist/es2015/filtering/menu/date-filter-menu-input.component.js +124 -0
- package/dist/es2015/filtering/menu/date-filter-menu.component.d.ts +59 -0
- package/dist/es2015/filtering/menu/date-filter-menu.component.js +137 -0
- package/dist/es2015/filtering/menu/filter-menu-component.factory.d.ts +12 -0
- package/dist/es2015/filtering/menu/filter-menu-component.factory.js +19 -0
- package/dist/es2015/filtering/menu/filter-menu-container.component.d.ts +48 -0
- package/dist/es2015/filtering/menu/filter-menu-container.component.js +191 -0
- package/dist/es2015/filtering/menu/filter-menu-host.directive.d.ts +17 -0
- package/dist/es2015/filtering/menu/filter-menu-host.directive.js +41 -0
- package/dist/es2015/filtering/menu/filter-menu-input-wrapper.component.d.ts +34 -0
- package/dist/es2015/filtering/menu/filter-menu-input-wrapper.component.js +82 -0
- package/dist/es2015/filtering/menu/filter-menu-template.directive.d.ts +13 -0
- package/dist/es2015/filtering/menu/filter-menu-template.directive.js +23 -0
- package/dist/es2015/filtering/menu/filter-menu.component.d.ts +36 -0
- package/dist/es2015/filtering/menu/filter-menu.component.js +69 -0
- package/dist/es2015/filtering/menu/filter-menu.module.d.ts +10 -0
- package/dist/es2015/filtering/menu/filter-menu.module.js +63 -0
- package/dist/es2015/filtering/menu/numeric-filter-menu-input.component.d.ts +53 -0
- package/dist/es2015/filtering/menu/numeric-filter-menu-input.component.js +106 -0
- package/dist/es2015/filtering/menu/numeric-filter-menu.component.d.ts +59 -0
- package/dist/es2015/filtering/menu/numeric-filter-menu.component.js +131 -0
- package/dist/es2015/filtering/menu/string-filter-menu-input.component.d.ts +21 -0
- package/dist/es2015/filtering/menu/string-filter-menu-input.component.js +61 -0
- package/dist/es2015/filtering/menu/string-filter-menu.component.d.ts +46 -0
- package/dist/es2015/filtering/menu/string-filter-menu.component.js +103 -0
- package/dist/es2015/filtering/numeric-filter.component.d.ts +94 -0
- package/dist/es2015/filtering/numeric-filter.component.js +136 -0
- package/dist/es2015/filtering/operators/after-eq-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/after-eq-filter-operator.component.js +42 -0
- package/dist/es2015/filtering/operators/after-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/after-filter-operator.component.js +42 -0
- package/dist/es2015/filtering/operators/before-eq-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/before-eq-filter-operator.component.js +42 -0
- package/dist/es2015/filtering/operators/before-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/before-filter-operator.component.js +42 -0
- package/dist/es2015/filtering/operators/contains-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/contains-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/ends-with-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/ends-with-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/eq-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/eq-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/filter-operator.base.d.ts +40 -0
- package/dist/es2015/filtering/operators/filter-operator.base.js +86 -0
- package/dist/es2015/filtering/operators/gt-filter-operator.component.d.ts +9 -0
- package/dist/es2015/filtering/operators/gt-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/gte-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/gte-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/is-empty-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/is-empty-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/is-not-empty-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/is-not-empty-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/is-not-null-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/is-not-null-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/isnull-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/isnull-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/lt-filter-operator.component.d.ts +9 -0
- package/dist/es2015/filtering/operators/lt-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/lte-filter-operator.component.d.ts +9 -0
- package/dist/es2015/filtering/operators/lte-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/neq-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/neq-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/not-contains-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/not-contains-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/operators/starts-with-filter-operator.component.d.ts +16 -0
- package/dist/es2015/filtering/operators/starts-with-filter-operator.component.js +33 -0
- package/dist/es2015/filtering/shared-filtering.module.d.ts +10 -0
- package/dist/es2015/filtering/shared-filtering.module.js +86 -0
- package/dist/es2015/filtering/string-filter.component.d.ts +52 -0
- package/dist/es2015/filtering/string-filter.component.js +80 -0
- package/dist/es2015/index.d.ts +94 -0
- package/dist/es2015/index.js +94 -0
- package/dist/es2015/index.metadata.json +1 -0
- package/dist/es2015/layout/browser-support.service.d.ts +17 -0
- package/dist/es2015/layout/browser-support.service.js +75 -0
- package/dist/es2015/layout/resizable.directive.d.ts +25 -0
- package/dist/es2015/layout/resizable.directive.js +82 -0
- package/dist/es2015/layout/resize.service.d.ts +15 -0
- package/dist/es2015/layout/resize.service.js +34 -0
- package/dist/es2015/layout/responsive.service.d.ts +17 -0
- package/dist/es2015/layout/responsive.service.js +43 -0
- package/dist/es2015/layout/row-sync.d.ts +8 -0
- package/dist/es2015/layout/row-sync.js +49 -0
- package/dist/es2015/localization/custom-messages.component.d.ts +15 -0
- package/dist/es2015/localization/custom-messages.component.js +36 -0
- package/dist/es2015/localization/localized-messages.directive.d.ts +13 -0
- package/dist/es2015/localization/localized-messages.directive.js +31 -0
- package/dist/es2015/localization/messages.d.ts +215 -0
- package/dist/es2015/localization/messages.js +212 -0
- package/dist/es2015/main.d.ts +127 -0
- package/dist/es2015/main.js +101 -0
- package/dist/es2015/navigation/default-focusable-element.d.ts +22 -0
- package/dist/es2015/navigation/default-focusable-element.js +46 -0
- package/dist/es2015/navigation/focus-group.d.ts +63 -0
- package/dist/es2015/navigation/focus-group.js +102 -0
- package/dist/es2015/navigation/focus-root.d.ts +16 -0
- package/dist/es2015/navigation/focus-root.js +41 -0
- package/dist/es2015/navigation/focusable-element.interface.d.ts +38 -0
- package/dist/es2015/navigation/focusable-element.interface.js +4 -0
- package/dist/es2015/navigation/focusable.directive.d.ts +80 -0
- package/dist/es2015/navigation/focusable.directive.js +158 -0
- package/dist/es2015/navigation/item-map.d.ts +19 -0
- package/dist/es2015/navigation/item-map.js +61 -0
- package/dist/es2015/navigation/logical-cell.directive.d.ts +49 -0
- package/dist/es2015/navigation/logical-cell.directive.js +191 -0
- package/dist/es2015/navigation/logical-cell.interface.d.ts +19 -0
- package/dist/es2015/navigation/logical-cell.interface.js +4 -0
- package/dist/es2015/navigation/logical-row.directive.d.ts +29 -0
- package/dist/es2015/navigation/logical-row.directive.js +116 -0
- package/dist/es2015/navigation/logical-row.interface.d.ts +14 -0
- package/dist/es2015/navigation/logical-row.interface.js +4 -0
- package/dist/es2015/navigation/model-cell.d.ts +25 -0
- package/dist/es2015/navigation/model-cell.js +26 -0
- package/dist/es2015/navigation/navigation-cell.interface.d.ts +62 -0
- package/dist/es2015/navigation/navigation-cell.interface.js +4 -0
- package/dist/es2015/navigation/navigation-change.interface.d.ts +13 -0
- package/dist/es2015/navigation/navigation-change.interface.js +4 -0
- package/dist/es2015/navigation/navigation-cursor.d.ts +48 -0
- package/dist/es2015/navigation/navigation-cursor.js +174 -0
- package/dist/es2015/navigation/navigation-metadata.d.ts +20 -0
- package/dist/es2015/navigation/navigation-metadata.js +24 -0
- package/dist/es2015/navigation/navigation-mode.d.ts +43 -0
- package/dist/es2015/navigation/navigation-mode.js +4 -0
- package/dist/es2015/navigation/navigation-model.d.ts +27 -0
- package/dist/es2015/navigation/navigation-model.js +128 -0
- package/dist/es2015/navigation/navigation-row.interface.d.ts +38 -0
- package/dist/es2015/navigation/navigation-row.interface.js +4 -0
- package/dist/es2015/navigation/navigation.service.d.ts +105 -0
- package/dist/es2015/navigation/navigation.service.js +627 -0
- package/dist/es2015/navigation/treelist-focusable-element.d.ts +18 -0
- package/dist/es2015/navigation/treelist-focusable-element.js +27 -0
- package/dist/es2015/package-metadata.d.ts +9 -0
- package/dist/es2015/package-metadata.js +15 -0
- package/dist/es2015/pager/pager-context.service.d.ts +32 -0
- package/dist/es2015/pager/pager-context.service.js +42 -0
- package/dist/es2015/pager/pager-element.component.d.ts +62 -0
- package/dist/es2015/pager/pager-element.component.js +74 -0
- package/dist/es2015/pager/pager-info.component.d.ts +40 -0
- package/dist/es2015/pager/pager-info.component.js +73 -0
- package/dist/es2015/pager/pager-input.component.d.ts +40 -0
- package/dist/es2015/pager/pager-input.component.js +111 -0
- package/dist/es2015/pager/pager-next-buttons.component.d.ts +23 -0
- package/dist/es2015/pager/pager-next-buttons.component.js +80 -0
- package/dist/es2015/pager/pager-numeric-buttons.component.d.ts +48 -0
- package/dist/es2015/pager/pager-numeric-buttons.component.js +152 -0
- package/dist/es2015/pager/pager-page-sizes.component.d.ts +49 -0
- package/dist/es2015/pager/pager-page-sizes.component.js +125 -0
- package/dist/es2015/pager/pager-prev-buttons.component.d.ts +23 -0
- package/dist/es2015/pager/pager-prev-buttons.component.js +80 -0
- package/dist/es2015/pager/pager-settings.d.ts +85 -0
- package/dist/es2015/pager/pager-settings.js +21 -0
- package/dist/es2015/pager/pager-template.directive.d.ts +27 -0
- package/dist/es2015/pager/pager-template.directive.js +37 -0
- package/dist/es2015/pager/pager.component.d.ts +40 -0
- package/dist/es2015/pager/pager.component.js +170 -0
- package/dist/es2015/pager/pager.module.d.ts +10 -0
- package/dist/es2015/pager/pager.module.js +65 -0
- package/dist/es2015/pager/pagesize-item.interface.d.ts +14 -0
- package/dist/es2015/pager/pagesize-item.interface.js +4 -0
- package/dist/es2015/pdf/export-element.d.ts +10 -0
- package/dist/es2015/pdf/export-element.js +121 -0
- package/dist/es2015/pdf/pdf-command.directive.d.ts +39 -0
- package/dist/es2015/pdf/pdf-command.directive.js +70 -0
- package/dist/es2015/pdf/pdf-export-event.d.ts +10 -0
- package/dist/es2015/pdf/pdf-export-event.js +10 -0
- package/dist/es2015/pdf/pdf-margin.component.d.ts +7 -0
- package/dist/es2015/pdf/pdf-margin.component.js +16 -0
- package/dist/es2015/pdf/pdf-margin.interface.d.ts +16 -0
- package/dist/es2015/pdf/pdf-margin.interface.js +4 -0
- package/dist/es2015/pdf/pdf-template.directive.d.ts +24 -0
- package/dist/es2015/pdf/pdf-template.directive.js +35 -0
- package/dist/es2015/pdf/pdf.component.d.ts +62 -0
- package/dist/es2015/pdf/pdf.component.js +237 -0
- package/dist/es2015/pdf/pdf.module.d.ts +37 -0
- package/dist/es2015/pdf/pdf.module.js +62 -0
- package/dist/es2015/pdf/pdf.service.d.ts +18 -0
- package/dist/es2015/pdf/pdf.service.js +40 -0
- package/dist/es2015/pdf/treelist-query.d.ts +26 -0
- package/dist/es2015/pdf/treelist-query.js +43 -0
- package/dist/es2015/rendering/body.module.d.ts +10 -0
- package/dist/es2015/rendering/body.module.js +76 -0
- package/dist/es2015/rendering/cell-template.directive.d.ts +32 -0
- package/dist/es2015/rendering/cell-template.directive.js +42 -0
- package/dist/es2015/rendering/cell.component.d.ts +46 -0
- package/dist/es2015/rendering/cell.component.js +234 -0
- package/dist/es2015/rendering/common/col-group.component.d.ts +14 -0
- package/dist/es2015/rendering/common/col-group.component.js +37 -0
- package/dist/es2015/rendering/common/dom-queries.d.ts +56 -0
- package/dist/es2015/rendering/common/dom-queries.js +140 -0
- package/dist/es2015/rendering/common/field-accessor.pipe.d.ts +15 -0
- package/dist/es2015/rendering/common/field-accessor.pipe.js +44 -0
- package/dist/es2015/rendering/common/level-items.pipe.d.ts +11 -0
- package/dist/es2015/rendering/common/level-items.pipe.js +27 -0
- package/dist/es2015/rendering/common/loading.component.d.ts +14 -0
- package/dist/es2015/rendering/common/loading.component.js +35 -0
- package/dist/es2015/rendering/common/row-class.d.ts +42 -0
- package/dist/es2015/rendering/common/row-class.js +4 -0
- package/dist/es2015/rendering/common/spacer.component.d.ts +22 -0
- package/dist/es2015/rendering/common/spacer.component.js +55 -0
- package/dist/es2015/rendering/common/template-context.directive.d.ts +16 -0
- package/dist/es2015/rendering/common/template-context.directive.js +41 -0
- package/dist/es2015/rendering/constants.d.ts +20 -0
- package/dist/es2015/rendering/constants.js +20 -0
- package/dist/es2015/rendering/footer-template.directive.d.ts +30 -0
- package/dist/es2015/rendering/footer-template.directive.js +40 -0
- package/dist/es2015/rendering/header/header-template.directive.d.ts +27 -0
- package/dist/es2015/rendering/header/header-template.directive.js +37 -0
- package/dist/es2015/rendering/header/header.component.d.ts +96 -0
- package/dist/es2015/rendering/header/header.component.js +593 -0
- package/dist/es2015/rendering/header/header.module.d.ts +10 -0
- package/dist/es2015/rendering/header/header.module.js +46 -0
- package/dist/es2015/rendering/list.component.d.ts +130 -0
- package/dist/es2015/rendering/list.component.js +695 -0
- package/dist/es2015/rendering/no-records-template.directive.d.ts +23 -0
- package/dist/es2015/rendering/no-records-template.directive.js +33 -0
- package/dist/es2015/rendering/table-body.component.d.ts +87 -0
- package/dist/es2015/rendering/table-body.component.js +457 -0
- package/dist/es2015/rendering/toolbar/toolbar-template.directive.d.ts +36 -0
- package/dist/es2015/rendering/toolbar/toolbar-template.directive.js +57 -0
- package/dist/es2015/rendering/toolbar/toolbar.component.d.ts +17 -0
- package/dist/es2015/rendering/toolbar/toolbar.component.js +47 -0
- package/dist/es2015/scrolling/content-scroll-event.d.ts +41 -0
- package/dist/es2015/scrolling/content-scroll-event.js +4 -0
- package/dist/es2015/scrolling/row-height.service.d.ts +15 -0
- package/dist/es2015/scrolling/row-height.service.js +28 -0
- package/dist/es2015/scrolling/scroll-bottom-event.d.ts +14 -0
- package/dist/es2015/scrolling/scroll-bottom-event.js +4 -0
- package/dist/es2015/scrolling/scroll-request.service.d.ts +19 -0
- package/dist/es2015/scrolling/scroll-request.service.js +25 -0
- package/dist/es2015/scrolling/scroll-sync.service.d.ts +33 -0
- package/dist/es2015/scrolling/scroll-sync.service.js +78 -0
- package/dist/es2015/scrolling/scroller.service.d.ts +49 -0
- package/dist/es2015/scrolling/scroller.service.js +102 -0
- package/dist/es2015/scrolling/scrollmode.d.ts +17 -0
- package/dist/es2015/scrolling/scrollmode.js +4 -0
- package/dist/es2015/scrolling/suspend.service.d.ts +10 -0
- package/dist/es2015/scrolling/suspend.service.js +21 -0
- package/dist/es2015/selection/is-selected.d.ts +16 -0
- package/dist/es2015/selection/is-selected.js +4 -0
- package/dist/es2015/selection/marquee.directive.d.ts +34 -0
- package/dist/es2015/selection/marquee.directive.js +171 -0
- package/dist/es2015/selection/selectable-settings.d.ts +48 -0
- package/dist/es2015/selection/selectable-settings.js +4 -0
- package/dist/es2015/selection/selectable.directive.d.ts +70 -0
- package/dist/es2015/selection/selectable.directive.js +200 -0
- package/dist/es2015/selection/selection-change-event.d.ts +44 -0
- package/dist/es2015/selection/selection-change-event.js +16 -0
- package/dist/es2015/selection/selection-state.d.ts +34 -0
- package/dist/es2015/selection/selection-state.js +108 -0
- package/dist/es2015/selection/selection.service.d.ts +44 -0
- package/dist/es2015/selection/selection.service.js +239 -0
- package/dist/es2015/shared.module.d.ts +10 -0
- package/dist/es2015/shared.module.js +58 -0
- package/dist/es2015/treelist.component.d.ts +960 -0
- package/dist/es2015/treelist.component.js +2509 -0
- package/dist/es2015/treelist.module.d.ts +37 -0
- package/dist/es2015/treelist.module.js +119 -0
- package/dist/es2015/utils.d.ts +80 -0
- package/dist/es2015/utils.js +113 -0
- package/dist/fesm2015/index.js +18767 -0
- package/dist/fesm5/index.js +19389 -0
- package/dist/npm/binding-directives/base-binding.directive.js +178 -0
- package/dist/npm/binding-directives/data-bound-tree-component.js +22 -0
- package/dist/npm/binding-directives/flat-binding.directive.js +103 -0
- package/dist/npm/binding-directives/hierarchy-binding.directive.js +77 -0
- package/dist/npm/column-menu/column-chooser.component.js +131 -0
- package/dist/npm/column-menu/column-list.component.js +196 -0
- package/dist/npm/column-menu/column-locked-change-event.js +19 -0
- package/dist/npm/column-menu/column-menu-chooser.component.js +92 -0
- package/dist/npm/column-menu/column-menu-filter.component.js +70 -0
- package/dist/npm/column-menu/column-menu-item-base.js +38 -0
- package/dist/npm/column-menu/column-menu-item-content-template.directive.js +37 -0
- package/dist/npm/column-menu/column-menu-item.component.js +136 -0
- package/dist/npm/column-menu/column-menu-lock.component.js +101 -0
- package/dist/npm/column-menu/column-menu-settings.interface.js +6 -0
- package/dist/npm/column-menu/column-menu-sort.component.js +89 -0
- package/dist/npm/column-menu/column-menu-template.directive.js +40 -0
- package/dist/npm/column-menu/column-menu.component.js +178 -0
- package/dist/npm/column-menu/column-menu.module.js +61 -0
- package/dist/npm/column-menu/column-menu.service.js +38 -0
- package/dist/npm/column-menu/column-visibility-change-event.js +19 -0
- package/dist/npm/column-menu/utils.js +30 -0
- package/dist/npm/column-resizing/column-handle.directive.js +284 -0
- package/dist/npm/column-resizing/column-resize.interface.js +6 -0
- package/dist/npm/column-resizing/column-resizing.service.js +154 -0
- package/dist/npm/column-resizing/table.directive.js +165 -0
- package/dist/npm/columns/checkbox-column.component.js +66 -0
- package/dist/npm/columns/column-base.js +338 -0
- package/dist/npm/columns/column-common.js +94 -0
- package/dist/npm/columns/column-group.component.js +127 -0
- package/dist/npm/columns/column-list.js +96 -0
- package/dist/npm/columns/column.component.js +204 -0
- package/dist/npm/columns/columns-container.js +100 -0
- package/dist/npm/columns/command-column.component.js +76 -0
- package/dist/npm/columns/sort-settings.js +25 -0
- package/dist/npm/columns/span-column.component.js +288 -0
- package/dist/npm/common/cell-click-event-args.interface.js +6 -0
- package/dist/npm/common/column-info.service.js +81 -0
- package/dist/npm/common/default-track-by.js +16 -0
- package/dist/npm/common/dom-events.service.js +28 -0
- package/dist/npm/common/filter-descriptor-differ.js +82 -0
- package/dist/npm/common/id.service.js +27 -0
- package/dist/npm/common/option-changes.service.js +28 -0
- package/dist/npm/common/preventable-event.js +34 -0
- package/dist/npm/common/single-popup.service.js +124 -0
- package/dist/npm/common/sort.service.js +20 -0
- package/dist/npm/constants.js +14 -0
- package/dist/npm/data/change-event-args.interface.js +6 -0
- package/dist/npm/data/change-notification.service.js +32 -0
- package/dist/npm/data/data-item.interface.js +6 -0
- package/dist/npm/data/data.collection.js +478 -0
- package/dist/npm/data/treelist-item.interface.js +6 -0
- package/dist/npm/dragdrop/column-reorder-config.js +6 -0
- package/dist/npm/dragdrop/column-reorder-event.js +27 -0
- package/dist/npm/dragdrop/column-reorder.service.js +24 -0
- package/dist/npm/dragdrop/common.js +75 -0
- package/dist/npm/dragdrop/context-types.js +6 -0
- package/dist/npm/dragdrop/drag-and-drop.module.js +29 -0
- package/dist/npm/dragdrop/drag-and-drop.service.js +67 -0
- package/dist/npm/dragdrop/drag-hint.service.js +99 -0
- package/dist/npm/dragdrop/draggable-column.directive.js +175 -0
- package/dist/npm/dragdrop/drop-cue.service.js +46 -0
- package/dist/npm/dragdrop/drop-target.directive.js +91 -0
- package/dist/npm/editing/add-command.directive.js +76 -0
- package/dist/npm/editing/add-event-args.interface.js +6 -0
- package/dist/npm/editing/base-command.directive.js +80 -0
- package/dist/npm/editing/cancel-command.directive.js +80 -0
- package/dist/npm/editing/cancel-event-args.interface.js +6 -0
- package/dist/npm/editing/cell-close-event.js +25 -0
- package/dist/npm/editing/edit-command.directive.js +67 -0
- package/dist/npm/editing/edit-event-args.interface.js +6 -0
- package/dist/npm/editing/edit-template.directive.js +36 -0
- package/dist/npm/editing/edit.service.js +191 -0
- package/dist/npm/editing/remove-command.directive.js +66 -0
- package/dist/npm/editing/remove-event-args.interface.js +6 -0
- package/dist/npm/editing/save-command.directive.js +79 -0
- package/dist/npm/editing/save-event-args.interface.js +6 -0
- package/dist/npm/editing-directives/create-form-group-args.interface.js +6 -0
- package/dist/npm/editing-directives/edit-service.interface.js +6 -0
- package/dist/npm/editing-directives/editing-directive-base.js +146 -0
- package/dist/npm/editing-directives/flat-edit.service.js +58 -0
- package/dist/npm/editing-directives/hierarchy-edit.service.js +54 -0
- package/dist/npm/editing-directives/in-cell-editing.directive.js +78 -0
- package/dist/npm/editing-directives/local-edit.service.js +34 -0
- package/dist/npm/editing-directives/reactive-editing.directive.js +50 -0
- package/dist/npm/editing-directives/row-editing-directive-base.js +40 -0
- package/dist/npm/editing-directives/template-editing.directive.js +55 -0
- package/dist/npm/editing-directives/utils.js +43 -0
- package/dist/npm/excel/excel-command.directive.js +79 -0
- package/dist/npm/excel/excel-export-event.js +21 -0
- package/dist/npm/excel/excel.component.js +257 -0
- package/dist/npm/excel/excel.module.js +55 -0
- package/dist/npm/excel/excel.service.js +37 -0
- package/dist/npm/expand-state/expand-event.js +25 -0
- package/dist/npm/expand-state/expand-state.service.js +42 -0
- package/dist/npm/expand-state/expandable-tree-component.js +22 -0
- package/dist/npm/expand-state/expandable.directive.js +126 -0
- package/dist/npm/filtering/base-filter-cell.component.js +175 -0
- package/dist/npm/filtering/boolean-filter.component.js +102 -0
- package/dist/npm/filtering/cell/autocomplete-filter-cell.component.js +96 -0
- package/dist/npm/filtering/cell/boolean-filter-cell.component.js +50 -0
- package/dist/npm/filtering/cell/date-filter-cell.component.js +55 -0
- package/dist/npm/filtering/cell/filter-cell-component.factory.js +21 -0
- package/dist/npm/filtering/cell/filter-cell-host.directive.js +36 -0
- package/dist/npm/filtering/cell/filter-cell-operators.component.js +128 -0
- package/dist/npm/filtering/cell/filter-cell-template.directive.js +30 -0
- package/dist/npm/filtering/cell/filter-cell-wrapper.component.js +72 -0
- package/dist/npm/filtering/cell/filter-cell.component.js +74 -0
- package/dist/npm/filtering/cell/numeric-filter-cell.component.js +64 -0
- package/dist/npm/filtering/cell/row-filtering.module.js +69 -0
- package/dist/npm/filtering/cell/string-filter-cell.component.js +66 -0
- package/dist/npm/filtering/date-filter.component.js +179 -0
- package/dist/npm/filtering/filter-component.interface.js +6 -0
- package/dist/npm/filtering/filter-host.directive.js +56 -0
- package/dist/npm/filtering/filter-input-wrapper.component.js +145 -0
- package/dist/npm/filtering/filter-input.directive.js +97 -0
- package/dist/npm/filtering/filter-row.component.js +49 -0
- package/dist/npm/filtering/filter.service.js +29 -0
- package/dist/npm/filtering/filterable.js +22 -0
- package/dist/npm/filtering/menu/boolean-filter-menu.component.js +99 -0
- package/dist/npm/filtering/menu/date-filter-menu-input.component.js +100 -0
- package/dist/npm/filtering/menu/date-filter-menu.component.js +108 -0
- package/dist/npm/filtering/menu/filter-menu-component.factory.js +21 -0
- package/dist/npm/filtering/menu/filter-menu-container.component.js +203 -0
- package/dist/npm/filtering/menu/filter-menu-host.directive.js +45 -0
- package/dist/npm/filtering/menu/filter-menu-input-wrapper.component.js +84 -0
- package/dist/npm/filtering/menu/filter-menu-template.directive.js +26 -0
- package/dist/npm/filtering/menu/filter-menu.component.js +60 -0
- package/dist/npm/filtering/menu/filter-menu.module.js +68 -0
- package/dist/npm/filtering/menu/numeric-filter-menu-input.component.js +84 -0
- package/dist/npm/filtering/menu/numeric-filter-menu.component.js +108 -0
- package/dist/npm/filtering/menu/string-filter-menu-input.component.js +50 -0
- package/dist/npm/filtering/menu/string-filter-menu.component.js +95 -0
- package/dist/npm/filtering/numeric-filter.component.js +158 -0
- package/dist/npm/filtering/operators/after-eq-filter-operator.component.js +49 -0
- package/dist/npm/filtering/operators/after-filter-operator.component.js +49 -0
- package/dist/npm/filtering/operators/before-eq-filter-operator.component.js +49 -0
- package/dist/npm/filtering/operators/before-filter-operator.component.js +49 -0
- package/dist/npm/filtering/operators/contains-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/ends-with-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/eq-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/filter-operator.base.js +96 -0
- package/dist/npm/filtering/operators/gt-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/gte-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/is-empty-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/is-not-empty-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/is-not-null-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/isnull-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/lt-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/lte-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/neq-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/not-contains-filter-operator.component.js +40 -0
- package/dist/npm/filtering/operators/starts-with-filter-operator.component.js +40 -0
- package/dist/npm/filtering/shared-filtering.module.js +89 -0
- package/dist/npm/filtering/string-filter.component.js +94 -0
- package/dist/npm/index.js +184 -0
- package/dist/npm/layout/browser-support.service.js +87 -0
- package/dist/npm/layout/resizable.directive.js +93 -0
- package/dist/npm/layout/resize.service.js +34 -0
- package/dist/npm/layout/responsive.service.js +44 -0
- package/dist/npm/layout/row-sync.js +59 -0
- package/dist/npm/localization/custom-messages.component.js +46 -0
- package/dist/npm/localization/localized-messages.directive.js +37 -0
- package/dist/npm/localization/messages.js +220 -0
- package/dist/npm/main.js +198 -0
- package/dist/npm/navigation/default-focusable-element.js +60 -0
- package/dist/npm/navigation/focus-group.js +113 -0
- package/dist/npm/navigation/focus-root.js +41 -0
- package/dist/npm/navigation/focusable-element.interface.js +6 -0
- package/dist/npm/navigation/focusable.directive.js +175 -0
- package/dist/npm/navigation/item-map.js +73 -0
- package/dist/npm/navigation/logical-cell.directive.js +208 -0
- package/dist/npm/navigation/logical-cell.interface.js +6 -0
- package/dist/npm/navigation/logical-row.directive.js +131 -0
- package/dist/npm/navigation/logical-row.interface.js +6 -0
- package/dist/npm/navigation/model-cell.js +30 -0
- package/dist/npm/navigation/navigation-cell.interface.js +6 -0
- package/dist/npm/navigation/navigation-change.interface.js +6 -0
- package/dist/npm/navigation/navigation-cursor.js +199 -0
- package/dist/npm/navigation/navigation-metadata.js +36 -0
- package/dist/npm/navigation/navigation-mode.js +6 -0
- package/dist/npm/navigation/navigation-model.js +140 -0
- package/dist/npm/navigation/navigation-row.interface.js +6 -0
- package/dist/npm/navigation/navigation.service.js +687 -0
- package/dist/npm/navigation/treelist-focusable-element.js +31 -0
- package/dist/npm/package-metadata.js +17 -0
- package/dist/npm/pager/pager-context.service.js +50 -0
- package/dist/npm/pager/pager-element.component.js +87 -0
- package/dist/npm/pager/pager-info.component.js +91 -0
- package/dist/npm/pager/pager-input.component.js +103 -0
- package/dist/npm/pager/pager-next-buttons.component.js +54 -0
- package/dist/npm/pager/pager-numeric-buttons.component.js +122 -0
- package/dist/npm/pager/pager-page-sizes.component.js +135 -0
- package/dist/npm/pager/pager-prev-buttons.component.js +54 -0
- package/dist/npm/pager/pager-settings.js +28 -0
- package/dist/npm/pager/pager-template.directive.js +40 -0
- package/dist/npm/pager/pager.component.js +172 -0
- package/dist/npm/pager/pager.module.js +70 -0
- package/dist/npm/pager/pagesize-item.interface.js +6 -0
- package/dist/npm/pdf/export-element.js +127 -0
- package/dist/npm/pdf/pdf-command.directive.js +79 -0
- package/dist/npm/pdf/pdf-export-event.js +19 -0
- package/dist/npm/pdf/pdf-margin.component.js +23 -0
- package/dist/npm/pdf/pdf-margin.interface.js +6 -0
- package/dist/npm/pdf/pdf-template.directive.js +39 -0
- package/dist/npm/pdf/pdf.component.js +250 -0
- package/dist/npm/pdf/pdf.module.js +67 -0
- package/dist/npm/pdf/pdf.service.js +40 -0
- package/dist/npm/pdf/treelist-query.js +47 -0
- package/dist/npm/rendering/body.module.js +81 -0
- package/dist/npm/rendering/cell-template.directive.js +45 -0
- package/dist/npm/rendering/cell.component.js +223 -0
- package/dist/npm/rendering/common/col-group.component.js +39 -0
- package/dist/npm/rendering/common/dom-queries.js +152 -0
- package/dist/npm/rendering/common/field-accessor.pipe.js +47 -0
- package/dist/npm/rendering/common/level-items.pipe.js +32 -0
- package/dist/npm/rendering/common/loading.component.js +38 -0
- package/dist/npm/rendering/common/row-class.js +6 -0
- package/dist/npm/rendering/common/spacer.component.js +60 -0
- package/dist/npm/rendering/common/template-context.directive.js +48 -0
- package/dist/npm/rendering/constants.js +22 -0
- package/dist/npm/rendering/footer-template.directive.js +43 -0
- package/dist/npm/rendering/header/header-template.directive.js +40 -0
- package/dist/npm/rendering/header/header.component.js +515 -0
- package/dist/npm/rendering/header/header.module.js +51 -0
- package/dist/npm/rendering/list.component.js +700 -0
- package/dist/npm/rendering/no-records-template.directive.js +36 -0
- package/dist/npm/rendering/table-body.component.js +405 -0
- package/dist/npm/rendering/toolbar/toolbar-template.directive.js +64 -0
- package/dist/npm/rendering/toolbar/toolbar.component.js +51 -0
- package/dist/npm/scrolling/content-scroll-event.js +6 -0
- package/dist/npm/scrolling/row-height.service.js +33 -0
- package/dist/npm/scrolling/scroll-bottom-event.js +6 -0
- package/dist/npm/scrolling/scroll-request.service.js +25 -0
- package/dist/npm/scrolling/scroll-sync.service.js +91 -0
- package/dist/npm/scrolling/scroller.service.js +117 -0
- package/dist/npm/scrolling/scrollmode.js +6 -0
- package/dist/npm/scrolling/suspend.service.js +21 -0
- package/dist/npm/selection/is-selected.js +6 -0
- package/dist/npm/selection/marquee.directive.js +182 -0
- package/dist/npm/selection/selectable-settings.js +6 -0
- package/dist/npm/selection/selectable.directive.js +233 -0
- package/dist/npm/selection/selection-change-event.js +20 -0
- package/dist/npm/selection/selection-state.js +117 -0
- package/dist/npm/selection/selection.service.js +262 -0
- package/dist/npm/shared.module.js +63 -0
- package/dist/npm/treelist.component.js +2456 -0
- package/dist/npm/treelist.module.js +117 -0
- package/dist/npm/utils.js +140 -0
- package/dist/systemjs/kendo-angular-treelist.js +5 -0
- package/package.json +184 -0
- package/schematics/collection.json +12 -0
- package/schematics/ngAdd/index.js +12 -0
- package/schematics/ngAdd/index.js.map +1 -0
- package/schematics/ngAdd/schema.json +28 -0
|
@@ -0,0 +1,2452 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, QueryList, ViewChild, isDevMode, NgZone, ViewChildren, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, forwardRef } from '@angular/core';
|
|
7
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
8
|
+
import { Subscription, merge, isObservable } from 'rxjs';
|
|
9
|
+
import { map, tap, take, filter, switchMap, takeUntil } from 'rxjs/operators';
|
|
10
|
+
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
|
+
import { packageMetadata } from './package-metadata';
|
|
12
|
+
import { ColumnComponent, isColumnComponent } from './columns/column.component';
|
|
13
|
+
import { isSpanColumnComponent } from './columns/span-column.component';
|
|
14
|
+
import { isColumnGroupComponent, ColumnGroupComponent } from './columns/column-group.component';
|
|
15
|
+
import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers } from './utils';
|
|
16
|
+
import { BrowserSupportService } from './layout/browser-support.service';
|
|
17
|
+
import { ViewCollection } from './data/data.collection';
|
|
18
|
+
import { EditService } from './editing/edit.service';
|
|
19
|
+
import { ColumnsContainer } from './columns/columns-container';
|
|
20
|
+
import { ChangeNotificationService } from './data/change-notification.service';
|
|
21
|
+
import { NoRecordsTemplateDirective } from './rendering/no-records-template.directive';
|
|
22
|
+
import { ColumnBase } from './columns/column-base';
|
|
23
|
+
import { syncRowsHeight } from './layout/row-sync';
|
|
24
|
+
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
25
|
+
import { FilterService } from './filtering/filter.service';
|
|
26
|
+
import { PagerTemplateDirective } from './pager/pager-template.directive';
|
|
27
|
+
import { PagerContextService } from "./pager/pager-context.service";
|
|
28
|
+
import { PDFService } from './pdf/pdf.service';
|
|
29
|
+
import { PDFExportEvent } from './pdf/pdf-export-event';
|
|
30
|
+
import { SuspendService } from './scrolling/suspend.service';
|
|
31
|
+
import { ResponsiveService } from "./layout/responsive.service";
|
|
32
|
+
import { ExcelService } from './excel/excel.service';
|
|
33
|
+
import { ColumnList } from './columns/column-list';
|
|
34
|
+
import { ToolbarTemplateDirective } from "./rendering/toolbar/toolbar-template.directive";
|
|
35
|
+
import { expandColumns, expandColumnsWithSpan, isValidFieldName } from "./columns/column-common";
|
|
36
|
+
import { ScrollSyncService } from "./scrolling/scroll-sync.service";
|
|
37
|
+
import { ResizeService } from "./layout/resize.service";
|
|
38
|
+
import { closest, matchesClasses, matchesNodeName } from './rendering/common/dom-queries';
|
|
39
|
+
import { DomEventsService } from './common/dom-events.service';
|
|
40
|
+
import { ColumnResizingService } from "./column-resizing/column-resizing.service";
|
|
41
|
+
import { hasFilterRow } from './filtering/filterable';
|
|
42
|
+
import { SinglePopupService } from './common/single-popup.service';
|
|
43
|
+
import { DragAndDropService } from './dragdrop/drag-and-drop.service';
|
|
44
|
+
import { DragHintService } from './dragdrop/drag-hint.service';
|
|
45
|
+
import { DropCueService } from './dragdrop/drop-cue.service';
|
|
46
|
+
import { ColumnReorderService } from './dragdrop/column-reorder.service';
|
|
47
|
+
import { ColumnReorderEvent } from './dragdrop/column-reorder-event';
|
|
48
|
+
import { FocusRoot } from './navigation/focus-root';
|
|
49
|
+
import { NavigationService } from './navigation/navigation.service';
|
|
50
|
+
import { NavigationMetadata } from './navigation/navigation-metadata';
|
|
51
|
+
import { IdService } from './common/id.service';
|
|
52
|
+
import { ColumnInfoService } from "./common/column-info.service";
|
|
53
|
+
import { ScrollRequestService } from './scrolling/scroll-request.service';
|
|
54
|
+
import { SortService } from './common/sort.service';
|
|
55
|
+
import { ColumnMenuTemplateDirective } from './column-menu/column-menu-template.directive';
|
|
56
|
+
import { ColumnVisibilityChangeEvent } from './column-menu/column-visibility-change-event';
|
|
57
|
+
import { ColumnLockedChangeEvent } from './column-menu/column-locked-change-event';
|
|
58
|
+
import { sortColumns } from './columns/column-common';
|
|
59
|
+
import { defaultTrackBy } from './common/default-track-by';
|
|
60
|
+
import { ExpandStateService, defaultExpanded } from './expand-state/expand-state.service';
|
|
61
|
+
import { getter } from '@progress/kendo-common';
|
|
62
|
+
import { LocalEditService } from './editing-directives/local-edit.service';
|
|
63
|
+
import { OptionChangesService } from "./common/option-changes.service";
|
|
64
|
+
import { SelectionService } from './selection/selection.service';
|
|
65
|
+
import { DataBoundTreeComponent } from './binding-directives/data-bound-tree-component';
|
|
66
|
+
import { ExpandableTreeComponent } from './expand-state/expandable-tree-component';
|
|
67
|
+
var createControl = function (source) { return function (acc, key) {
|
|
68
|
+
acc[key] = new FormControl(source[key]);
|
|
69
|
+
return acc;
|
|
70
|
+
}; };
|
|
71
|
+
var ɵ0 = createControl;
|
|
72
|
+
var validateColumnsField = function (columns) {
|
|
73
|
+
return expandColumns(columns.toArray())
|
|
74
|
+
.filter(isColumnComponent)
|
|
75
|
+
.filter(function (_a) {
|
|
76
|
+
var field = _a.field;
|
|
77
|
+
return !isValidFieldName(field);
|
|
78
|
+
})
|
|
79
|
+
.forEach(function (_a) {
|
|
80
|
+
var field = _a.field;
|
|
81
|
+
return console.warn("\n TreeList column field name '" + field + "' does not look like a valid JavaScript identifier.\n Identifiers can contain only alphanumeric characters (including \"$\" or \"_\"), and may not start with a digit.\n Please use only valid identifier names to ensure error-free operation.\n ");
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
var ɵ1 = validateColumnsField;
|
|
85
|
+
var isInEditedCell = function (element, treelistElement) {
|
|
86
|
+
return closest(element, matchesClasses('k-grid-edit-cell')) &&
|
|
87
|
+
closest(element, matchesNodeName('kendo-treelist')) === treelistElement;
|
|
88
|
+
};
|
|
89
|
+
var ɵ2 = isInEditedCell;
|
|
90
|
+
/**
|
|
91
|
+
* Represents the Kendo UI TreeList component for Angular.
|
|
92
|
+
*
|
|
93
|
+
* {% meta height:470 %}
|
|
94
|
+
* {% embed_file data-binding/flat/app.component.ts preview %}
|
|
95
|
+
* {% embed_file data-binding/flat/app.module.ts %}
|
|
96
|
+
* {% embed_file shared/main.ts %}
|
|
97
|
+
* {% embed_file shared/employees.ts %}
|
|
98
|
+
* {% endmeta %}
|
|
99
|
+
*/
|
|
100
|
+
var TreeListComponent = /** @class */ (function () {
|
|
101
|
+
function TreeListComponent(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization) {
|
|
102
|
+
var _this = this;
|
|
103
|
+
this.supportService = supportService;
|
|
104
|
+
this.wrapper = wrapper;
|
|
105
|
+
this.changeNotification = changeNotification;
|
|
106
|
+
this.editService = editService;
|
|
107
|
+
this.filterService = filterService;
|
|
108
|
+
this.pdfService = pdfService;
|
|
109
|
+
this.responsiveService = responsiveService;
|
|
110
|
+
this.renderer = renderer;
|
|
111
|
+
this.excelService = excelService;
|
|
112
|
+
this.ngZone = ngZone;
|
|
113
|
+
this.scrollSyncService = scrollSyncService;
|
|
114
|
+
this.domEvents = domEvents;
|
|
115
|
+
this.columnResizingService = columnResizingService;
|
|
116
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
117
|
+
this.columnReorderService = columnReorderService;
|
|
118
|
+
this.columnInfoService = columnInfoService;
|
|
119
|
+
this.navigationService = navigationService;
|
|
120
|
+
this.sortService = sortService;
|
|
121
|
+
this.scrollRequestService = scrollRequestService;
|
|
122
|
+
this.expandStateService = expandStateService;
|
|
123
|
+
this.optionChanges = optionChanges;
|
|
124
|
+
this.selectionService = selectionService;
|
|
125
|
+
/**
|
|
126
|
+
* Defines the page size used by the TreeList when [paging]({% slug paging_treelist %}) is enabled.
|
|
127
|
+
*
|
|
128
|
+
* @default 10
|
|
129
|
+
*/
|
|
130
|
+
this.pageSize = 10;
|
|
131
|
+
/**
|
|
132
|
+
* Defines the scroll mode used by the TreeList.
|
|
133
|
+
*
|
|
134
|
+
* The available options are:
|
|
135
|
+
* - `none`—Renders no scrollbar.
|
|
136
|
+
* - `scrollable`—The default scroll mode. It requires the setting of the `height` option.
|
|
137
|
+
*/
|
|
138
|
+
this.scrollable = 'scrollable';
|
|
139
|
+
/**
|
|
140
|
+
* A function that defines how to track changes for the data rows.
|
|
141
|
+
*
|
|
142
|
+
* By default, the TreeList tracks changes by the index of the data item.
|
|
143
|
+
* Edited rows are tracked by reference.
|
|
144
|
+
* In some cases, you might need to override the default behavior,
|
|
145
|
+
* for example, when you implement editing with immutable data items.
|
|
146
|
+
*
|
|
147
|
+
* The following example demonstrates how to track items only by index.
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```ts
|
|
151
|
+
* import { Component } from '@angular/core';
|
|
152
|
+
* import { TreeListItem } from '@progress/kendo-angular-treelist';
|
|
153
|
+
*
|
|
154
|
+
* _@Component({
|
|
155
|
+
* selector: 'my-app',
|
|
156
|
+
* template: `
|
|
157
|
+
* <kendo-treelist [data]="treelistData" [trackBy]="trackBy">
|
|
158
|
+
* </kendo-treelist>
|
|
159
|
+
* `
|
|
160
|
+
* })
|
|
161
|
+
* class AppComponent {
|
|
162
|
+
* public treelistData: any[] = products;
|
|
163
|
+
*
|
|
164
|
+
* public trackBy(index: number, item: TreeListItem): any {
|
|
165
|
+
* console.log(item);
|
|
166
|
+
* return index;
|
|
167
|
+
* }
|
|
168
|
+
* }
|
|
169
|
+
*
|
|
170
|
+
* const products = [{
|
|
171
|
+
* "ProductID": 1,
|
|
172
|
+
* "ProductName": "Chai",
|
|
173
|
+
* "UnitPrice": 18.0000,
|
|
174
|
+
* "Discontinued": true
|
|
175
|
+
* }, {
|
|
176
|
+
* "ProductID": 2,
|
|
177
|
+
* "ProductName": "Chang",
|
|
178
|
+
* "UnitPrice": 19.0000,
|
|
179
|
+
* "Discontinued": false
|
|
180
|
+
* }
|
|
181
|
+
* ];
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
this.trackBy = defaultTrackBy;
|
|
185
|
+
/**
|
|
186
|
+
* If set to `true`, the treelist will render only the columns in the current viewport.
|
|
187
|
+
*/
|
|
188
|
+
this.virtualColumns = false;
|
|
189
|
+
/**
|
|
190
|
+
* Enables the [filtering]({% slug filtering_treelist %}) of the TreeList columns that have their `field` option set.
|
|
191
|
+
*/
|
|
192
|
+
this.filterable = false;
|
|
193
|
+
/**
|
|
194
|
+
* Enables the [sorting]({% slug sorting_treelist %}) of the TreeList columns that have their `field` option set.
|
|
195
|
+
*/
|
|
196
|
+
this.sortable = false;
|
|
197
|
+
/**
|
|
198
|
+
* Configures the pager of the TreeList ([see example]({% slug paging_treelist %})).
|
|
199
|
+
*
|
|
200
|
+
* The available options are:
|
|
201
|
+
* - `buttonCount: Number`—Sets the maximum numeric buttons count before the buttons are collapsed. Defaults to `10`.
|
|
202
|
+
* - `info: Boolean`—Toggles the information about the current page and the total number of records. Defaults to `true`.
|
|
203
|
+
* - `type: PagerType`—Accepts the `numeric` (buttons with numbers) and `input` (input for typing the page number) values. Defaults to `'numeric'`.
|
|
204
|
+
* - `pageSizes: Boolean` or `Array<number>`—Shows a menu for selecting the page size. Defaults to `false`.
|
|
205
|
+
* - `previousNext: Boolean`—Toggles the **Previous** and **Next** buttons. Defaults to `true`.
|
|
206
|
+
* - `responsive: Boolean`—Toggles the built-in responsive behavior of the Pager. Defaults to `true`.
|
|
207
|
+
*/
|
|
208
|
+
this.pageable = false;
|
|
209
|
+
/**
|
|
210
|
+
* If set to `true`, the user can use dedicated shortcuts to interact with the TreeList.
|
|
211
|
+
* By default, navigation is disabled and the TreeList content is accessible in the normal tab sequence.
|
|
212
|
+
*/
|
|
213
|
+
this.navigable = false;
|
|
214
|
+
/**
|
|
215
|
+
* Indicates whether the TreeList columns will be resized during initialization so that
|
|
216
|
+
* they fit their headers and row content. Defaults to `false`.
|
|
217
|
+
* Columns with `autoSize` set to `false` are excluded.
|
|
218
|
+
* To dynamically update the column width to match the new content,
|
|
219
|
+
* refer to [this example]({% slug resizing_columns_treelist %}).
|
|
220
|
+
*/
|
|
221
|
+
this.autoSize = false;
|
|
222
|
+
/**
|
|
223
|
+
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
|
224
|
+
* ([see example]({% slug resizing_columns_treelist %})).
|
|
225
|
+
*
|
|
226
|
+
* @default false
|
|
227
|
+
*/
|
|
228
|
+
this.resizable = false;
|
|
229
|
+
/**
|
|
230
|
+
* If set to `true`, the user can reorder columns by dragging their header cells
|
|
231
|
+
* ([see example]({% slug reordering_columns_treelist %})).
|
|
232
|
+
*
|
|
233
|
+
* @default false
|
|
234
|
+
*/
|
|
235
|
+
this.reorderable = false;
|
|
236
|
+
/**
|
|
237
|
+
* Specifies if the loading indicator of the TreeList will be displayed ([see example]({% slug databinding_treelist %})).
|
|
238
|
+
*
|
|
239
|
+
* @default false
|
|
240
|
+
*/
|
|
241
|
+
this.loading = false;
|
|
242
|
+
/**
|
|
243
|
+
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_treelist %})).
|
|
244
|
+
*
|
|
245
|
+
* @default false
|
|
246
|
+
*/
|
|
247
|
+
this.columnMenu = false;
|
|
248
|
+
/**
|
|
249
|
+
* Specifies if the header of the treelist will be hidden. The header is visible by default.
|
|
250
|
+
*
|
|
251
|
+
* > The header includes column headers and the [filter row]({% slug filtering_treelist %}#toc-filter-row).
|
|
252
|
+
*/
|
|
253
|
+
this.hideHeader = false;
|
|
254
|
+
/**
|
|
255
|
+
* Fires when the TreeList selection is changed.
|
|
256
|
+
*/
|
|
257
|
+
this.selectionChange = new EventEmitter();
|
|
258
|
+
/**
|
|
259
|
+
* Fires when the TreeList filter is modified through the UI.
|
|
260
|
+
* You have to handle the event yourself and filter the data.
|
|
261
|
+
*/
|
|
262
|
+
this.filterChange = new EventEmitter();
|
|
263
|
+
/**
|
|
264
|
+
* Fires when the page of the TreeList is changed ([see example]({% slug paging_treelist %})).
|
|
265
|
+
* You have to handle the event yourself and page the data.
|
|
266
|
+
*/
|
|
267
|
+
this.pageChange = new EventEmitter();
|
|
268
|
+
/**
|
|
269
|
+
* Fires when the sorting of the TreeList is changed ([see example]({% slug sorting_treelist %})).
|
|
270
|
+
* You have to handle the event yourself and sort the data.
|
|
271
|
+
*/
|
|
272
|
+
this.sortChange = new EventEmitter();
|
|
273
|
+
/**
|
|
274
|
+
* Fires when the data state of the TreeList is changed.
|
|
275
|
+
*/
|
|
276
|
+
this.dataStateChange = new EventEmitter();
|
|
277
|
+
/**
|
|
278
|
+
* Fires when the user clicks the **Edit** command button to edit a row
|
|
279
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-editing-records)).
|
|
280
|
+
*/
|
|
281
|
+
this.edit = new EventEmitter();
|
|
282
|
+
/**
|
|
283
|
+
* Fires when the user clicks the **Cancel** command button to close a row
|
|
284
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-cancelling-editing)).
|
|
285
|
+
*/
|
|
286
|
+
this.cancel = new EventEmitter();
|
|
287
|
+
/**
|
|
288
|
+
* Fires when the user clicks the **Save** command button to save changes in a row
|
|
289
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-saving-records)).
|
|
290
|
+
*/
|
|
291
|
+
this.save = new EventEmitter();
|
|
292
|
+
/**
|
|
293
|
+
* Fires when the user clicks the **Remove** command button to remove a row
|
|
294
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-removing-records)).
|
|
295
|
+
*/
|
|
296
|
+
this.remove = new EventEmitter();
|
|
297
|
+
/**
|
|
298
|
+
* Fires when the user clicks the **Add** command button to add a new row
|
|
299
|
+
* ([see example]({% slug editing_template_forms_treelist %}#toc-adding-records)).
|
|
300
|
+
*/
|
|
301
|
+
this.add = new EventEmitter();
|
|
302
|
+
/**
|
|
303
|
+
* Fires when the user leaves an edited cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
|
|
304
|
+
*/
|
|
305
|
+
this.cellClose = new EventEmitter();
|
|
306
|
+
/**
|
|
307
|
+
* Fires when the user clicks a cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
|
|
308
|
+
*/
|
|
309
|
+
this.cellClick = new EventEmitter();
|
|
310
|
+
/**
|
|
311
|
+
* Fires when the user clicks the **Export to PDF** command button.
|
|
312
|
+
*/
|
|
313
|
+
this.pdfExport = new EventEmitter();
|
|
314
|
+
/**
|
|
315
|
+
* Fires when the user clicks the **Export to Excel** command button.
|
|
316
|
+
*/
|
|
317
|
+
this.excelExport = new EventEmitter();
|
|
318
|
+
/**
|
|
319
|
+
* Fires when the user completes the resizing of the column.
|
|
320
|
+
*/
|
|
321
|
+
this.columnResize = new EventEmitter();
|
|
322
|
+
/**
|
|
323
|
+
* Fires when the user completes the reordering of the column.
|
|
324
|
+
*/
|
|
325
|
+
this.columnReorder = new EventEmitter();
|
|
326
|
+
/**
|
|
327
|
+
* Fires when the user changes the visibility of the columns from the column menu or column chooser.
|
|
328
|
+
*/
|
|
329
|
+
this.columnVisibilityChange = new EventEmitter();
|
|
330
|
+
/**
|
|
331
|
+
* Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
|
|
332
|
+
*/
|
|
333
|
+
this.columnLockedChange = new EventEmitter();
|
|
334
|
+
/**
|
|
335
|
+
* Fires when the user scrolls to the last record on the page and enables endless scrolling
|
|
336
|
+
* ([see example]({% slug scrollmmodes_treelist %}#toc-endless-scrolling)).
|
|
337
|
+
* You have to handle the event yourself and page the data.
|
|
338
|
+
*/
|
|
339
|
+
this.scrollBottom = new EventEmitter();
|
|
340
|
+
/**
|
|
341
|
+
* Fires when the treelist content is scrolled.
|
|
342
|
+
* For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
|
|
343
|
+
*/
|
|
344
|
+
this.contentScroll = new EventEmitter();
|
|
345
|
+
/**
|
|
346
|
+
* Fires when an item is expanded.
|
|
347
|
+
*/
|
|
348
|
+
this.expandEvent = new EventEmitter();
|
|
349
|
+
/**
|
|
350
|
+
* Fires when an item is collapsed.
|
|
351
|
+
*/
|
|
352
|
+
this.collapseEvent = new EventEmitter();
|
|
353
|
+
/**
|
|
354
|
+
* @hidden
|
|
355
|
+
*
|
|
356
|
+
* Emits when the expand or collapse events are fired.
|
|
357
|
+
* Used by the expand directive and the Gantt component.
|
|
358
|
+
*/
|
|
359
|
+
this.expandStateChange = new EventEmitter();
|
|
360
|
+
/**
|
|
361
|
+
* @hidden
|
|
362
|
+
*/
|
|
363
|
+
this.columnOrderChange = new EventEmitter();
|
|
364
|
+
/**
|
|
365
|
+
* A query list of all declared columns.
|
|
366
|
+
*/
|
|
367
|
+
this.columns = new QueryList();
|
|
368
|
+
this.footer = new QueryList();
|
|
369
|
+
this.columnsContainer = new ColumnsContainer(function () { return _this.columnList.filterHierarchy(function (column) {
|
|
370
|
+
column.matchesMedia = _this.matchesMedia(column);
|
|
371
|
+
return column.isVisible;
|
|
372
|
+
}); });
|
|
373
|
+
this.idGetter = getter(undefined);
|
|
374
|
+
this.localEditService = new LocalEditService();
|
|
375
|
+
this.view = new ViewCollection(this.viewFieldAccessor.bind(this), this.expandStateService, this.editService, this.selectionService);
|
|
376
|
+
this.dataChanged = false;
|
|
377
|
+
this._hasChildren = (function () { return false; });
|
|
378
|
+
this.subscriptions = new Subscription();
|
|
379
|
+
this.rtl = false;
|
|
380
|
+
this.shouldGenerateColumns = true;
|
|
381
|
+
this._data = [];
|
|
382
|
+
this._sort = new Array();
|
|
383
|
+
this._skip = 0;
|
|
384
|
+
this.cachedWindowWidth = 0;
|
|
385
|
+
this._rowClass = function () { return null; };
|
|
386
|
+
validatePackage(packageMetadata);
|
|
387
|
+
this.subscriptions.add(localization.changes.subscribe(function (_a) {
|
|
388
|
+
var rtl = _a.rtl;
|
|
389
|
+
_this.rtl = rtl;
|
|
390
|
+
_this.direction = _this.rtl ? 'rtl' : 'ltr';
|
|
391
|
+
}));
|
|
392
|
+
this.selectionService.init(this);
|
|
393
|
+
this.subscriptions.add(this.selectionService.changes.subscribe(function (args) {
|
|
394
|
+
if (hasObservers(_this.selectionChange)) {
|
|
395
|
+
_this.ngZone.run(function () {
|
|
396
|
+
args.sender = _this;
|
|
397
|
+
_this.selectionChange.emit(args);
|
|
398
|
+
_this.selectionService.updateSelectedState();
|
|
399
|
+
_this.changeDetectorRef.markForCheck();
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
}));
|
|
403
|
+
this.columnInfoService.init(this.columnsContainer, function () { return _this.columnList; });
|
|
404
|
+
this.subscriptions.add(this.columnInfoService.visibilityChange.subscribe(function (changed) {
|
|
405
|
+
_this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
|
|
406
|
+
_this.changeDetectorRef.markForCheck();
|
|
407
|
+
}));
|
|
408
|
+
this.subscriptions.add(this.columnInfoService.lockedChange.subscribe(function (changed) {
|
|
409
|
+
_this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
|
|
410
|
+
_this.changeDetectorRef.markForCheck();
|
|
411
|
+
}));
|
|
412
|
+
this.subscriptions.add(merge(this.optionChanges.columns, this.optionChanges.options).subscribe(function () {
|
|
413
|
+
_this.changeDetectorRef.markForCheck();
|
|
414
|
+
}));
|
|
415
|
+
this.subscriptions.add(this.filterService.changes.subscribe(function (x) {
|
|
416
|
+
_this.filterChange.emit(x);
|
|
417
|
+
}));
|
|
418
|
+
this.subscriptions.add(this.sortService.changes.subscribe(function (x) {
|
|
419
|
+
_this.sortChange.emit(x);
|
|
420
|
+
}));
|
|
421
|
+
this.attachStateChangesEmitter();
|
|
422
|
+
this.attachEditHandlers();
|
|
423
|
+
this.attachDomEventHandlers();
|
|
424
|
+
this.subscriptions.add(this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this)));
|
|
425
|
+
this.subscriptions.add(this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this)));
|
|
426
|
+
this.subscriptions.add(this.excelService.loadingChange.subscribe(function () {
|
|
427
|
+
_this.changeDetectorRef.detectChanges();
|
|
428
|
+
}));
|
|
429
|
+
this.columnsContainerChange();
|
|
430
|
+
this.handleColumnResize();
|
|
431
|
+
this.columnList = new ColumnList(this.columns);
|
|
432
|
+
this.subscriptions.add(this.columnReorderService
|
|
433
|
+
.changes.subscribe(this.reorder.bind(this)));
|
|
434
|
+
this.subscriptions.add(this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this)));
|
|
435
|
+
this.subscriptions.add(this.expandStateService.changes.subscribe(function (args) {
|
|
436
|
+
if (args.expand) {
|
|
437
|
+
_this.expandEvent.emit(args);
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
_this.collapseEvent.emit(args);
|
|
441
|
+
}
|
|
442
|
+
if (!args.isDefaultPrevented()) {
|
|
443
|
+
_this.changeDetectorRef.markForCheck();
|
|
444
|
+
_this.view.clear();
|
|
445
|
+
_this.expandStateChange.emit(args);
|
|
446
|
+
}
|
|
447
|
+
}));
|
|
448
|
+
this.subscriptions.add(this.view.childrenLoaded.subscribe(function () {
|
|
449
|
+
_this.changeDetectorRef.detectChanges();
|
|
450
|
+
}));
|
|
451
|
+
this.subscriptions.add(this.view.resetPage.subscribe(function () {
|
|
452
|
+
if (_this.skip > 0 && hasObservers(_this.pageChange)) {
|
|
453
|
+
// don't think there is a way to avoid this
|
|
454
|
+
// every callback in which the view can be computed is already passed the change detection
|
|
455
|
+
// computing the current page in advance also does not seem feasible for such a rare case
|
|
456
|
+
_this.pageChangeTimeout = setTimeout(function () {
|
|
457
|
+
_this.pageChange.emit({ skip: 0, take: _this.pageSize });
|
|
458
|
+
}, 0);
|
|
459
|
+
}
|
|
460
|
+
_this.skip = 0;
|
|
461
|
+
}));
|
|
462
|
+
this.dataLoaded = this.dataLoaded.bind(this);
|
|
463
|
+
this.editService.idGetter = this.idGetter;
|
|
464
|
+
}
|
|
465
|
+
TreeListComponent_1 = TreeListComponent;
|
|
466
|
+
Object.defineProperty(TreeListComponent.prototype, "data", {
|
|
467
|
+
get: function () {
|
|
468
|
+
return this.loadedData;
|
|
469
|
+
},
|
|
470
|
+
/**
|
|
471
|
+
* Sets the data of the TreeList. If an array is provided, the TreeList automatically gets the total count
|
|
472
|
+
* ([more information and example]({% slug databinding_treelist %})).
|
|
473
|
+
*/
|
|
474
|
+
set: function (value) {
|
|
475
|
+
this.view.reset();
|
|
476
|
+
this._data = value;
|
|
477
|
+
this.loadedData = null;
|
|
478
|
+
this.unsubscribeDataLoaded();
|
|
479
|
+
if (isObservable(value)) {
|
|
480
|
+
this.dataLoadedSubscription = value.subscribe(this.dataLoaded); // handle error
|
|
481
|
+
}
|
|
482
|
+
else {
|
|
483
|
+
this.dataLoaded(value);
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
enumerable: true,
|
|
487
|
+
configurable: true
|
|
488
|
+
});
|
|
489
|
+
Object.defineProperty(TreeListComponent.prototype, "skip", {
|
|
490
|
+
/**
|
|
491
|
+
* Defines the number of records to be skipped by the pager.
|
|
492
|
+
* Required by the [paging]({% slug paging_treelist %}) functionality.
|
|
493
|
+
*/
|
|
494
|
+
get: function () {
|
|
495
|
+
return this._skip;
|
|
496
|
+
},
|
|
497
|
+
set: function (value) {
|
|
498
|
+
if (value >= 0) {
|
|
499
|
+
this._skip = value;
|
|
500
|
+
this.view.clear();
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
enumerable: true,
|
|
504
|
+
configurable: true
|
|
505
|
+
});
|
|
506
|
+
Object.defineProperty(TreeListComponent.prototype, "sort", {
|
|
507
|
+
get: function () {
|
|
508
|
+
return this._sort;
|
|
509
|
+
},
|
|
510
|
+
/**
|
|
511
|
+
* The descriptors by which the data will be sorted ([see example]({% slug sorting_treelist %})).
|
|
512
|
+
*/
|
|
513
|
+
set: function (value) {
|
|
514
|
+
if (isArray(value)) {
|
|
515
|
+
this._sort = value;
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
enumerable: true,
|
|
519
|
+
configurable: true
|
|
520
|
+
});
|
|
521
|
+
Object.defineProperty(TreeListComponent.prototype, "showTopToolbar", {
|
|
522
|
+
/**
|
|
523
|
+
* @hidden
|
|
524
|
+
*/
|
|
525
|
+
get: function () {
|
|
526
|
+
return this.toolbarTemplate && ['top', 'both'].indexOf(this.toolbarTemplate.position) > -1;
|
|
527
|
+
},
|
|
528
|
+
enumerable: true,
|
|
529
|
+
configurable: true
|
|
530
|
+
});
|
|
531
|
+
Object.defineProperty(TreeListComponent.prototype, "showBottomToolbar", {
|
|
532
|
+
/**
|
|
533
|
+
* @hidden
|
|
534
|
+
*/
|
|
535
|
+
get: function () {
|
|
536
|
+
return this.toolbarTemplate && ['bottom', 'both'].indexOf(this.toolbarTemplate.position) > -1;
|
|
537
|
+
},
|
|
538
|
+
enumerable: true,
|
|
539
|
+
configurable: true
|
|
540
|
+
});
|
|
541
|
+
Object.defineProperty(TreeListComponent.prototype, "isLocked", {
|
|
542
|
+
/**
|
|
543
|
+
* @hidden
|
|
544
|
+
*/
|
|
545
|
+
get: function () {
|
|
546
|
+
return this.lockedLeafColumns.length > 0;
|
|
547
|
+
},
|
|
548
|
+
enumerable: true,
|
|
549
|
+
configurable: true
|
|
550
|
+
});
|
|
551
|
+
Object.defineProperty(TreeListComponent.prototype, "showPager", {
|
|
552
|
+
/**
|
|
553
|
+
* @hidden
|
|
554
|
+
*/
|
|
555
|
+
get: function () {
|
|
556
|
+
return !this.isVirtual && this.pageable !== false;
|
|
557
|
+
},
|
|
558
|
+
enumerable: true,
|
|
559
|
+
configurable: true
|
|
560
|
+
});
|
|
561
|
+
Object.defineProperty(TreeListComponent.prototype, "marqueeSelection", {
|
|
562
|
+
get: function () {
|
|
563
|
+
return this.selectionService.enableMarquee;
|
|
564
|
+
},
|
|
565
|
+
enumerable: true,
|
|
566
|
+
configurable: true
|
|
567
|
+
});
|
|
568
|
+
Object.defineProperty(TreeListComponent.prototype, "navigatable", {
|
|
569
|
+
/**
|
|
570
|
+
* @hidden
|
|
571
|
+
*/
|
|
572
|
+
get: function () {
|
|
573
|
+
return this.navigable;
|
|
574
|
+
},
|
|
575
|
+
/**
|
|
576
|
+
* @hidden
|
|
577
|
+
*
|
|
578
|
+
* An alias for `navigable` for users who migrate from Kendo UI for jQuery.
|
|
579
|
+
*/
|
|
580
|
+
set: function (value) {
|
|
581
|
+
this.navigable = value;
|
|
582
|
+
},
|
|
583
|
+
enumerable: true,
|
|
584
|
+
configurable: true
|
|
585
|
+
});
|
|
586
|
+
Object.defineProperty(TreeListComponent.prototype, "rowClass", {
|
|
587
|
+
get: function () {
|
|
588
|
+
return this._rowClass;
|
|
589
|
+
},
|
|
590
|
+
/**
|
|
591
|
+
* Defines a function that is executed for every data row in the component.
|
|
592
|
+
*
|
|
593
|
+
* @example
|
|
594
|
+
* ```ts
|
|
595
|
+
* import { Component, ViewEncapsulation } from '@angular/core';
|
|
596
|
+
* import { RowClassArgs } from '@progress/kendo-angular-treelist';
|
|
597
|
+
*
|
|
598
|
+
* _@Component({
|
|
599
|
+
* selector: 'my-app',
|
|
600
|
+
* encapsulation: ViewEncapsulation.None,
|
|
601
|
+
* styles: [`
|
|
602
|
+
* .k-treelist tr.even { background-color: #f45c42; }
|
|
603
|
+
* .k-treelist tr.odd { background-color: #41f4df; }
|
|
604
|
+
* `],
|
|
605
|
+
* template: `
|
|
606
|
+
* <kendo-treelist [data]="treelistData" [rowClass]="rowCallback">
|
|
607
|
+
* </kendo-treelist>
|
|
608
|
+
* `
|
|
609
|
+
* })
|
|
610
|
+
* class AppComponent {
|
|
611
|
+
* public treelistData: any[] = products;
|
|
612
|
+
*
|
|
613
|
+
* public rowCallback(context: RowClassArgs) {
|
|
614
|
+
* const isEven = context.index % 2 == 0;
|
|
615
|
+
* return {
|
|
616
|
+
* even: isEven,
|
|
617
|
+
* odd: !isEven
|
|
618
|
+
* };
|
|
619
|
+
* }
|
|
620
|
+
* }
|
|
621
|
+
*
|
|
622
|
+
* const products = [{
|
|
623
|
+
* "ProductID": 1,
|
|
624
|
+
* "ProductName": "Chai",
|
|
625
|
+
* "UnitPrice": 18.0000,
|
|
626
|
+
* "Discontinued": true
|
|
627
|
+
* }, {
|
|
628
|
+
* "ProductID": 2,
|
|
629
|
+
* "ProductName": "Chang",
|
|
630
|
+
* "UnitPrice": 19.0000,
|
|
631
|
+
* "Discontinued": false
|
|
632
|
+
* }
|
|
633
|
+
* ];
|
|
634
|
+
* ```
|
|
635
|
+
*/
|
|
636
|
+
set: function (fn) {
|
|
637
|
+
if (typeof fn !== 'function') {
|
|
638
|
+
throw new Error("rowClass must be a function, but received " + JSON.stringify(fn) + ".");
|
|
639
|
+
}
|
|
640
|
+
this._rowClass = fn;
|
|
641
|
+
},
|
|
642
|
+
enumerable: true,
|
|
643
|
+
configurable: true
|
|
644
|
+
});
|
|
645
|
+
Object.defineProperty(TreeListComponent.prototype, "activeCell", {
|
|
646
|
+
/**
|
|
647
|
+
* Returns the currently focused cell (if any).
|
|
648
|
+
*/
|
|
649
|
+
get: function () {
|
|
650
|
+
return this.navigationService.activeCell;
|
|
651
|
+
},
|
|
652
|
+
enumerable: true,
|
|
653
|
+
configurable: true
|
|
654
|
+
});
|
|
655
|
+
Object.defineProperty(TreeListComponent.prototype, "activeRow", {
|
|
656
|
+
/**
|
|
657
|
+
* Returns the currently focused row (if any).
|
|
658
|
+
*/
|
|
659
|
+
get: function () {
|
|
660
|
+
return this.navigationService.activeRow;
|
|
661
|
+
},
|
|
662
|
+
enumerable: true,
|
|
663
|
+
configurable: true
|
|
664
|
+
});
|
|
665
|
+
Object.defineProperty(TreeListComponent.prototype, "idField", {
|
|
666
|
+
/**
|
|
667
|
+
* The name of the field which contains the unique identifier of the node.
|
|
668
|
+
*
|
|
669
|
+
* @default "id"
|
|
670
|
+
*/
|
|
671
|
+
set: function (value) {
|
|
672
|
+
if (typeof value === "function") {
|
|
673
|
+
this.idGetter = value;
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
this.idGetter = getter(value);
|
|
677
|
+
}
|
|
678
|
+
this.editService.idGetter = this.idGetter;
|
|
679
|
+
},
|
|
680
|
+
enumerable: true,
|
|
681
|
+
configurable: true
|
|
682
|
+
});
|
|
683
|
+
Object.defineProperty(TreeListComponent.prototype, "selectable", {
|
|
684
|
+
/**
|
|
685
|
+
* Specified the treelist selection settings
|
|
686
|
+
*/
|
|
687
|
+
set: function (value) {
|
|
688
|
+
this.selectionService.settings = value;
|
|
689
|
+
},
|
|
690
|
+
enumerable: true,
|
|
691
|
+
configurable: true
|
|
692
|
+
});
|
|
693
|
+
Object.defineProperty(TreeListComponent.prototype, "isSelected", {
|
|
694
|
+
/**
|
|
695
|
+
* Provides a callback that determines if the given row / cell is selected.
|
|
696
|
+
*/
|
|
697
|
+
set: function (value) {
|
|
698
|
+
if (typeof value !== 'function' && isDevMode()) {
|
|
699
|
+
throw new Error("isSelected must be a function, but received \"" + JSON.stringify(value) + "\".");
|
|
700
|
+
}
|
|
701
|
+
this.selectionService.isSelected = value;
|
|
702
|
+
this.selectionService.settings = this.selectionService.settings;
|
|
703
|
+
},
|
|
704
|
+
enumerable: true,
|
|
705
|
+
configurable: true
|
|
706
|
+
});
|
|
707
|
+
Object.defineProperty(TreeListComponent.prototype, "columnsRef", {
|
|
708
|
+
get: function () {
|
|
709
|
+
return this._columnsRef;
|
|
710
|
+
},
|
|
711
|
+
/**
|
|
712
|
+
* @hidden
|
|
713
|
+
*/
|
|
714
|
+
set: function (columns) {
|
|
715
|
+
this._columnsRef = columns;
|
|
716
|
+
// load the new columns list only if a valid query list is provided
|
|
717
|
+
if (isPresent(columns)) {
|
|
718
|
+
this.loadColumns(columns);
|
|
719
|
+
}
|
|
720
|
+
},
|
|
721
|
+
enumerable: true,
|
|
722
|
+
configurable: true
|
|
723
|
+
});
|
|
724
|
+
Object.defineProperty(TreeListComponent.prototype, "dir", {
|
|
725
|
+
get: function () {
|
|
726
|
+
return this.direction;
|
|
727
|
+
},
|
|
728
|
+
enumerable: true,
|
|
729
|
+
configurable: true
|
|
730
|
+
});
|
|
731
|
+
Object.defineProperty(TreeListComponent.prototype, "hostClasses", {
|
|
732
|
+
get: function () {
|
|
733
|
+
return true;
|
|
734
|
+
},
|
|
735
|
+
enumerable: true,
|
|
736
|
+
configurable: true
|
|
737
|
+
});
|
|
738
|
+
Object.defineProperty(TreeListComponent.prototype, "lockedClasses", {
|
|
739
|
+
get: function () {
|
|
740
|
+
return this.lockedLeafColumns.length > 0;
|
|
741
|
+
},
|
|
742
|
+
enumerable: true,
|
|
743
|
+
configurable: true
|
|
744
|
+
});
|
|
745
|
+
Object.defineProperty(TreeListComponent.prototype, "virtualClasses", {
|
|
746
|
+
get: function () {
|
|
747
|
+
return this.isVirtual;
|
|
748
|
+
},
|
|
749
|
+
enumerable: true,
|
|
750
|
+
configurable: true
|
|
751
|
+
});
|
|
752
|
+
Object.defineProperty(TreeListComponent.prototype, "noScrollbarClass", {
|
|
753
|
+
get: function () {
|
|
754
|
+
return this.scrollbarWidth === 0;
|
|
755
|
+
},
|
|
756
|
+
enumerable: true,
|
|
757
|
+
configurable: true
|
|
758
|
+
});
|
|
759
|
+
Object.defineProperty(TreeListComponent.prototype, "noRecordsTemplate", {
|
|
760
|
+
get: function () {
|
|
761
|
+
if (this._customNoRecordsTemplate) {
|
|
762
|
+
return this._customNoRecordsTemplate;
|
|
763
|
+
}
|
|
764
|
+
return this.noRecordsTemplateChildren ? this.noRecordsTemplateChildren.first : undefined;
|
|
765
|
+
},
|
|
766
|
+
set: function (customNoRecordsTemplate) {
|
|
767
|
+
this._customNoRecordsTemplate = customNoRecordsTemplate;
|
|
768
|
+
},
|
|
769
|
+
enumerable: true,
|
|
770
|
+
configurable: true
|
|
771
|
+
});
|
|
772
|
+
Object.defineProperty(TreeListComponent.prototype, "pagerTemplate", {
|
|
773
|
+
get: function () {
|
|
774
|
+
if (this._customPagerTemplate) {
|
|
775
|
+
return this._customPagerTemplate;
|
|
776
|
+
}
|
|
777
|
+
return this.pagerTemplateChildren ? this.pagerTemplateChildren.first : undefined;
|
|
778
|
+
},
|
|
779
|
+
set: function (customPagerTemplate) {
|
|
780
|
+
this._customPagerTemplate = customPagerTemplate;
|
|
781
|
+
},
|
|
782
|
+
enumerable: true,
|
|
783
|
+
configurable: true
|
|
784
|
+
});
|
|
785
|
+
Object.defineProperty(TreeListComponent.prototype, "toolbarTemplate", {
|
|
786
|
+
get: function () {
|
|
787
|
+
if (this._customToolbarTemplate) {
|
|
788
|
+
return this._customToolbarTemplate;
|
|
789
|
+
}
|
|
790
|
+
return this.toolbarTemplateChildren ? this.toolbarTemplateChildren.first : undefined;
|
|
791
|
+
},
|
|
792
|
+
set: function (customToolbarTemplate) {
|
|
793
|
+
this._customToolbarTemplate = customToolbarTemplate;
|
|
794
|
+
},
|
|
795
|
+
enumerable: true,
|
|
796
|
+
configurable: true
|
|
797
|
+
});
|
|
798
|
+
Object.defineProperty(TreeListComponent.prototype, "scrollbarWidth", {
|
|
799
|
+
get: function () {
|
|
800
|
+
return this.supportService.scrollbarWidth;
|
|
801
|
+
},
|
|
802
|
+
enumerable: true,
|
|
803
|
+
configurable: true
|
|
804
|
+
});
|
|
805
|
+
Object.defineProperty(TreeListComponent.prototype, "headerPadding", {
|
|
806
|
+
get: function () {
|
|
807
|
+
if (isUniversal()) {
|
|
808
|
+
return '';
|
|
809
|
+
}
|
|
810
|
+
var padding = Math.max(0, this.scrollbarWidth) + 'px';
|
|
811
|
+
var right = this.rtl ? 0 : padding;
|
|
812
|
+
var left = this.rtl ? padding : 0;
|
|
813
|
+
return "0 " + right + " 0 " + left;
|
|
814
|
+
},
|
|
815
|
+
enumerable: true,
|
|
816
|
+
configurable: true
|
|
817
|
+
});
|
|
818
|
+
Object.defineProperty(TreeListComponent.prototype, "showLoading", {
|
|
819
|
+
get: function () {
|
|
820
|
+
return this.loading || (isObservable(this._data) && !this.loadedData) || this.excelService.loading;
|
|
821
|
+
},
|
|
822
|
+
enumerable: true,
|
|
823
|
+
configurable: true
|
|
824
|
+
});
|
|
825
|
+
Object.defineProperty(TreeListComponent.prototype, "showFooter", {
|
|
826
|
+
get: function () {
|
|
827
|
+
return this.columnsContainer.hasFooter;
|
|
828
|
+
},
|
|
829
|
+
enumerable: true,
|
|
830
|
+
configurable: true
|
|
831
|
+
});
|
|
832
|
+
Object.defineProperty(TreeListComponent.prototype, "ariaRowCount", {
|
|
833
|
+
get: function () {
|
|
834
|
+
return this.totalColumnLevels + 1 + this.totalCount;
|
|
835
|
+
},
|
|
836
|
+
enumerable: true,
|
|
837
|
+
configurable: true
|
|
838
|
+
});
|
|
839
|
+
Object.defineProperty(TreeListComponent.prototype, "ariaColCount", {
|
|
840
|
+
get: function () {
|
|
841
|
+
return this.columnsContainer.leafColumnsToRender.length;
|
|
842
|
+
},
|
|
843
|
+
enumerable: true,
|
|
844
|
+
configurable: true
|
|
845
|
+
});
|
|
846
|
+
Object.defineProperty(TreeListComponent.prototype, "ariaMultiselectable", {
|
|
847
|
+
get: function () {
|
|
848
|
+
if (this.selectionService.enabled) {
|
|
849
|
+
return this.selectionService.enableMultiple;
|
|
850
|
+
}
|
|
851
|
+
},
|
|
852
|
+
enumerable: true,
|
|
853
|
+
configurable: true
|
|
854
|
+
});
|
|
855
|
+
Object.defineProperty(TreeListComponent.prototype, "isVirtual", {
|
|
856
|
+
get: function () {
|
|
857
|
+
return this.scrollable === 'virtual';
|
|
858
|
+
},
|
|
859
|
+
enumerable: true,
|
|
860
|
+
configurable: true
|
|
861
|
+
});
|
|
862
|
+
Object.defineProperty(TreeListComponent.prototype, "isScrollable", {
|
|
863
|
+
get: function () {
|
|
864
|
+
return this.scrollable !== 'none';
|
|
865
|
+
},
|
|
866
|
+
enumerable: true,
|
|
867
|
+
configurable: true
|
|
868
|
+
});
|
|
869
|
+
Object.defineProperty(TreeListComponent.prototype, "visibleColumns", {
|
|
870
|
+
get: function () {
|
|
871
|
+
return this.columnsContainer.allColumns;
|
|
872
|
+
},
|
|
873
|
+
enumerable: true,
|
|
874
|
+
configurable: true
|
|
875
|
+
});
|
|
876
|
+
Object.defineProperty(TreeListComponent.prototype, "lockedColumns", {
|
|
877
|
+
get: function () {
|
|
878
|
+
return this.columnsContainer.lockedColumns;
|
|
879
|
+
},
|
|
880
|
+
enumerable: true,
|
|
881
|
+
configurable: true
|
|
882
|
+
});
|
|
883
|
+
Object.defineProperty(TreeListComponent.prototype, "nonLockedColumns", {
|
|
884
|
+
get: function () {
|
|
885
|
+
return this.columnsContainer.nonLockedColumns;
|
|
886
|
+
},
|
|
887
|
+
enumerable: true,
|
|
888
|
+
configurable: true
|
|
889
|
+
});
|
|
890
|
+
Object.defineProperty(TreeListComponent.prototype, "lockedLeafColumns", {
|
|
891
|
+
get: function () {
|
|
892
|
+
return this.columnsContainer.lockedLeafColumns;
|
|
893
|
+
},
|
|
894
|
+
enumerable: true,
|
|
895
|
+
configurable: true
|
|
896
|
+
});
|
|
897
|
+
Object.defineProperty(TreeListComponent.prototype, "nonLockedLeafColumns", {
|
|
898
|
+
get: function () {
|
|
899
|
+
return this.columnsContainer.nonLockedLeafColumns;
|
|
900
|
+
},
|
|
901
|
+
enumerable: true,
|
|
902
|
+
configurable: true
|
|
903
|
+
});
|
|
904
|
+
Object.defineProperty(TreeListComponent.prototype, "leafColumns", {
|
|
905
|
+
get: function () {
|
|
906
|
+
return this.columnsContainer.leafColumns;
|
|
907
|
+
},
|
|
908
|
+
enumerable: true,
|
|
909
|
+
configurable: true
|
|
910
|
+
});
|
|
911
|
+
Object.defineProperty(TreeListComponent.prototype, "totalColumnLevels", {
|
|
912
|
+
get: function () {
|
|
913
|
+
return this.columnsContainer.totalLevels;
|
|
914
|
+
},
|
|
915
|
+
enumerable: true,
|
|
916
|
+
configurable: true
|
|
917
|
+
});
|
|
918
|
+
Object.defineProperty(TreeListComponent.prototype, "headerColumns", {
|
|
919
|
+
get: function () {
|
|
920
|
+
if (this.virtualColumns && !this.pdfService.exporting) {
|
|
921
|
+
return this.viewportColumns;
|
|
922
|
+
}
|
|
923
|
+
return this.nonLockedColumns;
|
|
924
|
+
},
|
|
925
|
+
enumerable: true,
|
|
926
|
+
configurable: true
|
|
927
|
+
});
|
|
928
|
+
Object.defineProperty(TreeListComponent.prototype, "headerLeafColumns", {
|
|
929
|
+
get: function () {
|
|
930
|
+
if (this.virtualColumns && !this.pdfService.exporting) {
|
|
931
|
+
return this.leafViewportColumns;
|
|
932
|
+
}
|
|
933
|
+
return this.nonLockedLeafColumns;
|
|
934
|
+
},
|
|
935
|
+
enumerable: true,
|
|
936
|
+
configurable: true
|
|
937
|
+
});
|
|
938
|
+
Object.defineProperty(TreeListComponent.prototype, "lockedWidth", {
|
|
939
|
+
get: function () {
|
|
940
|
+
return expandColumns(this.lockedLeafColumns.toArray()).reduce(function (prev, curr) { return prev + (curr.width || 0); }, 0);
|
|
941
|
+
},
|
|
942
|
+
enumerable: true,
|
|
943
|
+
configurable: true
|
|
944
|
+
});
|
|
945
|
+
Object.defineProperty(TreeListComponent.prototype, "nonLockedWidth", {
|
|
946
|
+
get: function () {
|
|
947
|
+
if ((!this.rtl && this.lockedLeafColumns.length) || this.virtualColumns) {
|
|
948
|
+
return !this.virtualColumns ? this.columnsContainer.unlockedWidth :
|
|
949
|
+
this.leafViewportColumns.reduce(function (acc, column) { return acc + (column.width || 0); }, 0);
|
|
950
|
+
}
|
|
951
|
+
return undefined;
|
|
952
|
+
},
|
|
953
|
+
enumerable: true,
|
|
954
|
+
configurable: true
|
|
955
|
+
});
|
|
956
|
+
Object.defineProperty(TreeListComponent.prototype, "columnMenuTemplate", {
|
|
957
|
+
get: function () {
|
|
958
|
+
var template = this.columnMenuTemplates.first;
|
|
959
|
+
return template ? template.templateRef : null;
|
|
960
|
+
},
|
|
961
|
+
enumerable: true,
|
|
962
|
+
configurable: true
|
|
963
|
+
});
|
|
964
|
+
Object.defineProperty(TreeListComponent.prototype, "totalCount", {
|
|
965
|
+
get: function () {
|
|
966
|
+
return this.view.totalRows;
|
|
967
|
+
},
|
|
968
|
+
enumerable: true,
|
|
969
|
+
configurable: true
|
|
970
|
+
});
|
|
971
|
+
Object.defineProperty(TreeListComponent.prototype, "fetchChildren", {
|
|
972
|
+
get: function () {
|
|
973
|
+
return this._fetchChildren;
|
|
974
|
+
},
|
|
975
|
+
/**
|
|
976
|
+
* Gets or sets the callback function that retrieves the child nodes for a particular node.
|
|
977
|
+
*/
|
|
978
|
+
set: function (value) {
|
|
979
|
+
this._fetchChildren = value;
|
|
980
|
+
},
|
|
981
|
+
enumerable: true,
|
|
982
|
+
configurable: true
|
|
983
|
+
});
|
|
984
|
+
Object.defineProperty(TreeListComponent.prototype, "hasChildren", {
|
|
985
|
+
get: function () {
|
|
986
|
+
return this._hasChildren;
|
|
987
|
+
},
|
|
988
|
+
/**
|
|
989
|
+
* Gets or sets the callback function that indicates if a particular node has child nodes.
|
|
990
|
+
*/
|
|
991
|
+
set: function (value) {
|
|
992
|
+
this._hasChildren = value;
|
|
993
|
+
},
|
|
994
|
+
enumerable: true,
|
|
995
|
+
configurable: true
|
|
996
|
+
});
|
|
997
|
+
Object.defineProperty(TreeListComponent.prototype, "isExpanded", {
|
|
998
|
+
/**
|
|
999
|
+
* Sets the callback function that indicates if a particular item is expanded.
|
|
1000
|
+
*/
|
|
1001
|
+
set: function (value) {
|
|
1002
|
+
this.expandStateService.isExpanded = value || defaultExpanded;
|
|
1003
|
+
this.expandIcons = Boolean(value);
|
|
1004
|
+
},
|
|
1005
|
+
enumerable: true,
|
|
1006
|
+
configurable: true
|
|
1007
|
+
});
|
|
1008
|
+
/**
|
|
1009
|
+
* @hidden
|
|
1010
|
+
*/
|
|
1011
|
+
TreeListComponent.prototype.viewFieldAccessor = function () {
|
|
1012
|
+
return {
|
|
1013
|
+
fetchChildren: this.fetchChildren,
|
|
1014
|
+
hasChildren: this.hasChildren,
|
|
1015
|
+
idGetter: this.idGetter,
|
|
1016
|
+
skip: this.skip,
|
|
1017
|
+
pageSize: this.pageSize,
|
|
1018
|
+
pageable: this.pageable,
|
|
1019
|
+
isVirtual: this.isVirtual,
|
|
1020
|
+
data: this.loadedData,
|
|
1021
|
+
hasFooter: this.columnsContainer.hasFooter
|
|
1022
|
+
};
|
|
1023
|
+
};
|
|
1024
|
+
/**
|
|
1025
|
+
* @hidden
|
|
1026
|
+
*/
|
|
1027
|
+
TreeListComponent.prototype.onDataChange = function () {
|
|
1028
|
+
this.autoGenerateColumns();
|
|
1029
|
+
this.changeNotification.notify();
|
|
1030
|
+
this.pdfService.dataChanged.emit();
|
|
1031
|
+
this.updateNavigationMetadata();
|
|
1032
|
+
};
|
|
1033
|
+
TreeListComponent.prototype.ngOnChanges = function (changes) {
|
|
1034
|
+
var _this = this;
|
|
1035
|
+
if (this.lockedLeafColumns.length && anyChanged(["pageSize", "skip", "sort"], changes)) {
|
|
1036
|
+
this.changeNotification.notify();
|
|
1037
|
+
}
|
|
1038
|
+
if (anyChanged(["pageSize", "scrollable", 'virtualColumns'], changes)) {
|
|
1039
|
+
this.updateNavigationMetadata();
|
|
1040
|
+
}
|
|
1041
|
+
if (isChanged("virtualColumns", changes)) {
|
|
1042
|
+
this.viewportColumns = this.leafViewportColumns = null;
|
|
1043
|
+
}
|
|
1044
|
+
if (isChanged("height", changes, false)) {
|
|
1045
|
+
this.renderer.setStyle(this.wrapper.nativeElement, 'height', this.height + "px");
|
|
1046
|
+
}
|
|
1047
|
+
if (isChanged("filterable", changes) && this.lockedColumns.length) {
|
|
1048
|
+
this.syncHeaderHeight(this.ngZone.onStable.asObservable().pipe(take(1)));
|
|
1049
|
+
}
|
|
1050
|
+
if (anyChanged(["columnMenu", "sortable", "filterable"], changes, false)) {
|
|
1051
|
+
this.columnMenuOptions = this.columnMenu && Object.assign({
|
|
1052
|
+
filter: Boolean(this.filterable),
|
|
1053
|
+
sort: Boolean(this.sortable)
|
|
1054
|
+
}, this.columnMenu); // tslint:disable-line:align
|
|
1055
|
+
}
|
|
1056
|
+
if (isChanged("scrollable", changes) && this.isScrollable) {
|
|
1057
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(function () { return _this.attachScrollSync(); });
|
|
1058
|
+
}
|
|
1059
|
+
};
|
|
1060
|
+
TreeListComponent.prototype.ngAfterViewInit = function () {
|
|
1061
|
+
this.attachScrollSync();
|
|
1062
|
+
this.attachElementEventHandlers();
|
|
1063
|
+
this.updateNavigationMetadata();
|
|
1064
|
+
this.applyAutoSize();
|
|
1065
|
+
};
|
|
1066
|
+
TreeListComponent.prototype.ngAfterContentChecked = function () {
|
|
1067
|
+
if (this.dataChanged) {
|
|
1068
|
+
this.dataChanged = false;
|
|
1069
|
+
this.onDataChange();
|
|
1070
|
+
}
|
|
1071
|
+
this.columnsContainer.refresh();
|
|
1072
|
+
this.verifySettings();
|
|
1073
|
+
};
|
|
1074
|
+
TreeListComponent.prototype.ngAfterContentInit = function () {
|
|
1075
|
+
var _this = this;
|
|
1076
|
+
// initially passed columns though the input prop are overwritten by ContentChildren-queried ones
|
|
1077
|
+
if (isPresent(this.columnsRef)) {
|
|
1078
|
+
this.loadColumns(this.columnsRef);
|
|
1079
|
+
}
|
|
1080
|
+
this.shouldGenerateColumns = !this.columns.length;
|
|
1081
|
+
this.autoGenerateColumns();
|
|
1082
|
+
this.columnList = new ColumnList(this.columns);
|
|
1083
|
+
// is this needed? after content checked already does this
|
|
1084
|
+
this.subscriptions.add(this.columns.changes.subscribe(function () {
|
|
1085
|
+
_this.verifySettings();
|
|
1086
|
+
_this.optionChanges.columnChanged();
|
|
1087
|
+
}));
|
|
1088
|
+
};
|
|
1089
|
+
TreeListComponent.prototype.ngOnInit = function () {
|
|
1090
|
+
if (this.navigable) {
|
|
1091
|
+
this.navigationService.init(this.navigationMetadata());
|
|
1092
|
+
}
|
|
1093
|
+
};
|
|
1094
|
+
TreeListComponent.prototype.ngOnDestroy = function () {
|
|
1095
|
+
this.subscriptions.unsubscribe();
|
|
1096
|
+
if (this.detachElementEventHandlers) {
|
|
1097
|
+
this.detachElementEventHandlers();
|
|
1098
|
+
}
|
|
1099
|
+
if (this.focusElementSubscription) {
|
|
1100
|
+
this.focusElementSubscription.unsubscribe();
|
|
1101
|
+
}
|
|
1102
|
+
this.unsubscribeDataLoaded();
|
|
1103
|
+
this.ngZone = null;
|
|
1104
|
+
clearTimeout(this.pageChangeTimeout);
|
|
1105
|
+
};
|
|
1106
|
+
/**
|
|
1107
|
+
* @hidden
|
|
1108
|
+
*/
|
|
1109
|
+
TreeListComponent.prototype.attachScrollSync = function () {
|
|
1110
|
+
var _this = this;
|
|
1111
|
+
if (isUniversal()) {
|
|
1112
|
+
return;
|
|
1113
|
+
}
|
|
1114
|
+
if (this.header) {
|
|
1115
|
+
this.scrollSyncService.registerEmitter(this.header.nativeElement, "header");
|
|
1116
|
+
}
|
|
1117
|
+
if (this.footer) {
|
|
1118
|
+
this.subscriptions.add(observe(this.footer)
|
|
1119
|
+
.subscribe(function (footers) {
|
|
1120
|
+
return footers
|
|
1121
|
+
.map(function (footer) { return footer.nativeElement; })
|
|
1122
|
+
.filter(isPresent)
|
|
1123
|
+
.forEach(function (element) {
|
|
1124
|
+
return _this.scrollSyncService.registerEmitter(element, "footer");
|
|
1125
|
+
});
|
|
1126
|
+
}));
|
|
1127
|
+
}
|
|
1128
|
+
};
|
|
1129
|
+
/**
|
|
1130
|
+
* Switches the specified table row in the edit mode ([see example]({% slug editing_template_forms_treelist %}#toc-editing-records)).
|
|
1131
|
+
*
|
|
1132
|
+
* @param index - The row index that will be switched in the edit mode.
|
|
1133
|
+
* @param group - The [`FormGroup`]({{ site.data.urls.angular['formgroupapi'] }})
|
|
1134
|
+
* that describes the edit form.
|
|
1135
|
+
* @param options - Additional options. Use skipFocus to determine if the row's edit element should be focused. Defaults to `false`.
|
|
1136
|
+
*/
|
|
1137
|
+
TreeListComponent.prototype.editRow = function (item, group, options) {
|
|
1138
|
+
var _this = this;
|
|
1139
|
+
this.editService.editRow(item, group);
|
|
1140
|
+
this.view.updateEditedState();
|
|
1141
|
+
this.changeDetectorRef.markForCheck();
|
|
1142
|
+
if (options && options.skipFocus) {
|
|
1143
|
+
return;
|
|
1144
|
+
}
|
|
1145
|
+
this.focusEditElement(function () {
|
|
1146
|
+
return "tr[data-treelist-view-index=\"" + _this.view.itemIndex(item) + "\"]";
|
|
1147
|
+
});
|
|
1148
|
+
};
|
|
1149
|
+
/**
|
|
1150
|
+
* Closes the editor for a given row ([see example]({% slug editing_template_forms_treelist %}#toc-cancelling-editing)).
|
|
1151
|
+
*
|
|
1152
|
+
* @param {number} index - The row index that will be switched out of the edit mode. If no index is provided, it is assumed
|
|
1153
|
+
* that the new item editor will be closed.
|
|
1154
|
+
*/
|
|
1155
|
+
TreeListComponent.prototype.closeRow = function (item, isNew) {
|
|
1156
|
+
this.editService.close(item, isNew);
|
|
1157
|
+
this.changeDetectorRef.markForCheck();
|
|
1158
|
+
if (isNew) {
|
|
1159
|
+
this.view.clear();
|
|
1160
|
+
}
|
|
1161
|
+
else {
|
|
1162
|
+
this.view.updateEditedState();
|
|
1163
|
+
}
|
|
1164
|
+
};
|
|
1165
|
+
/**
|
|
1166
|
+
* Creates a new row editor ([see example]({% slug editing_template_forms_treelist %}#toc-adding-records)).
|
|
1167
|
+
*
|
|
1168
|
+
* @param {FormGroup} group - The [`FormGroup`]({{ site.data.urls.angular['formgroupapi'] }}) that describes
|
|
1169
|
+
* the edit form. If called with a data item, it will build the `FormGroup` from the data item fields.
|
|
1170
|
+
*/
|
|
1171
|
+
TreeListComponent.prototype.addRow = function (group, parent) {
|
|
1172
|
+
var _this = this;
|
|
1173
|
+
var isFormGroup = group instanceof FormGroup;
|
|
1174
|
+
if (!isFormGroup) {
|
|
1175
|
+
var fields = Object.keys(group).reduce(createControl(group), {}); // FormBuilder?
|
|
1176
|
+
group = new FormGroup(fields);
|
|
1177
|
+
}
|
|
1178
|
+
if (this.isVirtual && !parent && this.skip) {
|
|
1179
|
+
var firstVisible = this.navigationService.viewport.firstItemIndex;
|
|
1180
|
+
if (firstVisible !== this.skip) {
|
|
1181
|
+
this.skip = firstVisible;
|
|
1182
|
+
this.pageChange.emit({
|
|
1183
|
+
skip: this.skip,
|
|
1184
|
+
take: this.pageSize
|
|
1185
|
+
});
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
this.editService.addRow(parent, group);
|
|
1189
|
+
this.changeDetectorRef.markForCheck();
|
|
1190
|
+
this.view.clear();
|
|
1191
|
+
this.focusEditElement(function () {
|
|
1192
|
+
return parent ? "tr[data-treelist-view-index=\"" + (_this.view.itemIndex(parent) + 1) + "\"]" : '.k-grid-add-row';
|
|
1193
|
+
});
|
|
1194
|
+
};
|
|
1195
|
+
/**
|
|
1196
|
+
* Puts the cell that is specified by the table row and column in edit mode.
|
|
1197
|
+
*
|
|
1198
|
+
* @param {number} rowIndex - The data row index that will be switched in the edit mode.
|
|
1199
|
+
* @param {number|string|any} column - The leaf column index, or the field name or the column instance that should be edited.
|
|
1200
|
+
* @param {FormGroup} group - The [`FormGroup`]({{ site.data.urls.angular['formgroupapi'] }})
|
|
1201
|
+
* that describes the edit form.
|
|
1202
|
+
*/
|
|
1203
|
+
TreeListComponent.prototype.editCell = function (dataItem, column, group) {
|
|
1204
|
+
var instance = this.columnInstance(column);
|
|
1205
|
+
this.editService.editCell(dataItem, instance, group);
|
|
1206
|
+
this.changeDetectorRef.markForCheck();
|
|
1207
|
+
this.view.updateEditedState();
|
|
1208
|
+
this.focusEditElement(function () { return '.k-grid-edit-cell'; });
|
|
1209
|
+
};
|
|
1210
|
+
/**
|
|
1211
|
+
* Closes the current cell in edit mode and fires
|
|
1212
|
+
* the [`cellClose`]({% slug api_treelist_treelistcomponent %}#toc-cellclose) event.
|
|
1213
|
+
*
|
|
1214
|
+
* @return {boolean} Indicates whether the edited cell was closed.
|
|
1215
|
+
* A `false` value indicates that the
|
|
1216
|
+
* [`cellClose`]({% slug api_treelist_treelistcomponent %}#toc-cellclose) event was prevented.
|
|
1217
|
+
*/
|
|
1218
|
+
TreeListComponent.prototype.closeCell = function () {
|
|
1219
|
+
return !this.editService.closeCell();
|
|
1220
|
+
};
|
|
1221
|
+
/**
|
|
1222
|
+
* Closes the current cell in edit mode.
|
|
1223
|
+
*/
|
|
1224
|
+
TreeListComponent.prototype.cancelCell = function () {
|
|
1225
|
+
this.editService.cancelCell();
|
|
1226
|
+
this.view.updateEditedState();
|
|
1227
|
+
};
|
|
1228
|
+
/**
|
|
1229
|
+
* Returns a flag which indicates if a row or a cell is currently edited.
|
|
1230
|
+
*
|
|
1231
|
+
* @return {boolean} A flag which indicates if a row or a cell is currently edited.
|
|
1232
|
+
*/
|
|
1233
|
+
TreeListComponent.prototype.isEditing = function () {
|
|
1234
|
+
return this.editService.isEditing();
|
|
1235
|
+
};
|
|
1236
|
+
/**
|
|
1237
|
+
* Returns a flag which indicates if a cell is currently edited.
|
|
1238
|
+
*
|
|
1239
|
+
* @return {boolean} A flag which indicates if a cell is currently being edited.
|
|
1240
|
+
*/
|
|
1241
|
+
TreeListComponent.prototype.isEditingCell = function () {
|
|
1242
|
+
return this.editService.isEditing() && this.editService.isEditingCell();
|
|
1243
|
+
};
|
|
1244
|
+
/**
|
|
1245
|
+
* Initiates the PDF export ([see example]({% slug pdfexport_treelist %})).
|
|
1246
|
+
*/
|
|
1247
|
+
TreeListComponent.prototype.saveAsPDF = function () {
|
|
1248
|
+
this.pdfService.save(this);
|
|
1249
|
+
};
|
|
1250
|
+
/**
|
|
1251
|
+
* Exports the TreeList element to a Drawing [`Group`]({% slug api_kendo-drawing_group %}) by using the `kendo-treelist-pdf` component options.
|
|
1252
|
+
* ([see example]({% slug pdfexport_treelist %}#toc-exporting-multiple-treelists-to-the-same-pdf)).
|
|
1253
|
+
*
|
|
1254
|
+
* @return {Promise} - A promise that will be resolved with the Drawing `Group`.
|
|
1255
|
+
*/
|
|
1256
|
+
TreeListComponent.prototype.drawPDF = function () {
|
|
1257
|
+
var promise = createPromise();
|
|
1258
|
+
this.pdfService.draw(this, promise);
|
|
1259
|
+
return promise;
|
|
1260
|
+
};
|
|
1261
|
+
/**
|
|
1262
|
+
* Initiates the Excel export ([see example]({% slug excelexport_treelist %})).
|
|
1263
|
+
*/
|
|
1264
|
+
TreeListComponent.prototype.saveAsExcel = function () {
|
|
1265
|
+
this.excelService.save(this);
|
|
1266
|
+
};
|
|
1267
|
+
/**
|
|
1268
|
+
* Applies the minimum possible width for the specified column,
|
|
1269
|
+
* so that the whole text fits without wrapping. This method expects the TreeList
|
|
1270
|
+
* to be resizable (set `resizable` to `true`).
|
|
1271
|
+
* Makes sense to execute this method only
|
|
1272
|
+
* after the TreeList is already populated with data.
|
|
1273
|
+
*
|
|
1274
|
+
* @example
|
|
1275
|
+
* ```ts
|
|
1276
|
+
* _@Component({
|
|
1277
|
+
* selector: 'my-app',
|
|
1278
|
+
* template: `
|
|
1279
|
+
* <kendo-treelist
|
|
1280
|
+
* #treelist
|
|
1281
|
+
* [data]="treelistData"
|
|
1282
|
+
* [resizable]="true"
|
|
1283
|
+
* style="height: 300px">
|
|
1284
|
+
* <ng-template kendoTreeListToolbarTemplate>
|
|
1285
|
+
* <button class="k-button" (click)="treelist.autoFitColumn(groupColumn)">
|
|
1286
|
+
* Auto-fit the group column
|
|
1287
|
+
* </button>
|
|
1288
|
+
* </ng-template>
|
|
1289
|
+
* <kendo-treelist-column-group #groupColumn title="Product Info">
|
|
1290
|
+
* <kendo-treelist-column
|
|
1291
|
+
* field="ProductID"
|
|
1292
|
+
* [width]="50"
|
|
1293
|
+
* [minResizableWidth]="30"
|
|
1294
|
+
* title="ID">
|
|
1295
|
+
* </kendo-treelist-column>
|
|
1296
|
+
*
|
|
1297
|
+
* <kendo-treelist-column
|
|
1298
|
+
* field="ProductName"
|
|
1299
|
+
* title="Product Name">
|
|
1300
|
+
* </kendo-treelist-column>
|
|
1301
|
+
* </kendo-treelist-column-group>
|
|
1302
|
+
*
|
|
1303
|
+
* <kendo-treelist-column
|
|
1304
|
+
* field="UnitPrice"
|
|
1305
|
+
* title="Unit Price"
|
|
1306
|
+
* [width]="180"
|
|
1307
|
+
* filter="numeric"
|
|
1308
|
+
* format="{0:c}">
|
|
1309
|
+
* </kendo-treelist-column>
|
|
1310
|
+
* </kendo-treelist>
|
|
1311
|
+
* `
|
|
1312
|
+
* })
|
|
1313
|
+
* class AppComponent {
|
|
1314
|
+
* public treelistData: any[] = products;
|
|
1315
|
+
* }
|
|
1316
|
+
*
|
|
1317
|
+
* const products = [{
|
|
1318
|
+
* "ProductID": 1,
|
|
1319
|
+
* "ProductName": "Chai",
|
|
1320
|
+
* "UnitPrice": 18.0000,
|
|
1321
|
+
* "Discontinued": true
|
|
1322
|
+
* }, {
|
|
1323
|
+
* "ProductID": 2,
|
|
1324
|
+
* "ProductName": "Chang",
|
|
1325
|
+
* "UnitPrice": 19.0000,
|
|
1326
|
+
* "Discontinued": false
|
|
1327
|
+
* }
|
|
1328
|
+
* ];
|
|
1329
|
+
* ```
|
|
1330
|
+
*/
|
|
1331
|
+
TreeListComponent.prototype.autoFitColumn = function (column) {
|
|
1332
|
+
this.columnResizingService.autoFit(column);
|
|
1333
|
+
};
|
|
1334
|
+
/**
|
|
1335
|
+
* Adjusts the width of the specified columns to fit the entire content, including headers, without wrapping.
|
|
1336
|
+
* If no columns are specified, `autoFitColumns` is applied to all columns.
|
|
1337
|
+
*
|
|
1338
|
+
* This method requires the TreeList to be resizable (set `resizable` to `true`).
|
|
1339
|
+
*
|
|
1340
|
+
* @example
|
|
1341
|
+
* ```ts
|
|
1342
|
+
* _@Component({
|
|
1343
|
+
* selector: 'my-app',
|
|
1344
|
+
* template: `
|
|
1345
|
+
* <kendo-treelist
|
|
1346
|
+
* #treelist
|
|
1347
|
+
* [data]="treelistData"
|
|
1348
|
+
* [resizable]="true"
|
|
1349
|
+
* style="height: 300px">
|
|
1350
|
+
* <ng-template kendoTreeListToolbarTemplate>
|
|
1351
|
+
* <button class="k-button" (click)="treelist.autoFitColumns([firstColumn, lastColumn])">
|
|
1352
|
+
* Auto-fit the first and last column
|
|
1353
|
+
* </button>
|
|
1354
|
+
* <button class="k-button" (click)="treelist.autoFitColumns()">
|
|
1355
|
+
* Auto-fit all columns
|
|
1356
|
+
* </button>
|
|
1357
|
+
* </ng-template>
|
|
1358
|
+
* <kendo-treelist-column-group title="Product Info">
|
|
1359
|
+
* <kendo-treelist-column
|
|
1360
|
+
* #firstColumn
|
|
1361
|
+
* field="ProductID"
|
|
1362
|
+
* [width]="50"
|
|
1363
|
+
* [minResizableWidth]="30"
|
|
1364
|
+
* title="ID">
|
|
1365
|
+
* </kendo-treelist-column>
|
|
1366
|
+
*
|
|
1367
|
+
* <kendo-treelist-column
|
|
1368
|
+
* field="ProductName"
|
|
1369
|
+
* title="Product Name"
|
|
1370
|
+
* >
|
|
1371
|
+
* </kendo-treelist-column>
|
|
1372
|
+
* </kendo-treelist-column-group>
|
|
1373
|
+
*
|
|
1374
|
+
* <kendo-treelist-column
|
|
1375
|
+
* #lastColumn
|
|
1376
|
+
* field="UnitPrice"
|
|
1377
|
+
* title="Unit Price"
|
|
1378
|
+
* [width]="180"
|
|
1379
|
+
* filter="numeric"
|
|
1380
|
+
* format="{0:c}">
|
|
1381
|
+
* </kendo-treelist-column>
|
|
1382
|
+
* </kendo-treelist>
|
|
1383
|
+
* `
|
|
1384
|
+
* })
|
|
1385
|
+
* class AppComponent {
|
|
1386
|
+
* public treelistData: any[] = products;
|
|
1387
|
+
* }
|
|
1388
|
+
*
|
|
1389
|
+
* const products = [{
|
|
1390
|
+
* "ProductID": 1,
|
|
1391
|
+
* "ProductName": "Chai",
|
|
1392
|
+
* "UnitPrice": 18.0000,
|
|
1393
|
+
* "Discontinued": true
|
|
1394
|
+
* }, {
|
|
1395
|
+
* "ProductID": 2,
|
|
1396
|
+
* "ProductName": "Chang",
|
|
1397
|
+
* "UnitPrice": 19.0000,
|
|
1398
|
+
* "Discontinued": false
|
|
1399
|
+
* }
|
|
1400
|
+
* ];
|
|
1401
|
+
* ```
|
|
1402
|
+
*/
|
|
1403
|
+
TreeListComponent.prototype.autoFitColumns = function (columns) {
|
|
1404
|
+
var _a;
|
|
1405
|
+
if (columns === void 0) { columns = this.columns; }
|
|
1406
|
+
var cols;
|
|
1407
|
+
if (columns instanceof QueryList) {
|
|
1408
|
+
cols = columns.toArray();
|
|
1409
|
+
}
|
|
1410
|
+
else {
|
|
1411
|
+
cols = columns;
|
|
1412
|
+
}
|
|
1413
|
+
(_a = this.columnResizingService).autoFit.apply(_a, cols);
|
|
1414
|
+
};
|
|
1415
|
+
/**
|
|
1416
|
+
* @hidden
|
|
1417
|
+
*/
|
|
1418
|
+
TreeListComponent.prototype.notifyPageChange = function (source, event) {
|
|
1419
|
+
if (source === "list" && !this.isVirtual) {
|
|
1420
|
+
return;
|
|
1421
|
+
}
|
|
1422
|
+
this.skip = event.skip;
|
|
1423
|
+
this.pageSize = event.take;
|
|
1424
|
+
this.closeCell();
|
|
1425
|
+
this.cancelCell();
|
|
1426
|
+
this.changeDetectorRef.markForCheck();
|
|
1427
|
+
this.pageChange.emit(event);
|
|
1428
|
+
};
|
|
1429
|
+
/**
|
|
1430
|
+
* @hidden
|
|
1431
|
+
*/
|
|
1432
|
+
TreeListComponent.prototype.notifyScrollBottom = function () {
|
|
1433
|
+
var _this = this;
|
|
1434
|
+
if (this.scrollable === 'none') {
|
|
1435
|
+
return;
|
|
1436
|
+
}
|
|
1437
|
+
if (hasObservers(this.scrollBottom)) {
|
|
1438
|
+
this.ngZone.run(function () { return _this.scrollBottom.emit({ sender: _this }); });
|
|
1439
|
+
}
|
|
1440
|
+
};
|
|
1441
|
+
/**
|
|
1442
|
+
* @hidden
|
|
1443
|
+
*/
|
|
1444
|
+
TreeListComponent.prototype.focusEditElement = function (containerSelector) {
|
|
1445
|
+
var _this = this;
|
|
1446
|
+
if (this.focusElementSubscription) {
|
|
1447
|
+
this.focusElementSubscription.unsubscribe();
|
|
1448
|
+
}
|
|
1449
|
+
this.ngZone.runOutsideAngular(function () {
|
|
1450
|
+
_this.focusElementSubscription = _this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(function () {
|
|
1451
|
+
var wrapper = _this.wrapper.nativeElement;
|
|
1452
|
+
var selector = containerSelector();
|
|
1453
|
+
if (!_this.setEditFocus(wrapper.querySelector(selector)) && _this.isLocked) {
|
|
1454
|
+
_this.setEditFocus(wrapper.querySelector(".k-grid-content " + selector));
|
|
1455
|
+
}
|
|
1456
|
+
_this.focusElementSubscription = null;
|
|
1457
|
+
});
|
|
1458
|
+
});
|
|
1459
|
+
};
|
|
1460
|
+
/**
|
|
1461
|
+
* Focuses the last active or the first cell of the TreeList.
|
|
1462
|
+
*
|
|
1463
|
+
* @returns {NavigationCell} The focused cell.
|
|
1464
|
+
*/
|
|
1465
|
+
TreeListComponent.prototype.focus = function () {
|
|
1466
|
+
this.assertNavigable();
|
|
1467
|
+
return this.navigationService.focusCell();
|
|
1468
|
+
};
|
|
1469
|
+
/**
|
|
1470
|
+
* Focuses the cell with the specified row and column index.
|
|
1471
|
+
*
|
|
1472
|
+
* The row index is based on the logical structure of the TreeList and does not correspond to the data item index:
|
|
1473
|
+
* * Header rows are included, starting at index 0.
|
|
1474
|
+
* * The row indexing is absolute and does not change with paging.
|
|
1475
|
+
*
|
|
1476
|
+
* If the TreeList is configured for scrolling, including virtual scrolling, the scroll position will be updated.
|
|
1477
|
+
* If the row is not present on the current page, the method will have no effect.
|
|
1478
|
+
*
|
|
1479
|
+
* @param rowIndex - The logical row index to focus. The top header row has an index 0.
|
|
1480
|
+
* @param colIndex - The column index to focus.
|
|
1481
|
+
* @returns {NavigationCell} The focused cell.
|
|
1482
|
+
*
|
|
1483
|
+
*/
|
|
1484
|
+
TreeListComponent.prototype.focusCell = function (rowIndex, colIndex) {
|
|
1485
|
+
this.assertNavigable();
|
|
1486
|
+
return this.navigationService.focusCell(rowIndex, colIndex);
|
|
1487
|
+
};
|
|
1488
|
+
/**
|
|
1489
|
+
* Focuses the next cell, optionally wrapping to the next row.
|
|
1490
|
+
*
|
|
1491
|
+
* @param wrap - A Boolean value which indicates if the focus will move to the next row. Defaults to `true`.
|
|
1492
|
+
* @returns {NavigationCell} The focused cell. If the focus is already on the last cell, returns `null`.
|
|
1493
|
+
*/
|
|
1494
|
+
TreeListComponent.prototype.focusNextCell = function (wrap) {
|
|
1495
|
+
if (wrap === void 0) { wrap = true; }
|
|
1496
|
+
this.assertNavigable();
|
|
1497
|
+
return this.navigationService.focusNextCell(wrap);
|
|
1498
|
+
};
|
|
1499
|
+
/**
|
|
1500
|
+
* Focuses the previous cell. Optionally wraps to the previous row.
|
|
1501
|
+
*
|
|
1502
|
+
* @param wrap - A Boolean value which indicates if the focus will move to the next row. Defaults to `true`.
|
|
1503
|
+
* @returns {NavigationCell} The focused cell. If the focus is already on the first cell, returns `null`.
|
|
1504
|
+
*/
|
|
1505
|
+
TreeListComponent.prototype.focusPrevCell = function (wrap) {
|
|
1506
|
+
if (wrap === void 0) { wrap = true; }
|
|
1507
|
+
this.assertNavigable();
|
|
1508
|
+
return this.navigationService.focusPrevCell(wrap);
|
|
1509
|
+
};
|
|
1510
|
+
/**
|
|
1511
|
+
* Scrolls to the specified row and column
|
|
1512
|
+
*/
|
|
1513
|
+
TreeListComponent.prototype.scrollTo = function (request) {
|
|
1514
|
+
this.scrollRequestService.scrollTo(request);
|
|
1515
|
+
};
|
|
1516
|
+
/**
|
|
1517
|
+
* Changes the position of the specified column.
|
|
1518
|
+
* The reordering of columns operates only on the level
|
|
1519
|
+
* which is inferred by the source column.
|
|
1520
|
+
* For the `reorderColumn` method to work properly,
|
|
1521
|
+
* the `source` column has to be visible.
|
|
1522
|
+
*
|
|
1523
|
+
* @param {ColumnBase} source - The column whose position will be changed.
|
|
1524
|
+
* @param {number} destIndex - The new position of the column.
|
|
1525
|
+
* @param {ColumnReorderConfig} options - Additional options.
|
|
1526
|
+
*
|
|
1527
|
+
* @example
|
|
1528
|
+
* ```ts
|
|
1529
|
+
* _@Component({
|
|
1530
|
+
* selector: 'my-app',
|
|
1531
|
+
* template: `
|
|
1532
|
+
* <kendo-treelist
|
|
1533
|
+
* #treelist
|
|
1534
|
+
* [data]="treelistData"
|
|
1535
|
+
* [reorderable]="true"
|
|
1536
|
+
* style="height: 300px">
|
|
1537
|
+
* <ng-template kendoTreeListToolbarTemplate>
|
|
1538
|
+
* <button class="k-button"
|
|
1539
|
+
* (click)="treelist.reorderColumn(groupColumn, 2, { before: true })">
|
|
1540
|
+
* Move the group column before the last one.
|
|
1541
|
+
* </button>
|
|
1542
|
+
* </ng-template>
|
|
1543
|
+
* <kendo-treelist-column-group #groupColumn title="Product Info">
|
|
1544
|
+
* <kendo-treelist-column
|
|
1545
|
+
* field="ProductID"
|
|
1546
|
+
* [width]="50"
|
|
1547
|
+
* title="ID">
|
|
1548
|
+
* </kendo-treelist-column>
|
|
1549
|
+
*
|
|
1550
|
+
* <kendo-treelist-column
|
|
1551
|
+
* field="ProductName"
|
|
1552
|
+
* title="Product Name">
|
|
1553
|
+
* </kendo-treelist-column>
|
|
1554
|
+
* </kendo-treelist-column-group>
|
|
1555
|
+
*
|
|
1556
|
+
* <kendo-treelist-column
|
|
1557
|
+
* field="UnitPrice"
|
|
1558
|
+
* title="Unit Price"
|
|
1559
|
+
* [width]="180"
|
|
1560
|
+
* format="{0:c}">
|
|
1561
|
+
* </kendo-treelist-column>
|
|
1562
|
+
*
|
|
1563
|
+
* <kendo-treelist-column
|
|
1564
|
+
* field="Discontinued"
|
|
1565
|
+
* title="Discontinued"
|
|
1566
|
+
* [width]="100">
|
|
1567
|
+
* </kendo-treelist-column>
|
|
1568
|
+
* </kendo-treelist>
|
|
1569
|
+
* `
|
|
1570
|
+
* })
|
|
1571
|
+
* class AppComponent {
|
|
1572
|
+
* public treelistData: any[] = products;
|
|
1573
|
+
* }
|
|
1574
|
+
*
|
|
1575
|
+
* const products = [{
|
|
1576
|
+
* "ProductID": 1,
|
|
1577
|
+
* "ProductName": "Chai",
|
|
1578
|
+
* "UnitPrice": 18.0000,
|
|
1579
|
+
* "Discontinued": true
|
|
1580
|
+
* }, {
|
|
1581
|
+
* "ProductID": 2,
|
|
1582
|
+
* "ProductName": "Chang",
|
|
1583
|
+
* "UnitPrice": 19.0000,
|
|
1584
|
+
* "Discontinued": false
|
|
1585
|
+
* }
|
|
1586
|
+
* ];
|
|
1587
|
+
* ```
|
|
1588
|
+
*/
|
|
1589
|
+
TreeListComponent.prototype.reorderColumn = function (source, destIndex, options) {
|
|
1590
|
+
if (options === void 0) { options = { before: false }; }
|
|
1591
|
+
var columnsForLevel = this.columnsForLevel(source.level);
|
|
1592
|
+
var target = columnsForLevel[destIndex];
|
|
1593
|
+
if (!target) {
|
|
1594
|
+
return;
|
|
1595
|
+
}
|
|
1596
|
+
var lastNonLocked = target.isLocked &&
|
|
1597
|
+
!source.isLocked &&
|
|
1598
|
+
this.columnsContainer.nonLockedColumns.length === 1;
|
|
1599
|
+
if (lastNonLocked) {
|
|
1600
|
+
return;
|
|
1601
|
+
}
|
|
1602
|
+
if (isSpanColumnComponent(target) && !options.before) {
|
|
1603
|
+
target = target.childColumns.last;
|
|
1604
|
+
}
|
|
1605
|
+
this.reorder({
|
|
1606
|
+
before: options.before,
|
|
1607
|
+
source: source,
|
|
1608
|
+
target: target
|
|
1609
|
+
});
|
|
1610
|
+
};
|
|
1611
|
+
/**
|
|
1612
|
+
* Clears the already loaded children for the dataItem so that the TreeList will fetch them again the next time it is rendered.
|
|
1613
|
+
*/
|
|
1614
|
+
TreeListComponent.prototype.reload = function (dataItem, reloadChildren) {
|
|
1615
|
+
if (dataItem) {
|
|
1616
|
+
this.view.resetItem(dataItem, reloadChildren);
|
|
1617
|
+
this.changeDetectorRef.markForCheck();
|
|
1618
|
+
}
|
|
1619
|
+
};
|
|
1620
|
+
/**
|
|
1621
|
+
* Updates the state of the current view without reloading the data.
|
|
1622
|
+
*
|
|
1623
|
+
* Checks all currently rendered items for changes and
|
|
1624
|
+
* triggers re-evaluation of the the [isExpanded](#toc-isexpanded) and
|
|
1625
|
+
* [isSelected](#toc-isSelected) callbacks.
|
|
1626
|
+
*/
|
|
1627
|
+
TreeListComponent.prototype.updateView = function () {
|
|
1628
|
+
this.view.clear();
|
|
1629
|
+
this.changeDetectorRef.markForCheck();
|
|
1630
|
+
};
|
|
1631
|
+
/**
|
|
1632
|
+
* Expands the row for the specified dataItem.
|
|
1633
|
+
*/
|
|
1634
|
+
TreeListComponent.prototype.expand = function (dataItem) {
|
|
1635
|
+
this.expandStateService.expand(dataItem);
|
|
1636
|
+
this.changeDetectorRef.markForCheck();
|
|
1637
|
+
};
|
|
1638
|
+
/**
|
|
1639
|
+
* Collapses the row for the specified dataItem.
|
|
1640
|
+
*/
|
|
1641
|
+
TreeListComponent.prototype.collapse = function (dataItem) {
|
|
1642
|
+
this.expandStateService.collapse(dataItem);
|
|
1643
|
+
this.changeDetectorRef.markForCheck();
|
|
1644
|
+
};
|
|
1645
|
+
/**
|
|
1646
|
+
* @hidden
|
|
1647
|
+
*/
|
|
1648
|
+
TreeListComponent.prototype.reorder = function (_a) {
|
|
1649
|
+
var _this = this;
|
|
1650
|
+
var target = _a.target, source = _a.source, before = _a.before, changeContainer = _a.changeContainer;
|
|
1651
|
+
this.ngZone.run(function () {
|
|
1652
|
+
var columnsForLevel = _this.columnsForLevel(source.level);
|
|
1653
|
+
var newIndex = columnsForLevel.indexOf(target);
|
|
1654
|
+
if (target.parent && target.parent.isSpanColumn) {
|
|
1655
|
+
newIndex = columnsForLevel.indexOf(target.parent);
|
|
1656
|
+
if (before) {
|
|
1657
|
+
target = target.parent;
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
var oldIndex = columnsForLevel.indexOf(source);
|
|
1661
|
+
if (changeContainer) {
|
|
1662
|
+
if (before && 0 < newIndex && oldIndex < newIndex) { // dropped before the first not locked column
|
|
1663
|
+
newIndex--;
|
|
1664
|
+
}
|
|
1665
|
+
else if (!before && oldIndex > newIndex) { // dropped after the last locked column
|
|
1666
|
+
newIndex++;
|
|
1667
|
+
}
|
|
1668
|
+
}
|
|
1669
|
+
var args = new ColumnReorderEvent({
|
|
1670
|
+
column: source,
|
|
1671
|
+
oldIndex: oldIndex,
|
|
1672
|
+
newIndex: newIndex
|
|
1673
|
+
});
|
|
1674
|
+
_this.columnReorder.emit(args);
|
|
1675
|
+
if (args.isDefaultPrevented()) {
|
|
1676
|
+
return;
|
|
1677
|
+
}
|
|
1678
|
+
if (changeContainer) {
|
|
1679
|
+
_this.columnLockedChange.emit(new ColumnLockedChangeEvent([source]));
|
|
1680
|
+
}
|
|
1681
|
+
_this.updateColumnIndices({ source: source, target: target, before: before });
|
|
1682
|
+
if (source.locked !== target.locked) {
|
|
1683
|
+
source.locked = target.locked;
|
|
1684
|
+
}
|
|
1685
|
+
_this.columnOrderChange.emit(args);
|
|
1686
|
+
//this.columnsContainer.refresh(); why force it here ??
|
|
1687
|
+
_this.changeDetectorRef.markForCheck();
|
|
1688
|
+
});
|
|
1689
|
+
};
|
|
1690
|
+
TreeListComponent.prototype.updateColumnIndices = function (_a) {
|
|
1691
|
+
var source = _a.source, target = _a.target, before = _a.before;
|
|
1692
|
+
var expandedColumns = expandColumnsWithSpan(this.columnsForLevel(source.level));
|
|
1693
|
+
var sourceColumnIndex = expandedColumns.indexOf(source);
|
|
1694
|
+
var nextSourceIndex = 0;
|
|
1695
|
+
var nextIndex = 0;
|
|
1696
|
+
var toSkip = 1;
|
|
1697
|
+
// Possible only when called from the API.
|
|
1698
|
+
if (source.isSpanColumn) {
|
|
1699
|
+
toSkip += source.childColumns.length;
|
|
1700
|
+
}
|
|
1701
|
+
var i = 0;
|
|
1702
|
+
while (i < expandedColumns.length) {
|
|
1703
|
+
var column = expandedColumns[i];
|
|
1704
|
+
if (column === target) {
|
|
1705
|
+
nextSourceIndex = before ? nextIndex : nextIndex + 1;
|
|
1706
|
+
nextIndex = before ? nextIndex + toSkip : nextIndex;
|
|
1707
|
+
column.orderIndex = nextIndex;
|
|
1708
|
+
if (nextSourceIndex === nextIndex + 1) {
|
|
1709
|
+
nextIndex += toSkip;
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1712
|
+
else if (column === source) {
|
|
1713
|
+
i += toSkip;
|
|
1714
|
+
continue;
|
|
1715
|
+
}
|
|
1716
|
+
else {
|
|
1717
|
+
column.orderIndex = nextIndex;
|
|
1718
|
+
}
|
|
1719
|
+
nextIndex++;
|
|
1720
|
+
i++;
|
|
1721
|
+
}
|
|
1722
|
+
for (i = sourceColumnIndex; i < sourceColumnIndex + toSkip; i++) {
|
|
1723
|
+
expandedColumns[i].orderIndex = nextSourceIndex++;
|
|
1724
|
+
}
|
|
1725
|
+
this.updateIndicesForLevel(source.level + 1);
|
|
1726
|
+
};
|
|
1727
|
+
TreeListComponent.prototype.updateIndicesForLevel = function (level) {
|
|
1728
|
+
var colsForParentLevel = this.columnsForLevel(level - 1);
|
|
1729
|
+
var colsForLevel = [];
|
|
1730
|
+
sortColumns(colsForParentLevel).forEach(function (c) {
|
|
1731
|
+
if (c.isColumnGroup) {
|
|
1732
|
+
colsForLevel.push.apply(colsForLevel, c.childrenArray.sort(function (a, b) { return a.orderIndex - b.orderIndex; }));
|
|
1733
|
+
}
|
|
1734
|
+
});
|
|
1735
|
+
expandColumnsWithSpan(colsForLevel).map(function (c, i) { return c.orderIndex = i; });
|
|
1736
|
+
if (level < this.columnsContainer.totalLevels) {
|
|
1737
|
+
this.updateIndicesForLevel(level + 1);
|
|
1738
|
+
}
|
|
1739
|
+
};
|
|
1740
|
+
TreeListComponent.prototype.columnsForLevel = function (level) {
|
|
1741
|
+
return this.columnsContainer
|
|
1742
|
+
.allColumns.filter(function (column) { return column.level === level; });
|
|
1743
|
+
};
|
|
1744
|
+
TreeListComponent.prototype.setEditFocus = function (element) {
|
|
1745
|
+
if (element) {
|
|
1746
|
+
return this.navigationService.tryFocus(element);
|
|
1747
|
+
}
|
|
1748
|
+
};
|
|
1749
|
+
TreeListComponent.prototype.columnInstance = function (column) {
|
|
1750
|
+
var instance;
|
|
1751
|
+
if (typeof column === 'number') {
|
|
1752
|
+
instance = this.columnsContainer.lockedLeafColumns.toArray()
|
|
1753
|
+
.concat(this.columnsContainer.nonLockedLeafColumns.toArray())[column];
|
|
1754
|
+
}
|
|
1755
|
+
else if (typeof column === 'string') {
|
|
1756
|
+
instance = this.columnList.filter(function (item) { return item.field === column; })[0];
|
|
1757
|
+
}
|
|
1758
|
+
else {
|
|
1759
|
+
instance = column;
|
|
1760
|
+
}
|
|
1761
|
+
if (!instance && isDevMode()) {
|
|
1762
|
+
throw new Error("Invalid column " + column);
|
|
1763
|
+
}
|
|
1764
|
+
return instance;
|
|
1765
|
+
};
|
|
1766
|
+
TreeListComponent.prototype.verifySettings = function () {
|
|
1767
|
+
if (isDevMode()) {
|
|
1768
|
+
var locked = this.lockedLeafColumns.length || (this.columnMenu && this.columnMenu.lock);
|
|
1769
|
+
if (this.lockedLeafColumns.length && !this.nonLockedLeafColumns.length) {
|
|
1770
|
+
throw new Error('There should be at least one non-locked column');
|
|
1771
|
+
}
|
|
1772
|
+
if ((locked || this.virtualColumns) && expandColumns(this.columnList.toArray()).filter(function (column) { return !column.width && !isColumnGroupComponent(column); }).length) {
|
|
1773
|
+
throw new Error((locked ? 'Locked' : 'Virtual') + ' columns feature requires all columns to have set width.');
|
|
1774
|
+
}
|
|
1775
|
+
if (locked && !this.isScrollable) {
|
|
1776
|
+
throw new Error('Locked columns are only supported when scrolling is enabled.');
|
|
1777
|
+
}
|
|
1778
|
+
if (this.columnList.filter(isColumnGroupComponent).filter(function (x) { return !x.hasChildren; }).length) {
|
|
1779
|
+
throw new Error('ColumnGroupComponent should contain ColumnComponent or CommandColumnComponent.');
|
|
1780
|
+
}
|
|
1781
|
+
if (this.columnList.filter(function (x) { return x.locked && x.parent && !x.parent.isLocked; }).length) {
|
|
1782
|
+
throw new Error('Locked child columns require their parent columns to be locked.');
|
|
1783
|
+
}
|
|
1784
|
+
if ((this.rowHeight) && !this.isVirtual) {
|
|
1785
|
+
throw new Error('Row height setting requires virtual scrolling mode to be enabled.');
|
|
1786
|
+
}
|
|
1787
|
+
validateColumnsField(this.columnList);
|
|
1788
|
+
}
|
|
1789
|
+
};
|
|
1790
|
+
TreeListComponent.prototype.autoGenerateColumns = function () {
|
|
1791
|
+
if (this.shouldGenerateColumns && !this.columns.length && this.view.length) {
|
|
1792
|
+
var columns = Object.keys(this.view.at(0).data).map(function (field) {
|
|
1793
|
+
var column = new ColumnComponent();
|
|
1794
|
+
column.field = field;
|
|
1795
|
+
return column;
|
|
1796
|
+
});
|
|
1797
|
+
columns[0].expandable = true;
|
|
1798
|
+
this.columns.reset(columns);
|
|
1799
|
+
}
|
|
1800
|
+
};
|
|
1801
|
+
TreeListComponent.prototype.attachStateChangesEmitter = function () {
|
|
1802
|
+
var _this = this;
|
|
1803
|
+
this.subscriptions.add(merge(this.sortChange.pipe(map(function (sort) { return ({ filter: _this.filter, skip: _this.skip, sort: sort, take: _this.pageSize }); })), this.filterChange.pipe(map(function (filter) { return ({
|
|
1804
|
+
filter: filter, skip: 0, sort: _this.sort, take: _this.pageSize
|
|
1805
|
+
}); })))
|
|
1806
|
+
.subscribe(function (x) {
|
|
1807
|
+
_this.closeCell();
|
|
1808
|
+
_this.cancelCell();
|
|
1809
|
+
_this.dataStateChange.emit(x);
|
|
1810
|
+
}));
|
|
1811
|
+
};
|
|
1812
|
+
TreeListComponent.prototype.attachEditHandlers = function () {
|
|
1813
|
+
if (!this.editService) {
|
|
1814
|
+
return;
|
|
1815
|
+
}
|
|
1816
|
+
this.subscriptions.add(this.editService
|
|
1817
|
+
.changes.subscribe(this.emitCRUDEvent.bind(this)));
|
|
1818
|
+
};
|
|
1819
|
+
TreeListComponent.prototype.emitCRUDEvent = function (args) {
|
|
1820
|
+
var action = args.action, formGroup = args.formGroup, dataItem = args.dataItem;
|
|
1821
|
+
if (action !== 'add' && !dataItem) {
|
|
1822
|
+
dataItem = formGroup.value;
|
|
1823
|
+
}
|
|
1824
|
+
this.view.clear();
|
|
1825
|
+
this.changeDetectorRef.markForCheck();
|
|
1826
|
+
this.closeCell();
|
|
1827
|
+
Object.assign(args, {
|
|
1828
|
+
dataItem: dataItem,
|
|
1829
|
+
sender: this
|
|
1830
|
+
});
|
|
1831
|
+
switch (action) {
|
|
1832
|
+
case 'add':
|
|
1833
|
+
this.add.emit(args);
|
|
1834
|
+
break;
|
|
1835
|
+
case 'cancel':
|
|
1836
|
+
this.cancel.emit(args);
|
|
1837
|
+
break;
|
|
1838
|
+
case 'edit':
|
|
1839
|
+
this.edit.emit(args);
|
|
1840
|
+
break;
|
|
1841
|
+
case 'remove':
|
|
1842
|
+
this.remove.emit(args);
|
|
1843
|
+
break;
|
|
1844
|
+
case 'save':
|
|
1845
|
+
this.save.emit(args);
|
|
1846
|
+
break;
|
|
1847
|
+
case 'cellClose':
|
|
1848
|
+
this.cellClose.emit(args);
|
|
1849
|
+
break;
|
|
1850
|
+
default: break;
|
|
1851
|
+
}
|
|
1852
|
+
};
|
|
1853
|
+
TreeListComponent.prototype.attachDomEventHandlers = function () {
|
|
1854
|
+
var _this = this;
|
|
1855
|
+
this.subscriptions.add(this.domEvents.cellClick.subscribe(function (args) {
|
|
1856
|
+
if (hasObservers(_this.cellClick) || _this.selectionService.enabled) {
|
|
1857
|
+
_this.ngZone.run(function () {
|
|
1858
|
+
_this.cellClick.emit(Object.assign({ sender: _this }, args));
|
|
1859
|
+
_this.selectionService.click(args);
|
|
1860
|
+
});
|
|
1861
|
+
}
|
|
1862
|
+
}));
|
|
1863
|
+
};
|
|
1864
|
+
TreeListComponent.prototype.attachElementEventHandlers = function () {
|
|
1865
|
+
var _this = this;
|
|
1866
|
+
if (isUniversal()) {
|
|
1867
|
+
return;
|
|
1868
|
+
}
|
|
1869
|
+
var wrapper = this.wrapper.nativeElement;
|
|
1870
|
+
var ariaRoot = this.ariaRoot.nativeElement;
|
|
1871
|
+
this.ngZone.runOutsideAngular(function () {
|
|
1872
|
+
var resizeCheck = _this.resizeCheck.bind(_this);
|
|
1873
|
+
var resizeSubscription = _this.renderer.listen('window', 'resize', resizeCheck);
|
|
1874
|
+
var orientationSubscription = _this.renderer.listen('window', 'orientationchange', resizeCheck);
|
|
1875
|
+
var documentClickSubscription = _this.renderer.listen('document', 'click', function (args) {
|
|
1876
|
+
var activeElement = document.activeElement;
|
|
1877
|
+
if (_this.editService.shouldCloseCell() &&
|
|
1878
|
+
!closest(args.target, matchesClasses('k-animation-container k-treelist-ignore-click')) &&
|
|
1879
|
+
!(activeElement &&
|
|
1880
|
+
(closest(activeElement, matchesClasses('k-animation-container')) ||
|
|
1881
|
+
isInEditedCell(activeElement, _this.wrapper.nativeElement)))) {
|
|
1882
|
+
_this.editService.closeCell(args);
|
|
1883
|
+
}
|
|
1884
|
+
});
|
|
1885
|
+
var windowBlurSubscription = _this.renderer.listen('window', 'blur', function (args) {
|
|
1886
|
+
var activeElement = document.activeElement;
|
|
1887
|
+
if (activeElement && !(matchesNodeName('input')(activeElement) && activeElement.type === 'file' &&
|
|
1888
|
+
isInEditedCell(activeElement, _this.wrapper.nativeElement))) {
|
|
1889
|
+
_this.editService.closeCell(args);
|
|
1890
|
+
}
|
|
1891
|
+
_this.domEvents.windowBlur.emit(args);
|
|
1892
|
+
});
|
|
1893
|
+
var clickSubscription = _this.renderer.listen(wrapper, 'click', function (args) {
|
|
1894
|
+
_this.domEvents.click.emit(args);
|
|
1895
|
+
});
|
|
1896
|
+
var keydownSubscription = _this.renderer.listen(wrapper, 'keydown', function (args) {
|
|
1897
|
+
_this.domEvents.keydown.emit(args);
|
|
1898
|
+
});
|
|
1899
|
+
// focusIn and focusOut are relative to the element with ARIA role "treegrid"
|
|
1900
|
+
var focused = false;
|
|
1901
|
+
var focusInSubscription = _this.renderer.listen(ariaRoot, 'focusin', function (args) {
|
|
1902
|
+
_this.domEvents.focus.emit(args);
|
|
1903
|
+
if (!focused) {
|
|
1904
|
+
_this.domEvents.focusIn.emit(args);
|
|
1905
|
+
focused = true;
|
|
1906
|
+
}
|
|
1907
|
+
});
|
|
1908
|
+
var focusOutSubscription = _this.renderer.listen(ariaRoot, 'focusout', function (args) {
|
|
1909
|
+
var next = args.relatedTarget || document.activeElement;
|
|
1910
|
+
var outside = !closest(next, function (node) { return node === ariaRoot; });
|
|
1911
|
+
if (outside) {
|
|
1912
|
+
_this.domEvents.focusOut.emit(args);
|
|
1913
|
+
focused = false;
|
|
1914
|
+
}
|
|
1915
|
+
});
|
|
1916
|
+
_this.detachElementEventHandlers = function () {
|
|
1917
|
+
resizeSubscription();
|
|
1918
|
+
orientationSubscription();
|
|
1919
|
+
documentClickSubscription();
|
|
1920
|
+
windowBlurSubscription();
|
|
1921
|
+
clickSubscription();
|
|
1922
|
+
keydownSubscription();
|
|
1923
|
+
focusInSubscription();
|
|
1924
|
+
focusOutSubscription();
|
|
1925
|
+
};
|
|
1926
|
+
});
|
|
1927
|
+
};
|
|
1928
|
+
TreeListComponent.prototype.matchesMedia = function (c) {
|
|
1929
|
+
return this.responsiveService.matchesMedia(c.media);
|
|
1930
|
+
};
|
|
1931
|
+
TreeListComponent.prototype.resizeCheck = function () {
|
|
1932
|
+
var _this = this;
|
|
1933
|
+
if (window.innerWidth !== this.cachedWindowWidth) {
|
|
1934
|
+
this.cachedWindowWidth = window.innerWidth;
|
|
1935
|
+
var hasChanges_1 = false;
|
|
1936
|
+
this.columnList.filterHierarchy(function (column) {
|
|
1937
|
+
var matchesMedia = _this.matchesMedia(column);
|
|
1938
|
+
if (column.matchesMedia !== matchesMedia) {
|
|
1939
|
+
hasChanges_1 = true;
|
|
1940
|
+
column.matchesMedia = matchesMedia;
|
|
1941
|
+
}
|
|
1942
|
+
return column.isVisible;
|
|
1943
|
+
});
|
|
1944
|
+
if (hasChanges_1) {
|
|
1945
|
+
this.ngZone.run(function () {
|
|
1946
|
+
_this.changeDetectorRef.markForCheck();
|
|
1947
|
+
});
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
};
|
|
1951
|
+
TreeListComponent.prototype.emitPDFExportEvent = function () {
|
|
1952
|
+
var args = new PDFExportEvent();
|
|
1953
|
+
this.pdfExport.emit(args);
|
|
1954
|
+
if (!args.isDefaultPrevented()) {
|
|
1955
|
+
this.saveAsPDF();
|
|
1956
|
+
}
|
|
1957
|
+
};
|
|
1958
|
+
TreeListComponent.prototype.syncHeaderHeight = function (observable) {
|
|
1959
|
+
var _this = this;
|
|
1960
|
+
return observable
|
|
1961
|
+
.pipe(filter(function () { return isPresent(_this.lockedHeader); }))
|
|
1962
|
+
.subscribe(function () {
|
|
1963
|
+
return syncRowsHeight(_this.lockedHeader.nativeElement.children[0], _this.header.nativeElement.children[0]);
|
|
1964
|
+
});
|
|
1965
|
+
};
|
|
1966
|
+
TreeListComponent.prototype.columnsContainerChange = function () {
|
|
1967
|
+
var _this = this;
|
|
1968
|
+
this.subscriptions.add(this.syncHeaderHeight(this.columnsContainer.changes.pipe(filter(function () { return _this.lockedColumns.length > 0; }), switchMap(function () { return _this.ngZone.onStable.asObservable().pipe(take(1)); }))));
|
|
1969
|
+
};
|
|
1970
|
+
TreeListComponent.prototype.handleColumnResize = function () {
|
|
1971
|
+
var _this = this;
|
|
1972
|
+
var resizes = this.columnResizingService.changes;
|
|
1973
|
+
this.subscriptions.add(resizes.pipe(tap(function (e) {
|
|
1974
|
+
if (e.type === 'start') {
|
|
1975
|
+
_this.renderer.addClass(_this.wrapper.nativeElement, 'k-grid-column-resizing');
|
|
1976
|
+
}
|
|
1977
|
+
else if (e.type === 'end') {
|
|
1978
|
+
_this.renderer.removeClass(_this.wrapper.nativeElement, 'k-grid-column-resizing');
|
|
1979
|
+
}
|
|
1980
|
+
}), filter(function (e) { return e.type === 'start'; }), switchMap(function () {
|
|
1981
|
+
return resizes.pipe(
|
|
1982
|
+
// tslint:disable-next-line: rxjs-no-unsafe-takeuntil
|
|
1983
|
+
takeUntil(resizes.pipe(filter(function (e) { return e.type === 'triggerAutoFit'; }))), filter(function (e) { return e.type === 'end'; }));
|
|
1984
|
+
}))
|
|
1985
|
+
.subscribe(this.notifyResize.bind(this)));
|
|
1986
|
+
};
|
|
1987
|
+
TreeListComponent.prototype.notifyResize = function (e) {
|
|
1988
|
+
var _this = this;
|
|
1989
|
+
var args = e.resizedColumns
|
|
1990
|
+
.filter(function (item) { return isTruthy(item.column.resizable) && !item.column.isColumnGroup; })
|
|
1991
|
+
.map(function (item) { return ({
|
|
1992
|
+
column: item.column,
|
|
1993
|
+
newWidth: item.column.width,
|
|
1994
|
+
oldWidth: item.oldWidth
|
|
1995
|
+
}); });
|
|
1996
|
+
if (hasObservers(this.columnResize)) {
|
|
1997
|
+
this.ngZone.run(function () {
|
|
1998
|
+
_this.columnResize.emit(args);
|
|
1999
|
+
});
|
|
2000
|
+
}
|
|
2001
|
+
};
|
|
2002
|
+
TreeListComponent.prototype.assertNavigable = function () {
|
|
2003
|
+
if (isDevMode() && !this.navigable) {
|
|
2004
|
+
throw new Error('The TreeList should be configured as [navigable]="true" to control focus');
|
|
2005
|
+
}
|
|
2006
|
+
};
|
|
2007
|
+
TreeListComponent.prototype.navigationMetadata = function () {
|
|
2008
|
+
var isVirtual = this.isVirtual;
|
|
2009
|
+
var filterRowOffset = hasFilterRow(this.filterable) ? 1 : 0;
|
|
2010
|
+
var headerRows = this.totalColumnLevels + 1 + filterRowOffset;
|
|
2011
|
+
return new NavigationMetadata(this.view, headerRows, isVirtual, this.showPager, this.wrapper, this.virtualColumns, this.columnsContainer);
|
|
2012
|
+
};
|
|
2013
|
+
TreeListComponent.prototype.updateNavigationMetadata = function () {
|
|
2014
|
+
this.navigationService.metadata = this.navigationMetadata();
|
|
2015
|
+
};
|
|
2016
|
+
TreeListComponent.prototype.applyAutoSize = function () {
|
|
2017
|
+
var _this = this;
|
|
2018
|
+
var cols = this.columns.filter(function (c) { return _this.autoSize ? c.autoSize !== false : c.autoSize; });
|
|
2019
|
+
if (cols.length > 0) {
|
|
2020
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(function (_) { return _this.autoFitColumns(cols); });
|
|
2021
|
+
}
|
|
2022
|
+
};
|
|
2023
|
+
TreeListComponent.prototype.onColumnRangeChange = function (range) {
|
|
2024
|
+
var viewportColumns = this.viewportColumns = [];
|
|
2025
|
+
var leafViewportColumns = this.columnsContainer
|
|
2026
|
+
.nonLockedLeafColumns.toArray().slice(range.start, range.end + 1);
|
|
2027
|
+
for (var idx = 0; idx < leafViewportColumns.length; idx++) {
|
|
2028
|
+
var column = leafViewportColumns[idx];
|
|
2029
|
+
while (column.parent) {
|
|
2030
|
+
column = column.parent;
|
|
2031
|
+
}
|
|
2032
|
+
var toAdd = [column];
|
|
2033
|
+
while (toAdd.length) {
|
|
2034
|
+
column = toAdd.shift();
|
|
2035
|
+
viewportColumns.push(column);
|
|
2036
|
+
if (column.isColumnGroup) {
|
|
2037
|
+
toAdd.unshift.apply(toAdd, column.childrenArray);
|
|
2038
|
+
}
|
|
2039
|
+
}
|
|
2040
|
+
var lastFromGroup = viewportColumns[viewportColumns.length - 1];
|
|
2041
|
+
column = leafViewportColumns[idx];
|
|
2042
|
+
while (column !== lastFromGroup && idx < leafViewportColumns.length) {
|
|
2043
|
+
idx++;
|
|
2044
|
+
column = leafViewportColumns[idx];
|
|
2045
|
+
}
|
|
2046
|
+
}
|
|
2047
|
+
if (range.start > 0) {
|
|
2048
|
+
var first = leafViewportColumns[0];
|
|
2049
|
+
var offset = range.offset;
|
|
2050
|
+
var current = viewportColumns[0];
|
|
2051
|
+
var index = 0;
|
|
2052
|
+
while (current !== first) {
|
|
2053
|
+
offset -= current.isColumnGroup ? 0 : current.width;
|
|
2054
|
+
index++;
|
|
2055
|
+
current = viewportColumns[index];
|
|
2056
|
+
}
|
|
2057
|
+
if (offset > 0) {
|
|
2058
|
+
var totalLevels = this.columnsContainer.totalLevels;
|
|
2059
|
+
var previous = void 0;
|
|
2060
|
+
for (var idx = 0; idx <= totalLevels; idx++) {
|
|
2061
|
+
var offsetColumn = idx < totalLevels ? new ColumnGroupComponent(previous) : new ColumnBase(previous);
|
|
2062
|
+
previous = offsetColumn;
|
|
2063
|
+
offsetColumn.title = "\u00A0";
|
|
2064
|
+
offsetColumn.width = offset;
|
|
2065
|
+
viewportColumns.unshift(offsetColumn);
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
this.leafViewportColumns = viewportColumns.filter(function (c) { return !c.isColumnGroup; });
|
|
2070
|
+
};
|
|
2071
|
+
TreeListComponent.prototype.dataLoaded = function (result) {
|
|
2072
|
+
this.loadedData = result || [];
|
|
2073
|
+
this.view.reset();
|
|
2074
|
+
this.dataChanged = true;
|
|
2075
|
+
this.changeDetectorRef.markForCheck();
|
|
2076
|
+
};
|
|
2077
|
+
TreeListComponent.prototype.unsubscribeDataLoaded = function () {
|
|
2078
|
+
if (this.dataLoadedSubscription) {
|
|
2079
|
+
this.dataLoadedSubscription.unsubscribe();
|
|
2080
|
+
this.dataLoadedSubscription = null;
|
|
2081
|
+
}
|
|
2082
|
+
};
|
|
2083
|
+
TreeListComponent.prototype.loadColumns = function (columns) {
|
|
2084
|
+
this.columns.reset(columns.toArray());
|
|
2085
|
+
this.columns.notifyOnChanges();
|
|
2086
|
+
};
|
|
2087
|
+
var TreeListComponent_1;
|
|
2088
|
+
tslib_1.__decorate([
|
|
2089
|
+
Input('aria-label'),
|
|
2090
|
+
tslib_1.__metadata("design:type", String)
|
|
2091
|
+
], TreeListComponent.prototype, "ariaLabel", void 0);
|
|
2092
|
+
tslib_1.__decorate([
|
|
2093
|
+
Input(),
|
|
2094
|
+
tslib_1.__metadata("design:type", Object),
|
|
2095
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
2096
|
+
], TreeListComponent.prototype, "data", null);
|
|
2097
|
+
tslib_1.__decorate([
|
|
2098
|
+
Input(),
|
|
2099
|
+
tslib_1.__metadata("design:type", Number)
|
|
2100
|
+
], TreeListComponent.prototype, "pageSize", void 0);
|
|
2101
|
+
tslib_1.__decorate([
|
|
2102
|
+
Input(),
|
|
2103
|
+
tslib_1.__metadata("design:type", Number)
|
|
2104
|
+
], TreeListComponent.prototype, "height", void 0);
|
|
2105
|
+
tslib_1.__decorate([
|
|
2106
|
+
Input(),
|
|
2107
|
+
tslib_1.__metadata("design:type", Number)
|
|
2108
|
+
], TreeListComponent.prototype, "rowHeight", void 0);
|
|
2109
|
+
tslib_1.__decorate([
|
|
2110
|
+
Input(),
|
|
2111
|
+
tslib_1.__metadata("design:type", Number),
|
|
2112
|
+
tslib_1.__metadata("design:paramtypes", [Number])
|
|
2113
|
+
], TreeListComponent.prototype, "skip", null);
|
|
2114
|
+
tslib_1.__decorate([
|
|
2115
|
+
Input(),
|
|
2116
|
+
tslib_1.__metadata("design:type", String)
|
|
2117
|
+
], TreeListComponent.prototype, "scrollable", void 0);
|
|
2118
|
+
tslib_1.__decorate([
|
|
2119
|
+
Input(),
|
|
2120
|
+
tslib_1.__metadata("design:type", Array),
|
|
2121
|
+
tslib_1.__metadata("design:paramtypes", [Array])
|
|
2122
|
+
], TreeListComponent.prototype, "sort", null);
|
|
2123
|
+
tslib_1.__decorate([
|
|
2124
|
+
Input(),
|
|
2125
|
+
tslib_1.__metadata("design:type", Function)
|
|
2126
|
+
], TreeListComponent.prototype, "trackBy", void 0);
|
|
2127
|
+
tslib_1.__decorate([
|
|
2128
|
+
Input(),
|
|
2129
|
+
tslib_1.__metadata("design:type", Object)
|
|
2130
|
+
], TreeListComponent.prototype, "filter", void 0);
|
|
2131
|
+
tslib_1.__decorate([
|
|
2132
|
+
Input(),
|
|
2133
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
2134
|
+
], TreeListComponent.prototype, "virtualColumns", void 0);
|
|
2135
|
+
tslib_1.__decorate([
|
|
2136
|
+
Input(),
|
|
2137
|
+
tslib_1.__metadata("design:type", Object)
|
|
2138
|
+
], TreeListComponent.prototype, "filterable", void 0);
|
|
2139
|
+
tslib_1.__decorate([
|
|
2140
|
+
Input(),
|
|
2141
|
+
tslib_1.__metadata("design:type", Object)
|
|
2142
|
+
], TreeListComponent.prototype, "sortable", void 0);
|
|
2143
|
+
tslib_1.__decorate([
|
|
2144
|
+
Input(),
|
|
2145
|
+
tslib_1.__metadata("design:type", Object)
|
|
2146
|
+
], TreeListComponent.prototype, "pageable", void 0);
|
|
2147
|
+
tslib_1.__decorate([
|
|
2148
|
+
Input(),
|
|
2149
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
2150
|
+
], TreeListComponent.prototype, "navigable", void 0);
|
|
2151
|
+
tslib_1.__decorate([
|
|
2152
|
+
Input(),
|
|
2153
|
+
tslib_1.__metadata("design:type", Boolean),
|
|
2154
|
+
tslib_1.__metadata("design:paramtypes", [Boolean])
|
|
2155
|
+
], TreeListComponent.prototype, "navigatable", null);
|
|
2156
|
+
tslib_1.__decorate([
|
|
2157
|
+
Input(),
|
|
2158
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
2159
|
+
], TreeListComponent.prototype, "autoSize", void 0);
|
|
2160
|
+
tslib_1.__decorate([
|
|
2161
|
+
Input(),
|
|
2162
|
+
tslib_1.__metadata("design:type", Function),
|
|
2163
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
2164
|
+
], TreeListComponent.prototype, "rowClass", null);
|
|
2165
|
+
tslib_1.__decorate([
|
|
2166
|
+
Input(),
|
|
2167
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
2168
|
+
], TreeListComponent.prototype, "resizable", void 0);
|
|
2169
|
+
tslib_1.__decorate([
|
|
2170
|
+
Input(),
|
|
2171
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
2172
|
+
], TreeListComponent.prototype, "reorderable", void 0);
|
|
2173
|
+
tslib_1.__decorate([
|
|
2174
|
+
Input(),
|
|
2175
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
2176
|
+
], TreeListComponent.prototype, "loading", void 0);
|
|
2177
|
+
tslib_1.__decorate([
|
|
2178
|
+
Input(),
|
|
2179
|
+
tslib_1.__metadata("design:type", Object)
|
|
2180
|
+
], TreeListComponent.prototype, "columnMenu", void 0);
|
|
2181
|
+
tslib_1.__decorate([
|
|
2182
|
+
Input(),
|
|
2183
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
2184
|
+
], TreeListComponent.prototype, "hideHeader", void 0);
|
|
2185
|
+
tslib_1.__decorate([
|
|
2186
|
+
Input(),
|
|
2187
|
+
tslib_1.__metadata("design:type", String),
|
|
2188
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
2189
|
+
], TreeListComponent.prototype, "idField", null);
|
|
2190
|
+
tslib_1.__decorate([
|
|
2191
|
+
Input(),
|
|
2192
|
+
tslib_1.__metadata("design:type", Object),
|
|
2193
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
2194
|
+
], TreeListComponent.prototype, "selectable", null);
|
|
2195
|
+
tslib_1.__decorate([
|
|
2196
|
+
Input(),
|
|
2197
|
+
tslib_1.__metadata("design:type", Function),
|
|
2198
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
2199
|
+
], TreeListComponent.prototype, "isSelected", null);
|
|
2200
|
+
tslib_1.__decorate([
|
|
2201
|
+
Output(),
|
|
2202
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2203
|
+
], TreeListComponent.prototype, "selectionChange", void 0);
|
|
2204
|
+
tslib_1.__decorate([
|
|
2205
|
+
Output(),
|
|
2206
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2207
|
+
], TreeListComponent.prototype, "filterChange", void 0);
|
|
2208
|
+
tslib_1.__decorate([
|
|
2209
|
+
Output(),
|
|
2210
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2211
|
+
], TreeListComponent.prototype, "pageChange", void 0);
|
|
2212
|
+
tslib_1.__decorate([
|
|
2213
|
+
Output(),
|
|
2214
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2215
|
+
], TreeListComponent.prototype, "sortChange", void 0);
|
|
2216
|
+
tslib_1.__decorate([
|
|
2217
|
+
Output(),
|
|
2218
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2219
|
+
], TreeListComponent.prototype, "dataStateChange", void 0);
|
|
2220
|
+
tslib_1.__decorate([
|
|
2221
|
+
Output(),
|
|
2222
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2223
|
+
], TreeListComponent.prototype, "edit", void 0);
|
|
2224
|
+
tslib_1.__decorate([
|
|
2225
|
+
Output(),
|
|
2226
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2227
|
+
], TreeListComponent.prototype, "cancel", void 0);
|
|
2228
|
+
tslib_1.__decorate([
|
|
2229
|
+
Output(),
|
|
2230
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2231
|
+
], TreeListComponent.prototype, "save", void 0);
|
|
2232
|
+
tslib_1.__decorate([
|
|
2233
|
+
Output(),
|
|
2234
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2235
|
+
], TreeListComponent.prototype, "remove", void 0);
|
|
2236
|
+
tslib_1.__decorate([
|
|
2237
|
+
Output(),
|
|
2238
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2239
|
+
], TreeListComponent.prototype, "add", void 0);
|
|
2240
|
+
tslib_1.__decorate([
|
|
2241
|
+
Output(),
|
|
2242
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2243
|
+
], TreeListComponent.prototype, "cellClose", void 0);
|
|
2244
|
+
tslib_1.__decorate([
|
|
2245
|
+
Output(),
|
|
2246
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2247
|
+
], TreeListComponent.prototype, "cellClick", void 0);
|
|
2248
|
+
tslib_1.__decorate([
|
|
2249
|
+
Output(),
|
|
2250
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2251
|
+
], TreeListComponent.prototype, "pdfExport", void 0);
|
|
2252
|
+
tslib_1.__decorate([
|
|
2253
|
+
Output(),
|
|
2254
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2255
|
+
], TreeListComponent.prototype, "excelExport", void 0);
|
|
2256
|
+
tslib_1.__decorate([
|
|
2257
|
+
Output(),
|
|
2258
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2259
|
+
], TreeListComponent.prototype, "columnResize", void 0);
|
|
2260
|
+
tslib_1.__decorate([
|
|
2261
|
+
Output(),
|
|
2262
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2263
|
+
], TreeListComponent.prototype, "columnReorder", void 0);
|
|
2264
|
+
tslib_1.__decorate([
|
|
2265
|
+
Output(),
|
|
2266
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2267
|
+
], TreeListComponent.prototype, "columnVisibilityChange", void 0);
|
|
2268
|
+
tslib_1.__decorate([
|
|
2269
|
+
Output(),
|
|
2270
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2271
|
+
], TreeListComponent.prototype, "columnLockedChange", void 0);
|
|
2272
|
+
tslib_1.__decorate([
|
|
2273
|
+
Output(),
|
|
2274
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2275
|
+
], TreeListComponent.prototype, "scrollBottom", void 0);
|
|
2276
|
+
tslib_1.__decorate([
|
|
2277
|
+
Output(),
|
|
2278
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2279
|
+
], TreeListComponent.prototype, "contentScroll", void 0);
|
|
2280
|
+
tslib_1.__decorate([
|
|
2281
|
+
Output('expand'),
|
|
2282
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2283
|
+
], TreeListComponent.prototype, "expandEvent", void 0);
|
|
2284
|
+
tslib_1.__decorate([
|
|
2285
|
+
Output('collapse'),
|
|
2286
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2287
|
+
], TreeListComponent.prototype, "collapseEvent", void 0);
|
|
2288
|
+
tslib_1.__decorate([
|
|
2289
|
+
Output(),
|
|
2290
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
2291
|
+
], TreeListComponent.prototype, "expandStateChange", void 0);
|
|
2292
|
+
tslib_1.__decorate([
|
|
2293
|
+
Input('columns'),
|
|
2294
|
+
tslib_1.__metadata("design:type", QueryList),
|
|
2295
|
+
tslib_1.__metadata("design:paramtypes", [QueryList])
|
|
2296
|
+
], TreeListComponent.prototype, "columnsRef", null);
|
|
2297
|
+
tslib_1.__decorate([
|
|
2298
|
+
ContentChildren(ColumnBase),
|
|
2299
|
+
tslib_1.__metadata("design:type", QueryList)
|
|
2300
|
+
], TreeListComponent.prototype, "columns", void 0);
|
|
2301
|
+
tslib_1.__decorate([
|
|
2302
|
+
HostBinding('attr.dir'),
|
|
2303
|
+
tslib_1.__metadata("design:type", String),
|
|
2304
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
2305
|
+
], TreeListComponent.prototype, "dir", null);
|
|
2306
|
+
tslib_1.__decorate([
|
|
2307
|
+
HostBinding('class.k-widget'),
|
|
2308
|
+
HostBinding('class.k-grid'),
|
|
2309
|
+
HostBinding('class.k-treelist'),
|
|
2310
|
+
tslib_1.__metadata("design:type", Boolean),
|
|
2311
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
2312
|
+
], TreeListComponent.prototype, "hostClasses", null);
|
|
2313
|
+
tslib_1.__decorate([
|
|
2314
|
+
HostBinding('class.k-grid-lockedcolumns'),
|
|
2315
|
+
tslib_1.__metadata("design:type", Boolean),
|
|
2316
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
2317
|
+
], TreeListComponent.prototype, "lockedClasses", null);
|
|
2318
|
+
tslib_1.__decorate([
|
|
2319
|
+
HostBinding('class.k-grid-virtual'),
|
|
2320
|
+
tslib_1.__metadata("design:type", Boolean),
|
|
2321
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
2322
|
+
], TreeListComponent.prototype, "virtualClasses", null);
|
|
2323
|
+
tslib_1.__decorate([
|
|
2324
|
+
HostBinding('class.k-grid-no-scrollbar'),
|
|
2325
|
+
tslib_1.__metadata("design:type", Boolean),
|
|
2326
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
2327
|
+
], TreeListComponent.prototype, "noScrollbarClass", null);
|
|
2328
|
+
tslib_1.__decorate([
|
|
2329
|
+
ContentChildren(NoRecordsTemplateDirective),
|
|
2330
|
+
tslib_1.__metadata("design:type", QueryList)
|
|
2331
|
+
], TreeListComponent.prototype, "noRecordsTemplateChildren", void 0);
|
|
2332
|
+
tslib_1.__decorate([
|
|
2333
|
+
ContentChildren(PagerTemplateDirective),
|
|
2334
|
+
tslib_1.__metadata("design:type", QueryList)
|
|
2335
|
+
], TreeListComponent.prototype, "pagerTemplateChildren", void 0);
|
|
2336
|
+
tslib_1.__decorate([
|
|
2337
|
+
ContentChildren(ToolbarTemplateDirective),
|
|
2338
|
+
tslib_1.__metadata("design:type", QueryList)
|
|
2339
|
+
], TreeListComponent.prototype, "toolbarTemplateChildren", void 0);
|
|
2340
|
+
tslib_1.__decorate([
|
|
2341
|
+
ContentChildren(ColumnMenuTemplateDirective),
|
|
2342
|
+
tslib_1.__metadata("design:type", QueryList)
|
|
2343
|
+
], TreeListComponent.prototype, "columnMenuTemplates", void 0);
|
|
2344
|
+
tslib_1.__decorate([
|
|
2345
|
+
ViewChild('lockedHeader', { static: false }),
|
|
2346
|
+
tslib_1.__metadata("design:type", Object)
|
|
2347
|
+
], TreeListComponent.prototype, "lockedHeader", void 0);
|
|
2348
|
+
tslib_1.__decorate([
|
|
2349
|
+
ViewChild('header', { static: false }),
|
|
2350
|
+
tslib_1.__metadata("design:type", Object)
|
|
2351
|
+
], TreeListComponent.prototype, "header", void 0);
|
|
2352
|
+
tslib_1.__decorate([
|
|
2353
|
+
ViewChildren('footer'),
|
|
2354
|
+
tslib_1.__metadata("design:type", QueryList)
|
|
2355
|
+
], TreeListComponent.prototype, "footer", void 0);
|
|
2356
|
+
tslib_1.__decorate([
|
|
2357
|
+
ViewChild('ariaRoot', { static: true }),
|
|
2358
|
+
tslib_1.__metadata("design:type", ElementRef)
|
|
2359
|
+
], TreeListComponent.prototype, "ariaRoot", void 0);
|
|
2360
|
+
tslib_1.__decorate([
|
|
2361
|
+
Input(),
|
|
2362
|
+
tslib_1.__metadata("design:type", Function),
|
|
2363
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
2364
|
+
], TreeListComponent.prototype, "fetchChildren", null);
|
|
2365
|
+
tslib_1.__decorate([
|
|
2366
|
+
Input(),
|
|
2367
|
+
tslib_1.__metadata("design:type", Function),
|
|
2368
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
2369
|
+
], TreeListComponent.prototype, "hasChildren", null);
|
|
2370
|
+
tslib_1.__decorate([
|
|
2371
|
+
Input(),
|
|
2372
|
+
tslib_1.__metadata("design:type", Function),
|
|
2373
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
2374
|
+
], TreeListComponent.prototype, "isExpanded", null);
|
|
2375
|
+
TreeListComponent = TreeListComponent_1 = tslib_1.__decorate([
|
|
2376
|
+
Component({
|
|
2377
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2378
|
+
encapsulation: ViewEncapsulation.None,
|
|
2379
|
+
exportAs: 'kendoTreeList',
|
|
2380
|
+
providers: [
|
|
2381
|
+
BrowserSupportService,
|
|
2382
|
+
LocalizationService,
|
|
2383
|
+
ColumnInfoService,
|
|
2384
|
+
ChangeNotificationService,
|
|
2385
|
+
EditService,
|
|
2386
|
+
PDFService,
|
|
2387
|
+
SuspendService,
|
|
2388
|
+
{
|
|
2389
|
+
provide: L10N_PREFIX,
|
|
2390
|
+
useValue: 'kendo.treelist'
|
|
2391
|
+
},
|
|
2392
|
+
FilterService,
|
|
2393
|
+
ResponsiveService,
|
|
2394
|
+
PagerContextService,
|
|
2395
|
+
ExcelService,
|
|
2396
|
+
ScrollSyncService,
|
|
2397
|
+
ResizeService,
|
|
2398
|
+
DomEventsService,
|
|
2399
|
+
ColumnResizingService,
|
|
2400
|
+
SinglePopupService,
|
|
2401
|
+
DragAndDropService,
|
|
2402
|
+
DragHintService,
|
|
2403
|
+
DropCueService,
|
|
2404
|
+
ColumnReorderService,
|
|
2405
|
+
NavigationService,
|
|
2406
|
+
FocusRoot,
|
|
2407
|
+
IdService,
|
|
2408
|
+
ScrollRequestService,
|
|
2409
|
+
SortService,
|
|
2410
|
+
ExpandStateService,
|
|
2411
|
+
OptionChangesService,
|
|
2412
|
+
SelectionService,
|
|
2413
|
+
{
|
|
2414
|
+
provide: DataBoundTreeComponent,
|
|
2415
|
+
useExisting: forwardRef(function () { return TreeListComponent_1; })
|
|
2416
|
+
},
|
|
2417
|
+
{
|
|
2418
|
+
provide: ExpandableTreeComponent,
|
|
2419
|
+
useExisting: forwardRef(function () { return TreeListComponent_1; })
|
|
2420
|
+
}
|
|
2421
|
+
],
|
|
2422
|
+
selector: 'kendo-treelist',
|
|
2423
|
+
template: "\n <ng-container kendoTreeListLocalizedMessages\n\n i18n-noRecords=\"kendo.treelist.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-pagerFirstPage=\"kendo.treelist.pagerFirstPage|The label for the first page button in TreeList pager\"\n pagerFirstPage=\"Go to the first page\"\n\n i18n-pagerPreviousPage=\"kendo.treelist.pagerPreviousPage|The label for the previous page button in TreeList pager\"\n pagerPreviousPage=\"Go to the previous page\"\n\n i18n-pagerNextPage=\"kendo.treelist.pagerNextPage|The label for the next page button in TreeList pager\"\n pagerNextPage=\"Go to the next page\"\n\n i18n-pagerLastPage=\"kendo.treelist.pagerLastPage|The label for the last page button in TreeList pager\"\n pagerLastPage=\"Go to the last page\"\n\n i18n-pagerPage=\"kendo.treelist.pagerPage|The label before the current page number in the TreeList pager\"\n pagerPage=\"Page\"\n\n i18n-pagerOf=\"kendo.treelist.pagerOf|The label before the total pages number in the TreeList pager\"\n pagerOf=\"of\"\n\n i18n-pagerPageNumberInputTitle=\"kendo.treelist.pagerPageNumberInputTitle|The label for the pager input in the Treelist pager\"\n pagerPageNumberInputTitle=\"Page Number\"\n\n i18n-pagerItemsPerPage=\"kendo.treelist.pagerItemsPerPage|The label for the page size chooser in the TreeList pager\"\n pagerItemsPerPage=\"items per page\"\n\n i18n-pagerItemsTotal=\"kendo.treelist.pagerItemsTotal|The label after the total items count in the TreeList pager\"\n pagerItemsTotal=\"items total\"\n\n i18n-filter=\"kendo.treelist.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.treelist.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.treelist.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.treelist.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.treelist.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.treelist.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.treelist.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.treelist.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.treelist.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.treelist.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.treelist.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.treelist.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.treelist.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.treelist.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.treelist.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.treelist.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.treelist.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.treelist.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.treelist.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.treelist.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.treelist.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.treelist.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.treelist.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.treelist.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.treelist.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.treelist.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.treelist.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.treelist.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.treelist.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock=\"kendo.treelist.lock|The text shown in the column menu for the lock item\"\n lock=\"Lock\"\n\n i18n-unlock=\"kendo.treelist.unlock|The text shown in the column menu for the unlock item\"\n unlock=\"Unlock\"\n\n i18n-sortable=\"kendo.treelist.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.treelist.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.treelist.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.treelist.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.treelist.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.treelist.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.treelist.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.treelist.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"\n >\n </ng-container>\n <kendo-treelist-toolbar *ngIf=\"showTopToolbar\" position=\"top\"></kendo-treelist-toolbar>\n <div #ariaRoot\n class=\"k-grid-aria-root\"\n role=\"treegrid\"\n [attr.aria-rowcount]=\"ariaRowCount\"\n [attr.aria-colcount]=\"ariaColCount\"\n [attr.aria-multiselectable]=\"ariaMultiselectable\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ng-template [ngIf]=\"isScrollable\">\n <div *ngIf=\"!hideHeader\"\n class=\"k-grid-header\"\n role=\"presentation\"\n [style.padding]=\"headerPadding\">\n <div *ngIf=\"isLocked\"\n #lockedHeader\n role=\"presentation\"\n class=\"k-grid-header-locked\"\n [style.width.px]=\"lockedWidth\">\n <table [locked]=\"true\" role=\"presentation\" [style.width.px]=\"lockedWidth\">\n <colgroup kendoTreeListColGroup\n role=\"presentation\"\n [columns]=\"lockedLeafColumns\">\n </colgroup>\n <thead kendoTreeListHeader\n [resizable]=\"resizable\"\n [scrollable]=\"true\"\n [columns]=\"lockedColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [reorderable]=\"reorderable\"\n [sortable]=\"sortable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [totalColumnsCount]=\"leafColumns.length\">\n </thead>\n </table>\n </div><div #header class=\"k-grid-header-wrap\" role=\"presentation\" data-scrollable\n [kendoTreeListResizableContainer]=\"lockedLeafColumns.length\"\n [lockedWidth]=\"lockedWidth + scrollbarWidth + 2\">\n <table role=\"presentation\" [style.width.px]=\"nonLockedWidth\" [virtualColumns]=\"virtualColumns\">\n <colgroup kendoTreeListColGroup\n role=\"presentation\"\n [columns]=\"headerLeafColumns\">\n </colgroup>\n <thead kendoTreeListHeader\n [resizable]=\"resizable\"\n role=\"presentation\"\n [scrollable]=\"true\"\n [columns]=\"headerColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [reorderable]=\"reorderable\"\n [sortable]=\"sortable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [lockedColumnsCount]=\"lockedLeafColumns.length\"\n [totalColumnsCount]=\"leafColumns.length\">\n </thead>\n </table>\n <div *ngIf=\"virtualColumns\" class=\"k-width-container\" role=\"presentation\">\n <div [style.width.px]=\"columnsContainer.unlockedWidth\"></div>\n </div>\n </div>\n </div>\n <kendo-treelist-list\n [view]=\"view\"\n [loading]=\"showLoading\"\n [rowHeight]=\"rowHeight\"\n [total]=\"totalCount\"\n [take]=\"pageSize\"\n [skip]=\"skip\"\n [trackBy]=\"trackBy\"\n [columns]=\"columnsContainer\"\n [filterable]=\"filterable\"\n [noRecordsTemplate]=\"noRecordsTemplate\"\n (pageChange)=\"notifyPageChange('list', $event)\"\n [rowClass]=\"rowClass\"\n [isVirtual]=\"isVirtual\"\n [virtualColumns]=\"virtualColumns\"\n [expandIcons]=\"expandIcons\"\n (scrollBottom)=\"notifyScrollBottom()\"\n (contentScroll)=\"contentScroll.emit($event)\"\n\n kendoDraggable\n kendoTreeListSelectionMarquee\n [enableDrag]=\"marqueeSelection\"\n >\n </kendo-treelist-list>\n </ng-template>\n <ng-template [ngIf]=\"!isScrollable\">\n <table [style.table-layout]=\"resizable ? 'fixed' : null\">\n <colgroup kendoTreeListColGroup\n [columns]=\"leafColumns\">\n </colgroup>\n <thead kendoTreeListHeader\n *ngIf=\"!hideHeader\"\n [resizable]=\"resizable\"\n [scrollable]=\"false\"\n [columns]=\"visibleColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [reorderable]=\"reorderable\"\n [sort]=\"sort\"\n [sortable]=\"sortable\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\">\n </thead>\n <tbody kendoTreeListTableBody\n [view]=\"view\"\n [skip]=\"skip\"\n [columns]=\"leafColumns\"\n [filterable]=\"filterable\"\n [noRecordsTemplate]=\"noRecordsTemplate\"\n [trackBy]=\"trackBy\"\n [rowClass]=\"rowClass\"\n [expandIcons]=\"expandIcons\"\n\n kendoDraggable\n kendoTreeListSelectionMarquee\n [enableDrag]=\"marqueeSelection\"\n >\n </tbody>\n </table>\n <div *ngIf=\"showLoading\" kendoTreeListLoading>\n </div>\n </ng-template>\n </div>\n <kendo-treelist-pager\n *ngIf=\"showPager\"\n [template]=\"pagerTemplate\"\n [pageSize]=\"pageSize\"\n [total]=\"view.totalVisible\"\n [allCount]=\"view.total\"\n [skip]=\"skip\"\n [options]=\"pageable\"\n (pageChange)=\"notifyPageChange('pager', $event)\">\n </kendo-treelist-pager>\n <kendo-treelist-toolbar *ngIf=\"showBottomToolbar\" position=\"bottom\"></kendo-treelist-toolbar>\n "
|
|
2424
|
+
}),
|
|
2425
|
+
tslib_1.__metadata("design:paramtypes", [BrowserSupportService,
|
|
2426
|
+
ElementRef,
|
|
2427
|
+
ChangeNotificationService,
|
|
2428
|
+
EditService,
|
|
2429
|
+
FilterService,
|
|
2430
|
+
PDFService,
|
|
2431
|
+
ResponsiveService,
|
|
2432
|
+
Renderer2,
|
|
2433
|
+
ExcelService,
|
|
2434
|
+
NgZone,
|
|
2435
|
+
ScrollSyncService,
|
|
2436
|
+
DomEventsService,
|
|
2437
|
+
ColumnResizingService,
|
|
2438
|
+
ChangeDetectorRef,
|
|
2439
|
+
ColumnReorderService,
|
|
2440
|
+
ColumnInfoService,
|
|
2441
|
+
NavigationService,
|
|
2442
|
+
SortService,
|
|
2443
|
+
ScrollRequestService,
|
|
2444
|
+
ExpandStateService,
|
|
2445
|
+
OptionChangesService,
|
|
2446
|
+
SelectionService,
|
|
2447
|
+
LocalizationService])
|
|
2448
|
+
], TreeListComponent);
|
|
2449
|
+
return TreeListComponent;
|
|
2450
|
+
}());
|
|
2451
|
+
export { TreeListComponent };
|
|
2452
|
+
export { ɵ0, ɵ1, ɵ2 };
|