@progress/kendo-angular-grid 7.0.0-dev.202201261657 → 7.0.0-dev.202204150740
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/README.md +1 -1
- package/bundles/kendo-angular-grid.umd.js +5 -0
- package/column-menu/column-chooser.component.d.ts +70 -0
- package/column-menu/column-list.component.d.ts +51 -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 +83 -0
- package/column-menu/column-menu-container.component.d.ts +20 -0
- package/{dist/es2015/column-menu → column-menu}/column-menu-expandable-item.interface.d.ts +0 -0
- package/column-menu/column-menu-filter.component.d.ts +73 -0
- package/column-menu/column-menu-item-base.d.ts +25 -0
- package/column-menu/column-menu-item-content-template.directive.d.ts +45 -0
- package/column-menu/column-menu-item.component.d.ts +81 -0
- package/column-menu/column-menu-item.directive.d.ts +33 -0
- package/column-menu/column-menu-lock.component.d.ts +57 -0
- package/column-menu/column-menu-position.component.d.ts +91 -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 +55 -0
- package/column-menu/column-menu-stick.component.d.ts +57 -0
- package/column-menu/column-menu-template.directive.d.ts +52 -0
- package/column-menu/column-menu.component.d.ts +116 -0
- package/column-menu/column-menu.module.d.ts +30 -0
- package/column-menu/column-menu.service.d.ts +72 -0
- package/{dist/es2015/column-menu → column-menu}/column-sticky-change-event.d.ts +0 -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 +43 -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 +84 -0
- package/columns/column-base.d.ts +622 -0
- package/columns/column-common.d.ts +53 -0
- package/columns/column-group.component.d.ts +103 -0
- package/{dist/es2015/columns → columns}/column-list.d.ts +0 -0
- package/columns/column.component.d.ts +185 -0
- package/{dist/es2015/columns → columns}/columns-container.d.ts +0 -0
- package/columns/command-column.component.d.ts +83 -0
- package/columns/sort-settings.d.ts +71 -0
- package/columns/span-column.component.d.ts +227 -0
- package/common/cell-click-event-args.interface.d.ts +42 -0
- package/common/column-info.service.d.ts +38 -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 +22 -0
- package/{dist/es2015/common → common}/event-emitter.d.ts +0 -0
- package/common/fetch-data-callback.d.ts +12 -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 +18 -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 +47 -0
- package/data/data.iterators.d.ts +85 -0
- package/{dist/es2015/data → data}/grid-item.interface.d.ts +0 -0
- package/{dist/es2015/data → data}/group-footer-item.interface.d.ts +0 -0
- package/{dist/es2015/data → data}/group-item.interface.d.ts +0 -0
- package/databinding.directive.d.ts +83 -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/dragdrop/context-types.d.ts +16 -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 +26 -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 +39 -0
- package/{dist/es2015/editing → editing}/add-event-args.interface.d.ts +0 -0
- package/editing/cancel-command.directive.d.ts +65 -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 +53 -0
- package/editing/edit-event-args.interface.d.ts +26 -0
- package/{dist/es2015/editing → editing}/edit-row-options.interface.d.ts +0 -0
- package/editing/edit-template.directive.d.ts +26 -0
- package/editing/edit.service.d.ts +70 -0
- package/editing/local-data-changes.service.d.ts +15 -0
- package/editing/remove-command.directive.d.ts +52 -0
- package/{dist/es2015/editing → editing}/remove-event-args.interface.d.ts +0 -0
- package/editing/save-command.directive.d.ts +65 -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 +50 -0
- package/editing-directives/in-cell-editing.directive.d.ts +35 -0
- package/editing-directives/local-edit.service.d.ts +21 -0
- package/{dist/es2015/editing-directives → editing-directives}/local-row-edit.service.d.ts +0 -0
- package/editing-directives/reactive-editing.directive.d.ts +26 -0
- package/editing-directives/row-editing-directive-base.d.ts +25 -0
- package/editing-directives/template-editing.directive.d.ts +30 -0
- package/{dist/es2015/editing-directives → editing-directives}/utils.d.ts +0 -0
- package/esm2015/column-menu/column-chooser.component.js +166 -0
- package/esm2015/column-menu/column-list.component.js +211 -0
- package/{dist/es2015 → esm2015}/column-menu/column-locked-change-event.js +0 -0
- package/esm2015/column-menu/column-menu-chooser.component.js +164 -0
- package/esm2015/column-menu/column-menu-container.component.js +42 -0
- package/esm2015/column-menu/column-menu-expandable-item.interface.js +5 -0
- package/esm2015/column-menu/column-menu-filter.component.js +142 -0
- package/esm2015/column-menu/column-menu-item-base.js +39 -0
- package/esm2015/column-menu/column-menu-item-content-template.directive.js +54 -0
- package/esm2015/column-menu/column-menu-item.component.js +188 -0
- package/esm2015/column-menu/column-menu-item.directive.js +104 -0
- package/esm2015/column-menu/column-menu-lock.component.js +109 -0
- package/esm2015/column-menu/column-menu-position.component.js +180 -0
- package/esm2015/column-menu/column-menu-settings.interface.js +5 -0
- package/esm2015/column-menu/column-menu-sort.component.js +115 -0
- package/esm2015/column-menu/column-menu-stick.component.js +101 -0
- package/esm2015/column-menu/column-menu-template.directive.js +61 -0
- package/esm2015/column-menu/column-menu.component.js +308 -0
- package/esm2015/column-menu/column-menu.module.js +97 -0
- package/esm2015/column-menu/column-menu.service.js +59 -0
- package/{dist/es2015 → esm2015}/column-menu/column-sticky-change-event.js +0 -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 +228 -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 +121 -0
- package/esm2015/columns/checkbox-column.component.js +118 -0
- package/esm2015/columns/column-base.js +296 -0
- package/esm2015/columns/column-common.js +73 -0
- package/esm2015/columns/column-group.component.js +153 -0
- package/esm2015/columns/column-list.js +93 -0
- package/esm2015/columns/column.component.js +224 -0
- package/esm2015/columns/columns-container.js +97 -0
- package/esm2015/columns/command-column.component.js +116 -0
- package/esm2015/columns/sort-settings.js +18 -0
- package/esm2015/columns/span-column.component.js +275 -0
- package/esm2015/common/cell-click-event-args.interface.js +5 -0
- package/esm2015/common/column-info.service.js +91 -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 +27 -0
- package/{dist/es2015 → esm2015}/common/event-emitter.js +0 -0
- package/esm2015/common/fetch-data-callback.js +5 -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 +33 -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/{dist/es2015 → esm2015}/data/data.collection.js +0 -0
- package/esm2015/data/data.iterators.js +213 -0
- package/esm2015/data/grid-item.interface.js +5 -0
- package/esm2015/data/group-footer-item.interface.js +5 -0
- package/esm2015/data/group-item.interface.js +5 -0
- package/esm2015/databinding.directive.js +164 -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 +81 -0
- package/esm2015/dragdrop/draggable-column.directive.js +130 -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 +58 -0
- package/esm2015/editing/add-event-args.interface.js +5 -0
- package/esm2015/editing/cancel-command.directive.js +95 -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 +81 -0
- package/esm2015/editing/edit-event-args.interface.js +5 -0
- package/esm2015/editing/edit-row-options.interface.js +5 -0
- package/esm2015/editing/edit-template.directive.js +35 -0
- package/esm2015/editing/edit.service.js +177 -0
- package/esm2015/editing/local-data-changes.service.js +19 -0
- package/esm2015/editing/remove-command.directive.js +80 -0
- package/esm2015/editing/remove-event-args.interface.js +5 -0
- package/esm2015/editing/save-command.directive.js +95 -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 +109 -0
- package/esm2015/editing-directives/in-cell-editing.directive.js +79 -0
- package/esm2015/editing-directives/local-edit.service.js +59 -0
- package/{dist/es2015 → esm2015}/editing-directives/local-row-edit.service.js +0 -0
- package/esm2015/editing-directives/reactive-editing.directive.js +45 -0
- package/esm2015/editing-directives/row-editing-directive-base.js +52 -0
- package/esm2015/editing-directives/template-editing.directive.js +55 -0
- package/{dist/es2015 → esm2015}/editing-directives/utils.js +0 -0
- package/esm2015/excel/excel-command.directive.js +62 -0
- package/{dist/es2015 → esm2015}/excel/excel-export-event.js +0 -0
- package/esm2015/excel/excel.component.js +156 -0
- package/esm2015/excel/excel.module.js +53 -0
- package/esm2015/excel/excel.service.js +30 -0
- package/esm2015/filtering/base-filter-cell.component.js +163 -0
- package/esm2015/filtering/boolean-filter.component.js +88 -0
- package/esm2015/filtering/cell/autocomplete-filter-cell.component.js +95 -0
- package/esm2015/filtering/cell/boolean-filter-cell.component.js +95 -0
- package/esm2015/filtering/cell/date-filter-cell.component.js +127 -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 +24 -0
- package/esm2015/filtering/cell/filter-cell-wrapper.component.js +69 -0
- package/esm2015/filtering/cell/filter-cell.component.js +79 -0
- package/esm2015/filtering/cell/numeric-filter-cell.component.js +132 -0
- package/esm2015/filtering/cell/row-filtering.module.js +85 -0
- package/esm2015/filtering/cell/string-filter-cell.component.js +101 -0
- package/esm2015/filtering/date-filter.component.js +141 -0
- package/esm2015/filtering/filter-component.interface.js +5 -0
- package/esm2015/filtering/filter-host.directive.js +54 -0
- package/esm2015/filtering/filter-input-wrapper.component.js +117 -0
- package/esm2015/filtering/filter-input.directive.js +99 -0
- package/esm2015/filtering/filter-row.component.js +103 -0
- package/esm2015/filtering/filter.service.js +39 -0
- package/{dist/es2015 → esm2015}/filtering/filterable.js +0 -0
- package/esm2015/filtering/menu/boolean-filter-menu.component.js +147 -0
- package/esm2015/filtering/menu/date-filter-menu-input.component.js +154 -0
- package/esm2015/filtering/menu/date-filter-menu.component.js +194 -0
- package/{dist/es2015 → esm2015}/filtering/menu/filter-menu-component.factory.js +0 -0
- package/esm2015/filtering/menu/filter-menu-container.component.js +263 -0
- package/esm2015/filtering/menu/filter-menu-dropdownlist.directive.js +38 -0
- package/esm2015/filtering/menu/filter-menu-host.directive.js +41 -0
- package/esm2015/filtering/menu/filter-menu-input-wrapper.component.js +124 -0
- package/esm2015/filtering/menu/filter-menu-template.directive.js +25 -0
- package/esm2015/filtering/menu/filter-menu.component.js +119 -0
- package/esm2015/filtering/menu/filter-menu.module.js +98 -0
- package/esm2015/filtering/menu/filter-radio-button.directive.js +27 -0
- package/esm2015/filtering/menu/menu-tabbing.service.js +20 -0
- package/esm2015/filtering/menu/numeric-filter-menu-input.component.js +140 -0
- package/esm2015/filtering/menu/numeric-filter-menu.component.js +182 -0
- package/esm2015/filtering/menu/string-filter-menu-input.component.js +87 -0
- package/esm2015/filtering/menu/string-filter-menu.component.js +139 -0
- package/esm2015/filtering/numeric-filter.component.js +123 -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 +90 -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 +83 -0
- package/esm2015/grid.component.js +3270 -0
- package/esm2015/grid.module.js +261 -0
- package/esm2015/grouping/group-footer-template.directive.js +69 -0
- package/esm2015/grouping/group-header-column-template.directive.js +43 -0
- package/esm2015/grouping/group-header-template.directive.js +73 -0
- package/esm2015/grouping/group-header.component.js +244 -0
- package/esm2015/grouping/group-indicator.component.js +74 -0
- package/{dist/es2015 → esm2015}/grouping/group-info.service.js +0 -0
- package/esm2015/grouping/group-key.interface.js +5 -0
- package/esm2015/grouping/group-panel.component.js +234 -0
- package/esm2015/grouping/group-rows-args.interface.js +5 -0
- package/esm2015/grouping/group-scroll-binding.directive.js +271 -0
- package/esm2015/grouping/group-settings.js +5 -0
- package/esm2015/grouping/group.module.js +56 -0
- package/esm2015/grouping/groups.service.js +65 -0
- package/{dist/es2015 → esm2015}/grouping/utils.js +0 -0
- package/esm2015/grouping/virtual-group-result.interface.js +5 -0
- package/esm2015/kendo-angular-grid.js +8 -0
- package/esm2015/layout/browser-support.service.js +80 -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 +159 -0
- package/esm2015/main.js +169 -0
- package/esm2015/navigation/default-focusable-element.js +43 -0
- package/esm2015/navigation/focus-group.js +70 -0
- package/esm2015/navigation/focus-root.js +49 -0
- package/esm2015/navigation/focusable-element.interface.js +5 -0
- package/esm2015/navigation/focusable.directive.js +169 -0
- package/{dist/es2015 → esm2015}/navigation/grid-focusable-element.js +0 -0
- package/{dist/es2015 → esm2015}/navigation/item-map.js +0 -0
- package/esm2015/navigation/logical-cell.directive.js +187 -0
- package/esm2015/navigation/logical-cell.interface.js +5 -0
- package/esm2015/navigation/logical-row.directive.js +90 -0
- package/esm2015/navigation/logical-row.interface.js +5 -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 +575 -0
- package/esm2015/package-metadata.js +15 -0
- package/{dist/es2015 → esm2015}/pager/pager-context.service.js +0 -0
- package/esm2015/pager/pager-dropdown.directive.js +35 -0
- package/esm2015/pager/pager-element.component.js +86 -0
- package/esm2015/pager/pager-info.component.js +73 -0
- package/esm2015/pager/pager-input.component.js +187 -0
- package/esm2015/pager/pager-input.directive.js +26 -0
- package/esm2015/pager/pager-next-buttons.component.js +129 -0
- package/esm2015/pager/pager-numeric-buttons.component.js +226 -0
- package/esm2015/pager/pager-page-sizes.component.js +225 -0
- package/esm2015/pager/pager-prev-buttons.component.js +129 -0
- package/esm2015/pager/pager-settings.js +20 -0
- package/esm2015/pager/pager-template.directive.js +80 -0
- package/esm2015/pager/pager.component.js +393 -0
- package/esm2015/pager/pager.module.js +95 -0
- package/esm2015/pager/pagesize-item.interface.js +5 -0
- package/esm2015/pdf/export-element.js +115 -0
- package/esm2015/pdf/grid-query.js +41 -0
- package/esm2015/pdf/pdf-command.directive.js +62 -0
- package/esm2015/pdf/pdf-export-event.js +16 -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 +70 -0
- package/esm2015/pdf/pdf.component.js +252 -0
- package/esm2015/pdf/pdf.module.js +71 -0
- package/esm2015/pdf/pdf.service.js +41 -0
- package/esm2015/rendering/body.module.js +123 -0
- package/esm2015/rendering/cell-loading.template.directive.js +37 -0
- package/esm2015/rendering/cell-template.directive.js +67 -0
- package/esm2015/rendering/cell.component.js +314 -0
- package/{dist/es2015 → esm2015}/rendering/common/cell-context.js +0 -0
- package/esm2015/rendering/common/col-group.component.js +50 -0
- package/esm2015/rendering/common/dom-queries.js +158 -0
- package/esm2015/rendering/common/field-accessor.pipe.js +45 -0
- package/esm2015/rendering/common/loading.component.js +50 -0
- package/esm2015/rendering/common/row-args.js +5 -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/{dist/es2015 → esm2015}/rendering/details/detail-collapse-event.js +0 -0
- package/{dist/es2015 → esm2015}/rendering/details/detail-expand-event.js +0 -0
- package/esm2015/rendering/details/detail-template.directive.js +103 -0
- package/esm2015/rendering/details/details.service.js +57 -0
- package/esm2015/rendering/details-expand.directive.js +118 -0
- package/esm2015/rendering/footer/footer-template.directive.js +73 -0
- package/esm2015/rendering/footer/footer.component.js +148 -0
- package/esm2015/rendering/footer/footer.module.js +36 -0
- package/esm2015/rendering/groups-expand.directive.js +126 -0
- package/esm2015/rendering/header/header-template.directive.js +70 -0
- package/esm2015/rendering/header/header.component.js +884 -0
- package/esm2015/rendering/header/header.module.js +66 -0
- package/esm2015/rendering/list.component.js +842 -0
- package/esm2015/rendering/loading-template.directive.js +24 -0
- package/esm2015/rendering/no-records-template.directive.js +85 -0
- package/esm2015/rendering/table-body.component.js +841 -0
- package/esm2015/rendering/toolbar/toolbar-template.directive.js +99 -0
- package/esm2015/rendering/toolbar/toolbar.component.js +48 -0
- package/esm2015/scrolling/content-scroll-event.js +5 -0
- package/esm2015/scrolling/row-height.service.js +75 -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/cell-selection.service.js +295 -0
- package/esm2015/selection/marquee.directive.js +164 -0
- package/{dist/es2015 → esm2015}/selection/pair-set.js +0 -0
- package/esm2015/selection/selectall-checkbox.directive.js +100 -0
- package/esm2015/selection/selection-checkbox.directive.js +118 -0
- package/esm2015/selection/selection-default.js +162 -0
- package/esm2015/selection/selection.directive.js +41 -0
- package/esm2015/selection/selection.service.js +358 -0
- package/esm2015/selection/types.js +5 -0
- package/esm2015/shared.module.js +91 -0
- package/esm2015/utils.js +131 -0
- package/excel/excel-command.directive.d.ts +42 -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 +16 -0
- package/fesm2015/kendo-angular-grid.js +25357 -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 +36 -0
- package/filtering/cell/date-filter-cell.component.d.ts +44 -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 +15 -0
- package/filtering/cell/filter-cell-wrapper.component.d.ts +21 -0
- package/filtering/cell/filter-cell.component.d.ts +22 -0
- package/filtering/cell/numeric-filter-cell.component.d.ts +49 -0
- package/filtering/cell/row-filtering.module.d.ts +25 -0
- package/filtering/cell/string-filter-cell.component.d.ts +47 -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 +34 -0
- package/filtering/filter-row.component.d.ts +32 -0
- package/filtering/filter.service.d.ts +34 -0
- package/{dist/es2015/filtering → filtering}/filterable.d.ts +0 -0
- package/filtering/menu/boolean-filter-menu.component.d.ts +75 -0
- package/filtering/menu/date-filter-menu-input.component.d.ts +49 -0
- package/filtering/menu/date-filter-menu.component.d.ts +68 -0
- package/{dist/es2015/filtering → filtering}/menu/filter-menu-component.factory.d.ts +0 -0
- package/filtering/menu/filter-menu-container.component.d.ts +69 -0
- package/filtering/menu/filter-menu-dropdownlist.directive.d.ts +19 -0
- package/filtering/menu/filter-menu-host.directive.d.ts +22 -0
- package/filtering/menu/filter-menu-input-wrapper.component.d.ts +48 -0
- package/filtering/menu/filter-menu-template.directive.d.ts +16 -0
- package/filtering/menu/filter-menu.component.d.ts +45 -0
- package/filtering/menu/filter-menu.module.d.ts +29 -0
- package/filtering/menu/filter-radio-button.directive.d.ts +19 -0
- package/filtering/menu/menu-tabbing.service.d.ts +17 -0
- package/filtering/menu/numeric-filter-menu-input.component.d.ts +67 -0
- package/filtering/menu/numeric-filter-menu.component.d.ts +68 -0
- package/filtering/menu/string-filter-menu-input.component.d.ts +31 -0
- package/filtering/menu/string-filter-menu.component.d.ts +55 -0
- package/filtering/numeric-filter.component.d.ts +95 -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/grid.component.d.ts +1121 -0
- package/grid.module.d.ts +149 -0
- package/grouping/group-footer-template.directive.d.ts +60 -0
- package/grouping/group-header-column-template.directive.d.ts +34 -0
- package/grouping/group-header-template.directive.d.ts +64 -0
- package/grouping/group-header.component.d.ts +44 -0
- package/grouping/group-indicator.component.d.ts +22 -0
- package/grouping/group-info.service.d.ts +21 -0
- package/{dist/es2015/grouping → grouping}/group-key.interface.d.ts +0 -0
- package/grouping/group-panel.component.d.ts +48 -0
- package/{dist/es2015/grouping → grouping}/group-rows-args.interface.d.ts +0 -0
- package/grouping/group-scroll-binding.directive.d.ts +60 -0
- package/grouping/group-settings.d.ts +24 -0
- package/grouping/group.module.d.ts +23 -0
- package/grouping/groups.service.d.ts +35 -0
- package/grouping/utils.d.ts +10 -0
- package/{dist/es2015/grouping → grouping}/virtual-group-result.interface.d.ts +0 -0
- package/kendo-angular-grid.d.ts +9 -0
- package/layout/browser-support.service.d.ts +22 -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 +402 -0
- package/main.d.ts +207 -0
- package/navigation/default-focusable-element.d.ts +22 -0
- package/navigation/focus-group.d.ts +34 -0
- package/navigation/focus-root.d.ts +25 -0
- package/{dist/es2015/navigation → navigation}/focusable-element.interface.d.ts +0 -0
- package/navigation/focusable.directive.d.ts +99 -0
- package/{dist/es2015/navigation → navigation}/grid-focusable-element.d.ts +0 -0
- package/navigation/item-map.d.ts +19 -0
- package/navigation/logical-cell.directive.d.ts +55 -0
- package/{dist/es2015/navigation → navigation}/logical-cell.interface.d.ts +0 -0
- package/navigation/logical-row.directive.d.ts +31 -0
- package/{dist/es2015/navigation → navigation}/logical-row.interface.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/package-metadata.d.ts → package-metadata.d.ts} +0 -0
- package/package.json +52 -137
- package/pager/pager-context.service.d.ts +30 -0
- package/pager/pager-dropdown.directive.d.ts +18 -0
- package/pager/pager-element.component.d.ts +64 -0
- package/pager/pager-info.component.d.ts +43 -0
- package/pager/pager-input.component.d.ts +92 -0
- package/pager/pager-input.directive.d.ts +18 -0
- package/pager/pager-next-buttons.component.d.ts +28 -0
- package/pager/pager-numeric-buttons.component.d.ts +51 -0
- package/pager/pager-page-sizes.component.d.ts +138 -0
- package/pager/pager-prev-buttons.component.d.ts +28 -0
- package/{dist/es2015/pager → pager}/pager-settings.d.ts +0 -0
- package/pager/pager-template.directive.d.ts +71 -0
- package/pager/pager.component.d.ts +74 -0
- package/pager/pager.module.d.ts +30 -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/{dist/es2015/pdf → pdf}/grid-query.d.ts +0 -0
- package/pdf/pdf-command.directive.d.ts +42 -0
- package/pdf/pdf-export-event.d.ts +14 -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 +60 -0
- package/pdf/pdf.component.d.ts +81 -0
- package/pdf/pdf.module.d.ts +45 -0
- package/pdf/pdf.service.d.ts +24 -0
- package/rendering/body.module.d.ts +36 -0
- package/rendering/cell-loading.template.directive.d.ts +28 -0
- package/rendering/cell-template.directive.d.ts +58 -0
- package/rendering/cell.component.d.ts +57 -0
- package/{dist/es2015/rendering → rendering}/common/cell-context.d.ts +0 -0
- package/rendering/common/col-group.component.d.ts +21 -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/loading.component.d.ts +19 -0
- package/{dist/es2015/rendering → rendering}/common/row-args.d.ts +0 -0
- package/rendering/common/row-class.d.ts +50 -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/{dist/es2015/rendering → rendering}/details/detail-collapse-event.d.ts +0 -0
- package/{dist/es2015/rendering → rendering}/details/detail-expand-event.d.ts +0 -0
- package/rendering/details/detail-template.directive.d.ts +94 -0
- package/rendering/details/details.service.d.ts +28 -0
- package/rendering/details-expand.directive.d.ts +58 -0
- package/rendering/footer/footer-template.directive.d.ts +64 -0
- package/rendering/footer/footer.component.d.ts +31 -0
- package/rendering/footer/footer.module.d.ts +17 -0
- package/rendering/groups-expand.directive.d.ts +49 -0
- package/rendering/header/header-template.directive.d.ts +61 -0
- package/rendering/header/header.component.d.ts +130 -0
- package/rendering/header/header.module.d.ts +25 -0
- package/rendering/list.component.d.ts +156 -0
- package/rendering/loading-template.directive.d.ts +17 -0
- package/rendering/no-records-template.directive.d.ts +76 -0
- package/rendering/table-body.component.d.ts +129 -0
- package/rendering/toolbar/toolbar-template.directive.d.ts +83 -0
- package/rendering/toolbar/toolbar.component.d.ts +19 -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/selection/cell-selection.service.d.ts +64 -0
- package/selection/marquee.directive.d.ts +37 -0
- package/selection/pair-set.d.ts +50 -0
- package/selection/selectall-checkbox.directive.d.ts +47 -0
- package/selection/selection-checkbox.directive.d.ts +79 -0
- package/selection/selection-default.d.ts +62 -0
- package/selection/selection.directive.d.ts +26 -0
- package/selection/selection.service.d.ts +66 -0
- package/{dist/es2015/selection → selection}/types.d.ts +0 -0
- package/shared.module.d.ts +30 -0
- package/utils.d.ts +90 -0
- package/dist/cdn/js/kendo-angular-grid.js +0 -20
- package/dist/cdn/main.js +0 -5
- package/dist/es/column-menu/column-chooser.component.js +0 -146
- package/dist/es/column-menu/column-list.component.js +0 -232
- package/dist/es/column-menu/column-locked-change-event.js +0 -17
- package/dist/es/column-menu/column-menu-chooser.component.js +0 -135
- package/dist/es/column-menu/column-menu-container.component.js +0 -41
- package/dist/es/column-menu/column-menu-expandable-item.interface.js +0 -4
- package/dist/es/column-menu/column-menu-filter.component.js +0 -111
- 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 -54
- package/dist/es/column-menu/column-menu-item.component.js +0 -151
- package/dist/es/column-menu/column-menu-item.directive.js +0 -119
- package/dist/es/column-menu/column-menu-lock.component.js +0 -115
- package/dist/es/column-menu/column-menu-position.component.js +0 -154
- package/dist/es/column-menu/column-menu-settings.interface.js +0 -4
- package/dist/es/column-menu/column-menu-sort.component.js +0 -106
- package/dist/es/column-menu/column-menu-stick.component.js +0 -115
- package/dist/es/column-menu/column-menu-template.directive.js +0 -61
- package/dist/es/column-menu/column-menu.component.js +0 -243
- package/dist/es/column-menu/column-menu.module.js +0 -71
- package/dist/es/column-menu/column-menu.service.js +0 -60
- package/dist/es/column-menu/column-sticky-change-event.js +0 -17
- package/dist/es/column-menu/column-visibility-change-event.js +0 -17
- package/dist/es/column-menu/utils.js +0 -40
- 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 -159
- package/dist/es/columns/checkbox-column.component.js +0 -116
- package/dist/es/columns/column-base.js +0 -347
- package/dist/es/columns/column-common.js +0 -92
- package/dist/es/columns/column-group.component.js +0 -168
- package/dist/es/columns/column-list.js +0 -99
- package/dist/es/columns/column.component.js +0 -270
- package/dist/es/columns/columns-container.js +0 -106
- package/dist/es/columns/command-column.component.js +0 -112
- package/dist/es/columns/sort-settings.js +0 -23
- package/dist/es/columns/span-column.component.js +0 -312
- package/dist/es/common/cell-click-event-args.interface.js +0 -4
- package/dist/es/common/column-info.service.js +0 -109
- package/dist/es/common/dom-events.service.js +0 -27
- package/dist/es/common/event-emitter.js +0 -45
- package/dist/es/common/filter-descriptor-differ.js +0 -77
- package/dist/es/common/id.service.js +0 -34
- 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 -16
- 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 -112
- package/dist/es/data/data.iterators.js +0 -249
- package/dist/es/data/grid-item.interface.js +0 -4
- package/dist/es/data/group-footer-item.interface.js +0 -4
- package/dist/es/data/group-item.interface.js +0 -4
- package/dist/es/databinding.directive.js +0 -208
- 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 -82
- package/dist/es/dragdrop/draggable-column.directive.js +0 -171
- 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 -73
- package/dist/es/editing/add-event-args.interface.js +0 -4
- package/dist/es/editing/cancel-command.directive.js +0 -108
- 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 -94
- package/dist/es/editing/edit-event-args.interface.js +0 -4
- package/dist/es/editing/edit-row-options.interface.js +0 -4
- package/dist/es/editing/edit-template.directive.js +0 -34
- package/dist/es/editing/edit.service.js +0 -195
- package/dist/es/editing/local-data-changes.service.js +0 -19
- package/dist/es/editing/remove-command.directive.js +0 -93
- package/dist/es/editing/remove-event-args.interface.js +0 -4
- package/dist/es/editing/save-command.directive.js +0 -108
- 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 -113
- package/dist/es/editing-directives/in-cell-editing.directive.js +0 -85
- package/dist/es/editing-directives/local-edit.service.js +0 -70
- package/dist/es/editing-directives/local-row-edit.service.js +0 -20
- package/dist/es/editing-directives/reactive-editing.directive.js +0 -49
- package/dist/es/editing-directives/row-editing-directive-base.js +0 -50
- package/dist/es/editing-directives/template-editing.directive.js +0 -58
- package/dist/es/editing-directives/utils.js +0 -18
- 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 -188
- package/dist/es/excel/excel.module.js +0 -53
- package/dist/es/excel/excel.service.js +0 -30
- 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 -61
- package/dist/es/filtering/cell/date-filter-cell.component.js +0 -72
- 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 -23
- package/dist/es/filtering/cell/filter-cell-wrapper.component.js +0 -70
- package/dist/es/filtering/cell/filter-cell.component.js +0 -69
- package/dist/es/filtering/cell/numeric-filter-cell.component.js +0 -81
- package/dist/es/filtering/cell/row-filtering.module.js +0 -67
- package/dist/es/filtering/cell/string-filter-cell.component.js +0 -77
- 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 -118
- package/dist/es/filtering/filter-row.component.js +0 -69
- package/dist/es/filtering/filter.service.js +0 -38
- package/dist/es/filtering/filterable.js +0 -20
- package/dist/es/filtering/menu/boolean-filter-menu.component.js +0 -134
- package/dist/es/filtering/menu/date-filter-menu-input.component.js +0 -123
- package/dist/es/filtering/menu/date-filter-menu.component.js +0 -121
- package/dist/es/filtering/menu/filter-menu-component.factory.js +0 -19
- package/dist/es/filtering/menu/filter-menu-container.component.js +0 -241
- package/dist/es/filtering/menu/filter-menu-dropdownlist.directive.js +0 -41
- package/dist/es/filtering/menu/filter-menu-host.directive.js +0 -49
- package/dist/es/filtering/menu/filter-menu-input-wrapper.component.js +0 -122
- package/dist/es/filtering/menu/filter-menu-template.directive.js +0 -24
- package/dist/es/filtering/menu/filter-menu.component.js +0 -97
- package/dist/es/filtering/menu/filter-menu.module.js +0 -72
- package/dist/es/filtering/menu/filter-radio-button.directive.js +0 -30
- package/dist/es/filtering/menu/menu-tabbing.service.js +0 -20
- package/dist/es/filtering/menu/numeric-filter-menu-input.component.js +0 -110
- package/dist/es/filtering/menu/numeric-filter-menu.component.js +0 -121
- package/dist/es/filtering/menu/string-filter-menu-input.component.js +0 -70
- package/dist/es/filtering/menu/string-filter-menu.component.js +0 -108
- package/dist/es/filtering/numeric-filter.component.js +0 -153
- 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/grid.component.js +0 -2714
- package/dist/es/grid.module.js +0 -122
- package/dist/es/grouping/group-footer-template.directive.js +0 -68
- package/dist/es/grouping/group-header-column-template.directive.js +0 -42
- package/dist/es/grouping/group-header-template.directive.js +0 -72
- package/dist/es/grouping/group-header.component.js +0 -142
- package/dist/es/grouping/group-indicator.component.js +0 -73
- package/dist/es/grouping/group-info.service.js +0 -51
- package/dist/es/grouping/group-key.interface.js +0 -4
- package/dist/es/grouping/group-panel.component.js +0 -205
- package/dist/es/grouping/group-rows-args.interface.js +0 -4
- package/dist/es/grouping/group-scroll-binding.directive.js +0 -319
- package/dist/es/grouping/group-settings.js +0 -4
- package/dist/es/grouping/group.module.js +0 -46
- package/dist/es/grouping/groups.service.js +0 -68
- package/dist/es/grouping/utils.js +0 -14
- package/dist/es/grouping/virtual-group-result.interface.js +0 -4
- package/dist/es/index.js +0 -109
- package/dist/es/layout/browser-support.service.js +0 -92
- 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 -294
- package/dist/es/main.js +0 -112
- package/dist/es/navigation/default-focusable-element.js +0 -57
- package/dist/es/navigation/focus-group.js +0 -79
- package/dist/es/navigation/focus-root.js +0 -47
- package/dist/es/navigation/focusable-element.interface.js +0 -4
- package/dist/es/navigation/focusable.directive.js +0 -164
- package/dist/es/navigation/grid-focusable-element.js +0 -29
- package/dist/es/navigation/item-map.js +0 -71
- package/dist/es/navigation/logical-cell.directive.js +0 -224
- package/dist/es/navigation/logical-cell.interface.js +0 -4
- package/dist/es/navigation/logical-row.directive.js +0 -121
- package/dist/es/navigation/logical-row.interface.js +0 -4
- 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 -208
- package/dist/es/navigation/navigation-metadata.js +0 -29
- package/dist/es/navigation/navigation-mode.js +0 -4
- package/dist/es/navigation/navigation-model.js +0 -150
- package/dist/es/navigation/navigation-row.interface.js +0 -4
- package/dist/es/navigation/navigation.service.js +0 -646
- package/dist/es/package-metadata.js +0 -15
- package/dist/es/pager/pager-context.service.js +0 -47
- package/dist/es/pager/pager-dropdown.directive.js +0 -36
- package/dist/es/pager/pager-element.component.js +0 -84
- package/dist/es/pager/pager-info.component.js +0 -90
- package/dist/es/pager/pager-input.component.js +0 -150
- package/dist/es/pager/pager-input.directive.js +0 -27
- package/dist/es/pager/pager-next-buttons.component.js +0 -55
- package/dist/es/pager/pager-numeric-buttons.component.js +0 -120
- package/dist/es/pager/pager-page-sizes.component.js +0 -218
- package/dist/es/pager/pager-prev-buttons.component.js +0 -55
- package/dist/es/pager/pager-settings.js +0 -27
- package/dist/es/pager/pager-template.directive.js +0 -79
- package/dist/es/pager/pager.component.js +0 -374
- package/dist/es/pager/pager.module.js +0 -72
- package/dist/es/pager/pagesize-item.interface.js +0 -4
- package/dist/es/pdf/export-element.js +0 -121
- package/dist/es/pdf/grid-query.js +0 -45
- 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 -70
- package/dist/es/pdf/pdf.component.js +0 -275
- package/dist/es/pdf/pdf.module.js +0 -65
- package/dist/es/pdf/pdf.service.js +0 -38
- package/dist/es/rendering/body.module.js +0 -85
- package/dist/es/rendering/cell-loading.template.directive.js +0 -36
- package/dist/es/rendering/cell-template.directive.js +0 -66
- package/dist/es/rendering/cell.component.js +0 -244
- package/dist/es/rendering/common/cell-context.js +0 -13
- package/dist/es/rendering/common/col-group.component.js +0 -47
- package/dist/es/rendering/common/dom-queries.js +0 -171
- package/dist/es/rendering/common/field-accessor.pipe.js +0 -45
- package/dist/es/rendering/common/loading.component.js +0 -36
- package/dist/es/rendering/common/row-args.js +0 -4
- 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 -20
- package/dist/es/rendering/details/detail-collapse-event.js +0 -19
- package/dist/es/rendering/details/detail-expand-event.js +0 -19
- package/dist/es/rendering/details/detail-template.directive.js +0 -108
- package/dist/es/rendering/details/details.service.js +0 -57
- package/dist/es/rendering/details-expand.directive.js +0 -141
- package/dist/es/rendering/footer/footer-template.directive.js +0 -72
- package/dist/es/rendering/footer/footer.component.js +0 -85
- package/dist/es/rendering/footer/footer.module.js +0 -35
- package/dist/es/rendering/groups-expand.directive.js +0 -152
- package/dist/es/rendering/header/header-template.directive.js +0 -69
- package/dist/es/rendering/header/header.component.js +0 -570
- package/dist/es/rendering/header/header.module.js +0 -54
- package/dist/es/rendering/list.component.js +0 -795
- package/dist/es/rendering/no-records-template.directive.js +0 -84
- package/dist/es/rendering/table-body.component.js +0 -506
- package/dist/es/rendering/toolbar/toolbar-template.directive.js +0 -104
- package/dist/es/rendering/toolbar/toolbar.component.js +0 -44
- package/dist/es/scrolling/content-scroll-event.js +0 -4
- package/dist/es/scrolling/row-height.service.js +0 -77
- 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 -113
- package/dist/es/scrolling/scrollmode.js +0 -4
- package/dist/es/scrolling/suspend.service.js +0 -19
- package/dist/es/selection/cell-selection.service.js +0 -318
- package/dist/es/selection/marquee.directive.js +0 -180
- package/dist/es/selection/pair-set.js +0 -91
- package/dist/es/selection/selectall-checkbox.directive.js +0 -103
- package/dist/es/selection/selection-checkbox.directive.js +0 -126
- package/dist/es/selection/selection-default.js +0 -169
- package/dist/es/selection/selection.directive.js +0 -43
- package/dist/es/selection/selection.service.js +0 -378
- package/dist/es/selection/types.js +0 -4
- package/dist/es/shared.module.js +0 -65
- package/dist/es/utils.js +0 -153
- package/dist/es2015/column-menu/column-chooser.component.d.ts +0 -71
- package/dist/es2015/column-menu/column-chooser.component.js +0 -157
- package/dist/es2015/column-menu/column-list.component.d.ts +0 -47
- package/dist/es2015/column-menu/column-list.component.js +0 -230
- package/dist/es2015/column-menu/column-menu-chooser.component.d.ts +0 -80
- package/dist/es2015/column-menu/column-menu-chooser.component.js +0 -150
- package/dist/es2015/column-menu/column-menu-container.component.d.ts +0 -17
- package/dist/es2015/column-menu/column-menu-container.component.js +0 -41
- package/dist/es2015/column-menu/column-menu-expandable-item.interface.js +0 -4
- package/dist/es2015/column-menu/column-menu-filter.component.d.ts +0 -70
- package/dist/es2015/column-menu/column-menu-filter.component.js +0 -128
- 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 -42
- package/dist/es2015/column-menu/column-menu-item-content-template.directive.js +0 -53
- package/dist/es2015/column-menu/column-menu-item.component.d.ts +0 -78
- package/dist/es2015/column-menu/column-menu-item.component.js +0 -191
- package/dist/es2015/column-menu/column-menu-item.directive.d.ts +0 -28
- package/dist/es2015/column-menu/column-menu-item.directive.js +0 -106
- package/dist/es2015/column-menu/column-menu-lock.component.d.ts +0 -54
- package/dist/es2015/column-menu/column-menu-lock.component.js +0 -103
- package/dist/es2015/column-menu/column-menu-position.component.d.ts +0 -87
- package/dist/es2015/column-menu/column-menu-position.component.js +0 -168
- package/dist/es2015/column-menu/column-menu-settings.interface.js +0 -4
- package/dist/es2015/column-menu/column-menu-sort.component.d.ts +0 -52
- package/dist/es2015/column-menu/column-menu-sort.component.js +0 -103
- package/dist/es2015/column-menu/column-menu-stick.component.d.ts +0 -54
- package/dist/es2015/column-menu/column-menu-stick.component.js +0 -99
- package/dist/es2015/column-menu/column-menu-template.directive.d.ts +0 -49
- package/dist/es2015/column-menu/column-menu-template.directive.js +0 -60
- package/dist/es2015/column-menu/column-menu.component.d.ts +0 -113
- package/dist/es2015/column-menu/column-menu.component.js +0 -261
- package/dist/es2015/column-menu/column-menu.module.d.ts +0 -10
- package/dist/es2015/column-menu/column-menu.module.js +0 -68
- package/dist/es2015/column-menu/column-menu.service.d.ts +0 -69
- package/dist/es2015/column-menu/column-menu.service.js +0 -59
- 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 -136
- package/dist/es2015/columns/checkbox-column.component.d.ts +0 -81
- package/dist/es2015/columns/checkbox-column.component.js +0 -108
- package/dist/es2015/columns/column-base.d.ts +0 -607
- package/dist/es2015/columns/column-base.js +0 -309
- 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 -100
- package/dist/es2015/columns/column-group.component.js +0 -141
- package/dist/es2015/columns/column-list.js +0 -97
- package/dist/es2015/columns/column.component.d.ts +0 -182
- package/dist/es2015/columns/column.component.js +0 -234
- package/dist/es2015/columns/columns-container.js +0 -99
- package/dist/es2015/columns/command-column.component.d.ts +0 -80
- package/dist/es2015/columns/command-column.component.js +0 -104
- package/dist/es2015/columns/sort-settings.d.ts +0 -107
- package/dist/es2015/columns/sort-settings.js +0 -17
- package/dist/es2015/columns/span-column.component.d.ts +0 -222
- package/dist/es2015/columns/span-column.component.js +0 -272
- package/dist/es2015/common/cell-click-event-args.interface.d.ts +0 -42
- package/dist/es2015/common/cell-click-event-args.interface.js +0 -4
- package/dist/es2015/common/column-info.service.d.ts +0 -34
- package/dist/es2015/common/column-info.service.js +0 -87
- package/dist/es2015/common/default-track-by.js +0 -13
- package/dist/es2015/common/dom-events.service.d.ts +0 -19
- package/dist/es2015/common/dom-events.service.js +0 -29
- package/dist/es2015/common/filter-descriptor-differ.js +0 -75
- package/dist/es2015/common/id.service.d.ts +0 -15
- package/dist/es2015/common/id.service.js +0 -33
- 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 -47
- package/dist/es2015/data/data.iterators.d.ts +0 -85
- package/dist/es2015/data/data.iterators.js +0 -222
- package/dist/es2015/data/grid-item.interface.js +0 -4
- package/dist/es2015/data/group-footer-item.interface.js +0 -4
- package/dist/es2015/data/group-item.interface.js +0 -4
- package/dist/es2015/databinding.directive.d.ts +0 -80
- package/dist/es2015/databinding.directive.js +0 -182
- 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.d.ts +0 -16
- 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 -23
- package/dist/es2015/dragdrop/drag-hint.service.js +0 -85
- package/dist/es2015/dragdrop/draggable-column.directive.d.ts +0 -37
- package/dist/es2015/dragdrop/draggable-column.directive.js +0 -148
- 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 -36
- package/dist/es2015/editing/add-command.directive.js +0 -66
- package/dist/es2015/editing/add-event-args.interface.js +0 -4
- package/dist/es2015/editing/cancel-command.directive.d.ts +0 -62
- package/dist/es2015/editing/cancel-command.directive.js +0 -101
- 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 -50
- package/dist/es2015/editing/edit-command.directive.js +0 -87
- 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-row-options.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 -67
- package/dist/es2015/editing/edit.service.js +0 -181
- package/dist/es2015/editing/local-data-changes.service.d.ts +0 -12
- package/dist/es2015/editing/local-data-changes.service.js +0 -21
- package/dist/es2015/editing/remove-command.directive.d.ts +0 -49
- package/dist/es2015/editing/remove-command.directive.js +0 -86
- package/dist/es2015/editing/remove-event-args.interface.js +0 -4
- package/dist/es2015/editing/save-command.directive.d.ts +0 -62
- package/dist/es2015/editing/save-command.directive.js +0 -101
- 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 -45
- package/dist/es2015/editing-directives/editing-directive-base.js +0 -104
- package/dist/es2015/editing-directives/in-cell-editing.directive.d.ts +0 -33
- package/dist/es2015/editing-directives/in-cell-editing.directive.js +0 -81
- package/dist/es2015/editing-directives/local-edit.service.d.ts +0 -21
- package/dist/es2015/editing-directives/local-edit.service.js +0 -59
- package/dist/es2015/editing-directives/reactive-editing.directive.d.ts +0 -24
- package/dist/es2015/editing-directives/reactive-editing.directive.js +0 -45
- package/dist/es2015/editing-directives/row-editing-directive-base.d.ts +0 -22
- package/dist/es2015/editing-directives/row-editing-directive-base.js +0 -42
- package/dist/es2015/editing-directives/template-editing.directive.d.ts +0 -27
- package/dist/es2015/editing-directives/template-editing.directive.js +0 -55
- 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 -88
- package/dist/es2015/excel/excel.component.js +0 -184
- 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 -13
- package/dist/es2015/excel/excel.service.js +0 -32
- 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 -33
- package/dist/es2015/filtering/cell/boolean-filter-cell.component.js +0 -73
- package/dist/es2015/filtering/cell/date-filter-cell.component.d.ts +0 -41
- package/dist/es2015/filtering/cell/date-filter-cell.component.js +0 -95
- 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 -12
- package/dist/es2015/filtering/cell/filter-cell-template.directive.js +0 -22
- 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 -18
- package/dist/es2015/filtering/cell/filter-cell.component.js +0 -70
- package/dist/es2015/filtering/cell/numeric-filter-cell.component.d.ts +0 -46
- package/dist/es2015/filtering/cell/numeric-filter-cell.component.js +0 -103
- 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 -44
- package/dist/es2015/filtering/cell/string-filter-cell.component.js +0 -85
- 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 -31
- package/dist/es2015/filtering/filter-input.directive.js +0 -104
- package/dist/es2015/filtering/filter-row.component.d.ts +0 -29
- package/dist/es2015/filtering/filter-row.component.js +0 -91
- package/dist/es2015/filtering/filter.service.d.ts +0 -31
- package/dist/es2015/filtering/filter.service.js +0 -37
- package/dist/es2015/filtering/menu/boolean-filter-menu.component.d.ts +0 -72
- package/dist/es2015/filtering/menu/boolean-filter-menu.component.js +0 -137
- package/dist/es2015/filtering/menu/date-filter-menu-input.component.d.ts +0 -46
- package/dist/es2015/filtering/menu/date-filter-menu-input.component.js +0 -153
- package/dist/es2015/filtering/menu/date-filter-menu.component.d.ts +0 -65
- package/dist/es2015/filtering/menu/date-filter-menu.component.js +0 -153
- package/dist/es2015/filtering/menu/filter-menu-container.component.d.ts +0 -65
- package/dist/es2015/filtering/menu/filter-menu-container.component.js +0 -244
- package/dist/es2015/filtering/menu/filter-menu-dropdownlist.directive.d.ts +0 -16
- package/dist/es2015/filtering/menu/filter-menu-dropdownlist.directive.js +0 -39
- package/dist/es2015/filtering/menu/filter-menu-host.directive.d.ts +0 -19
- package/dist/es2015/filtering/menu/filter-menu-host.directive.js +0 -47
- package/dist/es2015/filtering/menu/filter-menu-input-wrapper.component.d.ts +0 -44
- package/dist/es2015/filtering/menu/filter-menu-input-wrapper.component.js +0 -120
- 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 -42
- package/dist/es2015/filtering/menu/filter-menu.component.js +0 -108
- package/dist/es2015/filtering/menu/filter-menu.module.d.ts +0 -10
- package/dist/es2015/filtering/menu/filter-menu.module.js +0 -69
- package/dist/es2015/filtering/menu/filter-radio-button.directive.d.ts +0 -16
- package/dist/es2015/filtering/menu/filter-radio-button.directive.js +0 -29
- package/dist/es2015/filtering/menu/menu-tabbing.service.d.ts +0 -14
- package/dist/es2015/filtering/menu/menu-tabbing.service.js +0 -22
- package/dist/es2015/filtering/menu/numeric-filter-menu-input.component.d.ts +0 -64
- package/dist/es2015/filtering/menu/numeric-filter-menu-input.component.js +0 -136
- package/dist/es2015/filtering/menu/numeric-filter-menu.component.d.ts +0 -65
- package/dist/es2015/filtering/menu/numeric-filter-menu.component.js +0 -147
- package/dist/es2015/filtering/menu/string-filter-menu-input.component.d.ts +0 -28
- package/dist/es2015/filtering/menu/string-filter-menu-input.component.js +0 -83
- package/dist/es2015/filtering/menu/string-filter-menu.component.d.ts +0 -52
- package/dist/es2015/filtering/menu/string-filter-menu.component.js +0 -119
- package/dist/es2015/filtering/numeric-filter.component.d.ts +0 -91
- package/dist/es2015/filtering/numeric-filter.component.js +0 -133
- 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/grid.component.d.ts +0 -1096
- package/dist/es2015/grid.component.js +0 -2898
- package/dist/es2015/grid.module.d.ts +0 -37
- package/dist/es2015/grid.module.js +0 -128
- package/dist/es2015/grouping/group-footer-template.directive.d.ts +0 -57
- package/dist/es2015/grouping/group-footer-template.directive.js +0 -67
- package/dist/es2015/grouping/group-header-column-template.directive.d.ts +0 -31
- package/dist/es2015/grouping/group-header-column-template.directive.js +0 -41
- package/dist/es2015/grouping/group-header-template.directive.d.ts +0 -61
- package/dist/es2015/grouping/group-header-template.directive.js +0 -71
- package/dist/es2015/grouping/group-header.component.d.ts +0 -41
- package/dist/es2015/grouping/group-header.component.js +0 -198
- package/dist/es2015/grouping/group-indicator.component.d.ts +0 -19
- package/dist/es2015/grouping/group-indicator.component.js +0 -76
- package/dist/es2015/grouping/group-info.service.d.ts +0 -21
- package/dist/es2015/grouping/group-key.interface.js +0 -4
- package/dist/es2015/grouping/group-panel.component.d.ts +0 -44
- package/dist/es2015/grouping/group-panel.component.js +0 -209
- package/dist/es2015/grouping/group-rows-args.interface.js +0 -4
- package/dist/es2015/grouping/group-scroll-binding.directive.d.ts +0 -57
- package/dist/es2015/grouping/group-scroll-binding.directive.js +0 -290
- package/dist/es2015/grouping/group-settings.d.ts +0 -24
- package/dist/es2015/grouping/group-settings.js +0 -4
- package/dist/es2015/grouping/group.module.d.ts +0 -10
- package/dist/es2015/grouping/group.module.js +0 -43
- package/dist/es2015/grouping/groups.service.d.ts +0 -32
- package/dist/es2015/grouping/groups.service.js +0 -69
- package/dist/es2015/grouping/utils.d.ts +0 -9
- package/dist/es2015/grouping/virtual-group-result.interface.js +0 -4
- package/dist/es2015/index.d.ts +0 -109
- package/dist/es2015/index.js +0 -109
- package/dist/es2015/index.metadata.json +0 -1
- package/dist/es2015/layout/browser-support.service.d.ts +0 -19
- package/dist/es2015/layout/browser-support.service.js +0 -82
- 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 -399
- package/dist/es2015/localization/messages.js +0 -288
- package/dist/es2015/main.d.ts +0 -149
- package/dist/es2015/main.js +0 -112
- 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 -31
- package/dist/es2015/navigation/focus-group.js +0 -70
- package/dist/es2015/navigation/focus-root.d.ts +0 -22
- package/dist/es2015/navigation/focus-root.js +0 -45
- package/dist/es2015/navigation/focusable-element.interface.js +0 -4
- package/dist/es2015/navigation/focusable.directive.d.ts +0 -95
- package/dist/es2015/navigation/focusable.directive.js +0 -165
- package/dist/es2015/navigation/item-map.d.ts +0 -19
- package/dist/es2015/navigation/logical-cell.directive.d.ts +0 -52
- package/dist/es2015/navigation/logical-cell.directive.js +0 -209
- package/dist/es2015/navigation/logical-cell.interface.js +0 -4
- package/dist/es2015/navigation/logical-row.directive.d.ts +0 -28
- package/dist/es2015/navigation/logical-row.directive.js +0 -108
- 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 -593
- package/dist/es2015/package-metadata.js +0 -15
- package/dist/es2015/pager/pager-context.service.d.ts +0 -30
- package/dist/es2015/pager/pager-dropdown.directive.d.ts +0 -15
- package/dist/es2015/pager/pager-dropdown.directive.js +0 -34
- package/dist/es2015/pager/pager-element.component.d.ts +0 -61
- package/dist/es2015/pager/pager-element.component.js +0 -73
- package/dist/es2015/pager/pager-info.component.d.ts +0 -40
- package/dist/es2015/pager/pager-info.component.js +0 -74
- package/dist/es2015/pager/pager-input.component.d.ts +0 -89
- package/dist/es2015/pager/pager-input.component.js +0 -162
- package/dist/es2015/pager/pager-input.directive.d.ts +0 -15
- package/dist/es2015/pager/pager-input.directive.js +0 -26
- package/dist/es2015/pager/pager-next-buttons.component.d.ts +0 -25
- package/dist/es2015/pager/pager-next-buttons.component.js +0 -88
- package/dist/es2015/pager/pager-numeric-buttons.component.d.ts +0 -48
- package/dist/es2015/pager/pager-numeric-buttons.component.js +0 -163
- package/dist/es2015/pager/pager-page-sizes.component.d.ts +0 -134
- package/dist/es2015/pager/pager-page-sizes.component.js +0 -213
- package/dist/es2015/pager/pager-prev-buttons.component.d.ts +0 -25
- package/dist/es2015/pager/pager-prev-buttons.component.js +0 -88
- package/dist/es2015/pager/pager-settings.js +0 -22
- package/dist/es2015/pager/pager-template.directive.d.ts +0 -68
- package/dist/es2015/pager/pager-template.directive.js +0 -78
- package/dist/es2015/pager/pager.component.d.ts +0 -71
- package/dist/es2015/pager/pager.component.js +0 -375
- package/dist/es2015/pager/pager.module.d.ts +0 -10
- package/dist/es2015/pager/pager.module.js +0 -69
- package/dist/es2015/pager/pagesize-item.interface.js +0 -4
- package/dist/es2015/pdf/export-element.js +0 -121
- package/dist/es2015/pdf/grid-query.js +0 -43
- 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-export-event.d.ts +0 -10
- package/dist/es2015/pdf/pdf-export-event.js +0 -10
- 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 -57
- package/dist/es2015/pdf/pdf-template.directive.js +0 -68
- package/dist/es2015/pdf/pdf.component.d.ts +0 -78
- package/dist/es2015/pdf/pdf.component.js +0 -264
- 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/rendering/body.module.d.ts +0 -10
- package/dist/es2015/rendering/body.module.js +0 -82
- package/dist/es2015/rendering/cell-loading.template.directive.d.ts +0 -25
- package/dist/es2015/rendering/cell-loading.template.directive.js +0 -35
- package/dist/es2015/rendering/cell-template.directive.d.ts +0 -55
- package/dist/es2015/rendering/cell-template.directive.js +0 -65
- package/dist/es2015/rendering/cell.component.d.ts +0 -53
- package/dist/es2015/rendering/cell.component.js +0 -253
- package/dist/es2015/rendering/common/col-group.component.d.ts +0 -18
- package/dist/es2015/rendering/common/col-group.component.js +0 -51
- package/dist/es2015/rendering/common/dom-queries.js +0 -160
- 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/loading.component.d.ts +0 -14
- package/dist/es2015/rendering/common/loading.component.js +0 -35
- package/dist/es2015/rendering/common/row-args.js +0 -4
- package/dist/es2015/rendering/common/row-class.d.ts +0 -50
- 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/details/detail-template.directive.d.ts +0 -90
- package/dist/es2015/rendering/details/detail-template.directive.js +0 -103
- package/dist/es2015/rendering/details/details.service.d.ts +0 -25
- package/dist/es2015/rendering/details/details.service.js +0 -59
- package/dist/es2015/rendering/details-expand.directive.d.ts +0 -53
- package/dist/es2015/rendering/details-expand.directive.js +0 -128
- package/dist/es2015/rendering/footer/footer-template.directive.d.ts +0 -61
- package/dist/es2015/rendering/footer/footer-template.directive.js +0 -71
- package/dist/es2015/rendering/footer/footer.component.d.ts +0 -28
- package/dist/es2015/rendering/footer/footer.component.js +0 -117
- package/dist/es2015/rendering/footer/footer.module.d.ts +0 -10
- package/dist/es2015/rendering/footer/footer.module.js +0 -32
- package/dist/es2015/rendering/groups-expand.directive.d.ts +0 -44
- package/dist/es2015/rendering/groups-expand.directive.js +0 -137
- package/dist/es2015/rendering/header/header-template.directive.d.ts +0 -58
- package/dist/es2015/rendering/header/header-template.directive.js +0 -68
- package/dist/es2015/rendering/header/header.component.d.ts +0 -112
- package/dist/es2015/rendering/header/header.component.js +0 -697
- package/dist/es2015/rendering/header/header.module.d.ts +0 -10
- package/dist/es2015/rendering/header/header.module.js +0 -51
- package/dist/es2015/rendering/list.component.d.ts +0 -152
- package/dist/es2015/rendering/list.component.js +0 -821
- package/dist/es2015/rendering/no-records-template.directive.d.ts +0 -73
- package/dist/es2015/rendering/no-records-template.directive.js +0 -83
- package/dist/es2015/rendering/table-body.component.d.ts +0 -126
- package/dist/es2015/rendering/table-body.component.js +0 -682
- package/dist/es2015/rendering/toolbar/toolbar-template.directive.d.ts +0 -79
- package/dist/es2015/rendering/toolbar/toolbar-template.directive.js +0 -99
- package/dist/es2015/rendering/toolbar/toolbar.component.d.ts +0 -16
- package/dist/es2015/rendering/toolbar/toolbar.component.js +0 -42
- package/dist/es2015/scrolling/content-scroll-event.js +0 -4
- package/dist/es2015/scrolling/row-height.service.js +0 -77
- 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/cell-selection.service.d.ts +0 -61
- package/dist/es2015/selection/cell-selection.service.js +0 -297
- package/dist/es2015/selection/marquee.directive.d.ts +0 -34
- package/dist/es2015/selection/marquee.directive.js +0 -171
- package/dist/es2015/selection/pair-set.d.ts +0 -50
- package/dist/es2015/selection/selectall-checkbox.directive.d.ts +0 -44
- package/dist/es2015/selection/selectall-checkbox.directive.js +0 -100
- package/dist/es2015/selection/selection-checkbox.directive.d.ts +0 -76
- package/dist/es2015/selection/selection-checkbox.directive.js +0 -123
- package/dist/es2015/selection/selection-default.d.ts +0 -59
- package/dist/es2015/selection/selection-default.js +0 -159
- package/dist/es2015/selection/selection.directive.d.ts +0 -23
- package/dist/es2015/selection/selection.directive.js +0 -40
- package/dist/es2015/selection/selection.service.d.ts +0 -63
- package/dist/es2015/selection/selection.service.js +0 -360
- package/dist/es2015/selection/types.js +0 -4
- package/dist/es2015/shared.module.d.ts +0 -10
- package/dist/es2015/shared.module.js +0 -62
- package/dist/es2015/utils.d.ts +0 -90
- package/dist/es2015/utils.js +0 -131
- package/dist/fesm2015/index.js +0 -23661
- package/dist/fesm5/index.js +0 -23847
- package/dist/npm/column-menu/column-chooser.component.js +0 -148
- package/dist/npm/column-menu/column-list.component.js +0 -234
- package/dist/npm/column-menu/column-locked-change-event.js +0 -19
- package/dist/npm/column-menu/column-menu-chooser.component.js +0 -137
- package/dist/npm/column-menu/column-menu-container.component.js +0 -43
- package/dist/npm/column-menu/column-menu-expandable-item.interface.js +0 -6
- package/dist/npm/column-menu/column-menu-filter.component.js +0 -113
- 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 -56
- package/dist/npm/column-menu/column-menu-item.component.js +0 -153
- package/dist/npm/column-menu/column-menu-item.directive.js +0 -121
- package/dist/npm/column-menu/column-menu-lock.component.js +0 -117
- package/dist/npm/column-menu/column-menu-position.component.js +0 -156
- package/dist/npm/column-menu/column-menu-settings.interface.js +0 -6
- package/dist/npm/column-menu/column-menu-sort.component.js +0 -108
- package/dist/npm/column-menu/column-menu-stick.component.js +0 -117
- package/dist/npm/column-menu/column-menu-template.directive.js +0 -63
- package/dist/npm/column-menu/column-menu.component.js +0 -245
- package/dist/npm/column-menu/column-menu.module.js +0 -73
- package/dist/npm/column-menu/column-menu.service.js +0 -62
- package/dist/npm/column-menu/column-sticky-change-event.js +0 -19
- package/dist/npm/column-menu/column-visibility-change-event.js +0 -19
- package/dist/npm/column-menu/utils.js +0 -42
- 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 -166
- package/dist/npm/columns/checkbox-column.component.js +0 -118
- package/dist/npm/columns/column-base.js +0 -349
- package/dist/npm/columns/column-common.js +0 -94
- package/dist/npm/columns/column-group.component.js +0 -171
- package/dist/npm/columns/column-list.js +0 -103
- package/dist/npm/columns/column.component.js +0 -273
- package/dist/npm/columns/columns-container.js +0 -108
- package/dist/npm/columns/command-column.component.js +0 -114
- package/dist/npm/columns/sort-settings.js +0 -25
- package/dist/npm/columns/span-column.component.js +0 -315
- package/dist/npm/common/cell-click-event-args.interface.js +0 -6
- package/dist/npm/common/column-info.service.js +0 -111
- package/dist/npm/common/default-track-by.js +0 -16
- package/dist/npm/common/dom-events.service.js +0 -29
- package/dist/npm/common/event-emitter.js +0 -47
- package/dist/npm/common/filter-descriptor-differ.js +0 -82
- package/dist/npm/common/id.service.js +0 -36
- 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 -18
- 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 -114
- package/dist/npm/data/data.iterators.js +0 -254
- package/dist/npm/data/grid-item.interface.js +0 -6
- package/dist/npm/data/group-footer-item.interface.js +0 -6
- package/dist/npm/data/group-item.interface.js +0 -6
- package/dist/npm/databinding.directive.js +0 -210
- 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 -86
- package/dist/npm/dragdrop/draggable-column.directive.js +0 -176
- 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 -75
- package/dist/npm/editing/add-event-args.interface.js +0 -6
- package/dist/npm/editing/cancel-command.directive.js +0 -110
- 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 -96
- package/dist/npm/editing/edit-event-args.interface.js +0 -6
- package/dist/npm/editing/edit-row-options.interface.js +0 -6
- package/dist/npm/editing/edit-template.directive.js +0 -36
- package/dist/npm/editing/edit.service.js +0 -199
- package/dist/npm/editing/local-data-changes.service.js +0 -21
- package/dist/npm/editing/remove-command.directive.js +0 -95
- package/dist/npm/editing/remove-event-args.interface.js +0 -6
- package/dist/npm/editing/save-command.directive.js +0 -110
- 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 -115
- package/dist/npm/editing-directives/in-cell-editing.directive.js +0 -87
- package/dist/npm/editing-directives/local-edit.service.js +0 -72
- package/dist/npm/editing-directives/local-row-edit.service.js +0 -22
- package/dist/npm/editing-directives/reactive-editing.directive.js +0 -51
- package/dist/npm/editing-directives/row-editing-directive-base.js +0 -52
- package/dist/npm/editing-directives/template-editing.directive.js +0 -60
- package/dist/npm/editing-directives/utils.js +0 -20
- 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 -193
- package/dist/npm/excel/excel.module.js +0 -55
- package/dist/npm/excel/excel.service.js +0 -32
- 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 -63
- package/dist/npm/filtering/cell/date-filter-cell.component.js +0 -74
- 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 -25
- package/dist/npm/filtering/cell/filter-cell-wrapper.component.js +0 -72
- package/dist/npm/filtering/cell/filter-cell.component.js +0 -71
- package/dist/npm/filtering/cell/numeric-filter-cell.component.js +0 -83
- package/dist/npm/filtering/cell/row-filtering.module.js +0 -69
- package/dist/npm/filtering/cell/string-filter-cell.component.js +0 -79
- 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 -120
- package/dist/npm/filtering/filter-row.component.js +0 -71
- package/dist/npm/filtering/filter.service.js +0 -40
- package/dist/npm/filtering/filterable.js +0 -22
- package/dist/npm/filtering/menu/boolean-filter-menu.component.js +0 -136
- package/dist/npm/filtering/menu/date-filter-menu-input.component.js +0 -125
- package/dist/npm/filtering/menu/date-filter-menu.component.js +0 -123
- package/dist/npm/filtering/menu/filter-menu-component.factory.js +0 -21
- package/dist/npm/filtering/menu/filter-menu-container.component.js +0 -247
- package/dist/npm/filtering/menu/filter-menu-dropdownlist.directive.js +0 -43
- package/dist/npm/filtering/menu/filter-menu-host.directive.js +0 -51
- package/dist/npm/filtering/menu/filter-menu-input-wrapper.component.js +0 -124
- package/dist/npm/filtering/menu/filter-menu-template.directive.js +0 -26
- package/dist/npm/filtering/menu/filter-menu.component.js +0 -99
- package/dist/npm/filtering/menu/filter-menu.module.js +0 -74
- package/dist/npm/filtering/menu/filter-radio-button.directive.js +0 -32
- package/dist/npm/filtering/menu/menu-tabbing.service.js +0 -22
- package/dist/npm/filtering/menu/numeric-filter-menu-input.component.js +0 -112
- package/dist/npm/filtering/menu/numeric-filter-menu.component.js +0 -123
- package/dist/npm/filtering/menu/string-filter-menu-input.component.js +0 -72
- package/dist/npm/filtering/menu/string-filter-menu.component.js +0 -110
- package/dist/npm/filtering/numeric-filter.component.js +0 -155
- 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/grid.component.js +0 -2721
- package/dist/npm/grid.module.js +0 -124
- package/dist/npm/grouping/group-footer-template.directive.js +0 -70
- package/dist/npm/grouping/group-header-column-template.directive.js +0 -44
- package/dist/npm/grouping/group-header-template.directive.js +0 -74
- package/dist/npm/grouping/group-header.component.js +0 -144
- package/dist/npm/grouping/group-indicator.component.js +0 -75
- package/dist/npm/grouping/group-info.service.js +0 -53
- package/dist/npm/grouping/group-key.interface.js +0 -6
- package/dist/npm/grouping/group-panel.component.js +0 -213
- package/dist/npm/grouping/group-rows-args.interface.js +0 -6
- package/dist/npm/grouping/group-scroll-binding.directive.js +0 -327
- package/dist/npm/grouping/group-settings.js +0 -6
- package/dist/npm/grouping/group.module.js +0 -48
- package/dist/npm/grouping/groups.service.js +0 -70
- package/dist/npm/grouping/utils.js +0 -16
- package/dist/npm/grouping/virtual-group-result.interface.js +0 -6
- package/dist/npm/index.js +0 -216
- package/dist/npm/layout/browser-support.service.js +0 -94
- 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 -296
- package/dist/npm/main.js +0 -222
- package/dist/npm/navigation/default-focusable-element.js +0 -60
- package/dist/npm/navigation/focus-group.js +0 -81
- package/dist/npm/navigation/focus-root.js +0 -49
- package/dist/npm/navigation/focusable-element.interface.js +0 -6
- package/dist/npm/navigation/focusable.directive.js +0 -166
- package/dist/npm/navigation/grid-focusable-element.js +0 -31
- package/dist/npm/navigation/item-map.js +0 -73
- package/dist/npm/navigation/logical-cell.directive.js +0 -226
- package/dist/npm/navigation/logical-cell.interface.js +0 -6
- package/dist/npm/navigation/logical-row.directive.js +0 -123
- package/dist/npm/navigation/logical-row.interface.js +0 -6
- 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 -210
- package/dist/npm/navigation/navigation-metadata.js +0 -31
- package/dist/npm/navigation/navigation-mode.js +0 -6
- package/dist/npm/navigation/navigation-model.js +0 -152
- package/dist/npm/navigation/navigation-row.interface.js +0 -6
- package/dist/npm/navigation/navigation.service.js +0 -655
- package/dist/npm/package-metadata.js +0 -17
- package/dist/npm/pager/pager-context.service.js +0 -49
- package/dist/npm/pager/pager-dropdown.directive.js +0 -38
- package/dist/npm/pager/pager-element.component.js +0 -86
- package/dist/npm/pager/pager-info.component.js +0 -92
- package/dist/npm/pager/pager-input.component.js +0 -152
- package/dist/npm/pager/pager-input.directive.js +0 -29
- package/dist/npm/pager/pager-next-buttons.component.js +0 -57
- package/dist/npm/pager/pager-numeric-buttons.component.js +0 -122
- package/dist/npm/pager/pager-page-sizes.component.js +0 -220
- package/dist/npm/pager/pager-prev-buttons.component.js +0 -57
- package/dist/npm/pager/pager-settings.js +0 -29
- package/dist/npm/pager/pager-template.directive.js +0 -81
- package/dist/npm/pager/pager.component.js +0 -376
- package/dist/npm/pager/pager.module.js +0 -74
- package/dist/npm/pager/pagesize-item.interface.js +0 -6
- package/dist/npm/pdf/export-element.js +0 -127
- package/dist/npm/pdf/grid-query.js +0 -47
- 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 -72
- package/dist/npm/pdf/pdf.component.js +0 -278
- package/dist/npm/pdf/pdf.module.js +0 -67
- package/dist/npm/pdf/pdf.service.js +0 -40
- package/dist/npm/rendering/body.module.js +0 -87
- package/dist/npm/rendering/cell-loading.template.directive.js +0 -38
- package/dist/npm/rendering/cell-template.directive.js +0 -68
- package/dist/npm/rendering/cell.component.js +0 -246
- package/dist/npm/rendering/common/cell-context.js +0 -15
- package/dist/npm/rendering/common/col-group.component.js +0 -49
- package/dist/npm/rendering/common/dom-queries.js +0 -174
- package/dist/npm/rendering/common/field-accessor.pipe.js +0 -47
- package/dist/npm/rendering/common/loading.component.js +0 -38
- package/dist/npm/rendering/common/row-args.js +0 -6
- 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 -22
- package/dist/npm/rendering/details/detail-collapse-event.js +0 -21
- package/dist/npm/rendering/details/detail-expand-event.js +0 -21
- package/dist/npm/rendering/details/detail-template.directive.js +0 -110
- package/dist/npm/rendering/details/details.service.js +0 -59
- package/dist/npm/rendering/details-expand.directive.js +0 -143
- package/dist/npm/rendering/footer/footer-template.directive.js +0 -74
- package/dist/npm/rendering/footer/footer.component.js +0 -87
- package/dist/npm/rendering/footer/footer.module.js +0 -37
- package/dist/npm/rendering/groups-expand.directive.js +0 -155
- package/dist/npm/rendering/header/header-template.directive.js +0 -71
- package/dist/npm/rendering/header/header.component.js +0 -582
- package/dist/npm/rendering/header/header.module.js +0 -56
- package/dist/npm/rendering/list.component.js +0 -806
- package/dist/npm/rendering/no-records-template.directive.js +0 -86
- package/dist/npm/rendering/table-body.component.js +0 -508
- package/dist/npm/rendering/toolbar/toolbar-template.directive.js +0 -106
- package/dist/npm/rendering/toolbar/toolbar.component.js +0 -46
- package/dist/npm/scrolling/content-scroll-event.js +0 -6
- package/dist/npm/scrolling/row-height.service.js +0 -79
- 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 -115
- package/dist/npm/scrolling/scrollmode.js +0 -6
- package/dist/npm/scrolling/suspend.service.js +0 -21
- package/dist/npm/selection/cell-selection.service.js +0 -320
- package/dist/npm/selection/marquee.directive.js +0 -182
- package/dist/npm/selection/pair-set.js +0 -93
- package/dist/npm/selection/selectall-checkbox.directive.js +0 -105
- package/dist/npm/selection/selection-checkbox.directive.js +0 -128
- package/dist/npm/selection/selection-default.js +0 -171
- package/dist/npm/selection/selection.directive.js +0 -45
- package/dist/npm/selection/selection.service.js +0 -380
- package/dist/npm/selection/types.js +0 -6
- package/dist/npm/shared.module.js +0 -67
- package/dist/npm/utils.js +0 -158
- package/dist/systemjs/kendo-angular-grid.js +0 -5
|
@@ -0,0 +1,3270 @@
|
|
|
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 } from '@angular/core';
|
|
6
|
+
import { ZoneAwareEventEmitter } from './common/event-emitter';
|
|
7
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
8
|
+
import { merge } from 'rxjs';
|
|
9
|
+
import { map, tap, take, filter, switchMap, takeUntil } from 'rxjs/operators';
|
|
10
|
+
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
|
+
import { packageMetadata } from './package-metadata';
|
|
12
|
+
import { ColumnComponent, isColumnComponent } from './columns/column.component';
|
|
13
|
+
import { isSpanColumnComponent } from './columns/span-column.component';
|
|
14
|
+
import { isColumnGroupComponent, ColumnGroupComponent } from './columns/column-group.component';
|
|
15
|
+
import { DetailTemplateDirective } from './rendering/details/detail-template.directive';
|
|
16
|
+
import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers } from './utils';
|
|
17
|
+
import { BrowserSupportService } from './layout/browser-support.service';
|
|
18
|
+
import { DataResultIterator, DataCollection } from './data/data.collection';
|
|
19
|
+
import { SelectionService } from './selection/selection.service';
|
|
20
|
+
import { Selection } from "./selection/selection-default";
|
|
21
|
+
import { EditService } from './editing/edit.service';
|
|
22
|
+
import { DetailsService } from './rendering/details/details.service';
|
|
23
|
+
import { GroupsService } from './grouping/groups.service';
|
|
24
|
+
import { ColumnsContainer } from './columns/columns-container';
|
|
25
|
+
import { GroupInfoService } from './grouping/group-info.service';
|
|
26
|
+
import { ChangeNotificationService } from './data/change-notification.service';
|
|
27
|
+
import { NoRecordsTemplateDirective } from './rendering/no-records-template.directive';
|
|
28
|
+
import { ColumnBase } from './columns/column-base';
|
|
29
|
+
import { syncRowsHeight } from './layout/row-sync';
|
|
30
|
+
import { CELL_CONTEXT, EMPTY_CELL_CONTEXT } from './rendering/common/cell-context';
|
|
31
|
+
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
32
|
+
import { FilterService } from './filtering/filter.service';
|
|
33
|
+
import { PagerTemplateDirective } from './pager/pager-template.directive';
|
|
34
|
+
import { PagerContextService } from "./pager/pager-context.service";
|
|
35
|
+
import { PDFService } from './pdf/pdf.service';
|
|
36
|
+
import { PDFExportEvent } from './pdf/pdf-export-event';
|
|
37
|
+
import { SuspendService } from './scrolling/suspend.service';
|
|
38
|
+
import { ResponsiveService } from "./layout/responsive.service";
|
|
39
|
+
import { ExcelService } from './excel/excel.service';
|
|
40
|
+
import { ColumnList } from './columns/column-list';
|
|
41
|
+
import { ToolbarTemplateDirective } from "./rendering/toolbar/toolbar-template.directive";
|
|
42
|
+
import { expandColumns, expandColumnsWithSpan, isValidFieldName } from "./columns/column-common";
|
|
43
|
+
import { ScrollSyncService } from "./scrolling/scroll-sync.service";
|
|
44
|
+
import { ResizeService } from "./layout/resize.service";
|
|
45
|
+
import { closest, matchesClasses, matchesNodeName } from './rendering/common/dom-queries';
|
|
46
|
+
import { LocalDataChangesService } from './editing/local-data-changes.service';
|
|
47
|
+
import { DomEventsService } from './common/dom-events.service';
|
|
48
|
+
import { ColumnResizingService } from "./column-resizing/column-resizing.service";
|
|
49
|
+
import { hasFilterRow } from './filtering/filterable';
|
|
50
|
+
import { SinglePopupService } from './common/single-popup.service';
|
|
51
|
+
import { DragAndDropService } from './dragdrop/drag-and-drop.service';
|
|
52
|
+
import { DragHintService } from './dragdrop/drag-hint.service';
|
|
53
|
+
import { DropCueService } from './dragdrop/drop-cue.service';
|
|
54
|
+
import { ColumnReorderService } from './dragdrop/column-reorder.service';
|
|
55
|
+
import { ColumnReorderEvent } from './dragdrop/column-reorder-event';
|
|
56
|
+
import { FocusRoot } from './navigation/focus-root';
|
|
57
|
+
import { NavigationService } from './navigation/navigation.service';
|
|
58
|
+
import { NavigationMetadata } from './navigation/navigation-metadata';
|
|
59
|
+
import { IdService } from './common/id.service';
|
|
60
|
+
import { ColumnInfoService } from "./common/column-info.service";
|
|
61
|
+
import { ScrollRequestService } from './scrolling/scroll-request.service';
|
|
62
|
+
import { SortService } from './common/sort.service';
|
|
63
|
+
import { ColumnMenuTemplateDirective } from './column-menu/column-menu-template.directive';
|
|
64
|
+
import { ColumnVisibilityChangeEvent } from './column-menu/column-visibility-change-event';
|
|
65
|
+
import { ColumnLockedChangeEvent } from './column-menu/column-locked-change-event';
|
|
66
|
+
import { GROUP_CELL_WIDTH } from './constants';
|
|
67
|
+
import { sortColumns } from './columns/column-common';
|
|
68
|
+
import { defaultTrackBy } from './common/default-track-by';
|
|
69
|
+
import { CellSelectionService } from './selection/cell-selection.service';
|
|
70
|
+
import { ColumnStickyChangeEvent } from './column-menu/column-sticky-change-event';
|
|
71
|
+
import { CellLoadingTemplateDirective } from './rendering/cell-loading.template.directive';
|
|
72
|
+
import { ContextService } from './common/provider.service';
|
|
73
|
+
import { LoadingTemplateDirective } from './rendering/loading-template.directive';
|
|
74
|
+
import * as i0 from "@angular/core";
|
|
75
|
+
import * as i1 from "./layout/browser-support.service";
|
|
76
|
+
import * as i2 from "./selection/selection.service";
|
|
77
|
+
import * as i3 from "./selection/cell-selection.service";
|
|
78
|
+
import * as i4 from "./grouping/group-info.service";
|
|
79
|
+
import * as i5 from "./grouping/groups.service";
|
|
80
|
+
import * as i6 from "./data/change-notification.service";
|
|
81
|
+
import * as i7 from "./rendering/details/details.service";
|
|
82
|
+
import * as i8 from "./editing/edit.service";
|
|
83
|
+
import * as i9 from "./filtering/filter.service";
|
|
84
|
+
import * as i10 from "./pdf/pdf.service";
|
|
85
|
+
import * as i11 from "./layout/responsive.service";
|
|
86
|
+
import * as i12 from "./excel/excel.service";
|
|
87
|
+
import * as i13 from "./scrolling/scroll-sync.service";
|
|
88
|
+
import * as i14 from "./common/dom-events.service";
|
|
89
|
+
import * as i15 from "./column-resizing/column-resizing.service";
|
|
90
|
+
import * as i16 from "./dragdrop/column-reorder.service";
|
|
91
|
+
import * as i17 from "./common/column-info.service";
|
|
92
|
+
import * as i18 from "./navigation/navigation.service";
|
|
93
|
+
import * as i19 from "./common/sort.service";
|
|
94
|
+
import * as i20 from "./scrolling/scroll-request.service";
|
|
95
|
+
import * as i21 from "@progress/kendo-angular-l10n";
|
|
96
|
+
import * as i22 from "./common/provider.service";
|
|
97
|
+
import * as i23 from "./rendering/toolbar/toolbar.component";
|
|
98
|
+
import * as i24 from "./pager/pager.component";
|
|
99
|
+
import * as i25 from "./grouping/group-panel.component";
|
|
100
|
+
import * as i26 from "./rendering/common/col-group.component";
|
|
101
|
+
import * as i27 from "./rendering/header/header.component";
|
|
102
|
+
import * as i28 from "./rendering/list.component";
|
|
103
|
+
import * as i29 from "./rendering/footer/footer.component";
|
|
104
|
+
import * as i30 from "./rendering/table-body.component";
|
|
105
|
+
import * as i31 from "./rendering/common/loading.component";
|
|
106
|
+
import * as i32 from "./localization/localized-messages.directive";
|
|
107
|
+
import * as i33 from "@angular/common";
|
|
108
|
+
import * as i34 from "./column-resizing/table.directive";
|
|
109
|
+
import * as i35 from "./layout/resizable.directive";
|
|
110
|
+
import * as i36 from "@progress/kendo-angular-common";
|
|
111
|
+
import * as i37 from "./selection/marquee.directive";
|
|
112
|
+
const createControl = (source) => (acc, key) => {
|
|
113
|
+
acc[key] = new FormControl(source[key]);
|
|
114
|
+
return acc;
|
|
115
|
+
};
|
|
116
|
+
const validateColumnsField = (columns) => expandColumns(columns.toArray())
|
|
117
|
+
.filter(isColumnComponent)
|
|
118
|
+
.filter(({ field }) => !isValidFieldName(field))
|
|
119
|
+
.forEach(({ field }) => console.warn(`
|
|
120
|
+
Grid column field name '${field}' does not look like a valid JavaScript identifier.
|
|
121
|
+
Identifiers can contain only alphanumeric characters (including "$" or "_"), and may not start with a digit.
|
|
122
|
+
Please use only valid identifier names to ensure error-free operation.
|
|
123
|
+
`));
|
|
124
|
+
const handleExpandCollapseGroupsService = (service, expandEmitter, collapseEmitter, map) => (service.changes.pipe(filter(({ group }) => isPresent(group)))
|
|
125
|
+
.subscribe((x) => x.expand ? expandEmitter.emit(map(x)) : collapseEmitter.emit(map(x))));
|
|
126
|
+
const handleExpandCollapseDetailsService = (service, expandEmitter, collapseEmitter, map) => (service.changes.pipe(filter(({ dataItem }) => isPresent(dataItem)))
|
|
127
|
+
.subscribe((x) => x.expand ? expandEmitter.emit(map(x)) : collapseEmitter.emit(map(x))));
|
|
128
|
+
const isInEditedCell = (element, gridElement) => closest(element, matchesClasses('k-grid-edit-cell')) &&
|
|
129
|
+
closest(element, matchesNodeName('kendo-grid')) === gridElement;
|
|
130
|
+
/**
|
|
131
|
+
* Represents the Kendo UI Grid component for Angular.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```ts-preview
|
|
135
|
+
* _@Component({
|
|
136
|
+
* selector: 'my-app',
|
|
137
|
+
* template: `
|
|
138
|
+
* <kendo-grid [data]="gridData">
|
|
139
|
+
* </kendo-grid>
|
|
140
|
+
* `
|
|
141
|
+
* })
|
|
142
|
+
* class AppComponent {
|
|
143
|
+
* public gridData: any[] = products;
|
|
144
|
+
* }
|
|
145
|
+
*
|
|
146
|
+
* const products = [{
|
|
147
|
+
* "ProductID": 1,
|
|
148
|
+
* "ProductName": "Chai",
|
|
149
|
+
* "UnitPrice": 18.0000,
|
|
150
|
+
* "Discontinued": true
|
|
151
|
+
* }, {
|
|
152
|
+
* "ProductID": 2,
|
|
153
|
+
* "ProductName": "Chang",
|
|
154
|
+
* "UnitPrice": 19.0000,
|
|
155
|
+
* "Discontinued": false
|
|
156
|
+
* }
|
|
157
|
+
* ];
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export class GridComponent {
|
|
161
|
+
constructor(supportService, selectionService, cellSelectionService, wrapper, groupInfoService, groupsService, changeNotification, detailsService, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, localization, ctx) {
|
|
162
|
+
this.supportService = supportService;
|
|
163
|
+
this.selectionService = selectionService;
|
|
164
|
+
this.cellSelectionService = cellSelectionService;
|
|
165
|
+
this.wrapper = wrapper;
|
|
166
|
+
this.groupInfoService = groupInfoService;
|
|
167
|
+
this.groupsService = groupsService;
|
|
168
|
+
this.changeNotification = changeNotification;
|
|
169
|
+
this.detailsService = detailsService;
|
|
170
|
+
this.editService = editService;
|
|
171
|
+
this.filterService = filterService;
|
|
172
|
+
this.pdfService = pdfService;
|
|
173
|
+
this.responsiveService = responsiveService;
|
|
174
|
+
this.renderer = renderer;
|
|
175
|
+
this.excelService = excelService;
|
|
176
|
+
this.ngZone = ngZone;
|
|
177
|
+
this.scrollSyncService = scrollSyncService;
|
|
178
|
+
this.domEvents = domEvents;
|
|
179
|
+
this.columnResizingService = columnResizingService;
|
|
180
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
181
|
+
this.columnReorderService = columnReorderService;
|
|
182
|
+
this.columnInfoService = columnInfoService;
|
|
183
|
+
this.navigationService = navigationService;
|
|
184
|
+
this.sortService = sortService;
|
|
185
|
+
this.scrollRequestService = scrollRequestService;
|
|
186
|
+
this.localization = localization;
|
|
187
|
+
this.ctx = ctx;
|
|
188
|
+
/**
|
|
189
|
+
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
190
|
+
* ([more information and example]({% slug databinding_grid %})).
|
|
191
|
+
*/
|
|
192
|
+
this.data = [];
|
|
193
|
+
/**
|
|
194
|
+
* Defines the scroll mode used by the Grid.
|
|
195
|
+
*
|
|
196
|
+
* The available options are:
|
|
197
|
+
* - `none`—Renders no scrollbar.
|
|
198
|
+
* - `scrollable`—The default scroll mode. It requires the setting of the `height` option.
|
|
199
|
+
* - `virtual`—Displays no pager and renders a portion of the data (optimized rendering) while the user is scrolling the content.
|
|
200
|
+
*/
|
|
201
|
+
this.scrollable = 'scrollable';
|
|
202
|
+
/**
|
|
203
|
+
* Enables the single-row [selection]({% slug selection_grid %}) of the Grid.
|
|
204
|
+
*/
|
|
205
|
+
this.selectable = false;
|
|
206
|
+
/**
|
|
207
|
+
* A function that defines how to track changes for the data rows.
|
|
208
|
+
*
|
|
209
|
+
* By default, the Grid tracks changes by the index of the data item.
|
|
210
|
+
* Edited rows are tracked by reference.
|
|
211
|
+
* In some cases, you might need to override the default behavior,
|
|
212
|
+
* for example, when you implement editing with immutable data items.
|
|
213
|
+
*
|
|
214
|
+
* The following example demonstrates how to track items only by index.
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```ts
|
|
218
|
+
* import { Component } from '@angular/core';
|
|
219
|
+
* import { GridItem } from '@progress/kendo-angular-grid';
|
|
220
|
+
*
|
|
221
|
+
* _@Component({
|
|
222
|
+
* selector: 'my-app',
|
|
223
|
+
* template: `
|
|
224
|
+
* <kendo-grid [data]="gridData" [trackBy]="trackBy">
|
|
225
|
+
* </kendo-grid>
|
|
226
|
+
* `
|
|
227
|
+
* })
|
|
228
|
+
* class AppComponent {
|
|
229
|
+
* public gridData: any[] = products;
|
|
230
|
+
*
|
|
231
|
+
* public trackBy(index: number, item: GridItem): any {
|
|
232
|
+
* console.log(item);
|
|
233
|
+
* return index;
|
|
234
|
+
* }
|
|
235
|
+
* }
|
|
236
|
+
*
|
|
237
|
+
* const products = [{
|
|
238
|
+
* "ProductID": 1,
|
|
239
|
+
* "ProductName": "Chai",
|
|
240
|
+
* "UnitPrice": 18.0000,
|
|
241
|
+
* "Discontinued": true
|
|
242
|
+
* }, {
|
|
243
|
+
* "ProductID": 2,
|
|
244
|
+
* "ProductName": "Chang",
|
|
245
|
+
* "UnitPrice": 19.0000,
|
|
246
|
+
* "Discontinued": false
|
|
247
|
+
* }
|
|
248
|
+
* ];
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
this.trackBy = defaultTrackBy;
|
|
252
|
+
/**
|
|
253
|
+
* If set to `true`, the grid will render only the columns in the current viewport.
|
|
254
|
+
*/
|
|
255
|
+
this.virtualColumns = false;
|
|
256
|
+
/**
|
|
257
|
+
* Enables the [filtering]({% slug filtering_grid %}) of the Grid columns that have their `field` option set.
|
|
258
|
+
*/
|
|
259
|
+
this.filterable = false;
|
|
260
|
+
/**
|
|
261
|
+
* Enables the [sorting]({% slug sorting_grid %}) of the Grid columns that have their `field` option set.
|
|
262
|
+
*/
|
|
263
|
+
this.sortable = false;
|
|
264
|
+
/**
|
|
265
|
+
* Configures the pager of the Grid ([see example]({% slug paging_grid %})).
|
|
266
|
+
*
|
|
267
|
+
* The available options are:
|
|
268
|
+
* - `buttonCount: Number`—Sets the maximum numeric buttons count before the buttons are collapsed. Defaults to `10`.
|
|
269
|
+
* - `info: Boolean`—Toggles the information about the current page and the total number of records. Defaults to `true`.
|
|
270
|
+
* - `type: PagerType`—Accepts the `numeric` (buttons with numbers) and `input` (input for typing the page number) values. Defaults to `'numeric'`.
|
|
271
|
+
* - `pageSizes: Boolean` or `Array<number>`—Shows a menu for selecting the page size. Defaults to `false`.
|
|
272
|
+
* - `previousNext: Boolean`—Toggles the **Previous** and **Next** buttons. Defaults to `true`.
|
|
273
|
+
* - `responsive: Boolean`—Toggles the built-in responsive behavior of the Pager. Defaults to `true`.
|
|
274
|
+
*/
|
|
275
|
+
this.pageable = false;
|
|
276
|
+
/**
|
|
277
|
+
* If set to `true`, the user can group the Grid by dragging the column header cells.
|
|
278
|
+
* By default, grouping is disabled ([see example]({% slug groupingbasics_grid %})).
|
|
279
|
+
*/
|
|
280
|
+
this.groupable = false;
|
|
281
|
+
/**
|
|
282
|
+
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
283
|
+
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
284
|
+
*/
|
|
285
|
+
this.navigable = false;
|
|
286
|
+
/**
|
|
287
|
+
* Indicates whether the Grid columns will be resized during initialization so that
|
|
288
|
+
* they fit their headers and row content. Defaults to `false`.
|
|
289
|
+
* Columns with `autoSize` set to `false` are excluded.
|
|
290
|
+
* To dynamically update the column width to match the new content,
|
|
291
|
+
* refer to [this example]({% slug resizing_columns_grid %}).
|
|
292
|
+
*/
|
|
293
|
+
this.autoSize = false;
|
|
294
|
+
/**
|
|
295
|
+
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
|
296
|
+
* ([see example]({% slug resizing_columns_grid %})).
|
|
297
|
+
*
|
|
298
|
+
* @default false
|
|
299
|
+
*/
|
|
300
|
+
this.resizable = false;
|
|
301
|
+
/**
|
|
302
|
+
* If set to `true`, the user can reorder columns by dragging their header cells
|
|
303
|
+
* ([see example]({% slug reordering_columns_grid %})).
|
|
304
|
+
*
|
|
305
|
+
* @default false
|
|
306
|
+
*/
|
|
307
|
+
this.reorderable = false;
|
|
308
|
+
/**
|
|
309
|
+
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug databinding_grid %})).
|
|
310
|
+
*
|
|
311
|
+
* @default false
|
|
312
|
+
*/
|
|
313
|
+
this.loading = false;
|
|
314
|
+
/**
|
|
315
|
+
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_grid %})).
|
|
316
|
+
*
|
|
317
|
+
* @default false
|
|
318
|
+
*/
|
|
319
|
+
this.columnMenu = false;
|
|
320
|
+
/**
|
|
321
|
+
* Specifies if the header of the grid will be hidden. The header is visible by default.
|
|
322
|
+
*
|
|
323
|
+
* > The header includes column headers and the [filter row]({% slug filtering_grid %}#toc-filter-row).
|
|
324
|
+
*/
|
|
325
|
+
this.hideHeader = false;
|
|
326
|
+
/**
|
|
327
|
+
* Fires when the Grid filter is modified through the UI.
|
|
328
|
+
* You have to handle the event yourself and filter the data.
|
|
329
|
+
*/
|
|
330
|
+
this.filterChange = new EventEmitter();
|
|
331
|
+
/**
|
|
332
|
+
* Fires when the page of the Grid is changed ([see example]({% slug paging_grid %})).
|
|
333
|
+
* You have to handle the event yourself and page the data.
|
|
334
|
+
*/
|
|
335
|
+
this.pageChange = new EventEmitter();
|
|
336
|
+
/**
|
|
337
|
+
* Fires when the grouping of the Grid is changed.
|
|
338
|
+
* You have to handle the event yourself and group the data ([see example]({% slug groupingbasics_grid %})).
|
|
339
|
+
*/
|
|
340
|
+
this.groupChange = new ZoneAwareEventEmitter(this.ngZone);
|
|
341
|
+
/**
|
|
342
|
+
* Fires when the sorting of the Grid is changed ([see example]({% slug sorting_grid %})).
|
|
343
|
+
* You have to handle the event yourself and sort the data.
|
|
344
|
+
*/
|
|
345
|
+
this.sortChange = new EventEmitter();
|
|
346
|
+
/**
|
|
347
|
+
* Fires when the user selects a Grid row.
|
|
348
|
+
* Emits the [SelectionEvent]({% slug api_grid_selectionevent %}#toc-selectionchange).
|
|
349
|
+
*/
|
|
350
|
+
this.selectionChange = new EventEmitter();
|
|
351
|
+
/**
|
|
352
|
+
* Fires when the data state of the Grid is changed.
|
|
353
|
+
*/
|
|
354
|
+
this.dataStateChange = new EventEmitter();
|
|
355
|
+
/**
|
|
356
|
+
* Fires when the user expands a group header.
|
|
357
|
+
*/
|
|
358
|
+
this.groupExpand = new EventEmitter();
|
|
359
|
+
/**
|
|
360
|
+
* Fires when the user collapses a group header.
|
|
361
|
+
*/
|
|
362
|
+
this.groupCollapse = new EventEmitter();
|
|
363
|
+
/**
|
|
364
|
+
* Fires when the user expands a master row.
|
|
365
|
+
*/
|
|
366
|
+
this.detailExpand = new EventEmitter();
|
|
367
|
+
/**
|
|
368
|
+
* Fires when the user collapses a master row.
|
|
369
|
+
*/
|
|
370
|
+
this.detailCollapse = new EventEmitter();
|
|
371
|
+
/**
|
|
372
|
+
* Fires when the user clicks the **Edit** command button to edit a row
|
|
373
|
+
* ([see example]({% slug editing_template_forms_grid %}#toc-editing-records)).
|
|
374
|
+
*/
|
|
375
|
+
this.edit = new EventEmitter();
|
|
376
|
+
/**
|
|
377
|
+
* Fires when the user clicks the **Cancel** command button to close a row
|
|
378
|
+
* ([see example]({% slug editing_template_forms_grid %}#toc-cancelling-editing)).
|
|
379
|
+
*/
|
|
380
|
+
this.cancel = new EventEmitter();
|
|
381
|
+
/**
|
|
382
|
+
* Fires when the user clicks the **Save** command button to save changes in a row
|
|
383
|
+
* ([see example]({% slug editing_template_forms_grid %}#toc-saving-records)).
|
|
384
|
+
*/
|
|
385
|
+
this.save = new EventEmitter();
|
|
386
|
+
/**
|
|
387
|
+
* Fires when the user clicks the **Remove** command button to remove a row
|
|
388
|
+
* ([see example]({% slug editing_template_forms_grid %}#toc-removing-records)).
|
|
389
|
+
*/
|
|
390
|
+
this.remove = new EventEmitter();
|
|
391
|
+
/**
|
|
392
|
+
* Fires when the user clicks the **Add** command button to add a new row
|
|
393
|
+
* ([see example]({% slug editing_template_forms_grid %}#toc-adding-records)).
|
|
394
|
+
*/
|
|
395
|
+
this.add = new EventEmitter();
|
|
396
|
+
/**
|
|
397
|
+
* Fires when the user leaves an edited cell ([see example]({% slug editing_incell_grid %}#toc-basic-concepts)).
|
|
398
|
+
*/
|
|
399
|
+
this.cellClose = new EventEmitter();
|
|
400
|
+
/**
|
|
401
|
+
* Fires when the user clicks a cell ([see example]({% slug editing_incell_grid %}#toc-basic-concepts)).
|
|
402
|
+
*/
|
|
403
|
+
this.cellClick = new ZoneAwareEventEmitter(this.ngZone);
|
|
404
|
+
/**
|
|
405
|
+
* Fires when the user clicks the **Export to PDF** command button.
|
|
406
|
+
*/
|
|
407
|
+
this.pdfExport = new EventEmitter();
|
|
408
|
+
/**
|
|
409
|
+
* Fires when the user clicks the **Export to Excel** command button.
|
|
410
|
+
*/
|
|
411
|
+
this.excelExport = new EventEmitter();
|
|
412
|
+
/**
|
|
413
|
+
* Fires when the user completes the resizing of the column.
|
|
414
|
+
*/
|
|
415
|
+
this.columnResize = new ZoneAwareEventEmitter(this.ngZone);
|
|
416
|
+
/**
|
|
417
|
+
* Fires when the user completes the reordering of the column.
|
|
418
|
+
*/
|
|
419
|
+
this.columnReorder = new EventEmitter();
|
|
420
|
+
/**
|
|
421
|
+
* Fires when the user changes the visibility of the columns from the column menu or column chooser.
|
|
422
|
+
*/
|
|
423
|
+
this.columnVisibilityChange = new EventEmitter();
|
|
424
|
+
/**
|
|
425
|
+
* Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
|
|
426
|
+
*/
|
|
427
|
+
this.columnLockedChange = new EventEmitter();
|
|
428
|
+
/**
|
|
429
|
+
* Fires when the user changes the sticky state of the columns from the column menu.
|
|
430
|
+
*/
|
|
431
|
+
this.columnStickyChange = new EventEmitter();
|
|
432
|
+
/**
|
|
433
|
+
* Fires when the user scrolls to the last record on the page and enables endless scrolling
|
|
434
|
+
* ([see example]({% slug scrollmmodes_grid %}#toc-endless-scrolling)).
|
|
435
|
+
* You have to handle the event yourself and page the data.
|
|
436
|
+
*/
|
|
437
|
+
this.scrollBottom = new EventEmitter();
|
|
438
|
+
/**
|
|
439
|
+
* Fires when the grid content is scrolled.
|
|
440
|
+
* For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
|
|
441
|
+
*/
|
|
442
|
+
this.contentScroll = new EventEmitter();
|
|
443
|
+
/**
|
|
444
|
+
* A query list of all declared columns.
|
|
445
|
+
*/
|
|
446
|
+
this.columns = new QueryList();
|
|
447
|
+
this.footer = new QueryList();
|
|
448
|
+
this.selectionDirective = false;
|
|
449
|
+
this.columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
|
|
450
|
+
column.matchesMedia = this.matchesMedia(column);
|
|
451
|
+
return column.isVisible;
|
|
452
|
+
}));
|
|
453
|
+
this.view = new DataCollection(() => new DataResultIterator(this.data, this.skip, this.hasGroupFooters));
|
|
454
|
+
this.shouldGenerateColumns = true;
|
|
455
|
+
this._sort = new Array();
|
|
456
|
+
this._group = new Array();
|
|
457
|
+
this._skip = 0;
|
|
458
|
+
this.cachedWindowWidth = 0;
|
|
459
|
+
this._rowSelected = null;
|
|
460
|
+
this._cellSelected = null;
|
|
461
|
+
this.rtl = false;
|
|
462
|
+
this._rowClass = () => null;
|
|
463
|
+
validatePackage(packageMetadata);
|
|
464
|
+
this.ctx.grid = this;
|
|
465
|
+
this.localizationSubscription = this.localization.changes.subscribe(({ rtl }) => {
|
|
466
|
+
this.rtl = rtl;
|
|
467
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
468
|
+
});
|
|
469
|
+
this.groupInfoService.registerColumnsContainer(() => this.columnList);
|
|
470
|
+
this.columnInfoService.init(this.columnsContainer, () => this.columnList);
|
|
471
|
+
this.columnVisibilityChangeSubscription = this.columnInfoService.visibilityChange.subscribe((changed) => {
|
|
472
|
+
this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
|
|
473
|
+
});
|
|
474
|
+
this.columnLockedChangeSubscription = this.columnInfoService.lockedChange.subscribe((changed) => {
|
|
475
|
+
this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
|
|
476
|
+
});
|
|
477
|
+
this.columnStickyChangeSubscription = this.columnInfoService.stickyChange.subscribe((changed) => {
|
|
478
|
+
this.columnStickyChange.emit(new ColumnStickyChangeEvent(changed));
|
|
479
|
+
});
|
|
480
|
+
this.groupExpandCollapseSubscription = handleExpandCollapseGroupsService(groupsService, this.groupExpand, this.groupCollapse, ({ group, groupIndex, parentGroup }) => ({ group, groupIndex, parentGroup }));
|
|
481
|
+
this.detailsServiceSubscription = handleExpandCollapseDetailsService(detailsService, this.detailExpand, this.detailCollapse, args => args);
|
|
482
|
+
this.filterSubscription = this.filterService.changes.subscribe(x => {
|
|
483
|
+
this.filterChange.emit(x);
|
|
484
|
+
});
|
|
485
|
+
this.sortSubscription = this.sortService.changes.subscribe(x => {
|
|
486
|
+
this.sortChange.emit(x);
|
|
487
|
+
});
|
|
488
|
+
this.attachStateChangesEmitter();
|
|
489
|
+
this.attachEditHandlers();
|
|
490
|
+
this.attachDomEventHandlers();
|
|
491
|
+
this.pdfSubscription = this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this));
|
|
492
|
+
this.excelSubscription = this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this));
|
|
493
|
+
this.columnsContainerChange();
|
|
494
|
+
this.handleColumnResize();
|
|
495
|
+
this.columnList = new ColumnList(this.columns);
|
|
496
|
+
this.columnReorderSubscription = this.columnReorderService
|
|
497
|
+
.changes.subscribe(this.reorder.bind(this));
|
|
498
|
+
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Defines the number of records to be skipped by the pager.
|
|
502
|
+
* Required by the [paging]({% slug paging_grid %}) functionality.
|
|
503
|
+
*/
|
|
504
|
+
get skip() {
|
|
505
|
+
return this._skip;
|
|
506
|
+
}
|
|
507
|
+
set skip(value) {
|
|
508
|
+
if (typeof value === 'number' && value >= 0) {
|
|
509
|
+
this._skip = value;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* The descriptors by which the data will be sorted ([see example]({% slug sorting_grid %})).
|
|
514
|
+
*/
|
|
515
|
+
set sort(value) {
|
|
516
|
+
if (isArray(value)) {
|
|
517
|
+
this._sort = value;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
get sort() {
|
|
521
|
+
return this._sort;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* The descriptors by which the data will be grouped ([see example]({% slug groupingbasics_grid %})).
|
|
525
|
+
*/
|
|
526
|
+
set group(value) {
|
|
527
|
+
if (isArray(value)) {
|
|
528
|
+
this._group = value;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
*/
|
|
533
|
+
get group() {
|
|
534
|
+
return this._group;
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* @hidden
|
|
538
|
+
*/
|
|
539
|
+
get showTopToolbar() {
|
|
540
|
+
return this.toolbarTemplate && ['top', 'both'].indexOf(this.toolbarTemplate.position) > -1;
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* @hidden
|
|
544
|
+
*/
|
|
545
|
+
get showBottomToolbar() {
|
|
546
|
+
return this.toolbarTemplate && ['bottom', 'both'].indexOf(this.toolbarTemplate.position) > -1;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* @hidden
|
|
550
|
+
*/
|
|
551
|
+
get isLocked() {
|
|
552
|
+
return this.lockedLeafColumns.length > 0;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* @hidden
|
|
556
|
+
*/
|
|
557
|
+
get showTopPager() {
|
|
558
|
+
const position = this.pageable.position;
|
|
559
|
+
return !this.isVirtual && this.pageable !== false && ['top', 'both'].indexOf(position) > -1;
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* @hidden
|
|
563
|
+
*/
|
|
564
|
+
get showBottomPager() {
|
|
565
|
+
const position = this.pageable.position;
|
|
566
|
+
return !this.isVirtual && this.pageable !== false && position !== 'top';
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* @hidden
|
|
570
|
+
*/
|
|
571
|
+
get hasPager() {
|
|
572
|
+
return this.showTopPager || this.showBottomPager;
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* @hidden
|
|
576
|
+
*/
|
|
577
|
+
get showGroupPanel() {
|
|
578
|
+
return this.groupable && this.groupable.enabled !== false;
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* @hidden
|
|
582
|
+
*/
|
|
583
|
+
get groupableEmptyText() {
|
|
584
|
+
return this.groupable.emptyText;
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* @hidden
|
|
588
|
+
*/
|
|
589
|
+
get marqueeSelection() {
|
|
590
|
+
return this.selectionService.enableMarquee || this.cellSelectionService.enableMarquee;
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* @hidden
|
|
594
|
+
*
|
|
595
|
+
* An alias for `navigable` for users who migrate from Kendo UI for jQuery.
|
|
596
|
+
*/
|
|
597
|
+
set navigatable(value) {
|
|
598
|
+
this.navigable = value;
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* @hidden
|
|
602
|
+
*/
|
|
603
|
+
get navigatable() {
|
|
604
|
+
return this.navigable;
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* Defines a function that is executed for every data row in the component.
|
|
608
|
+
*
|
|
609
|
+
* @example
|
|
610
|
+
* ```ts
|
|
611
|
+
* import { Component, ViewEncapsulation } from '@angular/core';
|
|
612
|
+
* import { RowClassArgs } from '@progress/kendo-angular-grid';
|
|
613
|
+
*
|
|
614
|
+
* _@Component({
|
|
615
|
+
* selector: 'my-app',
|
|
616
|
+
* encapsulation: ViewEncapsulation.None,
|
|
617
|
+
* styles: [`
|
|
618
|
+
* .k-grid tr.even { background-color: #f45c42; }
|
|
619
|
+
* .k-grid tr.odd { background-color: #41f4df; }
|
|
620
|
+
* `],
|
|
621
|
+
* template: `
|
|
622
|
+
* <kendo-grid [data]="gridData" [rowClass]="rowCallback">
|
|
623
|
+
* </kendo-grid>
|
|
624
|
+
* `
|
|
625
|
+
* })
|
|
626
|
+
* class AppComponent {
|
|
627
|
+
* public gridData: any[] = products;
|
|
628
|
+
*
|
|
629
|
+
* public rowCallback(context: RowClassArgs) {
|
|
630
|
+
* const isEven = context.index % 2 === 0;
|
|
631
|
+
* return {
|
|
632
|
+
* even: isEven,
|
|
633
|
+
* odd: !isEven
|
|
634
|
+
* };
|
|
635
|
+
* }
|
|
636
|
+
* }
|
|
637
|
+
*
|
|
638
|
+
* const products = [{
|
|
639
|
+
* "ProductID": 1,
|
|
640
|
+
* "ProductName": "Chai",
|
|
641
|
+
* "UnitPrice": 18.0000,
|
|
642
|
+
* "Discontinued": true
|
|
643
|
+
* }, {
|
|
644
|
+
* "ProductID": 2,
|
|
645
|
+
* "ProductName": "Chang",
|
|
646
|
+
* "UnitPrice": 19.0000,
|
|
647
|
+
* "Discontinued": false
|
|
648
|
+
* }
|
|
649
|
+
* ];
|
|
650
|
+
* ```
|
|
651
|
+
*/
|
|
652
|
+
set rowClass(fn) {
|
|
653
|
+
if (isDevMode && typeof fn !== 'function') {
|
|
654
|
+
throw new Error(`rowClass must be a function, but received ${JSON.stringify(fn)}.`);
|
|
655
|
+
}
|
|
656
|
+
this._rowClass = fn;
|
|
657
|
+
}
|
|
658
|
+
get rowClass() {
|
|
659
|
+
return this._rowClass;
|
|
660
|
+
}
|
|
661
|
+
/**
|
|
662
|
+
* Defines a function that is executed for every data row in the component,
|
|
663
|
+
* and determines whether the row will be sticky, i.e. always visible after scrolling.
|
|
664
|
+
*/
|
|
665
|
+
set rowSticky(fn) {
|
|
666
|
+
if (isDevMode && isPresent(fn) && typeof fn !== 'function') {
|
|
667
|
+
throw new Error(`rowSticky must be a function, but received ${JSON.stringify(fn)}.`);
|
|
668
|
+
}
|
|
669
|
+
if (isPresent(fn)) {
|
|
670
|
+
this._rowSticky = fn;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
get rowSticky() {
|
|
674
|
+
return this._rowSticky;
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* Defines a Boolean function that is executed for each data row in the component
|
|
678
|
+
* ([see example]({% slug grid_selection_custom %}#toc-setting-the-selected-rows)).
|
|
679
|
+
* Determines whether the row will be selected.
|
|
680
|
+
*/
|
|
681
|
+
set rowSelected(fn) {
|
|
682
|
+
if (isDevMode && typeof fn !== 'function') {
|
|
683
|
+
throw new Error(`rowSelected must be a function, but received ${JSON.stringify(fn)}.`);
|
|
684
|
+
}
|
|
685
|
+
this._rowSelected = fn;
|
|
686
|
+
}
|
|
687
|
+
get rowSelected() {
|
|
688
|
+
return this._rowSelected;
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Defines a function that determines the selected state of a data cell.
|
|
692
|
+
* Returns an object with `selected` and `item` properties.
|
|
693
|
+
* The cell is marked as selected only if the `selected` property equals `true`.
|
|
694
|
+
*
|
|
695
|
+
* The function is executed for each data cell and may be called more than once
|
|
696
|
+
* as part of a change detection cycle. ([see example]({% slug grid_selection_custom %}#toc-setting-the-selected-cells))
|
|
697
|
+
*/
|
|
698
|
+
set cellSelected(fn) {
|
|
699
|
+
if (isDevMode && typeof fn !== 'function') {
|
|
700
|
+
throw new Error(`cellSelected must be a function, but received ${JSON.stringify(fn)}.`);
|
|
701
|
+
}
|
|
702
|
+
this._cellSelected = fn;
|
|
703
|
+
}
|
|
704
|
+
get cellSelected() {
|
|
705
|
+
return this._cellSelected;
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* Returns the currently focused cell (if any).
|
|
709
|
+
*/
|
|
710
|
+
get activeCell() {
|
|
711
|
+
return this.navigationService.activeCell;
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* Returns the currently focused row (if any).
|
|
715
|
+
*/
|
|
716
|
+
get activeRow() {
|
|
717
|
+
return this.navigationService.activeRow;
|
|
718
|
+
}
|
|
719
|
+
get dir() {
|
|
720
|
+
return this.direction;
|
|
721
|
+
}
|
|
722
|
+
get hostClasses() {
|
|
723
|
+
return true;
|
|
724
|
+
}
|
|
725
|
+
get lockedClasses() {
|
|
726
|
+
return this.lockedLeafColumns.length > 0;
|
|
727
|
+
}
|
|
728
|
+
get virtualClasses() {
|
|
729
|
+
return this.isVirtual;
|
|
730
|
+
}
|
|
731
|
+
get noScrollbarClass() {
|
|
732
|
+
return this.scrollbarWidth === 0;
|
|
733
|
+
}
|
|
734
|
+
get detailTemplate() {
|
|
735
|
+
if (this._customDetailTemplate) {
|
|
736
|
+
return this._customDetailTemplate;
|
|
737
|
+
}
|
|
738
|
+
return this.detailTemplateChildren ? this.detailTemplateChildren.first : undefined;
|
|
739
|
+
}
|
|
740
|
+
set detailTemplate(detailTemplate) {
|
|
741
|
+
this._customDetailTemplate = detailTemplate;
|
|
742
|
+
}
|
|
743
|
+
get cellLoadingTemplate() {
|
|
744
|
+
if (this._cellLoadingTemplate) {
|
|
745
|
+
return this._customDetailTemplate;
|
|
746
|
+
}
|
|
747
|
+
return this.cellLoadingTemplateChildren ? this.cellLoadingTemplateChildren.first : undefined;
|
|
748
|
+
}
|
|
749
|
+
set cellLoadingTemplate(cellLoadingTemplate) {
|
|
750
|
+
this._cellLoadingTemplate = cellLoadingTemplate;
|
|
751
|
+
}
|
|
752
|
+
get loadingTemplate() {
|
|
753
|
+
if (this._loadingTemplate) {
|
|
754
|
+
return this._loadingTemplate;
|
|
755
|
+
}
|
|
756
|
+
return this.loadingTemplateChildren ? this.loadingTemplateChildren.first : undefined;
|
|
757
|
+
}
|
|
758
|
+
set loadingTemplate(loadingTemplate) {
|
|
759
|
+
this._loadingTemplate = loadingTemplate;
|
|
760
|
+
}
|
|
761
|
+
get noRecordsTemplate() {
|
|
762
|
+
if (this._customNoRecordsTemplate) {
|
|
763
|
+
return this._customNoRecordsTemplate;
|
|
764
|
+
}
|
|
765
|
+
return this.noRecordsTemplateChildren ? this.noRecordsTemplateChildren.first : undefined;
|
|
766
|
+
}
|
|
767
|
+
set noRecordsTemplate(customNoRecordsTemplate) {
|
|
768
|
+
this._customNoRecordsTemplate = customNoRecordsTemplate;
|
|
769
|
+
}
|
|
770
|
+
get pagerTemplate() {
|
|
771
|
+
if (this._customPagerTemplate) {
|
|
772
|
+
return this._customPagerTemplate;
|
|
773
|
+
}
|
|
774
|
+
return this.pagerTemplateChildren ? this.pagerTemplateChildren.first : undefined;
|
|
775
|
+
}
|
|
776
|
+
set pagerTemplate(customPagerTemplate) {
|
|
777
|
+
this._customPagerTemplate = customPagerTemplate;
|
|
778
|
+
}
|
|
779
|
+
get toolbarTemplate() {
|
|
780
|
+
if (this._customToolbarTemplate) {
|
|
781
|
+
return this._customToolbarTemplate;
|
|
782
|
+
}
|
|
783
|
+
return this.toolbarTemplateChildren ? this.toolbarTemplateChildren.first : undefined;
|
|
784
|
+
}
|
|
785
|
+
set toolbarTemplate(customToolbarTemplate) {
|
|
786
|
+
this._customToolbarTemplate = customToolbarTemplate;
|
|
787
|
+
}
|
|
788
|
+
get scrollbarWidth() {
|
|
789
|
+
return this.supportService.scrollbarWidth;
|
|
790
|
+
}
|
|
791
|
+
get headerPadding() {
|
|
792
|
+
if (isUniversal()) {
|
|
793
|
+
return "";
|
|
794
|
+
}
|
|
795
|
+
const padding = Math.max(0, this.scrollbarWidth) + 'px';
|
|
796
|
+
const right = this.rtl ? 0 : padding;
|
|
797
|
+
const left = this.rtl ? padding : 0;
|
|
798
|
+
return `0 ${right} 0 ${left}`;
|
|
799
|
+
}
|
|
800
|
+
get hasGroupFooters() {
|
|
801
|
+
return this.columnsContainer.hasGroupFooter;
|
|
802
|
+
}
|
|
803
|
+
get showFooter() {
|
|
804
|
+
return this.columnsContainer.hasFooter;
|
|
805
|
+
}
|
|
806
|
+
get showGroupFooters() {
|
|
807
|
+
return this.groupable && this.groupable.showFooter;
|
|
808
|
+
}
|
|
809
|
+
get ariaRowCount() {
|
|
810
|
+
return this.totalColumnLevels + 1 + this.view.total;
|
|
811
|
+
}
|
|
812
|
+
get ariaColCount() {
|
|
813
|
+
return this.columnsContainer.leafColumnsToRender.length;
|
|
814
|
+
}
|
|
815
|
+
get isVirtual() {
|
|
816
|
+
return this.scrollable === 'virtual';
|
|
817
|
+
}
|
|
818
|
+
get isScrollable() {
|
|
819
|
+
return this.scrollable !== 'none';
|
|
820
|
+
}
|
|
821
|
+
get visibleColumns() {
|
|
822
|
+
return this.columnsContainer.allColumns;
|
|
823
|
+
}
|
|
824
|
+
get lockedColumns() {
|
|
825
|
+
return this.columnsContainer.lockedColumns;
|
|
826
|
+
}
|
|
827
|
+
get nonLockedColumns() {
|
|
828
|
+
return this.columnsContainer.nonLockedColumns;
|
|
829
|
+
}
|
|
830
|
+
get lockedLeafColumns() {
|
|
831
|
+
return this.columnsContainer.lockedLeafColumns;
|
|
832
|
+
}
|
|
833
|
+
get stickyColumns() {
|
|
834
|
+
return this.columns.filter(column => column.sticky);
|
|
835
|
+
}
|
|
836
|
+
get nonLockedLeafColumns() {
|
|
837
|
+
return this.columnsContainer.nonLockedLeafColumns;
|
|
838
|
+
}
|
|
839
|
+
get leafColumns() {
|
|
840
|
+
return this.columnsContainer.leafColumns;
|
|
841
|
+
}
|
|
842
|
+
get totalColumnLevels() {
|
|
843
|
+
return this.columnsContainer.totalLevels;
|
|
844
|
+
}
|
|
845
|
+
get headerColumns() {
|
|
846
|
+
if (this.virtualColumns && !this.pdfService.exporting) {
|
|
847
|
+
return this.viewportColumns;
|
|
848
|
+
}
|
|
849
|
+
return this.nonLockedColumns;
|
|
850
|
+
}
|
|
851
|
+
get headerLeafColumns() {
|
|
852
|
+
if (this.virtualColumns && !this.pdfService.exporting) {
|
|
853
|
+
return this.leafViewportColumns;
|
|
854
|
+
}
|
|
855
|
+
return this.nonLockedLeafColumns;
|
|
856
|
+
}
|
|
857
|
+
get lockedWidth() {
|
|
858
|
+
const groupCellsWidth = this.group.length * GROUP_CELL_WIDTH;
|
|
859
|
+
return expandColumns(this.lockedLeafColumns.toArray()).reduce((prev, curr) => prev + (curr.width || 0), groupCellsWidth);
|
|
860
|
+
}
|
|
861
|
+
get nonLockedWidth() {
|
|
862
|
+
if ((!this.rtl && this.lockedLeafColumns.length) || this.virtualColumns) {
|
|
863
|
+
return !this.virtualColumns ? this.columnsContainer.unlockedWidth :
|
|
864
|
+
this.leafViewportColumns.reduce((acc, column) => acc + (column.width || 0), 0);
|
|
865
|
+
}
|
|
866
|
+
return undefined;
|
|
867
|
+
}
|
|
868
|
+
get selectableSettings() {
|
|
869
|
+
if (this.selectionService) {
|
|
870
|
+
return this.selectionService.options;
|
|
871
|
+
}
|
|
872
|
+
return undefined;
|
|
873
|
+
}
|
|
874
|
+
get columnMenuTemplate() {
|
|
875
|
+
const template = this.columnMenuTemplates.first;
|
|
876
|
+
return template ? template.templateRef : null;
|
|
877
|
+
}
|
|
878
|
+
get totalCount() {
|
|
879
|
+
if (this.isVirtual || !isPresent(this.pageSize)) {
|
|
880
|
+
return this.view.total;
|
|
881
|
+
}
|
|
882
|
+
return this.pageSize;
|
|
883
|
+
}
|
|
884
|
+
/**
|
|
885
|
+
* Expands the specified master row ([see example]({% slug hierarchy_grid %})).
|
|
886
|
+
*
|
|
887
|
+
* This method is provided only for backwards-compatibility with legacy versions.
|
|
888
|
+
* These versions tracked the expanded state internally using the data row index.
|
|
889
|
+
*
|
|
890
|
+
* For new development, use the [kendoGridDetailsExpandBy directive]({% slug api_grid_expanddetailsdirective %})
|
|
891
|
+
* or provide an isDetailExpanded callback. See [Controlling the Expanded State]({% slug master_detail_expanded_state_grid %})
|
|
892
|
+
* for examples on how to control the expanded state.
|
|
893
|
+
*
|
|
894
|
+
* @param index - The data row index of the master row.
|
|
895
|
+
*/
|
|
896
|
+
expandRow(index) {
|
|
897
|
+
this.toggleDetailRowLegacy(index, true);
|
|
898
|
+
}
|
|
899
|
+
/**
|
|
900
|
+
* Collapses the specified master row ([see example]({% slug hierarchy_grid %})).
|
|
901
|
+
*
|
|
902
|
+
* This method is provided only for backwards-compatibility with legacy versions.
|
|
903
|
+
* These versions tracked the expanded state internally using the data row index.
|
|
904
|
+
*
|
|
905
|
+
* For new development, use the [kendoGridDetailsExpandBy directive]({% slug api_grid_expanddetailsdirective %})
|
|
906
|
+
* or provide an isDetailExpanded callback. See [Controlling the Expanded State]({% slug master_detail_expanded_state_grid %})
|
|
907
|
+
* for examples on how to control the expanded state.
|
|
908
|
+
*
|
|
909
|
+
* @param index - The data row index of the master row.
|
|
910
|
+
*/
|
|
911
|
+
collapseRow(index) {
|
|
912
|
+
this.toggleDetailRowLegacy(index, false);
|
|
913
|
+
}
|
|
914
|
+
/**
|
|
915
|
+
* Expands a group header item for the given index. For example,
|
|
916
|
+
* `0_1` expands the second inner group of the first master group.
|
|
917
|
+
*
|
|
918
|
+
* This method is provided only for backwards-compatibility with legacy versions.
|
|
919
|
+
* These versions tracked the expanded group state internally using the hierarchical group index.
|
|
920
|
+
*
|
|
921
|
+
* > * When you use the [kendoGridGroupBinding]({% slug api_grid_groupbindingdirective %}) directive,
|
|
922
|
+
* > the `expandGroup` method is not supported.
|
|
923
|
+
* > * When a Grid is pageable, the indexes of the groups are offset by the current Grid [skip]({% slug api_grid_gridcomponent %}#toc-skip).
|
|
924
|
+
*
|
|
925
|
+
* @param {string} index - The underscore separated hierarchical index of the group.
|
|
926
|
+
*/
|
|
927
|
+
expandGroup(index) {
|
|
928
|
+
this.toggleGroupRowLegacy(index, true);
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* Collapses a group header item for the given index. For example,
|
|
932
|
+
* `0_1` collapses the second inner group of the first master group.
|
|
933
|
+
*
|
|
934
|
+
* This method is provided only for backwards-compatibility with legacy versions.
|
|
935
|
+
* These versions tracked the expanded group state internally using the hierarchical group index.
|
|
936
|
+
*
|
|
937
|
+
* > * When you use the [kendoGridGroupBinding]({% slug api_grid_groupbindingdirective %}) directive,
|
|
938
|
+
* > the `collapseGroup` method is not supported.
|
|
939
|
+
* > * When a Grid is pageable, the indexes of the groups are offset by the current Grid [skip]({% slug api_grid_gridcomponent %}#toc-skip).
|
|
940
|
+
*
|
|
941
|
+
* @param {string} index - The underscore separated hierarchical index of the group.
|
|
942
|
+
*/
|
|
943
|
+
collapseGroup(index) {
|
|
944
|
+
this.toggleGroupRowLegacy(index, false);
|
|
945
|
+
}
|
|
946
|
+
/**
|
|
947
|
+
* @hidden
|
|
948
|
+
*/
|
|
949
|
+
resetGroupsState() {
|
|
950
|
+
this.groupsService.reset();
|
|
951
|
+
}
|
|
952
|
+
/**
|
|
953
|
+
* @hidden
|
|
954
|
+
*/
|
|
955
|
+
expandGroupChildren(groupIndex) {
|
|
956
|
+
this.groupsService.expandChildren(groupIndex);
|
|
957
|
+
}
|
|
958
|
+
/**
|
|
959
|
+
* @hidden
|
|
960
|
+
*/
|
|
961
|
+
onDataChange() {
|
|
962
|
+
this.autoGenerateColumns();
|
|
963
|
+
this.changeNotification.notify();
|
|
964
|
+
this.pdfService.dataChanged.emit();
|
|
965
|
+
if (isPresent(this.defaultSelection)) {
|
|
966
|
+
this.defaultSelection.reset();
|
|
967
|
+
}
|
|
968
|
+
this.initSelectionService();
|
|
969
|
+
this.updateNavigationMetadata();
|
|
970
|
+
}
|
|
971
|
+
ngOnChanges(changes) {
|
|
972
|
+
if (isChanged("data", changes)) {
|
|
973
|
+
this.onDataChange();
|
|
974
|
+
}
|
|
975
|
+
if (this.lockedLeafColumns.length && anyChanged(["pageSize", "skip", "sort", "group"], changes)) {
|
|
976
|
+
this.changeNotification.notify();
|
|
977
|
+
}
|
|
978
|
+
if (anyChanged(["pageSize", "scrollable", 'virtualColumns'], changes)) {
|
|
979
|
+
this.updateNavigationMetadata();
|
|
980
|
+
}
|
|
981
|
+
if (isChanged("virtualColumns", changes)) {
|
|
982
|
+
this.viewportColumns = this.leafViewportColumns = null;
|
|
983
|
+
}
|
|
984
|
+
if (isChanged("height", changes, false)) {
|
|
985
|
+
this.renderer.setStyle(this.wrapper.nativeElement, 'height', `${this.height}px`);
|
|
986
|
+
}
|
|
987
|
+
if (isChanged("filterable", changes) && this.lockedColumns.length) {
|
|
988
|
+
this.syncHeaderHeight(this.ngZone.onStable.asObservable().pipe(take(1)));
|
|
989
|
+
}
|
|
990
|
+
if (anyChanged(["columnMenu", "sortable", "filterable"], changes, false)) {
|
|
991
|
+
this.columnMenuOptions = this.columnMenu && Object.assign({
|
|
992
|
+
filter: Boolean(this.filterable),
|
|
993
|
+
sort: Boolean(this.sortable)
|
|
994
|
+
}, this.columnMenu);
|
|
995
|
+
}
|
|
996
|
+
if (isChanged("scrollable", changes) && this.isScrollable) {
|
|
997
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => this.attachScrollSync());
|
|
998
|
+
}
|
|
999
|
+
if (isChanged("selectable", changes) && this.shouldResetSelection(changes.selectable)) {
|
|
1000
|
+
if (this.defaultSelection) {
|
|
1001
|
+
this.defaultSelection.reset();
|
|
1002
|
+
}
|
|
1003
|
+
else if (this.selectionDirective) {
|
|
1004
|
+
this.selectionDirective.reset();
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
if (isChanged('groupable', changes, true)) {
|
|
1008
|
+
this.groupable = changes.groupable.currentValue;
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
ngAfterViewInit() {
|
|
1012
|
+
this.attachScrollSync();
|
|
1013
|
+
this.attachElementEventHandlers();
|
|
1014
|
+
this.updateNavigationMetadata();
|
|
1015
|
+
this.applyAutoSize();
|
|
1016
|
+
}
|
|
1017
|
+
ngAfterContentChecked() {
|
|
1018
|
+
this.columnsContainer.refresh();
|
|
1019
|
+
this.verifySettings();
|
|
1020
|
+
this.initSelectionService();
|
|
1021
|
+
}
|
|
1022
|
+
ngAfterContentInit() {
|
|
1023
|
+
this.shouldGenerateColumns = !this.columns.length;
|
|
1024
|
+
this.autoGenerateColumns();
|
|
1025
|
+
this.columnList = new ColumnList(this.columns);
|
|
1026
|
+
this.columnsChangeSubscription = this.columns.changes.subscribe(() => this.verifySettings());
|
|
1027
|
+
}
|
|
1028
|
+
ngOnInit() {
|
|
1029
|
+
if (this.navigable) {
|
|
1030
|
+
this.navigationService.init(this.navigationMetadata());
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
ngOnDestroy() {
|
|
1034
|
+
if (this.selectionSubscription) {
|
|
1035
|
+
this.selectionSubscription.unsubscribe();
|
|
1036
|
+
}
|
|
1037
|
+
if (this.stateChangeSubscription) {
|
|
1038
|
+
this.stateChangeSubscription.unsubscribe();
|
|
1039
|
+
}
|
|
1040
|
+
if (this.groupExpandCollapseSubscription) {
|
|
1041
|
+
this.groupExpandCollapseSubscription.unsubscribe();
|
|
1042
|
+
}
|
|
1043
|
+
if (this.detailsServiceSubscription) {
|
|
1044
|
+
this.detailsServiceSubscription.unsubscribe();
|
|
1045
|
+
}
|
|
1046
|
+
if (this.editServiceSubscription) {
|
|
1047
|
+
this.editServiceSubscription.unsubscribe();
|
|
1048
|
+
}
|
|
1049
|
+
if (this.pdfSubscription) {
|
|
1050
|
+
this.pdfSubscription.unsubscribe();
|
|
1051
|
+
}
|
|
1052
|
+
if (this.filterSubscription) {
|
|
1053
|
+
this.filterSubscription.unsubscribe();
|
|
1054
|
+
}
|
|
1055
|
+
if (this.sortSubscription) {
|
|
1056
|
+
this.sortSubscription.unsubscribe();
|
|
1057
|
+
}
|
|
1058
|
+
if (this.columnsChangeSubscription) {
|
|
1059
|
+
this.columnsChangeSubscription.unsubscribe();
|
|
1060
|
+
}
|
|
1061
|
+
if (this.excelSubscription) {
|
|
1062
|
+
this.excelSubscription.unsubscribe();
|
|
1063
|
+
}
|
|
1064
|
+
if (this.columnsContainerChangeSubscription) {
|
|
1065
|
+
this.columnsContainerChangeSubscription.unsubscribe();
|
|
1066
|
+
}
|
|
1067
|
+
if (this.scrollSyncService) {
|
|
1068
|
+
this.scrollSyncService.destroy();
|
|
1069
|
+
}
|
|
1070
|
+
if (this.detachElementEventHandlers) {
|
|
1071
|
+
this.detachElementEventHandlers();
|
|
1072
|
+
}
|
|
1073
|
+
if (this.defaultSelection) {
|
|
1074
|
+
this.defaultSelection.destroy();
|
|
1075
|
+
}
|
|
1076
|
+
if (this.cellClickSubscription) {
|
|
1077
|
+
this.cellClickSubscription.unsubscribe();
|
|
1078
|
+
}
|
|
1079
|
+
if (this.footerChangeSubscription) {
|
|
1080
|
+
this.footerChangeSubscription.unsubscribe();
|
|
1081
|
+
}
|
|
1082
|
+
this.ngZone = null;
|
|
1083
|
+
if (this.columnResizingSubscription) {
|
|
1084
|
+
this.columnResizingSubscription.unsubscribe();
|
|
1085
|
+
}
|
|
1086
|
+
if (this.columnReorderSubscription) {
|
|
1087
|
+
this.columnReorderSubscription.unsubscribe();
|
|
1088
|
+
}
|
|
1089
|
+
if (this.localizationSubscription) {
|
|
1090
|
+
this.localizationSubscription.unsubscribe();
|
|
1091
|
+
}
|
|
1092
|
+
if (this.columnVisibilityChangeSubscription) {
|
|
1093
|
+
this.columnVisibilityChangeSubscription.unsubscribe();
|
|
1094
|
+
}
|
|
1095
|
+
if (this.columnLockedChangeSubscription) {
|
|
1096
|
+
this.columnLockedChangeSubscription.unsubscribe();
|
|
1097
|
+
}
|
|
1098
|
+
if (this.columnStickyChangeSubscription) {
|
|
1099
|
+
this.columnStickyChangeSubscription.unsubscribe();
|
|
1100
|
+
}
|
|
1101
|
+
if (this.focusElementSubscription) {
|
|
1102
|
+
this.focusElementSubscription.unsubscribe();
|
|
1103
|
+
}
|
|
1104
|
+
this.columnRangeChangeSubscription.unsubscribe();
|
|
1105
|
+
}
|
|
1106
|
+
/**
|
|
1107
|
+
* @hidden
|
|
1108
|
+
*/
|
|
1109
|
+
attachScrollSync() {
|
|
1110
|
+
if (isUniversal()) {
|
|
1111
|
+
return;
|
|
1112
|
+
}
|
|
1113
|
+
if (this.header) {
|
|
1114
|
+
this.scrollSyncService.registerEmitter(this.header.nativeElement, "header");
|
|
1115
|
+
}
|
|
1116
|
+
if (this.footer) {
|
|
1117
|
+
this.footerChangeSubscription = observe(this.footer)
|
|
1118
|
+
.subscribe(footers => footers
|
|
1119
|
+
.map(footer => footer.nativeElement)
|
|
1120
|
+
.filter(isPresent)
|
|
1121
|
+
.forEach(element => this.scrollSyncService.registerEmitter(element, "footer")));
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
/**
|
|
1125
|
+
* @hidden
|
|
1126
|
+
*/
|
|
1127
|
+
get ariaLabel() {
|
|
1128
|
+
return this.localization.get('gridLabel');
|
|
1129
|
+
}
|
|
1130
|
+
/**
|
|
1131
|
+
* Switches the specified table row in the edit mode ([see example]({% slug editing_template_forms_grid %}#toc-editing-records)).
|
|
1132
|
+
*
|
|
1133
|
+
* @param rowIndex - The data row index that will be switched in the edit mode.
|
|
1134
|
+
* @param group - The [FormGroup]({{ site.data.urls.angular['formgroupapi'] }})
|
|
1135
|
+
* that describes the edit form.
|
|
1136
|
+
* @param options - Additional options configuring the focus target once the editor opens.
|
|
1137
|
+
*/
|
|
1138
|
+
editRow(rowIndex, group, options) {
|
|
1139
|
+
this.editService.editRow(rowIndex, group);
|
|
1140
|
+
if (isPresent(options) && options.skipFocus) {
|
|
1141
|
+
return;
|
|
1142
|
+
}
|
|
1143
|
+
const row = `tr[data-kendo-grid-item-index="${rowIndex}"]`;
|
|
1144
|
+
const columnIndex = options && options.columnIndex;
|
|
1145
|
+
const target = isNaN(columnIndex) ? row : `${row} td[data-kendo-grid-column-index="${columnIndex}"]`;
|
|
1146
|
+
this.focusEditElement(target);
|
|
1147
|
+
}
|
|
1148
|
+
/**
|
|
1149
|
+
* Closes the editor for a given row ([see example]({% slug editing_template_forms_grid %}#toc-cancelling-editing)).
|
|
1150
|
+
*
|
|
1151
|
+
* @param {number} index - The row index that will be switched out of the edit mode. If no index is provided, it is assumed
|
|
1152
|
+
* that the new item editor will be closed.
|
|
1153
|
+
*/
|
|
1154
|
+
closeRow(index) {
|
|
1155
|
+
this.editService.close(index);
|
|
1156
|
+
}
|
|
1157
|
+
/**
|
|
1158
|
+
* Creates a new row editor ([see example]({% slug editing_template_forms_grid %}#toc-adding-records)).
|
|
1159
|
+
*
|
|
1160
|
+
* @param {FormGroup} group - The [FormGroup]({{ site.data.urls.angular['formgroupapi'] }}) that describes
|
|
1161
|
+
* the edit form. If called with a data item, it will build the `FormGroup` from the data item fields.
|
|
1162
|
+
*/
|
|
1163
|
+
addRow(group) {
|
|
1164
|
+
const isFormGroup = group instanceof FormGroup;
|
|
1165
|
+
if (!isFormGroup) {
|
|
1166
|
+
const fields = Object.keys(group).reduce(createControl(group), {}); // FormBuilder?
|
|
1167
|
+
group = new FormGroup(fields);
|
|
1168
|
+
}
|
|
1169
|
+
this.editService.addRow(group);
|
|
1170
|
+
this.focusEditElement('.k-grid-add-row');
|
|
1171
|
+
}
|
|
1172
|
+
/**
|
|
1173
|
+
* Puts the cell that is specified by the table row and column in edit mode.
|
|
1174
|
+
*
|
|
1175
|
+
* @param {number} rowIndex - The data row index that will be switched in the edit mode.
|
|
1176
|
+
* @param {number|string|any} column - The leaf column index, or the field name or the column instance that should be edited.
|
|
1177
|
+
* @param {FormGroup} group - The [FormGroup]({{ site.data.urls.angular['formgroupapi'] }})
|
|
1178
|
+
* that describes the edit form.
|
|
1179
|
+
*/
|
|
1180
|
+
editCell(rowIndex, column, group) {
|
|
1181
|
+
const instance = this.columnInstance(column);
|
|
1182
|
+
this.editService.editCell(rowIndex, instance, group);
|
|
1183
|
+
this.focusEditElement('.k-grid-edit-cell');
|
|
1184
|
+
}
|
|
1185
|
+
/**
|
|
1186
|
+
* Closes the current cell in edit mode and fires
|
|
1187
|
+
* the [cellClose]({% slug api_grid_gridcomponent %}#toc-cellclose) event.
|
|
1188
|
+
*
|
|
1189
|
+
* @return {boolean} Indicates whether the edited cell was closed.
|
|
1190
|
+
* A `false` value indicates that the
|
|
1191
|
+
* [cellClose]({% slug api_grid_gridcomponent %}#toc-cellclose) event was prevented.
|
|
1192
|
+
*/
|
|
1193
|
+
closeCell() {
|
|
1194
|
+
return !this.editService.closeCell();
|
|
1195
|
+
}
|
|
1196
|
+
/**
|
|
1197
|
+
* Closes the current cell in edit mode.
|
|
1198
|
+
*/
|
|
1199
|
+
cancelCell() {
|
|
1200
|
+
this.editService.cancelCell();
|
|
1201
|
+
}
|
|
1202
|
+
/**
|
|
1203
|
+
* Returns a flag which indicates if a row or a cell is currently edited.
|
|
1204
|
+
*
|
|
1205
|
+
* @return {boolean} A flag which indicates if a row or a cell is currently edited.
|
|
1206
|
+
*/
|
|
1207
|
+
isEditing() {
|
|
1208
|
+
return this.editService.isEditing();
|
|
1209
|
+
}
|
|
1210
|
+
/**
|
|
1211
|
+
* Returns a flag which indicates if a cell is currently edited.
|
|
1212
|
+
*
|
|
1213
|
+
* @return {boolean} A flag which indicates if a cell is currently being edited.
|
|
1214
|
+
*/
|
|
1215
|
+
isEditingCell() {
|
|
1216
|
+
return this.editService.isEditingCell();
|
|
1217
|
+
}
|
|
1218
|
+
/**
|
|
1219
|
+
* Initiates the PDF export ([see example]({% slug pdfexport_grid %})).
|
|
1220
|
+
*/
|
|
1221
|
+
saveAsPDF() {
|
|
1222
|
+
this.pdfService.save(this);
|
|
1223
|
+
}
|
|
1224
|
+
/**
|
|
1225
|
+
* Exports the Grid element to a Drawing [Group]({% slug api_kendo-drawing_group %}) by using the `kendo-grid-pdf` component options.
|
|
1226
|
+
* ([see example]({% slug pdfexport_grid %}#toc-exporting-multiple-grids-to-the-same-pdf)).
|
|
1227
|
+
*
|
|
1228
|
+
* @return {Promise} - A promise that will be resolved with the Drawing `Group`.
|
|
1229
|
+
*/
|
|
1230
|
+
drawPDF() {
|
|
1231
|
+
const promise = createPromise();
|
|
1232
|
+
this.pdfService.draw(this, promise);
|
|
1233
|
+
return promise;
|
|
1234
|
+
}
|
|
1235
|
+
/**
|
|
1236
|
+
* Initiates the Excel export ([see example]({% slug excelexport_grid %})).
|
|
1237
|
+
*/
|
|
1238
|
+
saveAsExcel() {
|
|
1239
|
+
this.excelService.save(this);
|
|
1240
|
+
}
|
|
1241
|
+
/**
|
|
1242
|
+
* Applies the minimum possible width for the specified column,
|
|
1243
|
+
* so that the whole text fits without wrapping. This method expects the Grid
|
|
1244
|
+
* to be resizable (set `resizable` to `true`).
|
|
1245
|
+
* Makes sense to execute this method only
|
|
1246
|
+
* after the Grid is already populated with data.
|
|
1247
|
+
*
|
|
1248
|
+
* @example
|
|
1249
|
+
* ```ts
|
|
1250
|
+
* _@Component({
|
|
1251
|
+
* selector: 'my-app',
|
|
1252
|
+
* template: `
|
|
1253
|
+
* <kendo-grid
|
|
1254
|
+
* #grid
|
|
1255
|
+
* [data]="gridData"
|
|
1256
|
+
* [resizable]="true"
|
|
1257
|
+
* style="height: 300px">
|
|
1258
|
+
* <ng-template kendoGridToolbarTemplate>
|
|
1259
|
+
* <button kendoButton (click)="grid.autoFitColumn(groupColumn)">
|
|
1260
|
+
* Auto-fit the group column
|
|
1261
|
+
* </button>
|
|
1262
|
+
* </ng-template>
|
|
1263
|
+
* <kendo-grid-column-group #groupColumn title="Product Info">
|
|
1264
|
+
* <kendo-grid-column
|
|
1265
|
+
* field="ProductID"
|
|
1266
|
+
* [width]="50"
|
|
1267
|
+
* [minResizableWidth]="30"
|
|
1268
|
+
* title="ID">
|
|
1269
|
+
* </kendo-grid-column>
|
|
1270
|
+
*
|
|
1271
|
+
* <kendo-grid-column
|
|
1272
|
+
* field="ProductName"
|
|
1273
|
+
* title="Product Name">
|
|
1274
|
+
* </kendo-grid-column>
|
|
1275
|
+
* </kendo-grid-column-group>
|
|
1276
|
+
*
|
|
1277
|
+
* <kendo-grid-column
|
|
1278
|
+
* field="UnitPrice"
|
|
1279
|
+
* title="Unit Price"
|
|
1280
|
+
* [width]="180"
|
|
1281
|
+
* filter="numeric"
|
|
1282
|
+
* format="{0:c}">
|
|
1283
|
+
* </kendo-grid-column>
|
|
1284
|
+
* </kendo-grid>
|
|
1285
|
+
* `
|
|
1286
|
+
* })
|
|
1287
|
+
* class AppComponent {
|
|
1288
|
+
* public gridData: any[] = products;
|
|
1289
|
+
* }
|
|
1290
|
+
*
|
|
1291
|
+
* const products = [{
|
|
1292
|
+
* "ProductID": 1,
|
|
1293
|
+
* "ProductName": "Chai",
|
|
1294
|
+
* "UnitPrice": 18.0000,
|
|
1295
|
+
* "Discontinued": true
|
|
1296
|
+
* }, {
|
|
1297
|
+
* "ProductID": 2,
|
|
1298
|
+
* "ProductName": "Chang",
|
|
1299
|
+
* "UnitPrice": 19.0000,
|
|
1300
|
+
* "Discontinued": false
|
|
1301
|
+
* }
|
|
1302
|
+
* ];
|
|
1303
|
+
* ```
|
|
1304
|
+
*/
|
|
1305
|
+
autoFitColumn(column) {
|
|
1306
|
+
this.columnResizingService.autoFit(column);
|
|
1307
|
+
}
|
|
1308
|
+
/**
|
|
1309
|
+
* Adjusts the width of the specified columns to fit the entire content, including headers, without wrapping.
|
|
1310
|
+
* If no columns are specified, `autoFitColumns` is applied to all columns.
|
|
1311
|
+
*
|
|
1312
|
+
* This method requires the Grid to be resizable (set `resizable` to `true`).
|
|
1313
|
+
*
|
|
1314
|
+
* @example
|
|
1315
|
+
* ```ts
|
|
1316
|
+
* _@Component({
|
|
1317
|
+
* selector: 'my-app',
|
|
1318
|
+
* template: `
|
|
1319
|
+
* <kendo-grid
|
|
1320
|
+
* #grid
|
|
1321
|
+
* [data]="gridData"
|
|
1322
|
+
* [resizable]="true"
|
|
1323
|
+
* style="height: 300px">
|
|
1324
|
+
* <ng-template kendoGridToolbarTemplate>
|
|
1325
|
+
* <button kendoButton (click)="grid.autoFitColumns([firstColumn, lastColumn])">
|
|
1326
|
+
* Auto-fit the first and last column
|
|
1327
|
+
* </button>
|
|
1328
|
+
* <button kendoButton (click)="grid.autoFitColumns()">
|
|
1329
|
+
* Auto-fit all columns
|
|
1330
|
+
* </button>
|
|
1331
|
+
* </ng-template>
|
|
1332
|
+
* <kendo-grid-column-group title="Product Info">
|
|
1333
|
+
* <kendo-grid-column
|
|
1334
|
+
* #firstColumn
|
|
1335
|
+
* field="ProductID"
|
|
1336
|
+
* [width]="50"
|
|
1337
|
+
* [minResizableWidth]="30"
|
|
1338
|
+
* title="ID">
|
|
1339
|
+
* </kendo-grid-column>
|
|
1340
|
+
*
|
|
1341
|
+
* <kendo-grid-column
|
|
1342
|
+
* field="ProductName"
|
|
1343
|
+
* title="Product Name"
|
|
1344
|
+
* >
|
|
1345
|
+
* </kendo-grid-column>
|
|
1346
|
+
* </kendo-grid-column-group>
|
|
1347
|
+
*
|
|
1348
|
+
* <kendo-grid-column
|
|
1349
|
+
* #lastColumn
|
|
1350
|
+
* field="UnitPrice"
|
|
1351
|
+
* title="Unit Price"
|
|
1352
|
+
* [width]="180"
|
|
1353
|
+
* filter="numeric"
|
|
1354
|
+
* format="{0:c}">
|
|
1355
|
+
* </kendo-grid-column>
|
|
1356
|
+
* </kendo-grid>
|
|
1357
|
+
* `
|
|
1358
|
+
* })
|
|
1359
|
+
* class AppComponent {
|
|
1360
|
+
* public gridData: any[] = products;
|
|
1361
|
+
* }
|
|
1362
|
+
*
|
|
1363
|
+
* const products = [{
|
|
1364
|
+
* "ProductID": 1,
|
|
1365
|
+
* "ProductName": "Chai",
|
|
1366
|
+
* "UnitPrice": 18.0000,
|
|
1367
|
+
* "Discontinued": true
|
|
1368
|
+
* }, {
|
|
1369
|
+
* "ProductID": 2,
|
|
1370
|
+
* "ProductName": "Chang",
|
|
1371
|
+
* "UnitPrice": 19.0000,
|
|
1372
|
+
* "Discontinued": false
|
|
1373
|
+
* }
|
|
1374
|
+
* ];
|
|
1375
|
+
* ```
|
|
1376
|
+
*/
|
|
1377
|
+
autoFitColumns(columns = this.columns) {
|
|
1378
|
+
let cols;
|
|
1379
|
+
if (columns instanceof QueryList) {
|
|
1380
|
+
cols = columns.toArray();
|
|
1381
|
+
}
|
|
1382
|
+
else {
|
|
1383
|
+
cols = columns;
|
|
1384
|
+
}
|
|
1385
|
+
this.columnResizingService.autoFit(...cols);
|
|
1386
|
+
}
|
|
1387
|
+
/**
|
|
1388
|
+
* @hidden
|
|
1389
|
+
*/
|
|
1390
|
+
notifyPageChange(source, event) {
|
|
1391
|
+
if (source === "list" && !this.isVirtual) {
|
|
1392
|
+
return;
|
|
1393
|
+
}
|
|
1394
|
+
this.pageChange.emit(event);
|
|
1395
|
+
}
|
|
1396
|
+
/**
|
|
1397
|
+
* @hidden
|
|
1398
|
+
*/
|
|
1399
|
+
notifyScrollBottom() {
|
|
1400
|
+
if (this.scrollable === 'none') {
|
|
1401
|
+
return;
|
|
1402
|
+
}
|
|
1403
|
+
if (hasObservers(this.scrollBottom)) {
|
|
1404
|
+
this.ngZone.run(() => this.scrollBottom.emit({ sender: this }));
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
/**
|
|
1408
|
+
* @hidden
|
|
1409
|
+
*/
|
|
1410
|
+
focusEditElement(containerSelector) {
|
|
1411
|
+
if (this.focusElementSubscription) {
|
|
1412
|
+
this.focusElementSubscription.unsubscribe();
|
|
1413
|
+
}
|
|
1414
|
+
this.ngZone.runOutsideAngular(() => {
|
|
1415
|
+
this.focusElementSubscription = this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {
|
|
1416
|
+
const wrapper = this.wrapper.nativeElement;
|
|
1417
|
+
if (!this.setEditFocus(wrapper.querySelector(containerSelector)) && this.isLocked) {
|
|
1418
|
+
this.setEditFocus(wrapper.querySelector(`.k-grid-content ${containerSelector}`));
|
|
1419
|
+
}
|
|
1420
|
+
this.focusElementSubscription = null;
|
|
1421
|
+
});
|
|
1422
|
+
});
|
|
1423
|
+
}
|
|
1424
|
+
/**
|
|
1425
|
+
* Focuses the last active or the first cell of the Grid.
|
|
1426
|
+
*
|
|
1427
|
+
* @returns {NavigationCell} The focused cell.
|
|
1428
|
+
*/
|
|
1429
|
+
focus() {
|
|
1430
|
+
this.assertNavigable();
|
|
1431
|
+
return this.navigationService.focusCell();
|
|
1432
|
+
}
|
|
1433
|
+
/**
|
|
1434
|
+
* Focuses the cell with the specified row and column index.
|
|
1435
|
+
*
|
|
1436
|
+
* The row index is based on the logical structure of the Grid and does not correspond to the data item index:
|
|
1437
|
+
* * Header rows are included, starting at index 0.
|
|
1438
|
+
* * Group headers and footers are included.
|
|
1439
|
+
* * The row indexing is absolute and does not change with paging.
|
|
1440
|
+
*
|
|
1441
|
+
* If the Grid is configured for scrolling, including virtual scrolling, the scroll position will be updated.
|
|
1442
|
+
* If the row is not present on the current page, the method will have no effect.
|
|
1443
|
+
*
|
|
1444
|
+
* @param rowIndex - The logical row index to focus. The top header row has an index 0.
|
|
1445
|
+
* @param colIndex - The column index to focus.
|
|
1446
|
+
* @returns {NavigationCell} The focused cell.
|
|
1447
|
+
*
|
|
1448
|
+
*/
|
|
1449
|
+
focusCell(rowIndex, colIndex) {
|
|
1450
|
+
this.assertNavigable();
|
|
1451
|
+
return this.navigationService.focusCell(rowIndex, colIndex);
|
|
1452
|
+
}
|
|
1453
|
+
/**
|
|
1454
|
+
* Focuses the next cell, optionally wrapping to the next row.
|
|
1455
|
+
*
|
|
1456
|
+
* @param wrap - A Boolean value which indicates if the focus will move to the next row. Defaults to `true`.
|
|
1457
|
+
* @returns {NavigationCell} The focused cell. If the focus is already on the last cell, returns `null`.
|
|
1458
|
+
*/
|
|
1459
|
+
focusNextCell(wrap = true) {
|
|
1460
|
+
this.assertNavigable();
|
|
1461
|
+
return this.navigationService.focusNextCell(wrap);
|
|
1462
|
+
}
|
|
1463
|
+
/**
|
|
1464
|
+
* Focuses the previous cell. Optionally wraps to the previous row.
|
|
1465
|
+
*
|
|
1466
|
+
* @param wrap - A Boolean value which indicates if the focus will move to the next row. Defaults to `true`.
|
|
1467
|
+
* @returns {NavigationCell} The focused cell. If the focus is already on the first cell, returns `null`.
|
|
1468
|
+
*/
|
|
1469
|
+
focusPrevCell(wrap = true) {
|
|
1470
|
+
this.assertNavigable();
|
|
1471
|
+
return this.navigationService.focusPrevCell(wrap);
|
|
1472
|
+
}
|
|
1473
|
+
/**
|
|
1474
|
+
* Scrolls to the specified row and column ([see example]({% slug scrollmmodes_grid %}#toc-scrolling-to-a-specific-row-and-column-index)).
|
|
1475
|
+
*/
|
|
1476
|
+
scrollTo(request) {
|
|
1477
|
+
this.scrollRequestService.scrollTo(request);
|
|
1478
|
+
}
|
|
1479
|
+
/**
|
|
1480
|
+
* Changes the position of the specified column.
|
|
1481
|
+
* The reordering of columns operates only on the level
|
|
1482
|
+
* which is inferred by the source column.
|
|
1483
|
+
* For the `reorderColumn` method to work properly,
|
|
1484
|
+
* the `source` column has to be visible.
|
|
1485
|
+
*
|
|
1486
|
+
* @param {ColumnBase} source - The column whose position will be changed.
|
|
1487
|
+
* @param {number} destIndex - The new position of the column.
|
|
1488
|
+
* @param {ColumnReorderConfig} options - Additional options.
|
|
1489
|
+
*
|
|
1490
|
+
* @example
|
|
1491
|
+
* ```ts
|
|
1492
|
+
* _@Component({
|
|
1493
|
+
* selector: 'my-app',
|
|
1494
|
+
* template: `
|
|
1495
|
+
* <kendo-grid
|
|
1496
|
+
* #grid
|
|
1497
|
+
* [data]="gridData"
|
|
1498
|
+
* [reorderable]="true"
|
|
1499
|
+
* style="height: 300px">
|
|
1500
|
+
* <ng-template kendoGridToolbarTemplate>
|
|
1501
|
+
* <button kendoButton
|
|
1502
|
+
* (click)="grid.reorderColumn(groupColumn, 2, { before: true })">
|
|
1503
|
+
* Move the group column before the last one.
|
|
1504
|
+
* </button>
|
|
1505
|
+
* </ng-template>
|
|
1506
|
+
* <kendo-grid-column-group #groupColumn title="Product Info">
|
|
1507
|
+
* <kendo-grid-column
|
|
1508
|
+
* field="ProductID"
|
|
1509
|
+
* [width]="50"
|
|
1510
|
+
* title="ID">
|
|
1511
|
+
* </kendo-grid-column>
|
|
1512
|
+
*
|
|
1513
|
+
* <kendo-grid-column
|
|
1514
|
+
* field="ProductName"
|
|
1515
|
+
* title="Product Name">
|
|
1516
|
+
* </kendo-grid-column>
|
|
1517
|
+
* </kendo-grid-column-group>
|
|
1518
|
+
*
|
|
1519
|
+
* <kendo-grid-column
|
|
1520
|
+
* field="UnitPrice"
|
|
1521
|
+
* title="Unit Price"
|
|
1522
|
+
* [width]="180"
|
|
1523
|
+
* format="{0:c}">
|
|
1524
|
+
* </kendo-grid-column>
|
|
1525
|
+
*
|
|
1526
|
+
* <kendo-grid-column
|
|
1527
|
+
* field="Discontinued"
|
|
1528
|
+
* title="Discontinued"
|
|
1529
|
+
* [width]="100">
|
|
1530
|
+
* </kendo-grid-column>
|
|
1531
|
+
* </kendo-grid>
|
|
1532
|
+
* `
|
|
1533
|
+
* })
|
|
1534
|
+
* class AppComponent {
|
|
1535
|
+
* public gridData: any[] = products;
|
|
1536
|
+
* }
|
|
1537
|
+
*
|
|
1538
|
+
* const products = [{
|
|
1539
|
+
* "ProductID": 1,
|
|
1540
|
+
* "ProductName": "Chai",
|
|
1541
|
+
* "UnitPrice": 18.0000,
|
|
1542
|
+
* "Discontinued": true
|
|
1543
|
+
* }, {
|
|
1544
|
+
* "ProductID": 2,
|
|
1545
|
+
* "ProductName": "Chang",
|
|
1546
|
+
* "UnitPrice": 19.0000,
|
|
1547
|
+
* "Discontinued": false
|
|
1548
|
+
* }
|
|
1549
|
+
* ];
|
|
1550
|
+
* ```
|
|
1551
|
+
*/
|
|
1552
|
+
reorderColumn(source, destIndex, options = { before: false }) {
|
|
1553
|
+
const columnsForLevel = sortColumns(this.allColumnsForLevel(source.level));
|
|
1554
|
+
let target = columnsForLevel[destIndex];
|
|
1555
|
+
if (!target) {
|
|
1556
|
+
return;
|
|
1557
|
+
}
|
|
1558
|
+
const lastNonLocked = target.isLocked &&
|
|
1559
|
+
!source.isLocked &&
|
|
1560
|
+
this.columnsContainer.nonLockedColumns.length === 1;
|
|
1561
|
+
if (lastNonLocked) {
|
|
1562
|
+
return;
|
|
1563
|
+
}
|
|
1564
|
+
if (isSpanColumnComponent(target) && !options.before) {
|
|
1565
|
+
target = target.childColumns.last;
|
|
1566
|
+
}
|
|
1567
|
+
this.reorder({
|
|
1568
|
+
before: options.before,
|
|
1569
|
+
source: source,
|
|
1570
|
+
target: target
|
|
1571
|
+
});
|
|
1572
|
+
}
|
|
1573
|
+
/**
|
|
1574
|
+
* A function which determines if a specific row is expanded.
|
|
1575
|
+
*/
|
|
1576
|
+
set isDetailExpanded(callback) {
|
|
1577
|
+
this.detailsService.userCallback = callback;
|
|
1578
|
+
}
|
|
1579
|
+
get isDetailExpanded() {
|
|
1580
|
+
return this.detailsService.userCallback;
|
|
1581
|
+
}
|
|
1582
|
+
/**
|
|
1583
|
+
* A function which determines if a specific group row is expanded.
|
|
1584
|
+
*/
|
|
1585
|
+
set isGroupExpanded(callback) {
|
|
1586
|
+
this.groupsService.userCallback = callback;
|
|
1587
|
+
this.groupable = isPresent(callback);
|
|
1588
|
+
}
|
|
1589
|
+
get isGroupExpanded() {
|
|
1590
|
+
return this.groupsService.userCallback;
|
|
1591
|
+
}
|
|
1592
|
+
/**
|
|
1593
|
+
* @hidden
|
|
1594
|
+
*/
|
|
1595
|
+
reorder({ target, source, before, changeContainer }) {
|
|
1596
|
+
this.ngZone.run(() => {
|
|
1597
|
+
const columnsForLevel = sortColumns(this.allColumnsForLevel(source.level));
|
|
1598
|
+
let newIndex = columnsForLevel.indexOf(target);
|
|
1599
|
+
if (target.parent && target.parent.isSpanColumn) {
|
|
1600
|
+
newIndex = columnsForLevel.indexOf(target.parent);
|
|
1601
|
+
if (before) {
|
|
1602
|
+
target = target.parent;
|
|
1603
|
+
}
|
|
1604
|
+
}
|
|
1605
|
+
let oldIndex = columnsForLevel.indexOf(source);
|
|
1606
|
+
if (changeContainer) {
|
|
1607
|
+
if (before && 0 < newIndex && oldIndex < newIndex) { // dropped before the first not locked column
|
|
1608
|
+
newIndex--;
|
|
1609
|
+
}
|
|
1610
|
+
else if (!before && oldIndex > newIndex) { // dropped after the last locked column
|
|
1611
|
+
newIndex++;
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
const args = new ColumnReorderEvent({
|
|
1615
|
+
column: source,
|
|
1616
|
+
oldIndex: oldIndex,
|
|
1617
|
+
newIndex: newIndex
|
|
1618
|
+
});
|
|
1619
|
+
this.columnReorder.emit(args);
|
|
1620
|
+
if (args.isDefaultPrevented()) {
|
|
1621
|
+
return;
|
|
1622
|
+
}
|
|
1623
|
+
if (changeContainer) {
|
|
1624
|
+
this.columnLockedChange.emit(new ColumnLockedChangeEvent([source]));
|
|
1625
|
+
}
|
|
1626
|
+
this.updateColumnIndices({ columnsForLevel, source, target, before });
|
|
1627
|
+
if (source.locked !== target.locked) {
|
|
1628
|
+
source.locked = target.locked;
|
|
1629
|
+
}
|
|
1630
|
+
this.columnsContainer.refresh();
|
|
1631
|
+
this.changeDetectorRef.markForCheck();
|
|
1632
|
+
});
|
|
1633
|
+
}
|
|
1634
|
+
updateColumnIndices({ columnsForLevel, source, target, before }) {
|
|
1635
|
+
const expandedColumns = expandColumnsWithSpan(columnsForLevel);
|
|
1636
|
+
const sourceColumnIndex = expandedColumns.indexOf(source);
|
|
1637
|
+
let nextSourceIndex = 0;
|
|
1638
|
+
let nextIndex = 0;
|
|
1639
|
+
let toSkip = 1;
|
|
1640
|
+
// Possible only when called from the API.
|
|
1641
|
+
if (source.isSpanColumn) {
|
|
1642
|
+
toSkip += source.childColumns.length;
|
|
1643
|
+
}
|
|
1644
|
+
let i = 0;
|
|
1645
|
+
while (i < expandedColumns.length) {
|
|
1646
|
+
let column = expandedColumns[i];
|
|
1647
|
+
if (column === target) {
|
|
1648
|
+
nextSourceIndex = before ? nextIndex : nextIndex + 1;
|
|
1649
|
+
nextIndex = before ? nextIndex + toSkip : nextIndex;
|
|
1650
|
+
column.orderIndex = nextIndex;
|
|
1651
|
+
if (nextSourceIndex === nextIndex + 1) {
|
|
1652
|
+
nextIndex += toSkip;
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1655
|
+
else if (column === source) {
|
|
1656
|
+
i += toSkip;
|
|
1657
|
+
continue;
|
|
1658
|
+
}
|
|
1659
|
+
else {
|
|
1660
|
+
column.orderIndex = nextIndex;
|
|
1661
|
+
}
|
|
1662
|
+
nextIndex++;
|
|
1663
|
+
i++;
|
|
1664
|
+
}
|
|
1665
|
+
for (i = sourceColumnIndex; i < sourceColumnIndex + toSkip; i++) {
|
|
1666
|
+
expandedColumns[i].orderIndex = nextSourceIndex++;
|
|
1667
|
+
}
|
|
1668
|
+
this.updateIndicesForLevel(source.level + 1);
|
|
1669
|
+
}
|
|
1670
|
+
updateIndicesForLevel(level) {
|
|
1671
|
+
const colsForParentLevel = this.allColumnsForLevel(level - 1);
|
|
1672
|
+
const colsForLevel = [];
|
|
1673
|
+
sortColumns(colsForParentLevel).forEach((c) => {
|
|
1674
|
+
if (c.isColumnGroup) {
|
|
1675
|
+
colsForLevel.push(...c.childrenArray.sort((a, b) => a.orderIndex - b.orderIndex));
|
|
1676
|
+
}
|
|
1677
|
+
});
|
|
1678
|
+
expandColumnsWithSpan(colsForLevel).map((c, i) => c.orderIndex = i);
|
|
1679
|
+
if (level < this.columnList.totalColumnLevels()) {
|
|
1680
|
+
this.updateIndicesForLevel(level + 1);
|
|
1681
|
+
}
|
|
1682
|
+
}
|
|
1683
|
+
allColumnsForLevel(level) {
|
|
1684
|
+
return this.columnList.toArray().filter(column => column.level === level);
|
|
1685
|
+
}
|
|
1686
|
+
initSelectionService() {
|
|
1687
|
+
if (!this.selectable) {
|
|
1688
|
+
this.selectionService.ngOnDestroy();
|
|
1689
|
+
this.cellSelectionService.ngOnDestroy();
|
|
1690
|
+
return;
|
|
1691
|
+
}
|
|
1692
|
+
if (!this.selectionDirective && !isPresent(this.defaultSelection)) {
|
|
1693
|
+
this.defaultSelection = new Selection(this.ctx, this.changeDetectorRef);
|
|
1694
|
+
}
|
|
1695
|
+
const cellSelectionMode = this.selectable['cell'];
|
|
1696
|
+
const activeService = cellSelectionMode ? this.cellSelectionService : this.selectionService;
|
|
1697
|
+
const inactiveService = cellSelectionMode ? this.selectionService : this.cellSelectionService;
|
|
1698
|
+
if (inactiveService.active) {
|
|
1699
|
+
inactiveService.ngOnDestroy();
|
|
1700
|
+
activeService.addSubscriptions();
|
|
1701
|
+
inactiveService.active = false;
|
|
1702
|
+
}
|
|
1703
|
+
activeService.active = true;
|
|
1704
|
+
activeService.init({
|
|
1705
|
+
cellSelected: cellSelectionMode ? this.cellSelected : undefined,
|
|
1706
|
+
rowSelected: cellSelectionMode ? undefined : this.rowSelected,
|
|
1707
|
+
selectable: this.selectable,
|
|
1708
|
+
view: this.view,
|
|
1709
|
+
columns: cellSelectionMode ? this.columnList.toArray() : undefined
|
|
1710
|
+
});
|
|
1711
|
+
if (!this.selectionDirective && !this.selectableSettings.enabled) {
|
|
1712
|
+
this.defaultSelection.reset();
|
|
1713
|
+
}
|
|
1714
|
+
if (this.selectionSubscription) {
|
|
1715
|
+
this.selectionSubscription.unsubscribe();
|
|
1716
|
+
}
|
|
1717
|
+
if (cellSelectionMode) {
|
|
1718
|
+
this.selectionSubscription = this.cellSelectionService.changes.subscribe((event) => {
|
|
1719
|
+
this.ngZone.run(() => this.selectionChange.emit(event));
|
|
1720
|
+
});
|
|
1721
|
+
}
|
|
1722
|
+
else {
|
|
1723
|
+
this.selectionSubscription = this.selectionService.changes.subscribe((event) => {
|
|
1724
|
+
this.ngZone.run(() => this.selectionChange.emit(event));
|
|
1725
|
+
});
|
|
1726
|
+
}
|
|
1727
|
+
}
|
|
1728
|
+
setEditFocus(element) {
|
|
1729
|
+
if (element) {
|
|
1730
|
+
return this.navigationService.tryFocus(element);
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1733
|
+
columnInstance(column) {
|
|
1734
|
+
let instance;
|
|
1735
|
+
if (typeof column === 'number') {
|
|
1736
|
+
instance = this.columnsContainer.lockedLeafColumns.toArray()
|
|
1737
|
+
.concat(this.columnsContainer.nonLockedLeafColumns.toArray())[column];
|
|
1738
|
+
}
|
|
1739
|
+
else if (typeof column === 'string') {
|
|
1740
|
+
instance = this.columnList.filter((item) => item.field === column)[0];
|
|
1741
|
+
}
|
|
1742
|
+
else {
|
|
1743
|
+
instance = column;
|
|
1744
|
+
}
|
|
1745
|
+
if (!instance && isDevMode()) {
|
|
1746
|
+
throw new Error(`Invalid column ${column}`);
|
|
1747
|
+
}
|
|
1748
|
+
return instance;
|
|
1749
|
+
}
|
|
1750
|
+
verifySettings() {
|
|
1751
|
+
if (isDevMode()) {
|
|
1752
|
+
const locked = this.lockedLeafColumns.length || (this.columnMenu && this.columnMenu.lock);
|
|
1753
|
+
const stickyColumns = this.stickyColumns.length || (this.columnMenu && this.columnMenu.stick);
|
|
1754
|
+
if (locked && this.detailTemplate) {
|
|
1755
|
+
throw new Error('Having both detail template and locked columns is not supported.');
|
|
1756
|
+
}
|
|
1757
|
+
if (stickyColumns && this.detailTemplate) {
|
|
1758
|
+
throw new Error('Having both detail template and sticky columns is not supported.');
|
|
1759
|
+
}
|
|
1760
|
+
if (this.lockedLeafColumns.length && !this.nonLockedLeafColumns.length) {
|
|
1761
|
+
throw new Error('There should be at least one non-locked column');
|
|
1762
|
+
}
|
|
1763
|
+
if ((locked || this.virtualColumns) && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
1764
|
+
throw new Error((locked ? 'Locked' : 'Virtual') + ' columns feature requires all columns to have set width.');
|
|
1765
|
+
}
|
|
1766
|
+
if (locked && !this.isScrollable) {
|
|
1767
|
+
throw new Error('Locked columns are only supported when scrolling is enabled.');
|
|
1768
|
+
}
|
|
1769
|
+
if (this.columnList.filter(isColumnGroupComponent).filter((x) => !x.hasChildren).length) {
|
|
1770
|
+
throw new Error('ColumnGroupComponent should contain ColumnComponent or CommandColumnComponent.');
|
|
1771
|
+
}
|
|
1772
|
+
if (this.columnList.filter(x => x.locked && x.parent && !x.parent.isLocked).length) {
|
|
1773
|
+
throw new Error('Locked child columns require their parent columns to be locked.');
|
|
1774
|
+
}
|
|
1775
|
+
if ((this.rowHeight || this.detailRowHeight) && !this.isVirtual) {
|
|
1776
|
+
throw new Error('Row height and detail row height settings require virtual scrolling mode to be enabled.');
|
|
1777
|
+
}
|
|
1778
|
+
if (stickyColumns && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
1779
|
+
throw new Error('Sticky columns feature requires all columns to have set width.');
|
|
1780
|
+
}
|
|
1781
|
+
if (stickyColumns && !this.isScrollable) {
|
|
1782
|
+
throw new Error('Sticky columns are only supported when scrolling is enabled.');
|
|
1783
|
+
}
|
|
1784
|
+
if (stickyColumns && this.virtualColumns) {
|
|
1785
|
+
throw new Error('Having both sticky columns and column virtualization is not supported.');
|
|
1786
|
+
}
|
|
1787
|
+
if (this.rowSticky && this.scrollable === 'virtual') {
|
|
1788
|
+
throw new Error('Having both sticky rows and row virtualization (scrollable="virtual") is not supported.');
|
|
1789
|
+
}
|
|
1790
|
+
if (this.rowSticky && this.groupable) {
|
|
1791
|
+
throw new Error('Having both sticky rows and grouping is not supported.');
|
|
1792
|
+
}
|
|
1793
|
+
validateColumnsField(this.columnList);
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1796
|
+
autoGenerateColumns() {
|
|
1797
|
+
if (this.shouldGenerateColumns && !this.columns.length && this.view.length) {
|
|
1798
|
+
this.columns.reset(Object.keys(this.view.at(0)).map(field => {
|
|
1799
|
+
let column = new ColumnComponent();
|
|
1800
|
+
column.field = field;
|
|
1801
|
+
return column;
|
|
1802
|
+
}));
|
|
1803
|
+
}
|
|
1804
|
+
}
|
|
1805
|
+
attachStateChangesEmitter() {
|
|
1806
|
+
this.stateChangeSubscription =
|
|
1807
|
+
merge(this.pageChange.pipe(map(x => ({
|
|
1808
|
+
filter: this.filter, group: this.group, skip: x.skip, sort: this.sort, take: x.take
|
|
1809
|
+
}))), this.sortChange.pipe(map(sort => ({ filter: this.filter, group: this.group, skip: this.skip, sort: sort, take: this.pageSize }))), this.groupChange.pipe(map(group => ({
|
|
1810
|
+
filter: this.filter, group: group, skip: this.skip, sort: this.sort, take: this.pageSize
|
|
1811
|
+
}))), this.filterChange.pipe(map(filter => ({
|
|
1812
|
+
filter: filter, group: this.group, skip: 0, sort: this.sort, take: this.pageSize
|
|
1813
|
+
}))))
|
|
1814
|
+
.subscribe(x => {
|
|
1815
|
+
this.closeCell();
|
|
1816
|
+
this.cancelCell();
|
|
1817
|
+
this.dataStateChange.emit(x);
|
|
1818
|
+
});
|
|
1819
|
+
}
|
|
1820
|
+
attachEditHandlers() {
|
|
1821
|
+
if (!this.editService) {
|
|
1822
|
+
return;
|
|
1823
|
+
}
|
|
1824
|
+
this.editServiceSubscription = this.editService
|
|
1825
|
+
.changes.subscribe(this.emitCRUDEvent.bind(this));
|
|
1826
|
+
}
|
|
1827
|
+
emitCRUDEvent(args) {
|
|
1828
|
+
const { action, rowIndex, formGroup } = args;
|
|
1829
|
+
let dataItem = this.view.at(rowIndex - this.skip);
|
|
1830
|
+
if (action !== 'add' && !dataItem) {
|
|
1831
|
+
dataItem = formGroup.value;
|
|
1832
|
+
}
|
|
1833
|
+
this.closeCell();
|
|
1834
|
+
Object.assign(args, {
|
|
1835
|
+
dataItem: dataItem,
|
|
1836
|
+
sender: this
|
|
1837
|
+
});
|
|
1838
|
+
switch (action) {
|
|
1839
|
+
case 'add':
|
|
1840
|
+
this.add.emit(args);
|
|
1841
|
+
break;
|
|
1842
|
+
case 'cancel':
|
|
1843
|
+
this.cancel.emit(args);
|
|
1844
|
+
break;
|
|
1845
|
+
case 'edit':
|
|
1846
|
+
this.edit.emit(args);
|
|
1847
|
+
break;
|
|
1848
|
+
case 'remove':
|
|
1849
|
+
this.remove.emit(args);
|
|
1850
|
+
break;
|
|
1851
|
+
case 'save':
|
|
1852
|
+
this.save.emit(args);
|
|
1853
|
+
break;
|
|
1854
|
+
case 'cellClose':
|
|
1855
|
+
this.cellClose.emit(args);
|
|
1856
|
+
break;
|
|
1857
|
+
default: break;
|
|
1858
|
+
}
|
|
1859
|
+
}
|
|
1860
|
+
attachDomEventHandlers() {
|
|
1861
|
+
this.cellClickSubscription = this.domEvents.cellClick.subscribe((args) => {
|
|
1862
|
+
this.cellClick.emit(Object.assign({ sender: this }, args));
|
|
1863
|
+
});
|
|
1864
|
+
}
|
|
1865
|
+
attachElementEventHandlers() {
|
|
1866
|
+
if (isUniversal()) {
|
|
1867
|
+
return;
|
|
1868
|
+
}
|
|
1869
|
+
const wrapper = this.wrapper.nativeElement;
|
|
1870
|
+
const ariaRoot = this.ariaRoot.nativeElement;
|
|
1871
|
+
this.ngZone.runOutsideAngular(() => {
|
|
1872
|
+
const resizeCheck = this.resizeCheck.bind(this);
|
|
1873
|
+
const resizeSubscription = this.renderer.listen('window', 'resize', resizeCheck);
|
|
1874
|
+
const orientationSubscription = this.renderer.listen('window', 'orientationchange', resizeCheck);
|
|
1875
|
+
const documentClickSubscription = this.renderer.listen('document', 'click', (args) => {
|
|
1876
|
+
const activeElement = document.activeElement;
|
|
1877
|
+
if (this.editService.shouldCloseCell() &&
|
|
1878
|
+
!closest(args.target, matchesClasses('k-animation-container k-grid-ignore-click')) &&
|
|
1879
|
+
!(activeElement &&
|
|
1880
|
+
(closest(activeElement, matchesClasses('k-animation-container')) ||
|
|
1881
|
+
isInEditedCell(activeElement, this.wrapper.nativeElement)))) {
|
|
1882
|
+
this.editService.closeCell(args);
|
|
1883
|
+
}
|
|
1884
|
+
});
|
|
1885
|
+
const windowBlurSubscription = this.renderer.listen('window', 'blur', (args) => {
|
|
1886
|
+
const activeElement = document.activeElement;
|
|
1887
|
+
if (activeElement && !(matchesNodeName('input')(activeElement) && activeElement.type === 'file' &&
|
|
1888
|
+
isInEditedCell(activeElement, this.wrapper.nativeElement))) {
|
|
1889
|
+
this.editService.closeCell(args);
|
|
1890
|
+
}
|
|
1891
|
+
this.domEvents.windowBlur.emit(args);
|
|
1892
|
+
});
|
|
1893
|
+
const clickSubscription = this.renderer.listen(wrapper, 'click', (args) => {
|
|
1894
|
+
this.domEvents.click.emit(args);
|
|
1895
|
+
});
|
|
1896
|
+
const keydownSubscription = this.renderer.listen(wrapper, 'keydown', (args) => {
|
|
1897
|
+
this.domEvents.keydown.emit(args);
|
|
1898
|
+
});
|
|
1899
|
+
// focusIn and focusOut are relative to the element with ARIA role "grid"
|
|
1900
|
+
let focused = false;
|
|
1901
|
+
const focusInSubscription = this.renderer.listen(ariaRoot, 'focusin', (args) => {
|
|
1902
|
+
this.domEvents.focus.emit(args);
|
|
1903
|
+
if (!focused) {
|
|
1904
|
+
this.domEvents.focusIn.emit(args);
|
|
1905
|
+
focused = true;
|
|
1906
|
+
}
|
|
1907
|
+
});
|
|
1908
|
+
const focusOutSubscription = this.renderer.listen(ariaRoot, 'focusout', (args) => {
|
|
1909
|
+
const next = args.relatedTarget || document.activeElement;
|
|
1910
|
+
const outside = !closest(next, (node) => node === ariaRoot);
|
|
1911
|
+
if (outside) {
|
|
1912
|
+
this.domEvents.focusOut.emit(args);
|
|
1913
|
+
focused = false;
|
|
1914
|
+
}
|
|
1915
|
+
});
|
|
1916
|
+
this.detachElementEventHandlers = () => {
|
|
1917
|
+
resizeSubscription();
|
|
1918
|
+
orientationSubscription();
|
|
1919
|
+
documentClickSubscription();
|
|
1920
|
+
windowBlurSubscription();
|
|
1921
|
+
clickSubscription();
|
|
1922
|
+
keydownSubscription();
|
|
1923
|
+
focusInSubscription();
|
|
1924
|
+
focusOutSubscription();
|
|
1925
|
+
};
|
|
1926
|
+
});
|
|
1927
|
+
}
|
|
1928
|
+
matchesMedia(c) {
|
|
1929
|
+
return this.responsiveService.matchesMedia(c.media);
|
|
1930
|
+
}
|
|
1931
|
+
resizeCheck() {
|
|
1932
|
+
if (window.innerWidth !== this.cachedWindowWidth) {
|
|
1933
|
+
this.cachedWindowWidth = window.innerWidth;
|
|
1934
|
+
let hasChanges = false;
|
|
1935
|
+
this.columnList.filterHierarchy(column => {
|
|
1936
|
+
const matchesMedia = this.matchesMedia(column);
|
|
1937
|
+
if (column.matchesMedia !== matchesMedia) {
|
|
1938
|
+
hasChanges = true;
|
|
1939
|
+
column.matchesMedia = matchesMedia;
|
|
1940
|
+
}
|
|
1941
|
+
return column.isVisible;
|
|
1942
|
+
});
|
|
1943
|
+
if (hasChanges) {
|
|
1944
|
+
this.ngZone.run(() => {
|
|
1945
|
+
this.changeDetectorRef.markForCheck();
|
|
1946
|
+
});
|
|
1947
|
+
}
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
emitPDFExportEvent() {
|
|
1951
|
+
const args = new PDFExportEvent();
|
|
1952
|
+
this.pdfExport.emit(args);
|
|
1953
|
+
if (!args.isDefaultPrevented()) {
|
|
1954
|
+
this.saveAsPDF();
|
|
1955
|
+
}
|
|
1956
|
+
}
|
|
1957
|
+
syncHeaderHeight(observable) {
|
|
1958
|
+
return observable
|
|
1959
|
+
.pipe(filter(() => isPresent(this.lockedHeader)))
|
|
1960
|
+
.subscribe(() => syncRowsHeight(this.lockedHeader.nativeElement.children[0], this.header.nativeElement.children[0]));
|
|
1961
|
+
}
|
|
1962
|
+
columnsContainerChange() {
|
|
1963
|
+
this.columnsContainerChangeSubscription =
|
|
1964
|
+
this.syncHeaderHeight(this.columnsContainer.changes.pipe(filter(() => this.lockedColumns.length > 0), switchMap(() => this.ngZone.onStable.asObservable().pipe(take(1)))));
|
|
1965
|
+
}
|
|
1966
|
+
handleColumnResize() {
|
|
1967
|
+
const resizes = this.columnResizingService.changes;
|
|
1968
|
+
this.columnResizingSubscription = resizes.pipe(tap(e => {
|
|
1969
|
+
if (e.type === 'start') {
|
|
1970
|
+
this.renderer.addClass(this.wrapper.nativeElement, 'k-grid-column-resizing');
|
|
1971
|
+
}
|
|
1972
|
+
else if (e.type === 'end') {
|
|
1973
|
+
this.renderer.removeClass(this.wrapper.nativeElement, 'k-grid-column-resizing');
|
|
1974
|
+
}
|
|
1975
|
+
}), filter(e => e.type === 'start'), switchMap(() => resizes.pipe(
|
|
1976
|
+
// eslint-disable-next-line rxjs/no-unsafe-takeuntil
|
|
1977
|
+
takeUntil(resizes.pipe(filter(e => e.type === 'triggerAutoFit'))), filter(e => e.type === 'end'))))
|
|
1978
|
+
.subscribe(this.notifyResize.bind(this));
|
|
1979
|
+
}
|
|
1980
|
+
notifyResize(e) {
|
|
1981
|
+
const args = e.resizedColumns
|
|
1982
|
+
.filter(item => isTruthy(item.column.resizable) && !item.column.isColumnGroup)
|
|
1983
|
+
.map(item => ({
|
|
1984
|
+
column: item.column,
|
|
1985
|
+
newWidth: item.column.width,
|
|
1986
|
+
oldWidth: item.oldWidth
|
|
1987
|
+
}));
|
|
1988
|
+
this.columnResize.emit(args);
|
|
1989
|
+
}
|
|
1990
|
+
assertNavigable() {
|
|
1991
|
+
if (isDevMode() && !this.navigable) {
|
|
1992
|
+
throw new Error('The Grid should be configured as [navigable]="true" to control focus');
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
navigationMetadata() {
|
|
1996
|
+
const isVirtual = this.isVirtual;
|
|
1997
|
+
const pageSize = this.pageSize;
|
|
1998
|
+
const dataRows = isVirtual ? this.view.total : pageSize;
|
|
1999
|
+
const addRowOffset = this.editService.hasNewItem ? 1 : 0;
|
|
2000
|
+
const filterRowOffset = hasFilterRow(this.filterable) ? 1 : 0;
|
|
2001
|
+
const headerRows = this.totalColumnLevels + 1 + filterRowOffset + addRowOffset;
|
|
2002
|
+
return new NavigationMetadata(dataRows, headerRows, isVirtual, this.hasPager, isPresent(this.detailTemplate), this.wrapper, this.virtualColumns, this.columnsContainer);
|
|
2003
|
+
}
|
|
2004
|
+
updateNavigationMetadata() {
|
|
2005
|
+
this.navigationService.metadata = this.navigationMetadata();
|
|
2006
|
+
}
|
|
2007
|
+
applyAutoSize() {
|
|
2008
|
+
const cols = this.columns.filter((c) => this.autoSize ? c.autoSize !== false : c.autoSize);
|
|
2009
|
+
if (cols.length > 0) {
|
|
2010
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(_ => this.autoFitColumns(cols));
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
onColumnRangeChange(range) {
|
|
2014
|
+
const viewportColumns = this.viewportColumns = [];
|
|
2015
|
+
const leafViewportColumns = this.columnsContainer
|
|
2016
|
+
.nonLockedLeafColumns.toArray().slice(range.start, range.end + 1);
|
|
2017
|
+
for (let idx = 0; idx < leafViewportColumns.length; idx++) {
|
|
2018
|
+
let column = leafViewportColumns[idx];
|
|
2019
|
+
while (column.parent) {
|
|
2020
|
+
column = column.parent;
|
|
2021
|
+
}
|
|
2022
|
+
const toAdd = [column];
|
|
2023
|
+
while (toAdd.length) {
|
|
2024
|
+
column = toAdd.shift();
|
|
2025
|
+
viewportColumns.push(column);
|
|
2026
|
+
if (column.isColumnGroup) {
|
|
2027
|
+
toAdd.unshift.apply(toAdd, column.childrenArray);
|
|
2028
|
+
}
|
|
2029
|
+
}
|
|
2030
|
+
const lastFromGroup = viewportColumns[viewportColumns.length - 1];
|
|
2031
|
+
column = leafViewportColumns[idx];
|
|
2032
|
+
while (column !== lastFromGroup && idx < leafViewportColumns.length) {
|
|
2033
|
+
idx++;
|
|
2034
|
+
column = leafViewportColumns[idx];
|
|
2035
|
+
}
|
|
2036
|
+
}
|
|
2037
|
+
if (range.start > 0) {
|
|
2038
|
+
const first = leafViewportColumns[0];
|
|
2039
|
+
let offset = range.offset;
|
|
2040
|
+
let current = viewportColumns[0];
|
|
2041
|
+
let index = 0;
|
|
2042
|
+
while (current !== first) {
|
|
2043
|
+
offset -= current.isColumnGroup ? 0 : current.width;
|
|
2044
|
+
index++;
|
|
2045
|
+
current = viewportColumns[index];
|
|
2046
|
+
}
|
|
2047
|
+
if (offset > 0) {
|
|
2048
|
+
const totalLevels = this.columnsContainer.totalLevels;
|
|
2049
|
+
let previous;
|
|
2050
|
+
for (let idx = 0; idx <= totalLevels; idx++) {
|
|
2051
|
+
const offsetColumn = idx < totalLevels ? new ColumnGroupComponent(previous) : new ColumnBase(previous);
|
|
2052
|
+
previous = offsetColumn;
|
|
2053
|
+
offsetColumn.title = "\u00A0";
|
|
2054
|
+
offsetColumn.width = offset;
|
|
2055
|
+
viewportColumns.unshift(offsetColumn);
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
}
|
|
2059
|
+
this.leafViewportColumns = viewportColumns.filter(c => !c.isColumnGroup);
|
|
2060
|
+
}
|
|
2061
|
+
toggleDetailRowLegacy(index, expand) {
|
|
2062
|
+
const hasCallback = typeof this.isDetailExpanded === 'function';
|
|
2063
|
+
if (isDevMode() && hasCallback) {
|
|
2064
|
+
throw new Error('The expandRow and collapseRow methods should not be called when using the ' +
|
|
2065
|
+
'kendoGridDetailsExpandBy directive or the isDetailExpanded callback. ' +
|
|
2066
|
+
'These methods are provided only for backwards compatibility with legacy versions.');
|
|
2067
|
+
}
|
|
2068
|
+
if (!isDevMode() && hasCallback) {
|
|
2069
|
+
return;
|
|
2070
|
+
}
|
|
2071
|
+
if (this.detailsService.isExpanded(index, null) !== expand) {
|
|
2072
|
+
this.detailsService.toggleRow(index, null);
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
toggleGroupRowLegacy(index, expand) {
|
|
2076
|
+
const hasCallback = typeof this.isGroupExpanded === 'function';
|
|
2077
|
+
if (isDevMode() && hasCallback) {
|
|
2078
|
+
throw new Error('The expandGroup and collapseGroup methods should not be called when using the ' +
|
|
2079
|
+
'kendoGridExpandGroupBy directive or the isGroupExpanded callback. ' +
|
|
2080
|
+
'These methods are provided only for backwards compatibility with legacy versions.');
|
|
2081
|
+
}
|
|
2082
|
+
if (!isDevMode() && hasCallback) {
|
|
2083
|
+
return;
|
|
2084
|
+
}
|
|
2085
|
+
if (this.groupsService.isExpanded({ groupIndex: index }) !== expand) {
|
|
2086
|
+
this.groupsService.toggleRow({ index });
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2089
|
+
shouldResetSelection(selectableChanges) {
|
|
2090
|
+
const previousValue = selectableChanges.previousValue;
|
|
2091
|
+
if (!previousValue) {
|
|
2092
|
+
// Selection was disabled, no need to reset.
|
|
2093
|
+
return false;
|
|
2094
|
+
}
|
|
2095
|
+
const currentValue = selectableChanges.currentValue;
|
|
2096
|
+
if (!currentValue || currentValue.enabled === false) {
|
|
2097
|
+
// Selection disabled, reset.
|
|
2098
|
+
return true;
|
|
2099
|
+
}
|
|
2100
|
+
return previousValue.cell !== currentValue.cell;
|
|
2101
|
+
}
|
|
2102
|
+
}
|
|
2103
|
+
GridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GridComponent, deps: [{ token: i1.BrowserSupportService }, { token: i2.SelectionService }, { token: i3.CellSelectionService }, { token: i0.ElementRef }, { token: i4.GroupInfoService }, { token: i5.GroupsService }, { token: i6.ChangeNotificationService }, { token: i7.DetailsService }, { token: i8.EditService }, { token: i9.FilterService }, { token: i10.PDFService }, { token: i11.ResponsiveService }, { token: i0.Renderer2 }, { token: i12.ExcelService }, { token: i0.NgZone }, { token: i13.ScrollSyncService }, { token: i14.DomEventsService }, { token: i15.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i16.ColumnReorderService }, { token: i17.ColumnInfoService }, { token: i18.NavigationService }, { token: i19.SortService }, { token: i20.ScrollRequestService }, { token: i21.LocalizationService }, { token: i22.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2104
|
+
GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: GridComponent, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", dataStateChange: "dataStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", 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", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
|
2105
|
+
BrowserSupportService,
|
|
2106
|
+
LocalizationService,
|
|
2107
|
+
ColumnInfoService,
|
|
2108
|
+
SelectionService,
|
|
2109
|
+
CellSelectionService,
|
|
2110
|
+
DetailsService,
|
|
2111
|
+
GroupsService,
|
|
2112
|
+
GroupInfoService,
|
|
2113
|
+
ChangeNotificationService,
|
|
2114
|
+
EditService,
|
|
2115
|
+
PDFService,
|
|
2116
|
+
SuspendService,
|
|
2117
|
+
{
|
|
2118
|
+
provide: CELL_CONTEXT,
|
|
2119
|
+
useValue: EMPTY_CELL_CONTEXT
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
provide: L10N_PREFIX,
|
|
2123
|
+
useValue: 'kendo.grid'
|
|
2124
|
+
},
|
|
2125
|
+
FilterService,
|
|
2126
|
+
ResponsiveService,
|
|
2127
|
+
PagerContextService,
|
|
2128
|
+
ExcelService,
|
|
2129
|
+
ScrollSyncService,
|
|
2130
|
+
ResizeService,
|
|
2131
|
+
LocalDataChangesService,
|
|
2132
|
+
DomEventsService,
|
|
2133
|
+
ColumnResizingService,
|
|
2134
|
+
SinglePopupService,
|
|
2135
|
+
DragAndDropService,
|
|
2136
|
+
DragHintService,
|
|
2137
|
+
DropCueService,
|
|
2138
|
+
ColumnReorderService,
|
|
2139
|
+
NavigationService,
|
|
2140
|
+
FocusRoot,
|
|
2141
|
+
IdService,
|
|
2142
|
+
ScrollRequestService,
|
|
2143
|
+
SortService,
|
|
2144
|
+
ContextService
|
|
2145
|
+
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { 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: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
|
|
2146
|
+
<ng-container kendoGridLocalizedMessages
|
|
2147
|
+
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
2148
|
+
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
2149
|
+
|
|
2150
|
+
i18n-noRecords="kendo.grid.noRecords|The label visible in the Grid when there are no records"
|
|
2151
|
+
noRecords="No records available."
|
|
2152
|
+
|
|
2153
|
+
i18n-pagerLabel="kendo.grid.pagerLabel|The label for the Grid pager"
|
|
2154
|
+
pagerLabel="{{ 'Page navigation, page {currentPage} of {totalPages}' }}"
|
|
2155
|
+
|
|
2156
|
+
i18n-pagerFirstPage="kendo.grid.pagerFirstPage|The label for the first page button in Grid pager"
|
|
2157
|
+
pagerFirstPage="Go to the first page"
|
|
2158
|
+
|
|
2159
|
+
i18n-pagerPreviousPage="kendo.grid.pagerPreviousPage|The label for the previous page button in Grid pager"
|
|
2160
|
+
pagerPreviousPage="Go to the previous page"
|
|
2161
|
+
|
|
2162
|
+
i18n-pagerNextPage="kendo.grid.pagerNextPage|The label for the next page button in Grid pager"
|
|
2163
|
+
pagerNextPage="Go to the next page"
|
|
2164
|
+
|
|
2165
|
+
i18n-pagerLastPage="kendo.grid.pagerLastPage|The label for the last page button in Grid pager"
|
|
2166
|
+
pagerLastPage="Go to the last page"
|
|
2167
|
+
|
|
2168
|
+
i18n-pagerPage="kendo.grid.pagerPage|The label before the current page number in the Grid pager"
|
|
2169
|
+
pagerPage="Page"
|
|
2170
|
+
|
|
2171
|
+
i18n-pagerOf="kendo.grid.pagerOf|The label before the total pages number in the Grid pager"
|
|
2172
|
+
pagerOf="of"
|
|
2173
|
+
|
|
2174
|
+
i18n-pagerItems="kendo.grid.pagerItems|The label after the total pages number in the Grid pager"
|
|
2175
|
+
pagerItems="items"
|
|
2176
|
+
|
|
2177
|
+
i18n-pagerPageNumberInputTitle="kendo.grid.pagerPageNumberInputTitle|The label for the pager input in the Grid pager"
|
|
2178
|
+
pagerPageNumberInputTitle="Page Number"
|
|
2179
|
+
|
|
2180
|
+
i18n-pagerItemsPerPage="kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager"
|
|
2181
|
+
pagerItemsPerPage="items per page"
|
|
2182
|
+
|
|
2183
|
+
i18n-filter="kendo.grid.filter|The label of the filter cell or icon"
|
|
2184
|
+
filter="Filter"
|
|
2185
|
+
|
|
2186
|
+
i18n-filterInputLabel="kendo.grid.filterInputLabel|The label of the filter row and menu inputs"
|
|
2187
|
+
filterInputLabel="{{ '{columnName} Filter' }}"
|
|
2188
|
+
|
|
2189
|
+
i18n-filterMenuTitle="kendo.grid.filterMenuTitle|The title of the filter menu icon"
|
|
2190
|
+
filterMenuTitle="{{ '{columnName} Filter Menu' }}"
|
|
2191
|
+
|
|
2192
|
+
i18n-filterMenuOperatorsDropDownLabel="kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown"
|
|
2193
|
+
filterMenuOperatorsDropDownLabel="{{ '{columnName} Filter Operators' }}"
|
|
2194
|
+
|
|
2195
|
+
i18n-filterMenuLogicDropDownLabel="kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown"
|
|
2196
|
+
filterMenuLogicDropDownLabel="{{ '{columnName} Filter Logic' }}"
|
|
2197
|
+
|
|
2198
|
+
i18n-filterEqOperator="kendo.grid.filterEqOperator|The text of the equal filter operator"
|
|
2199
|
+
filterEqOperator="Is equal to"
|
|
2200
|
+
|
|
2201
|
+
i18n-filterNotEqOperator="kendo.grid.filterNotEqOperator|The text of the not equal filter operator"
|
|
2202
|
+
filterNotEqOperator="Is not equal to"
|
|
2203
|
+
|
|
2204
|
+
i18n-filterIsNullOperator="kendo.grid.filterIsNullOperator|The text of the is null filter operator"
|
|
2205
|
+
filterIsNullOperator="Is null"
|
|
2206
|
+
|
|
2207
|
+
i18n-filterIsNotNullOperator="kendo.grid.filterIsNotNullOperator|The text of the is not null filter operator"
|
|
2208
|
+
filterIsNotNullOperator="Is not null"
|
|
2209
|
+
|
|
2210
|
+
i18n-filterIsEmptyOperator="kendo.grid.filterIsEmptyOperator|The text of the is empty filter operator"
|
|
2211
|
+
filterIsEmptyOperator="Is empty"
|
|
2212
|
+
|
|
2213
|
+
i18n-filterIsNotEmptyOperator="kendo.grid.filterIsNotEmptyOperator|The text of the is not empty filter operator"
|
|
2214
|
+
filterIsNotEmptyOperator="Is not empty"
|
|
2215
|
+
|
|
2216
|
+
i18n-filterStartsWithOperator="kendo.grid.filterStartsWithOperator|The text of the starts with filter operator"
|
|
2217
|
+
filterStartsWithOperator="Starts with"
|
|
2218
|
+
|
|
2219
|
+
i18n-filterContainsOperator="kendo.grid.filterContainsOperator|The text of the contains filter operator"
|
|
2220
|
+
filterContainsOperator="Contains"
|
|
2221
|
+
|
|
2222
|
+
i18n-filterNotContainsOperator="kendo.grid.filterNotContainsOperator|The text of the does not contain filter operator"
|
|
2223
|
+
filterNotContainsOperator="Does not contain"
|
|
2224
|
+
|
|
2225
|
+
i18n-filterEndsWithOperator="kendo.grid.filterEndsWithOperator|The text of the ends with filter operator"
|
|
2226
|
+
filterEndsWithOperator="Ends with"
|
|
2227
|
+
|
|
2228
|
+
i18n-filterGteOperator="kendo.grid.filterGteOperator|The text of the greater than or equal filter operator"
|
|
2229
|
+
filterGteOperator="Is greater than or equal to"
|
|
2230
|
+
|
|
2231
|
+
i18n-filterGtOperator="kendo.grid.filterGtOperator|The text of the greater than filter operator"
|
|
2232
|
+
filterGtOperator="Is greater than"
|
|
2233
|
+
|
|
2234
|
+
i18n-filterLteOperator="kendo.grid.filterLteOperator|The text of the less than or equal filter operator"
|
|
2235
|
+
filterLteOperator="Is less than or equal to"
|
|
2236
|
+
|
|
2237
|
+
i18n-filterLtOperator="kendo.grid.filterLtOperator|The text of the less than filter operator"
|
|
2238
|
+
filterLtOperator="Is less than"
|
|
2239
|
+
|
|
2240
|
+
i18n-filterIsTrue="kendo.grid.filterIsTrue|The text of the IsTrue boolean filter option"
|
|
2241
|
+
filterIsTrue="Is True"
|
|
2242
|
+
|
|
2243
|
+
i18n-filterIsFalse="kendo.grid.filterIsFalse|The text of the IsFalse boolean filter option"
|
|
2244
|
+
filterIsFalse="Is False"
|
|
2245
|
+
|
|
2246
|
+
i18n-filterBooleanAll="kendo.grid.filterBooleanAll|The text of the (All) boolean filter option"
|
|
2247
|
+
filterBooleanAll="(All)"
|
|
2248
|
+
|
|
2249
|
+
i18n-filterAfterOrEqualOperator="kendo.grid.filterAfterOrEqualOperator|The text of the after or equal date filter operator"
|
|
2250
|
+
filterAfterOrEqualOperator="Is after or equal to"
|
|
2251
|
+
|
|
2252
|
+
i18n-filterAfterOperator="kendo.grid.filterAfterOperator|The text of the after date filter operator"
|
|
2253
|
+
filterAfterOperator="Is after"
|
|
2254
|
+
|
|
2255
|
+
i18n-filterBeforeOperator="kendo.grid.filterBeforeOperator|The text of the before date filter operator"
|
|
2256
|
+
filterBeforeOperator="Is before"
|
|
2257
|
+
|
|
2258
|
+
i18n-filterBeforeOrEqualOperator="kendo.grid.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"
|
|
2259
|
+
filterBeforeOrEqualOperator="Is before or equal to"
|
|
2260
|
+
|
|
2261
|
+
i18n-filterFilterButton="kendo.grid.filterFilterButton|The text of the filter button"
|
|
2262
|
+
filterFilterButton="Filter"
|
|
2263
|
+
|
|
2264
|
+
i18n-filterClearButton="kendo.grid.filterClearButton|The text of the clear filter button"
|
|
2265
|
+
filterClearButton="Clear"
|
|
2266
|
+
|
|
2267
|
+
i18n-filterAndLogic="kendo.grid.filterAndLogic|The text of the And filter logic"
|
|
2268
|
+
filterAndLogic="And"
|
|
2269
|
+
|
|
2270
|
+
i18n-filterOrLogic="kendo.grid.filterOrLogic|The text of the Or filter logic"
|
|
2271
|
+
filterOrLogic="Or"
|
|
2272
|
+
|
|
2273
|
+
i18n-loading="kendo.grid.loading|The loading text"
|
|
2274
|
+
loading="Loading"
|
|
2275
|
+
|
|
2276
|
+
i18n-gridLabel="kendo.grid.gridLabel|The Grid aria-label"
|
|
2277
|
+
gridLabel="Data table"
|
|
2278
|
+
|
|
2279
|
+
i18n-columnMenu="kendo.grid.columnMenu|The title of the column menu icon"
|
|
2280
|
+
columnMenu="{{ '{columnName} Column Menu' }}"
|
|
2281
|
+
|
|
2282
|
+
i18n-columns="kendo.grid.columns|The text shown in the column menu for the columns item"
|
|
2283
|
+
columns="Columns"
|
|
2284
|
+
|
|
2285
|
+
i18n-lock="kendo.grid.lock|The text shown in the column menu for the lock item"
|
|
2286
|
+
lock="Lock"
|
|
2287
|
+
|
|
2288
|
+
i18n-unlock="kendo.grid.unlock|The text shown in the column menu for the unlock item"
|
|
2289
|
+
unlock="Unlock"
|
|
2290
|
+
|
|
2291
|
+
i18n-setColumnPosition="kendo.grid.setColumnPosition|The text shown in the column menu for the set column position item"
|
|
2292
|
+
setColumnPosition="Set Column Position"
|
|
2293
|
+
|
|
2294
|
+
i18n-stick="kendo.grid.stick|The text shown in the column menu for the stick item"
|
|
2295
|
+
stick="Stick"
|
|
2296
|
+
|
|
2297
|
+
i18n-unstick="kendo.grid.unstick|The text shown in the column menu for the unstick item"
|
|
2298
|
+
unstick="Unstick"
|
|
2299
|
+
|
|
2300
|
+
i18n-sortable="kendo.grid.sortable|The label of the sort icon"
|
|
2301
|
+
sortable="Sortable"
|
|
2302
|
+
|
|
2303
|
+
i18n-sortAscending="kendo.grid.sortAscending|The text shown in the column menu for the sort ascending item"
|
|
2304
|
+
sortAscending="Sort Ascending"
|
|
2305
|
+
|
|
2306
|
+
i18n-sortDescending="kendo.grid.sortDescending|The text shown in the column menu for the sort descending item"
|
|
2307
|
+
sortDescending="Sort Descending"
|
|
2308
|
+
|
|
2309
|
+
i18n-sortedAscending="kendo.grid.sortedAscending|The status announcement when a column is sorted ascending"
|
|
2310
|
+
sortedAscending="Sorted Ascending"
|
|
2311
|
+
|
|
2312
|
+
i18n-sortedDescending="kendo.grid.sortedDescending|The status announcement when a column is sorted descending"
|
|
2313
|
+
sortedDescending="Sorted Descending"
|
|
2314
|
+
|
|
2315
|
+
i18n-sortedDefault="kendo.grid.sortedDefault|The status announcement when a column is no longer sorted"
|
|
2316
|
+
sortedDefault="Not Sorted"
|
|
2317
|
+
|
|
2318
|
+
i18n-columnsApply="kendo.grid.columnsApply|The text shown in the column menu or column chooser for the columns apply button"
|
|
2319
|
+
columnsApply="Apply"
|
|
2320
|
+
|
|
2321
|
+
i18n-columnsReset="kendo.grid.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
|
|
2322
|
+
columnsReset="Reset"
|
|
2323
|
+
|
|
2324
|
+
i18n-detailExpand="kendo.grid.detailExpand|The title of the expand icon of detail rows."
|
|
2325
|
+
detailExpand="Expand Details"
|
|
2326
|
+
|
|
2327
|
+
i18n-detailCollapse="kendo.grid.detailCollapse|The title of the collapse icon of detail rows."
|
|
2328
|
+
detailCollapse="Collapse Details"
|
|
2329
|
+
|
|
2330
|
+
i18n-filterDateToday="kendo.grid.filterDateToday|The text of the Today button of the Date filter."
|
|
2331
|
+
filterDateToday="TODAY"
|
|
2332
|
+
|
|
2333
|
+
i18n-filterDateToggle="kendo.grid.filterDateToggle|The title of the Toggle button of the Date filter."
|
|
2334
|
+
filterDateToggle="Toggle Calendar"
|
|
2335
|
+
|
|
2336
|
+
i18n-filterNumericDecrement="kendo.grid.filterNumericDecrement|The title of the Decrement button of the Numeric filter."
|
|
2337
|
+
filterNumericDecrement="Decrement"
|
|
2338
|
+
|
|
2339
|
+
i18n-filterNumericIncrement="kendo.grid.filterNumericIncrement|The title of the Increment button of the Numeric filter."
|
|
2340
|
+
filterNumericIncrement="Increment"
|
|
2341
|
+
|
|
2342
|
+
i18n-selectionCheckboxLabel="kendo.grid.selectionCheckboxLabel|The labels of the checkbox column checkboxes."
|
|
2343
|
+
selectionCheckboxLabel="Select Row"
|
|
2344
|
+
|
|
2345
|
+
i18n-selectAllCheckboxLabel="kendo.grid.selectAllCheckboxLabel|The label of the checkbox column select all checkbox."
|
|
2346
|
+
selectAllCheckboxLabel="Select All Rows"
|
|
2347
|
+
|
|
2348
|
+
i18n-groupCollapse="kendo.grid.groupCollapse|The text of the title and aria-label attributes applied to the collapse icon of group rows."
|
|
2349
|
+
groupCollapse="Collapse Group"
|
|
2350
|
+
|
|
2351
|
+
i18n-groupExpand="kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows."
|
|
2352
|
+
groupExpand="Expand Group"
|
|
2353
|
+
>
|
|
2354
|
+
</ng-container>
|
|
2355
|
+
<kendo-grid-toolbar class="k-toolbar k-grid-toolbar" *ngIf="showTopToolbar" position="top"></kendo-grid-toolbar>
|
|
2356
|
+
<kendo-pager
|
|
2357
|
+
*ngIf="showTopPager"
|
|
2358
|
+
[tabindex]="navigable ? '0' : '-1'"
|
|
2359
|
+
[attr.role]="navigable ? 'navigation' : undefined"
|
|
2360
|
+
class="k-grid-pager-top"
|
|
2361
|
+
[template]="pagerTemplate"
|
|
2362
|
+
[pageSize]="pageSize"
|
|
2363
|
+
[total]="view.total"
|
|
2364
|
+
[skip]="skip"
|
|
2365
|
+
[options]="pageable"
|
|
2366
|
+
(pageChange)="notifyPageChange('pager', $event)">
|
|
2367
|
+
</kendo-pager>
|
|
2368
|
+
<kendo-grid-group-panel
|
|
2369
|
+
*ngIf="showGroupPanel"
|
|
2370
|
+
[text]="groupableEmptyText"
|
|
2371
|
+
[groups]="group"
|
|
2372
|
+
(change)="groupChange.emit($event)">
|
|
2373
|
+
</kendo-grid-group-panel>
|
|
2374
|
+
<div #ariaRoot
|
|
2375
|
+
class="k-grid-aria-root"
|
|
2376
|
+
role="grid"
|
|
2377
|
+
[attr.aria-label]="ariaLabel"
|
|
2378
|
+
[attr.aria-rowcount]="ariaRowCount"
|
|
2379
|
+
[attr.aria-colcount]="ariaColCount">
|
|
2380
|
+
<ng-container *ngIf="isScrollable">
|
|
2381
|
+
<div *ngIf="!hideHeader"
|
|
2382
|
+
class="k-grid-header"
|
|
2383
|
+
role="presentation"
|
|
2384
|
+
[style.padding]="headerPadding">
|
|
2385
|
+
<div *ngIf="isLocked"
|
|
2386
|
+
#lockedHeader
|
|
2387
|
+
role="presentation"
|
|
2388
|
+
class="k-grid-header-locked"
|
|
2389
|
+
[style.width.px]="lockedWidth">
|
|
2390
|
+
<table [locked]="true" role="presentation" [style.width.px]="lockedWidth">
|
|
2391
|
+
<colgroup kendoGridColGroup
|
|
2392
|
+
role="presentation"
|
|
2393
|
+
[columns]="$any(lockedLeafColumns)"
|
|
2394
|
+
[groups]="group"
|
|
2395
|
+
[detailTemplate]="detailTemplate">
|
|
2396
|
+
</colgroup>
|
|
2397
|
+
<thead kendoGridHeader
|
|
2398
|
+
[resizable]="resizable"
|
|
2399
|
+
[scrollable]="true"
|
|
2400
|
+
[columns]="$any(lockedColumns)"
|
|
2401
|
+
[totalColumnLevels]="totalColumnLevels"
|
|
2402
|
+
[sort]="sort"
|
|
2403
|
+
[groups]="group"
|
|
2404
|
+
[filter]="filter"
|
|
2405
|
+
[filterable]="filterable"
|
|
2406
|
+
[groupable]="showGroupPanel"
|
|
2407
|
+
[reorderable]="reorderable"
|
|
2408
|
+
[sortable]="sortable"
|
|
2409
|
+
[columnMenu]="columnMenuOptions"
|
|
2410
|
+
[columnMenuTemplate]="columnMenuTemplate"
|
|
2411
|
+
[totalColumnsCount]="leafColumns.length"
|
|
2412
|
+
[detailTemplate]="detailTemplate"
|
|
2413
|
+
[tabIndex]="navigable ? '-1' : '0'">
|
|
2414
|
+
</thead>
|
|
2415
|
+
</table>
|
|
2416
|
+
</div><div #header class="k-grid-header-wrap" role="presentation" data-scrollable
|
|
2417
|
+
[kendoGridResizableContainer]="lockedLeafColumns.length > 0"
|
|
2418
|
+
[lockedWidth]="lockedWidth + scrollbarWidth + 2">
|
|
2419
|
+
<table role="presentation" [style.width.px]="nonLockedWidth" [virtualColumns]="virtualColumns">
|
|
2420
|
+
<colgroup kendoGridColGroup
|
|
2421
|
+
role="presentation"
|
|
2422
|
+
[columns]="headerLeafColumns"
|
|
2423
|
+
[groups]="isLocked ? [] : group"
|
|
2424
|
+
[detailTemplate]="detailTemplate">
|
|
2425
|
+
</colgroup>
|
|
2426
|
+
<thead kendoGridHeader
|
|
2427
|
+
[resizable]="resizable"
|
|
2428
|
+
role="presentation"
|
|
2429
|
+
[scrollable]="true"
|
|
2430
|
+
[columns]="headerColumns"
|
|
2431
|
+
[totalColumnLevels]="totalColumnLevels"
|
|
2432
|
+
[sort]="sort"
|
|
2433
|
+
[filter]="filter"
|
|
2434
|
+
[filterable]="filterable"
|
|
2435
|
+
[groupable]="showGroupPanel"
|
|
2436
|
+
[reorderable]="reorderable"
|
|
2437
|
+
[groups]="isLocked ? [] : group"
|
|
2438
|
+
[sortable]="sortable"
|
|
2439
|
+
[columnMenu]="columnMenuOptions"
|
|
2440
|
+
[columnMenuTemplate]="columnMenuTemplate"
|
|
2441
|
+
[lockedColumnsCount]="lockedLeafColumns.length"
|
|
2442
|
+
[totalColumnsCount]="leafColumns.length"
|
|
2443
|
+
[detailTemplate]="detailTemplate"
|
|
2444
|
+
[tabIndex]="navigable ? '-1' : '0'">
|
|
2445
|
+
</thead>
|
|
2446
|
+
</table>
|
|
2447
|
+
<div *ngIf="virtualColumns" class="k-width-container" role="presentation">
|
|
2448
|
+
<div [style.width.px]="columnsContainer.unlockedWidth"></div>
|
|
2449
|
+
</div>
|
|
2450
|
+
</div>
|
|
2451
|
+
</div>
|
|
2452
|
+
<kendo-grid-list
|
|
2453
|
+
[data]="$any(view)"
|
|
2454
|
+
[rowHeight]="rowHeight"
|
|
2455
|
+
[detailRowHeight]="detailRowHeight"
|
|
2456
|
+
[total]="totalCount"
|
|
2457
|
+
[take]="pageSize"
|
|
2458
|
+
[groups]="group"
|
|
2459
|
+
[groupable]="groupable"
|
|
2460
|
+
[skip]="skip"
|
|
2461
|
+
[trackBy]="trackBy"
|
|
2462
|
+
[columns]="columnsContainer"
|
|
2463
|
+
[selectable]="selectable"
|
|
2464
|
+
[filterable]="filterable"
|
|
2465
|
+
[detailTemplate]="detailTemplate"
|
|
2466
|
+
[noRecordsTemplate]="noRecordsTemplate"
|
|
2467
|
+
(pageChange)="notifyPageChange('list', $event)"
|
|
2468
|
+
[rowClass]="rowClass"
|
|
2469
|
+
[rowSticky]="rowSticky"
|
|
2470
|
+
[loading]="loading"
|
|
2471
|
+
[isVirtual]="isVirtual"
|
|
2472
|
+
[cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
|
|
2473
|
+
[loadingTemplate]="loadingTemplate?.templateRef"
|
|
2474
|
+
[virtualColumns]="virtualColumns"
|
|
2475
|
+
(scrollBottom)="notifyScrollBottom()"
|
|
2476
|
+
(contentScroll)="contentScroll.emit($event)"
|
|
2477
|
+
kendoDraggable
|
|
2478
|
+
kendoGridSelectionMarquee
|
|
2479
|
+
[enableDrag]="marqueeSelection"
|
|
2480
|
+
>
|
|
2481
|
+
</kendo-grid-list>
|
|
2482
|
+
<div
|
|
2483
|
+
*ngIf="showFooter"
|
|
2484
|
+
class="k-grid-footer"
|
|
2485
|
+
[style.padding]="headerPadding">
|
|
2486
|
+
<div
|
|
2487
|
+
*ngIf="lockedLeafColumns.length"
|
|
2488
|
+
class="k-grid-footer-locked"
|
|
2489
|
+
[style.width.px]="lockedWidth">
|
|
2490
|
+
<table role="presentation" [locked]="true" [style.width.px]="lockedWidth">
|
|
2491
|
+
<colgroup kendoGridColGroup
|
|
2492
|
+
[columns]="$any(lockedLeafColumns)"
|
|
2493
|
+
[groups]="group"
|
|
2494
|
+
[detailTemplate]="detailTemplate">
|
|
2495
|
+
</colgroup>
|
|
2496
|
+
<tfoot kendoGridFooter
|
|
2497
|
+
[scrollable]="true"
|
|
2498
|
+
[groups]="group"
|
|
2499
|
+
[columns]="$any(lockedLeafColumns)"
|
|
2500
|
+
[detailTemplate]="detailTemplate"
|
|
2501
|
+
[logicalRowIndex]="ariaRowCount">
|
|
2502
|
+
</tfoot>
|
|
2503
|
+
</table>
|
|
2504
|
+
</div><div #footer
|
|
2505
|
+
class="k-grid-footer-wrap" data-scrollable
|
|
2506
|
+
[kendoGridResizableContainer]="lockedLeafColumns.length > 0"
|
|
2507
|
+
[lockedWidth]="lockedWidth + scrollbarWidth + 3">
|
|
2508
|
+
<table role="presentation" [style.width.px]="nonLockedWidth">
|
|
2509
|
+
<colgroup kendoGridColGroup
|
|
2510
|
+
[columns]="$any(nonLockedLeafColumns)"
|
|
2511
|
+
[groups]="isLocked ? [] : group"
|
|
2512
|
+
[detailTemplate]="detailTemplate">
|
|
2513
|
+
</colgroup>
|
|
2514
|
+
<tfoot kendoGridFooter
|
|
2515
|
+
[logicalRowIndex]="ariaRowCount"
|
|
2516
|
+
[scrollable]="true"
|
|
2517
|
+
[groups]="isLocked ? [] : group"
|
|
2518
|
+
[columns]="$any(nonLockedLeafColumns)"
|
|
2519
|
+
[lockedColumnsCount]="lockedLeafColumns.length"
|
|
2520
|
+
[detailTemplate]="detailTemplate">
|
|
2521
|
+
</tfoot>
|
|
2522
|
+
</table>
|
|
2523
|
+
</div>
|
|
2524
|
+
</div>
|
|
2525
|
+
</ng-container>
|
|
2526
|
+
<ng-container *ngIf="!isScrollable">
|
|
2527
|
+
<table [style.table-layout]="resizable ? 'fixed' : null">
|
|
2528
|
+
<colgroup kendoGridColGroup
|
|
2529
|
+
[columns]="$any(leafColumns)"
|
|
2530
|
+
[groups]="group"
|
|
2531
|
+
[detailTemplate]="detailTemplate">
|
|
2532
|
+
</colgroup>
|
|
2533
|
+
<thead kendoGridHeader
|
|
2534
|
+
*ngIf="!hideHeader"
|
|
2535
|
+
[resizable]="resizable"
|
|
2536
|
+
[scrollable]="false"
|
|
2537
|
+
[columns]="$any(visibleColumns)"
|
|
2538
|
+
[totalColumnLevels]="totalColumnLevels"
|
|
2539
|
+
[groups]="group"
|
|
2540
|
+
[groupable]="showGroupPanel"
|
|
2541
|
+
[reorderable]="reorderable"
|
|
2542
|
+
[sort]="sort"
|
|
2543
|
+
[sortable]="sortable"
|
|
2544
|
+
[filter]="filter"
|
|
2545
|
+
[filterable]="filterable"
|
|
2546
|
+
[columnMenu]="columnMenuOptions"
|
|
2547
|
+
[columnMenuTemplate]="columnMenuTemplate"
|
|
2548
|
+
[detailTemplate]="detailTemplate"
|
|
2549
|
+
[tabIndex]="navigable ? '-1' : '0'">
|
|
2550
|
+
</thead>
|
|
2551
|
+
<tbody kendoGridTableBody
|
|
2552
|
+
[isLoading]="loading"
|
|
2553
|
+
[groups]="group"
|
|
2554
|
+
[data]="$any(view)"
|
|
2555
|
+
[skip]="skip"
|
|
2556
|
+
[columns]="$any(leafColumns)"
|
|
2557
|
+
[selectable]="selectable"
|
|
2558
|
+
[filterable]="filterable"
|
|
2559
|
+
[noRecordsTemplate]="noRecordsTemplate"
|
|
2560
|
+
[detailTemplate]="detailTemplate"
|
|
2561
|
+
[showGroupFooters]="showGroupFooters"
|
|
2562
|
+
[trackBy]="trackBy"
|
|
2563
|
+
[rowClass]="rowClass"
|
|
2564
|
+
kendoDraggable
|
|
2565
|
+
kendoGridSelectionMarquee
|
|
2566
|
+
[enableDrag]="marqueeSelection">
|
|
2567
|
+
</tbody>
|
|
2568
|
+
<tfoot kendoGridFooter
|
|
2569
|
+
*ngIf="showFooter"
|
|
2570
|
+
[scrollable]="false"
|
|
2571
|
+
[logicalRowIndex]="ariaRowCount"
|
|
2572
|
+
[groups]="group"
|
|
2573
|
+
[columns]="$any(leafColumns)"
|
|
2574
|
+
[detailTemplate]="detailTemplate">
|
|
2575
|
+
</tfoot>
|
|
2576
|
+
</table>
|
|
2577
|
+
</ng-container>
|
|
2578
|
+
<div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
|
|
2579
|
+
</div>
|
|
2580
|
+
</div>
|
|
2581
|
+
<kendo-pager
|
|
2582
|
+
*ngIf="showBottomPager"
|
|
2583
|
+
[tabindex]="navigable ? '0' : '-1'"
|
|
2584
|
+
[attr.role]="navigable ? 'navigation' : undefined"
|
|
2585
|
+
[template]="pagerTemplate"
|
|
2586
|
+
[pageSize]="pageSize"
|
|
2587
|
+
[total]="view.total"
|
|
2588
|
+
[skip]="skip"
|
|
2589
|
+
[options]="pageable"
|
|
2590
|
+
(pageChange)="notifyPageChange('pager', $event)">
|
|
2591
|
+
</kendo-pager>
|
|
2592
|
+
<kendo-grid-toolbar class="k-toolbar k-grid-toolbar k-grid-toolbar-bottom" *ngIf="showBottomToolbar" position="bottom"></kendo-grid-toolbar>
|
|
2593
|
+
`, isInline: true, styles: [" .k-grid .k-grid-aria-root {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n overflow: hidden;\n }\n\n .k-grid .k-filter-row td {\n white-space: nowrap;\n }"], components: [{ type: i23.ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position"] }, { type: i24.PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "template"], outputs: ["pageChange"] }, { type: i25.GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "groups"], outputs: ["change"] }, { type: i26.ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate"] }, { type: i27.HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex"] }, { type: i28.ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: i29.FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: i30.TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: i31.LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }], directives: [{ type: i32.LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i33.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i34.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i35.ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i36.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i37.GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
|
|
2594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GridComponent, decorators: [{
|
|
2595
|
+
type: Component,
|
|
2596
|
+
args: [{
|
|
2597
|
+
encapsulation: ViewEncapsulation.None,
|
|
2598
|
+
exportAs: 'kendoGrid',
|
|
2599
|
+
providers: [
|
|
2600
|
+
BrowserSupportService,
|
|
2601
|
+
LocalizationService,
|
|
2602
|
+
ColumnInfoService,
|
|
2603
|
+
SelectionService,
|
|
2604
|
+
CellSelectionService,
|
|
2605
|
+
DetailsService,
|
|
2606
|
+
GroupsService,
|
|
2607
|
+
GroupInfoService,
|
|
2608
|
+
ChangeNotificationService,
|
|
2609
|
+
EditService,
|
|
2610
|
+
PDFService,
|
|
2611
|
+
SuspendService,
|
|
2612
|
+
{
|
|
2613
|
+
provide: CELL_CONTEXT,
|
|
2614
|
+
useValue: EMPTY_CELL_CONTEXT
|
|
2615
|
+
},
|
|
2616
|
+
{
|
|
2617
|
+
provide: L10N_PREFIX,
|
|
2618
|
+
useValue: 'kendo.grid'
|
|
2619
|
+
},
|
|
2620
|
+
FilterService,
|
|
2621
|
+
ResponsiveService,
|
|
2622
|
+
PagerContextService,
|
|
2623
|
+
ExcelService,
|
|
2624
|
+
ScrollSyncService,
|
|
2625
|
+
ResizeService,
|
|
2626
|
+
LocalDataChangesService,
|
|
2627
|
+
DomEventsService,
|
|
2628
|
+
ColumnResizingService,
|
|
2629
|
+
SinglePopupService,
|
|
2630
|
+
DragAndDropService,
|
|
2631
|
+
DragHintService,
|
|
2632
|
+
DropCueService,
|
|
2633
|
+
ColumnReorderService,
|
|
2634
|
+
NavigationService,
|
|
2635
|
+
FocusRoot,
|
|
2636
|
+
IdService,
|
|
2637
|
+
ScrollRequestService,
|
|
2638
|
+
SortService,
|
|
2639
|
+
ContextService
|
|
2640
|
+
],
|
|
2641
|
+
selector: 'kendo-grid',
|
|
2642
|
+
styles: [
|
|
2643
|
+
// Styles for backwards compatibility with kendo-theme-default@v2.46.0 and earlier.
|
|
2644
|
+
` .k-grid .k-grid-aria-root {
|
|
2645
|
+
display: flex;
|
|
2646
|
+
flex-direction: column;
|
|
2647
|
+
flex: 1 1 auto;
|
|
2648
|
+
overflow: hidden;
|
|
2649
|
+
}
|
|
2650
|
+
|
|
2651
|
+
.k-grid .k-filter-row td {
|
|
2652
|
+
white-space: nowrap;
|
|
2653
|
+
}`
|
|
2654
|
+
],
|
|
2655
|
+
template: `
|
|
2656
|
+
<ng-container kendoGridLocalizedMessages
|
|
2657
|
+
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
2658
|
+
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
2659
|
+
|
|
2660
|
+
i18n-noRecords="kendo.grid.noRecords|The label visible in the Grid when there are no records"
|
|
2661
|
+
noRecords="No records available."
|
|
2662
|
+
|
|
2663
|
+
i18n-pagerLabel="kendo.grid.pagerLabel|The label for the Grid pager"
|
|
2664
|
+
pagerLabel="{{ 'Page navigation, page {currentPage} of {totalPages}' }}"
|
|
2665
|
+
|
|
2666
|
+
i18n-pagerFirstPage="kendo.grid.pagerFirstPage|The label for the first page button in Grid pager"
|
|
2667
|
+
pagerFirstPage="Go to the first page"
|
|
2668
|
+
|
|
2669
|
+
i18n-pagerPreviousPage="kendo.grid.pagerPreviousPage|The label for the previous page button in Grid pager"
|
|
2670
|
+
pagerPreviousPage="Go to the previous page"
|
|
2671
|
+
|
|
2672
|
+
i18n-pagerNextPage="kendo.grid.pagerNextPage|The label for the next page button in Grid pager"
|
|
2673
|
+
pagerNextPage="Go to the next page"
|
|
2674
|
+
|
|
2675
|
+
i18n-pagerLastPage="kendo.grid.pagerLastPage|The label for the last page button in Grid pager"
|
|
2676
|
+
pagerLastPage="Go to the last page"
|
|
2677
|
+
|
|
2678
|
+
i18n-pagerPage="kendo.grid.pagerPage|The label before the current page number in the Grid pager"
|
|
2679
|
+
pagerPage="Page"
|
|
2680
|
+
|
|
2681
|
+
i18n-pagerOf="kendo.grid.pagerOf|The label before the total pages number in the Grid pager"
|
|
2682
|
+
pagerOf="of"
|
|
2683
|
+
|
|
2684
|
+
i18n-pagerItems="kendo.grid.pagerItems|The label after the total pages number in the Grid pager"
|
|
2685
|
+
pagerItems="items"
|
|
2686
|
+
|
|
2687
|
+
i18n-pagerPageNumberInputTitle="kendo.grid.pagerPageNumberInputTitle|The label for the pager input in the Grid pager"
|
|
2688
|
+
pagerPageNumberInputTitle="Page Number"
|
|
2689
|
+
|
|
2690
|
+
i18n-pagerItemsPerPage="kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager"
|
|
2691
|
+
pagerItemsPerPage="items per page"
|
|
2692
|
+
|
|
2693
|
+
i18n-filter="kendo.grid.filter|The label of the filter cell or icon"
|
|
2694
|
+
filter="Filter"
|
|
2695
|
+
|
|
2696
|
+
i18n-filterInputLabel="kendo.grid.filterInputLabel|The label of the filter row and menu inputs"
|
|
2697
|
+
filterInputLabel="{{ '{columnName} Filter' }}"
|
|
2698
|
+
|
|
2699
|
+
i18n-filterMenuTitle="kendo.grid.filterMenuTitle|The title of the filter menu icon"
|
|
2700
|
+
filterMenuTitle="{{ '{columnName} Filter Menu' }}"
|
|
2701
|
+
|
|
2702
|
+
i18n-filterMenuOperatorsDropDownLabel="kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown"
|
|
2703
|
+
filterMenuOperatorsDropDownLabel="{{ '{columnName} Filter Operators' }}"
|
|
2704
|
+
|
|
2705
|
+
i18n-filterMenuLogicDropDownLabel="kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown"
|
|
2706
|
+
filterMenuLogicDropDownLabel="{{ '{columnName} Filter Logic' }}"
|
|
2707
|
+
|
|
2708
|
+
i18n-filterEqOperator="kendo.grid.filterEqOperator|The text of the equal filter operator"
|
|
2709
|
+
filterEqOperator="Is equal to"
|
|
2710
|
+
|
|
2711
|
+
i18n-filterNotEqOperator="kendo.grid.filterNotEqOperator|The text of the not equal filter operator"
|
|
2712
|
+
filterNotEqOperator="Is not equal to"
|
|
2713
|
+
|
|
2714
|
+
i18n-filterIsNullOperator="kendo.grid.filterIsNullOperator|The text of the is null filter operator"
|
|
2715
|
+
filterIsNullOperator="Is null"
|
|
2716
|
+
|
|
2717
|
+
i18n-filterIsNotNullOperator="kendo.grid.filterIsNotNullOperator|The text of the is not null filter operator"
|
|
2718
|
+
filterIsNotNullOperator="Is not null"
|
|
2719
|
+
|
|
2720
|
+
i18n-filterIsEmptyOperator="kendo.grid.filterIsEmptyOperator|The text of the is empty filter operator"
|
|
2721
|
+
filterIsEmptyOperator="Is empty"
|
|
2722
|
+
|
|
2723
|
+
i18n-filterIsNotEmptyOperator="kendo.grid.filterIsNotEmptyOperator|The text of the is not empty filter operator"
|
|
2724
|
+
filterIsNotEmptyOperator="Is not empty"
|
|
2725
|
+
|
|
2726
|
+
i18n-filterStartsWithOperator="kendo.grid.filterStartsWithOperator|The text of the starts with filter operator"
|
|
2727
|
+
filterStartsWithOperator="Starts with"
|
|
2728
|
+
|
|
2729
|
+
i18n-filterContainsOperator="kendo.grid.filterContainsOperator|The text of the contains filter operator"
|
|
2730
|
+
filterContainsOperator="Contains"
|
|
2731
|
+
|
|
2732
|
+
i18n-filterNotContainsOperator="kendo.grid.filterNotContainsOperator|The text of the does not contain filter operator"
|
|
2733
|
+
filterNotContainsOperator="Does not contain"
|
|
2734
|
+
|
|
2735
|
+
i18n-filterEndsWithOperator="kendo.grid.filterEndsWithOperator|The text of the ends with filter operator"
|
|
2736
|
+
filterEndsWithOperator="Ends with"
|
|
2737
|
+
|
|
2738
|
+
i18n-filterGteOperator="kendo.grid.filterGteOperator|The text of the greater than or equal filter operator"
|
|
2739
|
+
filterGteOperator="Is greater than or equal to"
|
|
2740
|
+
|
|
2741
|
+
i18n-filterGtOperator="kendo.grid.filterGtOperator|The text of the greater than filter operator"
|
|
2742
|
+
filterGtOperator="Is greater than"
|
|
2743
|
+
|
|
2744
|
+
i18n-filterLteOperator="kendo.grid.filterLteOperator|The text of the less than or equal filter operator"
|
|
2745
|
+
filterLteOperator="Is less than or equal to"
|
|
2746
|
+
|
|
2747
|
+
i18n-filterLtOperator="kendo.grid.filterLtOperator|The text of the less than filter operator"
|
|
2748
|
+
filterLtOperator="Is less than"
|
|
2749
|
+
|
|
2750
|
+
i18n-filterIsTrue="kendo.grid.filterIsTrue|The text of the IsTrue boolean filter option"
|
|
2751
|
+
filterIsTrue="Is True"
|
|
2752
|
+
|
|
2753
|
+
i18n-filterIsFalse="kendo.grid.filterIsFalse|The text of the IsFalse boolean filter option"
|
|
2754
|
+
filterIsFalse="Is False"
|
|
2755
|
+
|
|
2756
|
+
i18n-filterBooleanAll="kendo.grid.filterBooleanAll|The text of the (All) boolean filter option"
|
|
2757
|
+
filterBooleanAll="(All)"
|
|
2758
|
+
|
|
2759
|
+
i18n-filterAfterOrEqualOperator="kendo.grid.filterAfterOrEqualOperator|The text of the after or equal date filter operator"
|
|
2760
|
+
filterAfterOrEqualOperator="Is after or equal to"
|
|
2761
|
+
|
|
2762
|
+
i18n-filterAfterOperator="kendo.grid.filterAfterOperator|The text of the after date filter operator"
|
|
2763
|
+
filterAfterOperator="Is after"
|
|
2764
|
+
|
|
2765
|
+
i18n-filterBeforeOperator="kendo.grid.filterBeforeOperator|The text of the before date filter operator"
|
|
2766
|
+
filterBeforeOperator="Is before"
|
|
2767
|
+
|
|
2768
|
+
i18n-filterBeforeOrEqualOperator="kendo.grid.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"
|
|
2769
|
+
filterBeforeOrEqualOperator="Is before or equal to"
|
|
2770
|
+
|
|
2771
|
+
i18n-filterFilterButton="kendo.grid.filterFilterButton|The text of the filter button"
|
|
2772
|
+
filterFilterButton="Filter"
|
|
2773
|
+
|
|
2774
|
+
i18n-filterClearButton="kendo.grid.filterClearButton|The text of the clear filter button"
|
|
2775
|
+
filterClearButton="Clear"
|
|
2776
|
+
|
|
2777
|
+
i18n-filterAndLogic="kendo.grid.filterAndLogic|The text of the And filter logic"
|
|
2778
|
+
filterAndLogic="And"
|
|
2779
|
+
|
|
2780
|
+
i18n-filterOrLogic="kendo.grid.filterOrLogic|The text of the Or filter logic"
|
|
2781
|
+
filterOrLogic="Or"
|
|
2782
|
+
|
|
2783
|
+
i18n-loading="kendo.grid.loading|The loading text"
|
|
2784
|
+
loading="Loading"
|
|
2785
|
+
|
|
2786
|
+
i18n-gridLabel="kendo.grid.gridLabel|The Grid aria-label"
|
|
2787
|
+
gridLabel="Data table"
|
|
2788
|
+
|
|
2789
|
+
i18n-columnMenu="kendo.grid.columnMenu|The title of the column menu icon"
|
|
2790
|
+
columnMenu="{{ '{columnName} Column Menu' }}"
|
|
2791
|
+
|
|
2792
|
+
i18n-columns="kendo.grid.columns|The text shown in the column menu for the columns item"
|
|
2793
|
+
columns="Columns"
|
|
2794
|
+
|
|
2795
|
+
i18n-lock="kendo.grid.lock|The text shown in the column menu for the lock item"
|
|
2796
|
+
lock="Lock"
|
|
2797
|
+
|
|
2798
|
+
i18n-unlock="kendo.grid.unlock|The text shown in the column menu for the unlock item"
|
|
2799
|
+
unlock="Unlock"
|
|
2800
|
+
|
|
2801
|
+
i18n-setColumnPosition="kendo.grid.setColumnPosition|The text shown in the column menu for the set column position item"
|
|
2802
|
+
setColumnPosition="Set Column Position"
|
|
2803
|
+
|
|
2804
|
+
i18n-stick="kendo.grid.stick|The text shown in the column menu for the stick item"
|
|
2805
|
+
stick="Stick"
|
|
2806
|
+
|
|
2807
|
+
i18n-unstick="kendo.grid.unstick|The text shown in the column menu for the unstick item"
|
|
2808
|
+
unstick="Unstick"
|
|
2809
|
+
|
|
2810
|
+
i18n-sortable="kendo.grid.sortable|The label of the sort icon"
|
|
2811
|
+
sortable="Sortable"
|
|
2812
|
+
|
|
2813
|
+
i18n-sortAscending="kendo.grid.sortAscending|The text shown in the column menu for the sort ascending item"
|
|
2814
|
+
sortAscending="Sort Ascending"
|
|
2815
|
+
|
|
2816
|
+
i18n-sortDescending="kendo.grid.sortDescending|The text shown in the column menu for the sort descending item"
|
|
2817
|
+
sortDescending="Sort Descending"
|
|
2818
|
+
|
|
2819
|
+
i18n-sortedAscending="kendo.grid.sortedAscending|The status announcement when a column is sorted ascending"
|
|
2820
|
+
sortedAscending="Sorted Ascending"
|
|
2821
|
+
|
|
2822
|
+
i18n-sortedDescending="kendo.grid.sortedDescending|The status announcement when a column is sorted descending"
|
|
2823
|
+
sortedDescending="Sorted Descending"
|
|
2824
|
+
|
|
2825
|
+
i18n-sortedDefault="kendo.grid.sortedDefault|The status announcement when a column is no longer sorted"
|
|
2826
|
+
sortedDefault="Not Sorted"
|
|
2827
|
+
|
|
2828
|
+
i18n-columnsApply="kendo.grid.columnsApply|The text shown in the column menu or column chooser for the columns apply button"
|
|
2829
|
+
columnsApply="Apply"
|
|
2830
|
+
|
|
2831
|
+
i18n-columnsReset="kendo.grid.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
|
|
2832
|
+
columnsReset="Reset"
|
|
2833
|
+
|
|
2834
|
+
i18n-detailExpand="kendo.grid.detailExpand|The title of the expand icon of detail rows."
|
|
2835
|
+
detailExpand="Expand Details"
|
|
2836
|
+
|
|
2837
|
+
i18n-detailCollapse="kendo.grid.detailCollapse|The title of the collapse icon of detail rows."
|
|
2838
|
+
detailCollapse="Collapse Details"
|
|
2839
|
+
|
|
2840
|
+
i18n-filterDateToday="kendo.grid.filterDateToday|The text of the Today button of the Date filter."
|
|
2841
|
+
filterDateToday="TODAY"
|
|
2842
|
+
|
|
2843
|
+
i18n-filterDateToggle="kendo.grid.filterDateToggle|The title of the Toggle button of the Date filter."
|
|
2844
|
+
filterDateToggle="Toggle Calendar"
|
|
2845
|
+
|
|
2846
|
+
i18n-filterNumericDecrement="kendo.grid.filterNumericDecrement|The title of the Decrement button of the Numeric filter."
|
|
2847
|
+
filterNumericDecrement="Decrement"
|
|
2848
|
+
|
|
2849
|
+
i18n-filterNumericIncrement="kendo.grid.filterNumericIncrement|The title of the Increment button of the Numeric filter."
|
|
2850
|
+
filterNumericIncrement="Increment"
|
|
2851
|
+
|
|
2852
|
+
i18n-selectionCheckboxLabel="kendo.grid.selectionCheckboxLabel|The labels of the checkbox column checkboxes."
|
|
2853
|
+
selectionCheckboxLabel="Select Row"
|
|
2854
|
+
|
|
2855
|
+
i18n-selectAllCheckboxLabel="kendo.grid.selectAllCheckboxLabel|The label of the checkbox column select all checkbox."
|
|
2856
|
+
selectAllCheckboxLabel="Select All Rows"
|
|
2857
|
+
|
|
2858
|
+
i18n-groupCollapse="kendo.grid.groupCollapse|The text of the title and aria-label attributes applied to the collapse icon of group rows."
|
|
2859
|
+
groupCollapse="Collapse Group"
|
|
2860
|
+
|
|
2861
|
+
i18n-groupExpand="kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows."
|
|
2862
|
+
groupExpand="Expand Group"
|
|
2863
|
+
>
|
|
2864
|
+
</ng-container>
|
|
2865
|
+
<kendo-grid-toolbar class="k-toolbar k-grid-toolbar" *ngIf="showTopToolbar" position="top"></kendo-grid-toolbar>
|
|
2866
|
+
<kendo-pager
|
|
2867
|
+
*ngIf="showTopPager"
|
|
2868
|
+
[tabindex]="navigable ? '0' : '-1'"
|
|
2869
|
+
[attr.role]="navigable ? 'navigation' : undefined"
|
|
2870
|
+
class="k-grid-pager-top"
|
|
2871
|
+
[template]="pagerTemplate"
|
|
2872
|
+
[pageSize]="pageSize"
|
|
2873
|
+
[total]="view.total"
|
|
2874
|
+
[skip]="skip"
|
|
2875
|
+
[options]="pageable"
|
|
2876
|
+
(pageChange)="notifyPageChange('pager', $event)">
|
|
2877
|
+
</kendo-pager>
|
|
2878
|
+
<kendo-grid-group-panel
|
|
2879
|
+
*ngIf="showGroupPanel"
|
|
2880
|
+
[text]="groupableEmptyText"
|
|
2881
|
+
[groups]="group"
|
|
2882
|
+
(change)="groupChange.emit($event)">
|
|
2883
|
+
</kendo-grid-group-panel>
|
|
2884
|
+
<div #ariaRoot
|
|
2885
|
+
class="k-grid-aria-root"
|
|
2886
|
+
role="grid"
|
|
2887
|
+
[attr.aria-label]="ariaLabel"
|
|
2888
|
+
[attr.aria-rowcount]="ariaRowCount"
|
|
2889
|
+
[attr.aria-colcount]="ariaColCount">
|
|
2890
|
+
<ng-container *ngIf="isScrollable">
|
|
2891
|
+
<div *ngIf="!hideHeader"
|
|
2892
|
+
class="k-grid-header"
|
|
2893
|
+
role="presentation"
|
|
2894
|
+
[style.padding]="headerPadding">
|
|
2895
|
+
<div *ngIf="isLocked"
|
|
2896
|
+
#lockedHeader
|
|
2897
|
+
role="presentation"
|
|
2898
|
+
class="k-grid-header-locked"
|
|
2899
|
+
[style.width.px]="lockedWidth">
|
|
2900
|
+
<table [locked]="true" role="presentation" [style.width.px]="lockedWidth">
|
|
2901
|
+
<colgroup kendoGridColGroup
|
|
2902
|
+
role="presentation"
|
|
2903
|
+
[columns]="$any(lockedLeafColumns)"
|
|
2904
|
+
[groups]="group"
|
|
2905
|
+
[detailTemplate]="detailTemplate">
|
|
2906
|
+
</colgroup>
|
|
2907
|
+
<thead kendoGridHeader
|
|
2908
|
+
[resizable]="resizable"
|
|
2909
|
+
[scrollable]="true"
|
|
2910
|
+
[columns]="$any(lockedColumns)"
|
|
2911
|
+
[totalColumnLevels]="totalColumnLevels"
|
|
2912
|
+
[sort]="sort"
|
|
2913
|
+
[groups]="group"
|
|
2914
|
+
[filter]="filter"
|
|
2915
|
+
[filterable]="filterable"
|
|
2916
|
+
[groupable]="showGroupPanel"
|
|
2917
|
+
[reorderable]="reorderable"
|
|
2918
|
+
[sortable]="sortable"
|
|
2919
|
+
[columnMenu]="columnMenuOptions"
|
|
2920
|
+
[columnMenuTemplate]="columnMenuTemplate"
|
|
2921
|
+
[totalColumnsCount]="leafColumns.length"
|
|
2922
|
+
[detailTemplate]="detailTemplate"
|
|
2923
|
+
[tabIndex]="navigable ? '-1' : '0'">
|
|
2924
|
+
</thead>
|
|
2925
|
+
</table>
|
|
2926
|
+
</div><div #header class="k-grid-header-wrap" role="presentation" data-scrollable
|
|
2927
|
+
[kendoGridResizableContainer]="lockedLeafColumns.length > 0"
|
|
2928
|
+
[lockedWidth]="lockedWidth + scrollbarWidth + 2">
|
|
2929
|
+
<table role="presentation" [style.width.px]="nonLockedWidth" [virtualColumns]="virtualColumns">
|
|
2930
|
+
<colgroup kendoGridColGroup
|
|
2931
|
+
role="presentation"
|
|
2932
|
+
[columns]="headerLeafColumns"
|
|
2933
|
+
[groups]="isLocked ? [] : group"
|
|
2934
|
+
[detailTemplate]="detailTemplate">
|
|
2935
|
+
</colgroup>
|
|
2936
|
+
<thead kendoGridHeader
|
|
2937
|
+
[resizable]="resizable"
|
|
2938
|
+
role="presentation"
|
|
2939
|
+
[scrollable]="true"
|
|
2940
|
+
[columns]="headerColumns"
|
|
2941
|
+
[totalColumnLevels]="totalColumnLevels"
|
|
2942
|
+
[sort]="sort"
|
|
2943
|
+
[filter]="filter"
|
|
2944
|
+
[filterable]="filterable"
|
|
2945
|
+
[groupable]="showGroupPanel"
|
|
2946
|
+
[reorderable]="reorderable"
|
|
2947
|
+
[groups]="isLocked ? [] : group"
|
|
2948
|
+
[sortable]="sortable"
|
|
2949
|
+
[columnMenu]="columnMenuOptions"
|
|
2950
|
+
[columnMenuTemplate]="columnMenuTemplate"
|
|
2951
|
+
[lockedColumnsCount]="lockedLeafColumns.length"
|
|
2952
|
+
[totalColumnsCount]="leafColumns.length"
|
|
2953
|
+
[detailTemplate]="detailTemplate"
|
|
2954
|
+
[tabIndex]="navigable ? '-1' : '0'">
|
|
2955
|
+
</thead>
|
|
2956
|
+
</table>
|
|
2957
|
+
<div *ngIf="virtualColumns" class="k-width-container" role="presentation">
|
|
2958
|
+
<div [style.width.px]="columnsContainer.unlockedWidth"></div>
|
|
2959
|
+
</div>
|
|
2960
|
+
</div>
|
|
2961
|
+
</div>
|
|
2962
|
+
<kendo-grid-list
|
|
2963
|
+
[data]="$any(view)"
|
|
2964
|
+
[rowHeight]="rowHeight"
|
|
2965
|
+
[detailRowHeight]="detailRowHeight"
|
|
2966
|
+
[total]="totalCount"
|
|
2967
|
+
[take]="pageSize"
|
|
2968
|
+
[groups]="group"
|
|
2969
|
+
[groupable]="groupable"
|
|
2970
|
+
[skip]="skip"
|
|
2971
|
+
[trackBy]="trackBy"
|
|
2972
|
+
[columns]="columnsContainer"
|
|
2973
|
+
[selectable]="selectable"
|
|
2974
|
+
[filterable]="filterable"
|
|
2975
|
+
[detailTemplate]="detailTemplate"
|
|
2976
|
+
[noRecordsTemplate]="noRecordsTemplate"
|
|
2977
|
+
(pageChange)="notifyPageChange('list', $event)"
|
|
2978
|
+
[rowClass]="rowClass"
|
|
2979
|
+
[rowSticky]="rowSticky"
|
|
2980
|
+
[loading]="loading"
|
|
2981
|
+
[isVirtual]="isVirtual"
|
|
2982
|
+
[cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
|
|
2983
|
+
[loadingTemplate]="loadingTemplate?.templateRef"
|
|
2984
|
+
[virtualColumns]="virtualColumns"
|
|
2985
|
+
(scrollBottom)="notifyScrollBottom()"
|
|
2986
|
+
(contentScroll)="contentScroll.emit($event)"
|
|
2987
|
+
kendoDraggable
|
|
2988
|
+
kendoGridSelectionMarquee
|
|
2989
|
+
[enableDrag]="marqueeSelection"
|
|
2990
|
+
>
|
|
2991
|
+
</kendo-grid-list>
|
|
2992
|
+
<div
|
|
2993
|
+
*ngIf="showFooter"
|
|
2994
|
+
class="k-grid-footer"
|
|
2995
|
+
[style.padding]="headerPadding">
|
|
2996
|
+
<div
|
|
2997
|
+
*ngIf="lockedLeafColumns.length"
|
|
2998
|
+
class="k-grid-footer-locked"
|
|
2999
|
+
[style.width.px]="lockedWidth">
|
|
3000
|
+
<table role="presentation" [locked]="true" [style.width.px]="lockedWidth">
|
|
3001
|
+
<colgroup kendoGridColGroup
|
|
3002
|
+
[columns]="$any(lockedLeafColumns)"
|
|
3003
|
+
[groups]="group"
|
|
3004
|
+
[detailTemplate]="detailTemplate">
|
|
3005
|
+
</colgroup>
|
|
3006
|
+
<tfoot kendoGridFooter
|
|
3007
|
+
[scrollable]="true"
|
|
3008
|
+
[groups]="group"
|
|
3009
|
+
[columns]="$any(lockedLeafColumns)"
|
|
3010
|
+
[detailTemplate]="detailTemplate"
|
|
3011
|
+
[logicalRowIndex]="ariaRowCount">
|
|
3012
|
+
</tfoot>
|
|
3013
|
+
</table>
|
|
3014
|
+
</div><div #footer
|
|
3015
|
+
class="k-grid-footer-wrap" data-scrollable
|
|
3016
|
+
[kendoGridResizableContainer]="lockedLeafColumns.length > 0"
|
|
3017
|
+
[lockedWidth]="lockedWidth + scrollbarWidth + 3">
|
|
3018
|
+
<table role="presentation" [style.width.px]="nonLockedWidth">
|
|
3019
|
+
<colgroup kendoGridColGroup
|
|
3020
|
+
[columns]="$any(nonLockedLeafColumns)"
|
|
3021
|
+
[groups]="isLocked ? [] : group"
|
|
3022
|
+
[detailTemplate]="detailTemplate">
|
|
3023
|
+
</colgroup>
|
|
3024
|
+
<tfoot kendoGridFooter
|
|
3025
|
+
[logicalRowIndex]="ariaRowCount"
|
|
3026
|
+
[scrollable]="true"
|
|
3027
|
+
[groups]="isLocked ? [] : group"
|
|
3028
|
+
[columns]="$any(nonLockedLeafColumns)"
|
|
3029
|
+
[lockedColumnsCount]="lockedLeafColumns.length"
|
|
3030
|
+
[detailTemplate]="detailTemplate">
|
|
3031
|
+
</tfoot>
|
|
3032
|
+
</table>
|
|
3033
|
+
</div>
|
|
3034
|
+
</div>
|
|
3035
|
+
</ng-container>
|
|
3036
|
+
<ng-container *ngIf="!isScrollable">
|
|
3037
|
+
<table [style.table-layout]="resizable ? 'fixed' : null">
|
|
3038
|
+
<colgroup kendoGridColGroup
|
|
3039
|
+
[columns]="$any(leafColumns)"
|
|
3040
|
+
[groups]="group"
|
|
3041
|
+
[detailTemplate]="detailTemplate">
|
|
3042
|
+
</colgroup>
|
|
3043
|
+
<thead kendoGridHeader
|
|
3044
|
+
*ngIf="!hideHeader"
|
|
3045
|
+
[resizable]="resizable"
|
|
3046
|
+
[scrollable]="false"
|
|
3047
|
+
[columns]="$any(visibleColumns)"
|
|
3048
|
+
[totalColumnLevels]="totalColumnLevels"
|
|
3049
|
+
[groups]="group"
|
|
3050
|
+
[groupable]="showGroupPanel"
|
|
3051
|
+
[reorderable]="reorderable"
|
|
3052
|
+
[sort]="sort"
|
|
3053
|
+
[sortable]="sortable"
|
|
3054
|
+
[filter]="filter"
|
|
3055
|
+
[filterable]="filterable"
|
|
3056
|
+
[columnMenu]="columnMenuOptions"
|
|
3057
|
+
[columnMenuTemplate]="columnMenuTemplate"
|
|
3058
|
+
[detailTemplate]="detailTemplate"
|
|
3059
|
+
[tabIndex]="navigable ? '-1' : '0'">
|
|
3060
|
+
</thead>
|
|
3061
|
+
<tbody kendoGridTableBody
|
|
3062
|
+
[isLoading]="loading"
|
|
3063
|
+
[groups]="group"
|
|
3064
|
+
[data]="$any(view)"
|
|
3065
|
+
[skip]="skip"
|
|
3066
|
+
[columns]="$any(leafColumns)"
|
|
3067
|
+
[selectable]="selectable"
|
|
3068
|
+
[filterable]="filterable"
|
|
3069
|
+
[noRecordsTemplate]="noRecordsTemplate"
|
|
3070
|
+
[detailTemplate]="detailTemplate"
|
|
3071
|
+
[showGroupFooters]="showGroupFooters"
|
|
3072
|
+
[trackBy]="trackBy"
|
|
3073
|
+
[rowClass]="rowClass"
|
|
3074
|
+
kendoDraggable
|
|
3075
|
+
kendoGridSelectionMarquee
|
|
3076
|
+
[enableDrag]="marqueeSelection">
|
|
3077
|
+
</tbody>
|
|
3078
|
+
<tfoot kendoGridFooter
|
|
3079
|
+
*ngIf="showFooter"
|
|
3080
|
+
[scrollable]="false"
|
|
3081
|
+
[logicalRowIndex]="ariaRowCount"
|
|
3082
|
+
[groups]="group"
|
|
3083
|
+
[columns]="$any(leafColumns)"
|
|
3084
|
+
[detailTemplate]="detailTemplate">
|
|
3085
|
+
</tfoot>
|
|
3086
|
+
</table>
|
|
3087
|
+
</ng-container>
|
|
3088
|
+
<div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
|
|
3089
|
+
</div>
|
|
3090
|
+
</div>
|
|
3091
|
+
<kendo-pager
|
|
3092
|
+
*ngIf="showBottomPager"
|
|
3093
|
+
[tabindex]="navigable ? '0' : '-1'"
|
|
3094
|
+
[attr.role]="navigable ? 'navigation' : undefined"
|
|
3095
|
+
[template]="pagerTemplate"
|
|
3096
|
+
[pageSize]="pageSize"
|
|
3097
|
+
[total]="view.total"
|
|
3098
|
+
[skip]="skip"
|
|
3099
|
+
[options]="pageable"
|
|
3100
|
+
(pageChange)="notifyPageChange('pager', $event)">
|
|
3101
|
+
</kendo-pager>
|
|
3102
|
+
<kendo-grid-toolbar class="k-toolbar k-grid-toolbar k-grid-toolbar-bottom" *ngIf="showBottomToolbar" position="bottom"></kendo-grid-toolbar>
|
|
3103
|
+
`
|
|
3104
|
+
}]
|
|
3105
|
+
}], ctorParameters: function () { return [{ type: i1.BrowserSupportService }, { type: i2.SelectionService }, { type: i3.CellSelectionService }, { type: i0.ElementRef }, { type: i4.GroupInfoService }, { type: i5.GroupsService }, { type: i6.ChangeNotificationService }, { type: i7.DetailsService }, { type: i8.EditService }, { type: i9.FilterService }, { type: i10.PDFService }, { type: i11.ResponsiveService }, { type: i0.Renderer2 }, { type: i12.ExcelService }, { type: i0.NgZone }, { type: i13.ScrollSyncService }, { type: i14.DomEventsService }, { type: i15.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i16.ColumnReorderService }, { type: i17.ColumnInfoService }, { type: i18.NavigationService }, { type: i19.SortService }, { type: i20.ScrollRequestService }, { type: i21.LocalizationService }, { type: i22.ContextService }]; }, propDecorators: { data: [{
|
|
3106
|
+
type: Input
|
|
3107
|
+
}], pageSize: [{
|
|
3108
|
+
type: Input
|
|
3109
|
+
}], height: [{
|
|
3110
|
+
type: Input
|
|
3111
|
+
}], rowHeight: [{
|
|
3112
|
+
type: Input
|
|
3113
|
+
}], detailRowHeight: [{
|
|
3114
|
+
type: Input
|
|
3115
|
+
}], skip: [{
|
|
3116
|
+
type: Input
|
|
3117
|
+
}], scrollable: [{
|
|
3118
|
+
type: Input
|
|
3119
|
+
}], selectable: [{
|
|
3120
|
+
type: Input
|
|
3121
|
+
}], sort: [{
|
|
3122
|
+
type: Input
|
|
3123
|
+
}], trackBy: [{
|
|
3124
|
+
type: Input
|
|
3125
|
+
}], filter: [{
|
|
3126
|
+
type: Input
|
|
3127
|
+
}], group: [{
|
|
3128
|
+
type: Input
|
|
3129
|
+
}], virtualColumns: [{
|
|
3130
|
+
type: Input
|
|
3131
|
+
}], filterable: [{
|
|
3132
|
+
type: Input
|
|
3133
|
+
}], sortable: [{
|
|
3134
|
+
type: Input
|
|
3135
|
+
}], pageable: [{
|
|
3136
|
+
type: Input
|
|
3137
|
+
}], groupable: [{
|
|
3138
|
+
type: Input
|
|
3139
|
+
}], navigable: [{
|
|
3140
|
+
type: Input
|
|
3141
|
+
}], navigatable: [{
|
|
3142
|
+
type: Input
|
|
3143
|
+
}], autoSize: [{
|
|
3144
|
+
type: Input
|
|
3145
|
+
}], rowClass: [{
|
|
3146
|
+
type: Input
|
|
3147
|
+
}], rowSticky: [{
|
|
3148
|
+
type: Input
|
|
3149
|
+
}], rowSelected: [{
|
|
3150
|
+
type: Input
|
|
3151
|
+
}], cellSelected: [{
|
|
3152
|
+
type: Input
|
|
3153
|
+
}], resizable: [{
|
|
3154
|
+
type: Input
|
|
3155
|
+
}], reorderable: [{
|
|
3156
|
+
type: Input
|
|
3157
|
+
}], loading: [{
|
|
3158
|
+
type: Input
|
|
3159
|
+
}], columnMenu: [{
|
|
3160
|
+
type: Input
|
|
3161
|
+
}], hideHeader: [{
|
|
3162
|
+
type: Input
|
|
3163
|
+
}], filterChange: [{
|
|
3164
|
+
type: Output
|
|
3165
|
+
}], pageChange: [{
|
|
3166
|
+
type: Output
|
|
3167
|
+
}], groupChange: [{
|
|
3168
|
+
type: Output
|
|
3169
|
+
}], sortChange: [{
|
|
3170
|
+
type: Output
|
|
3171
|
+
}], selectionChange: [{
|
|
3172
|
+
type: Output
|
|
3173
|
+
}], dataStateChange: [{
|
|
3174
|
+
type: Output
|
|
3175
|
+
}], groupExpand: [{
|
|
3176
|
+
type: Output
|
|
3177
|
+
}], groupCollapse: [{
|
|
3178
|
+
type: Output
|
|
3179
|
+
}], detailExpand: [{
|
|
3180
|
+
type: Output
|
|
3181
|
+
}], detailCollapse: [{
|
|
3182
|
+
type: Output
|
|
3183
|
+
}], edit: [{
|
|
3184
|
+
type: Output
|
|
3185
|
+
}], cancel: [{
|
|
3186
|
+
type: Output
|
|
3187
|
+
}], save: [{
|
|
3188
|
+
type: Output
|
|
3189
|
+
}], remove: [{
|
|
3190
|
+
type: Output
|
|
3191
|
+
}], add: [{
|
|
3192
|
+
type: Output
|
|
3193
|
+
}], cellClose: [{
|
|
3194
|
+
type: Output
|
|
3195
|
+
}], cellClick: [{
|
|
3196
|
+
type: Output
|
|
3197
|
+
}], pdfExport: [{
|
|
3198
|
+
type: Output
|
|
3199
|
+
}], excelExport: [{
|
|
3200
|
+
type: Output
|
|
3201
|
+
}], columnResize: [{
|
|
3202
|
+
type: Output
|
|
3203
|
+
}], columnReorder: [{
|
|
3204
|
+
type: Output
|
|
3205
|
+
}], columnVisibilityChange: [{
|
|
3206
|
+
type: Output
|
|
3207
|
+
}], columnLockedChange: [{
|
|
3208
|
+
type: Output
|
|
3209
|
+
}], columnStickyChange: [{
|
|
3210
|
+
type: Output
|
|
3211
|
+
}], scrollBottom: [{
|
|
3212
|
+
type: Output
|
|
3213
|
+
}], contentScroll: [{
|
|
3214
|
+
type: Output
|
|
3215
|
+
}], columns: [{
|
|
3216
|
+
type: ContentChildren,
|
|
3217
|
+
args: [ColumnBase]
|
|
3218
|
+
}], dir: [{
|
|
3219
|
+
type: HostBinding,
|
|
3220
|
+
args: ['attr.dir']
|
|
3221
|
+
}], hostClasses: [{
|
|
3222
|
+
type: HostBinding,
|
|
3223
|
+
args: ['class.k-grid']
|
|
3224
|
+
}], lockedClasses: [{
|
|
3225
|
+
type: HostBinding,
|
|
3226
|
+
args: ['class.k-grid-lockedcolumns']
|
|
3227
|
+
}], virtualClasses: [{
|
|
3228
|
+
type: HostBinding,
|
|
3229
|
+
args: ['class.k-grid-virtual']
|
|
3230
|
+
}], noScrollbarClass: [{
|
|
3231
|
+
type: HostBinding,
|
|
3232
|
+
args: ['class.k-grid-no-scrollbar']
|
|
3233
|
+
}], detailTemplateChildren: [{
|
|
3234
|
+
type: ContentChildren,
|
|
3235
|
+
args: [DetailTemplateDirective]
|
|
3236
|
+
}], cellLoadingTemplateChildren: [{
|
|
3237
|
+
type: ContentChildren,
|
|
3238
|
+
args: [CellLoadingTemplateDirective]
|
|
3239
|
+
}], loadingTemplateChildren: [{
|
|
3240
|
+
type: ContentChildren,
|
|
3241
|
+
args: [LoadingTemplateDirective]
|
|
3242
|
+
}], noRecordsTemplateChildren: [{
|
|
3243
|
+
type: ContentChildren,
|
|
3244
|
+
args: [NoRecordsTemplateDirective]
|
|
3245
|
+
}], pagerTemplateChildren: [{
|
|
3246
|
+
type: ContentChildren,
|
|
3247
|
+
args: [PagerTemplateDirective]
|
|
3248
|
+
}], toolbarTemplateChildren: [{
|
|
3249
|
+
type: ContentChildren,
|
|
3250
|
+
args: [ToolbarTemplateDirective]
|
|
3251
|
+
}], columnMenuTemplates: [{
|
|
3252
|
+
type: ContentChildren,
|
|
3253
|
+
args: [ColumnMenuTemplateDirective]
|
|
3254
|
+
}], lockedHeader: [{
|
|
3255
|
+
type: ViewChild,
|
|
3256
|
+
args: ['lockedHeader', { static: false }]
|
|
3257
|
+
}], header: [{
|
|
3258
|
+
type: ViewChild,
|
|
3259
|
+
args: ['header', { static: false }]
|
|
3260
|
+
}], footer: [{
|
|
3261
|
+
type: ViewChildren,
|
|
3262
|
+
args: ['footer']
|
|
3263
|
+
}], ariaRoot: [{
|
|
3264
|
+
type: ViewChild,
|
|
3265
|
+
args: ['ariaRoot', { static: true }]
|
|
3266
|
+
}], isDetailExpanded: [{
|
|
3267
|
+
type: Input
|
|
3268
|
+
}], isGroupExpanded: [{
|
|
3269
|
+
type: Input
|
|
3270
|
+
}] } });
|