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