@progress/kendo-angular-grid 17.0.0-develop.9 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -36
- package/aggregates/aggregate-types.d.ts +1 -1
- package/aggregates/status-bar.component.d.ts +1 -1
- package/column-menu/column-chooser-item-checked.directive.d.ts +5 -4
- package/column-menu/column-chooser.component.d.ts +1 -1
- package/column-menu/column-list.component.d.ts +2 -2
- package/column-menu/column-menu-autosize.component.d.ts +1 -1
- package/column-menu/column-menu-chooser.component.d.ts +1 -1
- package/column-menu/column-menu-filter.component.d.ts +1 -1
- package/column-menu/column-menu-item-base.d.ts +1 -1
- package/column-menu/column-menu-item.component.d.ts +1 -1
- package/column-menu/column-menu-item.directive.d.ts +1 -1
- package/column-menu/column-menu-position.component.d.ts +1 -1
- package/column-menu/column-menu.component.d.ts +1 -1
- package/column-resizing/column-handle.directive.d.ts +1 -1
- package/column-resizing/column-resize.interface.d.ts +3 -3
- package/column-resizing/table.directive.d.ts +1 -1
- package/columns/checkbox-column.component.d.ts +1 -1
- package/columns/column-base.d.ts +1 -1
- package/columns/column.component.d.ts +1 -1
- package/columns/reorder-column.component.d.ts +1 -1
- package/columns/sort-settings.d.ts +2 -2
- package/columns/span-column.component.d.ts +1 -1
- package/common/clipboard-types.d.ts +2 -2
- package/common/clipboard.directive.d.ts +1 -1
- package/common/create-form-group.d.ts +1 -1
- package/common/fetch-data-callback.d.ts +1 -1
- package/{pager → common}/pager-settings.d.ts +15 -2
- package/common/remove-confirmation.d.ts +1 -1
- package/common/size-options.d.ts +1 -1
- package/data/data.iterators.d.ts +1 -1
- package/data/grid-item.interface.d.ts +1 -1
- package/databinding.directive.d.ts +1 -1
- package/directives.d.ts +8 -21
- package/dragdrop/context-types.d.ts +1 -1
- package/dragdrop/draggable-column.directive.d.ts +1 -1
- package/dragdrop/drop-target.directive.d.ts +1 -1
- package/editing/add-command-tool.directive.d.ts +39 -0
- package/editing/edit.service.d.ts +3 -3
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/editing-directives/in-cell-editing.directive.d.ts +1 -1
- package/editing-directives/reactive-editing.directive.d.ts +1 -1
- package/editing-directives/template-editing.directive.d.ts +1 -1
- package/{esm2020 → esm2022}/aggregates/selection-aggregate.service.mjs +20 -17
- package/{esm2020 → esm2022}/aggregates/status-bar-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/aggregates/status-bar.component.mjs +10 -8
- package/esm2022/column-menu/column-chooser-item-checked.directive.mjs +45 -0
- package/{esm2020 → esm2022}/column-menu/column-chooser.component.mjs +35 -23
- package/{esm2020 → esm2022}/column-menu/column-list-kb-nav.service.mjs +6 -4
- package/{esm2020 → esm2022}/column-menu/column-list.component.mjs +108 -96
- package/{esm2020 → esm2022}/column-menu/column-locked-change-event.mjs +4 -0
- package/{esm2020 → esm2022}/column-menu/column-menu-autosize-all.component.mjs +6 -5
- package/{esm2020 → esm2022}/column-menu/column-menu-autosize.component.mjs +10 -5
- package/{esm2020 → esm2022}/column-menu/column-menu-chooser.component.mjs +33 -29
- package/{esm2020 → esm2022}/column-menu/column-menu-container.component.mjs +8 -5
- package/{esm2020 → esm2022}/column-menu/column-menu-filter.component.mjs +28 -26
- package/{esm2020 → esm2022}/column-menu/column-menu-item-base.mjs +9 -6
- package/{esm2020 → esm2022}/column-menu/column-menu-item-content-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/column-menu/column-menu-item.component.mjs +73 -42
- package/{esm2020 → esm2022}/column-menu/column-menu-item.directive.mjs +38 -28
- package/{esm2020 → esm2022}/column-menu/column-menu-lock.component.mjs +9 -6
- package/{esm2020 → esm2022}/column-menu/column-menu-position.component.mjs +38 -28
- package/{esm2020 → esm2022}/column-menu/column-menu-sort.component.mjs +9 -6
- package/{esm2020 → esm2022}/column-menu/column-menu-stick.component.mjs +9 -6
- package/{esm2020 → esm2022}/column-menu/column-menu-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/column-menu/column-menu.component.mjs +97 -63
- package/{esm2020 → esm2022}/column-menu/column-menu.service.mjs +34 -10
- package/{esm2020 → esm2022}/column-menu/column-sticky-change-event.mjs +4 -0
- package/{esm2020 → esm2022}/column-menu/column-visibility-change-event.mjs +4 -0
- package/{esm2020 → esm2022}/column-resizing/column-handle.directive.mjs +23 -15
- package/{esm2020 → esm2022}/column-resizing/column-resizing.service.mjs +8 -8
- package/{esm2020 → esm2022}/column-resizing/table.directive.mjs +17 -8
- package/{esm2020 → esm2022}/columns/checkbox-column.component.mjs +24 -16
- package/{esm2020 → esm2022}/columns/column-base.mjs +188 -84
- package/{esm2020 → esm2022}/columns/column-group.component.mjs +29 -20
- package/{esm2020 → esm2022}/columns/column-list.mjs +4 -3
- package/{esm2020 → esm2022}/columns/column.component.mjs +62 -46
- package/{esm2020 → esm2022}/columns/columns-container.mjs +16 -15
- package/{esm2020 → esm2022}/columns/command-column.component.mjs +10 -8
- package/{esm2020 → esm2022}/columns/reorder-column.component.mjs +23 -12
- package/{esm2020 → esm2022}/columns/span-column.component.mjs +49 -29
- package/esm2022/common/clipboard.directive.mjs +190 -0
- package/{esm2020 → esm2022}/common/clipboard.service.mjs +12 -9
- package/{esm2020 → esm2022}/common/column-info.service.mjs +10 -10
- package/esm2022/common/dom-events.service.mjs +26 -0
- package/{esm2020 → esm2022}/common/error-messages.mjs +4 -1
- package/{esm2020 → esm2022}/common/event-emitter.mjs +1 -0
- package/{esm2020 → esm2022}/common/id.service.mjs +4 -3
- package/{esm2020 → esm2022}/common/preventable-event.mjs +1 -3
- package/{esm2020 → esm2022}/common/provider.service.mjs +10 -3
- package/{esm2020 → esm2022}/common/single-popup.service.mjs +21 -10
- package/{esm2020 → esm2022}/common/sort.service.mjs +1 -3
- package/{esm2020 → esm2022}/data/change-notification.service.mjs +6 -4
- package/{esm2020 → esm2022}/data/data.collection.mjs +5 -0
- package/{esm2020 → esm2022}/data/data.iterators.mjs +16 -1
- package/{esm2020 → esm2022}/databinding.directive.mjs +24 -16
- package/{esm2020 → esm2022}/directives.mjs +8 -30
- package/{esm2020 → esm2022}/dragdrop/column-reorder-event.mjs +14 -0
- package/{esm2020 → esm2022}/dragdrop/column-reorder.service.mjs +4 -6
- package/{esm2020 → esm2022}/dragdrop/drag-and-drop.service.mjs +6 -8
- package/{esm2020 → esm2022}/dragdrop/drag-hint.service.mjs +7 -4
- package/{esm2020 → esm2022}/dragdrop/draggable-column.directive.mjs +22 -13
- package/{esm2020 → esm2022}/dragdrop/drop-cue.service.mjs +4 -3
- package/{esm2020 → esm2022}/dragdrop/drop-target.directive.mjs +10 -8
- package/esm2022/editing/add-command-tool.directive.mjs +64 -0
- package/{esm2020 → esm2022}/editing/add-command.directive.mjs +9 -8
- package/{esm2020 → esm2022}/editing/cancel-command.directive.mjs +17 -13
- package/{esm2020 → esm2022}/editing/cell-close-event.mjs +21 -4
- package/{esm2020 → esm2022}/editing/edit-command.directive.mjs +17 -13
- package/{esm2020 → esm2022}/editing/edit-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/editing/edit.service.mjs +13 -8
- package/{esm2020 → esm2022}/editing/local-data-changes.service.mjs +5 -6
- package/{esm2020 → esm2022}/editing/remove-command.directive.mjs +17 -13
- package/{esm2020 → esm2022}/editing/save-command.directive.mjs +17 -13
- package/{esm2020 → esm2022}/editing-directives/editing-directive-base.mjs +17 -9
- package/{esm2020 → esm2022}/editing-directives/in-cell-editing.directive.mjs +10 -3
- package/{esm2020 → esm2022}/editing-directives/local-edit.service.mjs +2 -0
- package/{esm2020 → esm2022}/editing-directives/reactive-editing.directive.mjs +9 -3
- package/{esm2020 → esm2022}/editing-directives/row-editing-directive-base.mjs +4 -3
- package/{esm2020 → esm2022}/editing-directives/template-editing.directive.mjs +11 -3
- package/esm2022/excel/excel-command-tool.directive.mjs +66 -0
- package/{esm2020 → esm2022}/excel/excel-command.directive.mjs +11 -10
- package/{esm2020 → esm2022}/excel/excel-export-event.mjs +1 -0
- package/{esm2020 → esm2022}/excel/excel.component.mjs +66 -12
- package/{esm2020 → esm2022}/excel/excel.module.mjs +9 -7
- package/{esm2020 → esm2022}/excel/excel.service.mjs +5 -7
- package/{esm2020 → esm2022}/filtering/base-filter-cell.component.mjs +22 -11
- package/{esm2020 → esm2022}/filtering/boolean-filter.component.mjs +24 -32
- package/{esm2020 → esm2022}/filtering/cell/autocomplete-filter-cell.component.mjs +18 -15
- package/{esm2020 → esm2022}/filtering/cell/boolean-filter-cell.component.mjs +10 -8
- package/{esm2020 → esm2022}/filtering/cell/date-filter-cell.component.mjs +25 -23
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-host.directive.mjs +3 -3
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-operators.component.mjs +59 -38
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/filtering/cell/filter-cell-wrapper.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/cell/filter-cell.component.mjs +9 -9
- package/{esm2020 → esm2022}/filtering/cell/numeric-filter-cell.component.mjs +25 -18
- package/{esm2020 → esm2022}/filtering/cell/string-filter-cell.component.mjs +27 -19
- package/{esm2020 → esm2022}/filtering/date-filter.component.mjs +64 -38
- package/{esm2020 → esm2022}/filtering/filter-host.directive.mjs +8 -3
- package/{esm2020 → esm2022}/filtering/filter-input-wrapper.component.mjs +11 -8
- package/{esm2020 → esm2022}/filtering/filter-input.directive.mjs +20 -13
- package/{esm2020 → esm2022}/filtering/filter-row.component.mjs +17 -15
- package/{esm2020 → esm2022}/filtering/filter.service.mjs +14 -10
- package/{esm2020 → esm2022}/filtering/menu/boolean-filter-menu.component.mjs +33 -23
- package/{esm2020 → esm2022}/filtering/menu/date-filter-menu-input.component.mjs +24 -5
- package/{esm2020 → esm2022}/filtering/menu/date-filter-menu.component.mjs +26 -21
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-container.component.mjs +46 -20
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-dropdownlist.directive.mjs +11 -9
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-host.directive.mjs +5 -3
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-input-wrapper.component.mjs +14 -8
- package/{esm2020 → esm2022}/filtering/menu/filter-menu-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/filtering/menu/filter-menu.component.mjs +27 -6
- package/{esm2020 → esm2022}/filtering/menu/filter-radio-button.directive.mjs +7 -3
- package/{esm2020 → esm2022}/filtering/menu/menu-tabbing.service.mjs +9 -8
- package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu-input.component.mjs +51 -15
- package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu.component.mjs +42 -37
- package/{esm2020 → esm2022}/filtering/menu/string-filter-menu-input.component.mjs +25 -16
- package/{esm2020 → esm2022}/filtering/menu/string-filter-menu.component.mjs +36 -21
- package/{esm2020 → esm2022}/filtering/numeric-filter.component.mjs +51 -28
- package/{esm2020 → esm2022}/filtering/operators/after-eq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/after-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/before-eq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/before-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/contains-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/ends-with-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/eq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/filter-operator.base.mjs +15 -10
- package/{esm2020 → esm2022}/filtering/operators/gt-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/gte-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/is-empty-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/is-not-empty-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/is-not-null-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/isnull-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/lt-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/lte-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/neq-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/not-contains-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/operators/starts-with-filter-operator.component.mjs +8 -8
- package/{esm2020 → esm2022}/filtering/string-filter.component.mjs +20 -15
- package/{esm2020 → esm2022}/grid.component.mjs +648 -396
- package/esm2022/grid.module.mjs +216 -0
- package/{esm2020 → esm2022}/grouping/group-footer-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/grouping/group-header-column-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/grouping/group-header-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/grouping/group-header.component.mjs +25 -16
- package/{esm2020 → esm2022}/grouping/group-info.service.mjs +1 -3
- package/{esm2020 → esm2022}/grouping/group-panel.component.mjs +71 -53
- package/{esm2020 → esm2022}/grouping/group-scroll-binding.directive.mjs +11 -9
- package/{esm2020 → esm2022}/grouping/groups.service.mjs +6 -7
- package/{esm2020 → esm2022}/index.mjs +6 -24
- package/{esm2020 → esm2022}/layout/browser-support.service.mjs +7 -4
- package/{esm2020 → esm2022}/layout/resizable.directive.mjs +16 -10
- package/{esm2020 → esm2022}/layout/resize.service.mjs +6 -8
- package/{esm2020 → esm2022}/layout/responsive.service.mjs +7 -9
- package/{esm2020 → esm2022}/layout/sizing-options.service.mjs +4 -6
- package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/localization/messages.mjs +591 -0
- package/{esm2020 → esm2022}/navigation/default-focusable-element.mjs +10 -6
- package/{esm2020 → esm2022}/navigation/focus-group.mjs +10 -9
- package/{esm2020 → esm2022}/navigation/focus-root.mjs +5 -4
- package/{esm2020 → esm2022}/navigation/focusable.directive.mjs +23 -17
- package/{esm2020 → esm2022}/navigation/grid-focusable-element.mjs +1 -0
- package/{esm2020 → esm2022}/navigation/item-map.mjs +2 -4
- package/{esm2020 → esm2022}/navigation/logical-cell.directive.mjs +38 -23
- package/{esm2020 → esm2022}/navigation/logical-row.directive.mjs +18 -12
- package/{esm2020 → esm2022}/navigation/navigation-cursor.mjs +10 -8
- package/{esm2020 → esm2022}/navigation/navigation-metadata.mjs +12 -4
- package/{esm2020 → esm2022}/navigation/navigation-model.mjs +1 -3
- package/{esm2020 → esm2022}/navigation/navigation.service.mjs +49 -29
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/pdf/grid-query.mjs +4 -0
- package/esm2022/pdf/pdf-command-tool.directive.mjs +66 -0
- package/{esm2020 → esm2022}/pdf/pdf-command.directive.mjs +10 -9
- package/{esm2020 → esm2022}/pdf/pdf-margin.component.mjs +3 -3
- package/{esm2020 → esm2022}/pdf/pdf-template.directive.mjs +3 -3
- package/{esm2020 → esm2022}/pdf/pdf.component.mjs +39 -12
- package/{esm2020 → esm2022}/pdf/pdf.module.mjs +5 -4
- package/{esm2020 → esm2022}/pdf/pdf.service.mjs +8 -9
- package/{esm2020 → esm2022}/rendering/cell-loading.template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/cell.component.mjs +64 -75
- package/{esm2020 → esm2022}/rendering/common/col-group.component.mjs +8 -9
- package/{esm2020 → esm2022}/rendering/common/field-accessor.pipe.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/common/loading.component.mjs +10 -8
- package/{esm2020 → esm2022}/rendering/common/spacer.component.mjs +12 -7
- package/{esm2020 → esm2022}/rendering/details/detail-collapse-event.mjs +8 -0
- package/{esm2020 → esm2022}/rendering/details/detail-expand-event.mjs +8 -0
- package/{esm2020 → esm2022}/rendering/details/detail-template.directive.mjs +8 -7
- package/{esm2020 → esm2022}/rendering/details/details.service.mjs +6 -7
- package/{esm2020 → esm2022}/rendering/details-expand.directive.mjs +28 -25
- package/{esm2020 → esm2022}/rendering/footer/footer-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/footer/footer.component.mjs +19 -15
- package/{esm2020 → esm2022}/rendering/grid-table.directive.mjs +9 -8
- package/{esm2020 → esm2022}/rendering/groups-expand.directive.mjs +21 -18
- package/{esm2020 → esm2022}/rendering/header/header-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/header/header.component.mjs +78 -55
- package/{esm2020 → esm2022}/rendering/list.component.mjs +99 -52
- package/{esm2020 → esm2022}/rendering/loading-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/no-records-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/table-body.component.mjs +60 -29
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar-focusable.directive.mjs +9 -7
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar-navigation.service.mjs +9 -8
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar-template.directive.mjs +8 -7
- package/{esm2020 → esm2022}/rendering/toolbar/toolbar.component.mjs +17 -13
- package/{esm2020 → esm2022}/row-reordering/row-reorder.service.mjs +14 -10
- package/{esm2020 → esm2022}/scrolling/row-height.service.mjs +5 -2
- package/{esm2020 → esm2022}/scrolling/scroll-request.service.mjs +4 -6
- package/{esm2020 → esm2022}/scrolling/scroll-sync.service.mjs +10 -8
- package/{esm2020 → esm2022}/scrolling/scroller.service.mjs +12 -1
- package/{esm2020 → esm2022}/scrolling/suspend.service.mjs +4 -6
- package/{esm2020 → esm2022}/selection/cell-selection.service.mjs +31 -20
- package/{esm2020 → esm2022}/selection/marquee.directive.mjs +16 -4
- package/{esm2020 → esm2022}/selection/pair-set.mjs +16 -16
- package/esm2022/selection/selectall-checkbox.directive.mjs +144 -0
- package/{esm2020 → esm2022}/selection/selection-checkbox.directive.mjs +36 -15
- package/{esm2020 → esm2022}/selection/selection-default.mjs +46 -25
- package/{esm2020 → esm2022}/selection/selection.directive.mjs +4 -3
- package/{esm2020 → esm2022}/selection/selection.service.mjs +31 -18
- package/excel/excel-command-tool.directive.d.ts +41 -0
- package/excel/excel-command.directive.d.ts +1 -1
- package/excel/excel.component.d.ts +1 -1
- package/excel/excel.module.d.ts +3 -2
- package/{fesm2020 → fesm2022}/progress-kendo-angular-grid.mjs +5338 -5029
- package/filtering/base-filter-cell.component.d.ts +5 -1
- package/filtering/boolean-filter.component.d.ts +2 -17
- package/filtering/cell/autocomplete-filter-cell.component.d.ts +2 -7
- package/filtering/cell/date-filter-cell.component.d.ts +1 -1
- package/filtering/cell/filter-cell-operators.component.d.ts +1 -1
- package/filtering/cell/filter-cell-wrapper.component.d.ts +1 -1
- package/filtering/cell/filter-cell.component.d.ts +1 -1
- package/filtering/cell/numeric-filter-cell.component.d.ts +1 -1
- package/filtering/cell/string-filter-cell.component.d.ts +1 -1
- package/filtering/date-filter.component.d.ts +2 -11
- package/filtering/filter-host.directive.d.ts +2 -2
- package/filtering/filter-input-wrapper.component.d.ts +1 -2
- package/filtering/filter-input.directive.d.ts +1 -1
- package/filtering/filter-row.component.d.ts +1 -1
- package/filtering/filterable.d.ts +1 -1
- package/filtering/menu/boolean-filter-menu.component.d.ts +3 -2
- package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/date-filter-menu.component.d.ts +1 -7
- package/filtering/menu/filter-menu-container.component.d.ts +1 -1
- package/filtering/menu/filter-menu-dropdownlist.directive.d.ts +1 -1
- package/filtering/menu/filter-menu-host.directive.d.ts +1 -1
- package/filtering/menu/filter-menu-input-wrapper.component.d.ts +1 -1
- package/filtering/menu/filter-menu.component.d.ts +1 -1
- package/filtering/menu/filter-radio-button.directive.d.ts +1 -1
- package/filtering/menu/numeric-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/numeric-filter-menu.component.d.ts +1 -7
- package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/string-filter-menu.component.d.ts +1 -7
- package/filtering/numeric-filter.component.d.ts +2 -11
- package/filtering/operators/filter-operator.base.d.ts +1 -1
- package/filtering/string-filter.component.d.ts +2 -11
- package/grid.component.d.ts +5 -6
- package/grid.module.d.ts +94 -101
- package/grouping/group-header.component.d.ts +1 -1
- package/grouping/group-panel.component.d.ts +1 -1
- package/grouping/group-scroll-binding.directive.d.ts +1 -1
- package/index.d.ts +7 -27
- package/layout/resizable.directive.d.ts +1 -1
- package/localization/messages.d.ts +10 -6
- package/navigation/focusable.directive.d.ts +1 -1
- package/navigation/logical-cell.directive.d.ts +1 -1
- package/navigation/logical-row.directive.d.ts +1 -1
- package/navigation/navigable-settings.d.ts +2 -2
- package/navigation/navigation.service.d.ts +1 -1
- package/package.json +29 -33
- package/pdf/pdf-command-tool.directive.d.ts +41 -0
- package/pdf/pdf.component.d.ts +1 -1
- package/pdf/pdf.module.d.ts +2 -1
- package/rendering/cell.component.d.ts +1 -1
- package/rendering/common/cell-context.d.ts +1 -1
- package/rendering/common/col-group.component.d.ts +1 -1
- package/rendering/common/loading.component.d.ts +1 -1
- package/rendering/common/row-class.d.ts +4 -4
- package/rendering/common/spacer.component.d.ts +1 -1
- package/rendering/details/detail-template.directive.d.ts +2 -2
- package/rendering/details-expand.directive.d.ts +1 -1
- package/rendering/footer/footer.component.d.ts +1 -1
- package/rendering/grid-table.directive.d.ts +1 -1
- package/rendering/groups-expand.directive.d.ts +1 -1
- package/rendering/header/header.component.d.ts +1 -1
- package/rendering/list.component.d.ts +1 -1
- package/rendering/table-body.component.d.ts +1 -1
- package/rendering/toolbar/toolbar-position.d.ts +1 -1
- package/rendering/toolbar/toolbar-template.directive.d.ts +1 -1
- package/rendering/toolbar/toolbar.component.d.ts +1 -1
- package/row-reordering/types.d.ts +1 -1
- package/schematics/ngAdd/index.js +5 -5
- package/scrolling/scroll-sync.service.d.ts +1 -1
- package/scrolling/scroller.service.d.ts +1 -1
- package/scrolling/scrollmode.d.ts +1 -1
- package/selection/cell-selection.service.d.ts +1 -1
- package/selection/selectall-checkbox.directive.d.ts +9 -7
- package/selection/selection-checkbox.directive.d.ts +6 -5
- package/selection/selection-default.d.ts +1 -1
- package/selection/selection.service.d.ts +1 -1
- package/selection/types.d.ts +4 -4
- package/utils.d.ts +1 -1
- package/esm2020/column-menu/column-chooser-item-checked.directive.mjs +0 -39
- package/esm2020/common/clipboard.directive.mjs +0 -186
- package/esm2020/common/dom-events.service.mjs +0 -28
- package/esm2020/filtering/cell/row-filtering.module.mjs +0 -112
- package/esm2020/filtering/menu/filter-menu.module.mjs +0 -116
- package/esm2020/filtering/shared-filtering.module.mjs +0 -92
- package/esm2020/grid.module.mjs +0 -219
- package/esm2020/grouping/group.module.mjs +0 -53
- package/esm2020/localization/messages.mjs +0 -187
- package/esm2020/pager/pager-context.service.mjs +0 -41
- package/esm2020/pager/pager-dropdown.directive.mjs +0 -39
- package/esm2020/pager/pager-element.component.mjs +0 -109
- package/esm2020/pager/pager-info.component.mjs +0 -76
- package/esm2020/pager/pager-input.component.mjs +0 -142
- package/esm2020/pager/pager-input.directive.mjs +0 -30
- package/esm2020/pager/pager-next-buttons.component.mjs +0 -114
- package/esm2020/pager/pager-numeric-buttons.component.mjs +0 -257
- package/esm2020/pager/pager-page-sizes.component.mjs +0 -145
- package/esm2020/pager/pager-prev-buttons.component.mjs +0 -116
- package/esm2020/pager/pager-template.directive.mjs +0 -48
- package/esm2020/pager/pager.component.mjs +0 -457
- package/esm2020/pager/pager.module.mjs +0 -51
- package/esm2020/pager/pagesize-item.interface.mjs +0 -5
- package/esm2020/rendering/body.module.mjs +0 -88
- package/esm2020/rendering/footer/footer.module.mjs +0 -41
- package/esm2020/rendering/header/header.module.mjs +0 -152
- package/esm2020/selection/selectall-checkbox.directive.mjs +0 -115
- package/esm2020/shared.module.mjs +0 -41
- package/fesm2015/progress-kendo-angular-grid.mjs +0 -28474
- package/filtering/cell/row-filtering.module.d.ts +0 -59
- package/filtering/menu/filter-menu.module.d.ts +0 -63
- package/filtering/shared-filtering.module.d.ts +0 -49
- package/grouping/group.module.d.ts +0 -38
- package/pager/pager-context.service.d.ts +0 -30
- package/pager/pager-dropdown.directive.d.ts +0 -18
- package/pager/pager-element.component.d.ts +0 -79
- package/pager/pager-info.component.d.ts +0 -43
- package/pager/pager-input.component.d.ts +0 -45
- package/pager/pager-input.directive.d.ts +0 -18
- package/pager/pager-next-buttons.component.d.ts +0 -28
- package/pager/pager-numeric-buttons.component.d.ts +0 -52
- package/pager/pager-page-sizes.component.d.ts +0 -49
- package/pager/pager-prev-buttons.component.d.ts +0 -28
- package/pager/pager-template.directive.d.ts +0 -38
- package/pager/pager.component.d.ts +0 -80
- package/pager/pager.module.d.ts +0 -37
- package/pager/pagesize-item.interface.d.ts +0 -14
- package/rendering/body.module.d.ts +0 -50
- package/rendering/footer/footer.module.d.ts +0 -30
- package/rendering/header/header.module.d.ts +0 -101
- package/shared.module.d.ts +0 -29
- /package/{esm2020 → esm2022}/aggregates/aggregate-types.mjs +0 -0
- /package/{esm2020 → esm2022}/column-menu/column-menu-expandable-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/column-menu/column-menu-settings.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/column-menu/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resizing/column-resize.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/columns/column-common.mjs +0 -0
- /package/{esm2020 → esm2022}/columns/sort-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/common/cell-click-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/common/clipboard-types.mjs +0 -0
- /package/{esm2020 → esm2022}/common/create-form-group.mjs +0 -0
- /package/{esm2020 → esm2022}/common/default-track-by.mjs +0 -0
- /package/{esm2020 → esm2022}/common/fetch-data-callback.mjs +0 -0
- /package/{esm2020 → esm2022}/common/filter-descriptor-differ.mjs +0 -0
- /package/{esm2020 → esm2022}/common/filter-operator.interface.mjs +0 -0
- /package/{esm2020/pager → esm2022/common}/pager-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/common/remove-confirmation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/size-options.mjs +0 -0
- /package/{esm2020 → esm2022}/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/data/change-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/data/data-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/data/grid-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/data/group-footer-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/data/group-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/dragdrop/column-reorder-config.mjs +0 -0
- /package/{esm2020 → esm2022}/dragdrop/common.mjs +0 -0
- /package/{esm2020 → esm2022}/dragdrop/context-types.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/add-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/cancel-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/edit-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/edit-row-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/remove-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/save-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/create-form-group-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/edit-service.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/local-row-edit.service.mjs +0 -0
- /package/{esm2020 → esm2022}/editing-directives/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/cell/filter-cell-component.factory.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/filter-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/filterable.mjs +0 -0
- /package/{esm2020 → esm2022}/filtering/menu/filter-menu-component.factory.mjs +0 -0
- /package/{esm2020 → esm2022}/grouping/group-key.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/grouping/group-rows-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/grouping/group-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/grouping/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/grouping/virtual-group-result.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/layout/row-sync.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/focusable-element.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/logical-cell.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/logical-row.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigable-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-cell.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-change.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-row.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/export-element.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/pdf-export-event.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/pdf-margin.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-grid.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/common/cell-context.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/common/dom-queries.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/common/row-args.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/common/row-class.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/rendering/toolbar/toolbar-position.mjs +0 -0
- /package/{esm2020 → esm2022}/row-reordering/types.mjs +0 -0
- /package/{esm2020 → esm2022}/row-reordering/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/content-scroll-event.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/scroll-bottom-event.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/scrollmode.mjs +0 -0
- /package/{esm2020 → esm2022}/selection/types.mjs +0 -0
- /package/{esm2020 → esm2022}/utils.mjs +0 -0
|
@@ -13,6 +13,7 @@ import { ColumnComponent, isColumnComponent } from './columns/column.component';
|
|
|
13
13
|
import { isSpanColumnComponent } from './columns/span-column.component';
|
|
14
14
|
import { isColumnGroupComponent, ColumnGroupComponent } from './columns/column-group.component';
|
|
15
15
|
import { DetailTemplateDirective } from './rendering/details/detail-template.directive';
|
|
16
|
+
import { normalize } from './common/pager-settings';
|
|
16
17
|
import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers } from './utils';
|
|
17
18
|
import { BrowserSupportService } from './layout/browser-support.service';
|
|
18
19
|
import { DataResultIterator, DataCollection } from './data/data.collection';
|
|
@@ -30,8 +31,6 @@ import { syncRowsHeight } from './layout/row-sync';
|
|
|
30
31
|
import { CELL_CONTEXT, EMPTY_CELL_CONTEXT } from './rendering/common/cell-context';
|
|
31
32
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
32
33
|
import { FilterService } from './filtering/filter.service';
|
|
33
|
-
import { PagerTemplateDirective } from './pager/pager-template.directive';
|
|
34
|
-
import { PagerContextService } from "./pager/pager-context.service";
|
|
35
34
|
import { PDFService } from './pdf/pdf.service';
|
|
36
35
|
import { PDFExportEvent } from './pdf/pdf-export-event';
|
|
37
36
|
import { SuspendService } from './scrolling/suspend.service';
|
|
@@ -91,11 +90,11 @@ import { ColGroupComponent } from './rendering/common/col-group.component';
|
|
|
91
90
|
import { GridTableDirective } from './rendering/grid-table.directive';
|
|
92
91
|
import { TableDirective } from './column-resizing/table.directive';
|
|
93
92
|
import { GroupPanelComponent } from './grouping/group-panel.component';
|
|
94
|
-
import {
|
|
95
|
-
import { ToolbarComponent } from './rendering/toolbar/toolbar.component';
|
|
96
|
-
import { NgIf } from '@angular/common';
|
|
93
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
94
|
+
import { ToolbarComponent as GridToolbarComponent } from './rendering/toolbar/toolbar.component';
|
|
97
95
|
import { LocalizedMessagesDirective } from './localization/localized-messages.directive';
|
|
98
96
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
97
|
+
import { PagerTemplateDirective, PagerContextService, PagerNavigationService, KENDO_PAGER } from '@progress/kendo-angular-pager';
|
|
99
98
|
import * as i0 from "@angular/core";
|
|
100
99
|
import * as i1 from "./layout/browser-support.service";
|
|
101
100
|
import * as i2 from "./selection/selection.service";
|
|
@@ -121,6 +120,7 @@ import * as i21 from "@progress/kendo-angular-l10n";
|
|
|
121
120
|
import * as i22 from "./common/provider.service";
|
|
122
121
|
import * as i23 from "./layout/sizing-options.service";
|
|
123
122
|
import * as i24 from "./row-reordering/row-reorder.service";
|
|
123
|
+
import * as i25 from "@progress/kendo-angular-pager";
|
|
124
124
|
const createControl = (source) => (acc, key) => {
|
|
125
125
|
acc[key] = new FormControl(source[key]);
|
|
126
126
|
return acc;
|
|
@@ -145,315 +145,34 @@ const NOTIFY_DELAY = 500;
|
|
|
145
145
|
* ```
|
|
146
146
|
*/
|
|
147
147
|
export class GridComponent {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
this.rowReorderService = rowReorderService;
|
|
177
|
-
/**
|
|
178
|
-
* Defines the scroll mode used by the Grid.
|
|
179
|
-
*
|
|
180
|
-
* @default 'scrollable'
|
|
181
|
-
*/
|
|
182
|
-
this.scrollable = 'scrollable';
|
|
183
|
-
/**
|
|
184
|
-
* Enables the [single-row selection](slug:grid_row_selection) of the Grid.
|
|
185
|
-
*
|
|
186
|
-
* @default false
|
|
187
|
-
*/
|
|
188
|
-
this.selectable = false;
|
|
189
|
-
/**
|
|
190
|
-
* A function that defines how to track changes for the data rows.
|
|
191
|
-
* By default, the Grid tracks changes by the index of the data item.
|
|
192
|
-
* Edited rows are tracked by reference.
|
|
193
|
-
* [See example](slug:track_changes_grid)
|
|
194
|
-
*/
|
|
195
|
-
this.trackBy = defaultTrackBy;
|
|
196
|
-
/**
|
|
197
|
-
* If set to `true`, the grid will render only the columns in the current viewport.
|
|
198
|
-
* @default false
|
|
199
|
-
*/
|
|
200
|
-
this.virtualColumns = false;
|
|
201
|
-
/**
|
|
202
|
-
* @hidden
|
|
203
|
-
*/
|
|
204
|
-
this.gridData = () => { return this.flatData; };
|
|
205
|
-
/**
|
|
206
|
-
* Enables the [filtering]({% slug filtering_grid %}) of the Grid columns that have their `field` option set.
|
|
207
|
-
* @default false
|
|
208
|
-
*/
|
|
209
|
-
this.filterable = false;
|
|
210
|
-
/**
|
|
211
|
-
* Enables the [sorting]({% slug sorting_grid %}) of the Grid columns that have their `field` option set.
|
|
212
|
-
* @default false
|
|
213
|
-
*/
|
|
214
|
-
this.sortable = false;
|
|
215
|
-
/**
|
|
216
|
-
* Configures the pager of the Grid ([see example](slug:paging_grid_settings)).
|
|
217
|
-
* @default false
|
|
218
|
-
*/
|
|
219
|
-
this.pageable = false;
|
|
220
|
-
/**
|
|
221
|
-
* If set to `true`, the user can group the Grid by dragging the column header cells ([see example]({% slug grouping_grid %})).
|
|
222
|
-
* @default false
|
|
223
|
-
*/
|
|
224
|
-
this.groupable = false;
|
|
225
|
-
/**
|
|
226
|
-
* Indicates whether the Grid columns will be resized during initialization so that
|
|
227
|
-
* they fit their headers and row content.
|
|
228
|
-
* Columns with `autoSize` set to `false` are excluded.
|
|
229
|
-
* To dynamically update the column width to match the new content,
|
|
230
|
-
* refer to [this example]({% slug resizing_columns_grid %}).
|
|
231
|
-
* @default false
|
|
232
|
-
*/
|
|
233
|
-
this.autoSize = false;
|
|
234
|
-
/**
|
|
235
|
-
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
|
236
|
-
* ([see example]({% slug resizing_columns_grid %})).
|
|
237
|
-
*
|
|
238
|
-
* @default false
|
|
239
|
-
*/
|
|
240
|
-
this.resizable = false;
|
|
241
|
-
/**
|
|
242
|
-
* If set to `true`, the user can reorder columns by dragging their header cells
|
|
243
|
-
* ([see example]({% slug reordering_columns_grid %})).
|
|
244
|
-
*
|
|
245
|
-
* @default false
|
|
246
|
-
*/
|
|
247
|
-
this.reorderable = false;
|
|
248
|
-
/**
|
|
249
|
-
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_grid %})).
|
|
250
|
-
*
|
|
251
|
-
* @default false
|
|
252
|
-
*/
|
|
253
|
-
this.columnMenu = false;
|
|
254
|
-
/**
|
|
255
|
-
* Specifies if the header of the grid will be hidden. The header is visible by default.
|
|
256
|
-
* The header includes column headers and the [filter row](slug:filter_row).
|
|
257
|
-
* @default false
|
|
258
|
-
*/
|
|
259
|
-
this.hideHeader = false;
|
|
260
|
-
/**
|
|
261
|
-
* Fires when the Grid filter is modified through the UI.
|
|
262
|
-
* You have to handle the event yourself and filter the data.
|
|
263
|
-
*/
|
|
264
|
-
this.filterChange = new EventEmitter();
|
|
265
|
-
/**
|
|
266
|
-
* Fires when the page of the Grid is changed ([see example]({% slug paging_grid %})).
|
|
267
|
-
* You have to handle the event yourself and page the data.
|
|
268
|
-
*/
|
|
269
|
-
this.pageChange = new EventEmitter();
|
|
270
|
-
/**
|
|
271
|
-
* Fires when the grouping of the Grid is changed.
|
|
272
|
-
* You have to handle the event yourself and group the data ([see example]({% slug grouping_grid %})).
|
|
273
|
-
*/
|
|
274
|
-
this.groupChange = new ZoneAwareEventEmitter(this.ngZone);
|
|
275
|
-
/**
|
|
276
|
-
* Fires when the sorting of the Grid is changed ([see example]({% slug sorting_grid %})).
|
|
277
|
-
* You have to handle the event yourself and sort the data.
|
|
278
|
-
*/
|
|
279
|
-
this.sortChange = new EventEmitter();
|
|
280
|
-
/**
|
|
281
|
-
* Fires when the user selects a Grid row.
|
|
282
|
-
*/
|
|
283
|
-
this.selectionChange = new EventEmitter();
|
|
284
|
-
/**
|
|
285
|
-
* Fires when the user drops the dragged row and reordering is performed.
|
|
286
|
-
*/
|
|
287
|
-
this.rowReorder = new EventEmitter();
|
|
288
|
-
/**
|
|
289
|
-
* Fires when the data state of the Grid is changed.
|
|
290
|
-
*/
|
|
291
|
-
this.dataStateChange = new EventEmitter();
|
|
292
|
-
/**
|
|
293
|
-
* Fires when the user expands a group header.
|
|
294
|
-
*/
|
|
295
|
-
this.groupExpand = new EventEmitter();
|
|
296
|
-
/**
|
|
297
|
-
* Fires when the user collapses a group header.
|
|
298
|
-
*/
|
|
299
|
-
this.groupCollapse = new EventEmitter();
|
|
300
|
-
/**
|
|
301
|
-
* Fires when the user expands a master row.
|
|
302
|
-
*/
|
|
303
|
-
this.detailExpand = new EventEmitter();
|
|
304
|
-
/**
|
|
305
|
-
* Fires when the user collapses a master row.
|
|
306
|
-
*/
|
|
307
|
-
this.detailCollapse = new EventEmitter();
|
|
308
|
-
/**
|
|
309
|
-
* Fires when the user clicks the **Edit** command button to edit a row
|
|
310
|
-
* ([see example])({% slug inline_editing_grid %}#toc-editing-records-1).
|
|
311
|
-
*/
|
|
312
|
-
this.edit = new EventEmitter();
|
|
313
|
-
/**
|
|
314
|
-
* Fires when the user clicks the **Cancel** command button to close a row
|
|
315
|
-
* ([see example]({% slug inline_editing_grid %}#toc-canceling-editing-1)).
|
|
316
|
-
*/
|
|
317
|
-
this.cancel = new EventEmitter();
|
|
318
|
-
/**
|
|
319
|
-
* Fires when the user clicks the **Save** command button to save changes in a row
|
|
320
|
-
* ([see example]({% slug inline_editing_grid %}#toc-saving-records-1)).
|
|
321
|
-
*/
|
|
322
|
-
this.save = new EventEmitter();
|
|
323
|
-
/**
|
|
324
|
-
* Fires when the user clicks the **Remove** command button to remove a row
|
|
325
|
-
* ([see example]({% slug inline_editing_grid %}#toc-removing-records-1)).
|
|
326
|
-
*/
|
|
327
|
-
this.remove = new EventEmitter();
|
|
328
|
-
/**
|
|
329
|
-
* Fires when the user clicks the **Add** command button to add a new row
|
|
330
|
-
* ([see example]({% slug inline_editing_grid %}#toc-adding-records-1)).
|
|
331
|
-
*/
|
|
332
|
-
this.add = new EventEmitter();
|
|
333
|
-
/**
|
|
334
|
-
* Fires when the user leaves an edited cell ([see example](slug:editing_incell_grid)).
|
|
335
|
-
*/
|
|
336
|
-
this.cellClose = new EventEmitter();
|
|
337
|
-
/**
|
|
338
|
-
* Fires when the user clicks a cell ([see example](slug:editing_incell_grid)).
|
|
339
|
-
*/
|
|
340
|
-
this.cellClick = new ZoneAwareEventEmitter(this.ngZone);
|
|
341
|
-
/**
|
|
342
|
-
* Fires when the user clicks the **Export to PDF** command button.
|
|
343
|
-
*/
|
|
344
|
-
this.pdfExport = new EventEmitter();
|
|
345
|
-
/**
|
|
346
|
-
* Fires when the user clicks the **Export to Excel** command button.
|
|
347
|
-
*/
|
|
348
|
-
this.excelExport = new EventEmitter();
|
|
349
|
-
/**
|
|
350
|
-
* Fires when the user completes the resizing of the column.
|
|
351
|
-
*/
|
|
352
|
-
this.columnResize = new ZoneAwareEventEmitter(this.ngZone);
|
|
353
|
-
/**
|
|
354
|
-
* Fires when the user completes the reordering of the column.
|
|
355
|
-
*/
|
|
356
|
-
this.columnReorder = new EventEmitter();
|
|
357
|
-
/**
|
|
358
|
-
* Fires when the user changes the visibility of the columns from the column menu or column chooser.
|
|
359
|
-
*/
|
|
360
|
-
this.columnVisibilityChange = new EventEmitter();
|
|
361
|
-
/**
|
|
362
|
-
* Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
|
|
363
|
-
*/
|
|
364
|
-
this.columnLockedChange = new EventEmitter();
|
|
365
|
-
/**
|
|
366
|
-
* Fires when the user changes the sticky state of the columns from the column menu.
|
|
367
|
-
*/
|
|
368
|
-
this.columnStickyChange = new EventEmitter();
|
|
369
|
-
/**
|
|
370
|
-
* Fires when the user scrolls to the last record on the page and enables endless scrolling
|
|
371
|
-
* ([see example]({% slug scrollmmodes_grid %}#toc-endless-scrolling)).
|
|
372
|
-
* You have to handle the event yourself and page the data.
|
|
373
|
-
*/
|
|
374
|
-
this.scrollBottom = new EventEmitter();
|
|
375
|
-
/**
|
|
376
|
-
* Fires when the grid content is scrolled.
|
|
377
|
-
* For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
|
|
378
|
-
*/
|
|
379
|
-
this.contentScroll = new EventEmitter();
|
|
380
|
-
/**
|
|
381
|
-
* A query list of all declared columns.
|
|
382
|
-
*/
|
|
383
|
-
this.columns = new QueryList();
|
|
384
|
-
this.hostClass = true;
|
|
385
|
-
this.footer = new QueryList();
|
|
386
|
-
this.selectionDirective = false;
|
|
387
|
-
this.ariaRootId = `k-${guid()}`;
|
|
388
|
-
/**
|
|
389
|
-
* @hidden
|
|
390
|
-
*/
|
|
391
|
-
this.showLicenseWatermark = false;
|
|
392
|
-
this.columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
|
|
393
|
-
if (!isUniversal()) {
|
|
394
|
-
column.matchesMedia = this.matchesMedia(column);
|
|
395
|
-
}
|
|
396
|
-
return column.isVisible;
|
|
397
|
-
}));
|
|
398
|
-
this.view = new DataCollection(() => new DataResultIterator(this.data, this.skip, this.hasGroupFooters));
|
|
399
|
-
this.shouldGenerateColumns = true;
|
|
400
|
-
this.notifyTimeout = null;
|
|
401
|
-
this._sort = new Array();
|
|
402
|
-
this._group = new Array();
|
|
403
|
-
this._skip = 0;
|
|
404
|
-
this._data = [];
|
|
405
|
-
this.cachedWindowWidth = 0;
|
|
406
|
-
this._rowSelected = null;
|
|
407
|
-
this._isRowSelectable = null;
|
|
408
|
-
this._cellSelected = null;
|
|
409
|
-
this._rowReorderable = false;
|
|
410
|
-
this._navigable = [];
|
|
411
|
-
this._size = 'medium';
|
|
412
|
-
this._loading = false;
|
|
413
|
-
/**
|
|
414
|
-
* @hidden
|
|
415
|
-
*/
|
|
416
|
-
this.blockArrowSelection = false;
|
|
417
|
-
this.rtl = false;
|
|
418
|
-
this._rowClass = () => null;
|
|
419
|
-
const isValid = validatePackage(packageMetadata);
|
|
420
|
-
this.showLicenseWatermark = shouldShowValidationUI(isValid);
|
|
421
|
-
this.ctx.grid = this;
|
|
422
|
-
this.localizationSubscription = this.localization.changes.subscribe(({ rtl }) => {
|
|
423
|
-
this.rtl = rtl;
|
|
424
|
-
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
425
|
-
});
|
|
426
|
-
this.groupInfoService.registerColumnsContainer(() => this.columnList);
|
|
427
|
-
this.columnInfoService.init(this.columnsContainer, () => this.columnList);
|
|
428
|
-
this.columnVisibilityChangeSubscription = this.columnInfoService.visibilityChange.subscribe((changed) => {
|
|
429
|
-
this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
|
|
430
|
-
});
|
|
431
|
-
this.columnLockedChangeSubscription = this.columnInfoService.lockedChange.subscribe((changed) => {
|
|
432
|
-
this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
|
|
433
|
-
});
|
|
434
|
-
this.columnStickyChangeSubscription = this.columnInfoService.stickyChange.subscribe((changed) => {
|
|
435
|
-
this.columnStickyChange.emit(new ColumnStickyChangeEvent(changed));
|
|
436
|
-
});
|
|
437
|
-
this.groupExpandCollapseSubscription = handleExpandCollapseGroupsService(groupsService, this.groupExpand, this.groupCollapse, ({ group, groupIndex, parentGroup }) => ({ group, groupIndex, parentGroup }));
|
|
438
|
-
this.detailsServiceSubscription = handleExpandCollapseDetailsService(detailsService, this.detailExpand, this.detailCollapse, args => args);
|
|
439
|
-
this.filterSubscription = this.filterService.changes.subscribe(x => {
|
|
440
|
-
this.filterChange.emit(x);
|
|
441
|
-
});
|
|
442
|
-
this.sortSubscription = this.sortService.changes.subscribe(x => {
|
|
443
|
-
this.sortChange.emit(x);
|
|
444
|
-
});
|
|
445
|
-
this.attachStateChangesEmitter();
|
|
446
|
-
this.attachEditHandlers();
|
|
447
|
-
this.attachDomEventHandlers();
|
|
448
|
-
this.pdfSubscription = this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this));
|
|
449
|
-
this.excelSubscription = this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this));
|
|
450
|
-
this.columnsContainerChange();
|
|
451
|
-
this.handleColumnResize();
|
|
452
|
-
this.columnList = new ColumnList(this.columns);
|
|
453
|
-
this.columnReorderSubscription = this.columnReorderService
|
|
454
|
-
.changes.subscribe(this.reorder.bind(this));
|
|
455
|
-
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
456
|
-
}
|
|
148
|
+
supportService;
|
|
149
|
+
selectionService;
|
|
150
|
+
cellSelectionService;
|
|
151
|
+
wrapper;
|
|
152
|
+
groupInfoService;
|
|
153
|
+
groupsService;
|
|
154
|
+
changeNotification;
|
|
155
|
+
detailsService;
|
|
156
|
+
editService;
|
|
157
|
+
filterService;
|
|
158
|
+
pdfService;
|
|
159
|
+
responsiveService;
|
|
160
|
+
renderer;
|
|
161
|
+
excelService;
|
|
162
|
+
ngZone;
|
|
163
|
+
scrollSyncService;
|
|
164
|
+
domEvents;
|
|
165
|
+
columnResizingService;
|
|
166
|
+
changeDetectorRef;
|
|
167
|
+
columnReorderService;
|
|
168
|
+
columnInfoService;
|
|
169
|
+
navigationService;
|
|
170
|
+
sortService;
|
|
171
|
+
scrollRequestService;
|
|
172
|
+
localization;
|
|
173
|
+
ctx;
|
|
174
|
+
sizingService;
|
|
175
|
+
rowReorderService;
|
|
457
176
|
/**
|
|
458
177
|
* Sets the data of the Grid. If an array is provided, the Grid automatically gets the total count
|
|
459
178
|
* ([more information and example]({% slug binding_grid %})).
|
|
@@ -481,6 +200,29 @@ export class GridComponent {
|
|
|
481
200
|
get hintText() {
|
|
482
201
|
return this.rowReorderService.getDefaultHintText(this.columnList, this.flatData);
|
|
483
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Defines the page size used by the Grid pager.
|
|
205
|
+
* Required by the [paging]({% slug paging_grid %}) functionality.
|
|
206
|
+
*/
|
|
207
|
+
pageSize;
|
|
208
|
+
/**
|
|
209
|
+
* Defines the height (in pixels) that is used when the `scrollable` option of the Grid is set.
|
|
210
|
+
* To set the height of the Grid, you can also use `style.height`. The `style.height`
|
|
211
|
+
* option supports units such as `px`, `%`, `em`, `rem`, and others.
|
|
212
|
+
*/
|
|
213
|
+
height;
|
|
214
|
+
/**
|
|
215
|
+
* Represent the actual height of each Grid row (`tr`) element in the DOM.
|
|
216
|
+
* Required by the [virtual scrolling functionality]({% slug scrollmmodes_grid %}).
|
|
217
|
+
* Set the `rowHeight` option to the exact pixels as the height of the `tr` element appears in the DOM.
|
|
218
|
+
*/
|
|
219
|
+
rowHeight;
|
|
220
|
+
/**
|
|
221
|
+
* Represent the actual height of each Grid detail row (`tr`) element in the DOM.
|
|
222
|
+
* Required by the [virtual scrolling functionality]({% slug scrollmmodes_grid %}).
|
|
223
|
+
* Set the `detailRowHeight` option to the exact pixels as the height of the detail Grid `tr` element appears in the DOM.
|
|
224
|
+
*/
|
|
225
|
+
detailRowHeight;
|
|
484
226
|
/**
|
|
485
227
|
* Defines the number of records to be skipped by the pager.
|
|
486
228
|
* Required by the [paging]({% slug paging_grid %}) functionality.
|
|
@@ -493,6 +235,18 @@ export class GridComponent {
|
|
|
493
235
|
this._skip = this.rowReorderService.skip = value;
|
|
494
236
|
}
|
|
495
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Defines the scroll mode used by the Grid.
|
|
240
|
+
*
|
|
241
|
+
* @default 'scrollable'
|
|
242
|
+
*/
|
|
243
|
+
scrollable = 'scrollable';
|
|
244
|
+
/**
|
|
245
|
+
* Enables the [single-row selection](slug:grid_row_selection) of the Grid.
|
|
246
|
+
*
|
|
247
|
+
* @default false
|
|
248
|
+
*/
|
|
249
|
+
selectable = false;
|
|
496
250
|
/**
|
|
497
251
|
* The descriptors by which the data will be sorted ([see example]({% slug sorting_grid %})).
|
|
498
252
|
*/
|
|
@@ -518,6 +272,17 @@ export class GridComponent {
|
|
|
518
272
|
get size() {
|
|
519
273
|
return this._size;
|
|
520
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* A function that defines how to track changes for the data rows.
|
|
277
|
+
* By default, the Grid tracks changes by the index of the data item.
|
|
278
|
+
* Edited rows are tracked by reference.
|
|
279
|
+
* [See example](slug:track_changes_grid)
|
|
280
|
+
*/
|
|
281
|
+
trackBy = defaultTrackBy;
|
|
282
|
+
/**
|
|
283
|
+
* The descriptor by which the data will be filtered ([see examples]({% slug filtering_grid %})).
|
|
284
|
+
*/
|
|
285
|
+
filter;
|
|
521
286
|
/**
|
|
522
287
|
* The descriptors by which the data will be grouped ([see example]({% slug grouping_grid %})).
|
|
523
288
|
*/
|
|
@@ -526,11 +291,14 @@ export class GridComponent {
|
|
|
526
291
|
this._group = value;
|
|
527
292
|
}
|
|
528
293
|
}
|
|
529
|
-
/**
|
|
530
|
-
*/
|
|
531
294
|
get group() {
|
|
532
295
|
return this._group;
|
|
533
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* If set to `true`, the grid will render only the columns in the current viewport.
|
|
299
|
+
* @default false
|
|
300
|
+
*/
|
|
301
|
+
virtualColumns = false;
|
|
534
302
|
/**
|
|
535
303
|
* @hidden
|
|
536
304
|
*/
|
|
@@ -593,6 +361,33 @@ export class GridComponent {
|
|
|
593
361
|
get marqueeSelection() {
|
|
594
362
|
return this.selectionService.enableMarquee || this.cellSelectionService.enableMarquee;
|
|
595
363
|
}
|
|
364
|
+
/**
|
|
365
|
+
* @hidden
|
|
366
|
+
*/
|
|
367
|
+
gridData = () => { return this.flatData; };
|
|
368
|
+
/**
|
|
369
|
+
* Enables the [filtering]({% slug filtering_grid %}) of the Grid columns that have their `field` option set.
|
|
370
|
+
* @default false
|
|
371
|
+
*/
|
|
372
|
+
filterable = false;
|
|
373
|
+
/**
|
|
374
|
+
* Enables the [sorting]({% slug sorting_grid %}) of the Grid columns that have their `field` option set.
|
|
375
|
+
* @default false
|
|
376
|
+
*/
|
|
377
|
+
sortable = false;
|
|
378
|
+
/**
|
|
379
|
+
* Configures the pager of the Grid ([see example](slug:paging_grid_settings)).
|
|
380
|
+
* @default false
|
|
381
|
+
*/
|
|
382
|
+
pageable = false;
|
|
383
|
+
get normalizedPageableSettings() {
|
|
384
|
+
return normalize(this.pageable);
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* If set to `true`, the user can group the Grid by dragging the column header cells ([see example]({% slug grouping_grid %})).
|
|
388
|
+
* @default false
|
|
389
|
+
*/
|
|
390
|
+
groupable = false;
|
|
596
391
|
/**
|
|
597
392
|
* Enables the [row reordering]({% slug reordering_rows_grid %}) of the Grid.
|
|
598
393
|
* @default false
|
|
@@ -646,6 +441,15 @@ export class GridComponent {
|
|
|
646
441
|
get navigatable() {
|
|
647
442
|
return this.navigable;
|
|
648
443
|
}
|
|
444
|
+
/**
|
|
445
|
+
* Indicates whether the Grid columns will be resized during initialization so that
|
|
446
|
+
* they fit their headers and row content.
|
|
447
|
+
* Columns with `autoSize` set to `false` are excluded.
|
|
448
|
+
* To dynamically update the column width to match the new content,
|
|
449
|
+
* refer to [this example]({% slug resizing_columns_grid %}).
|
|
450
|
+
* @default false
|
|
451
|
+
*/
|
|
452
|
+
autoSize = false;
|
|
649
453
|
/**
|
|
650
454
|
* Defines a function that is executed for every data row in the component
|
|
651
455
|
* ([see example](slug:styling_grid_rows)).
|
|
@@ -740,6 +544,20 @@ export class GridComponent {
|
|
|
740
544
|
this.defaultSelection ? this.defaultSelection.stateToArray() : this.selectionDirective.stateToArray() :
|
|
741
545
|
[];
|
|
742
546
|
}
|
|
547
|
+
/**
|
|
548
|
+
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
|
549
|
+
* ([see example]({% slug resizing_columns_grid %})).
|
|
550
|
+
*
|
|
551
|
+
* @default false
|
|
552
|
+
*/
|
|
553
|
+
resizable = false;
|
|
554
|
+
/**
|
|
555
|
+
* If set to `true`, the user can reorder columns by dragging their header cells
|
|
556
|
+
* ([see example]({% slug reordering_columns_grid %})).
|
|
557
|
+
*
|
|
558
|
+
* @default false
|
|
559
|
+
*/
|
|
560
|
+
reorderable = false;
|
|
743
561
|
/**
|
|
744
562
|
* Specifies if the loading indicator of the Grid will be displayed ([see example]({% slug binding_grid %})).
|
|
745
563
|
*
|
|
@@ -752,9 +570,146 @@ export class GridComponent {
|
|
|
752
570
|
get loading() {
|
|
753
571
|
return this._loading;
|
|
754
572
|
}
|
|
573
|
+
/**
|
|
574
|
+
* Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_grid %})).
|
|
575
|
+
*
|
|
576
|
+
* @default false
|
|
577
|
+
*/
|
|
578
|
+
columnMenu = false;
|
|
579
|
+
/**
|
|
580
|
+
* Specifies if the header of the grid will be hidden. The header is visible by default.
|
|
581
|
+
* The header includes column headers and the [filter row](slug:filter_row).
|
|
582
|
+
* @default false
|
|
583
|
+
*/
|
|
584
|
+
hideHeader = false;
|
|
585
|
+
/**
|
|
586
|
+
* Fires when the Grid filter is modified through the UI.
|
|
587
|
+
* You have to handle the event yourself and filter the data.
|
|
588
|
+
*/
|
|
589
|
+
filterChange = new EventEmitter();
|
|
590
|
+
/**
|
|
591
|
+
* Fires when the page of the Grid is changed ([see example]({% slug paging_grid %})).
|
|
592
|
+
* You have to handle the event yourself and page the data.
|
|
593
|
+
*/
|
|
594
|
+
pageChange = new EventEmitter();
|
|
595
|
+
/**
|
|
596
|
+
* Fires when the grouping of the Grid is changed.
|
|
597
|
+
* You have to handle the event yourself and group the data ([see example]({% slug grouping_grid %})).
|
|
598
|
+
*/
|
|
599
|
+
groupChange;
|
|
600
|
+
/**
|
|
601
|
+
* Fires when the sorting of the Grid is changed ([see example]({% slug sorting_grid %})).
|
|
602
|
+
* You have to handle the event yourself and sort the data.
|
|
603
|
+
*/
|
|
604
|
+
sortChange = new EventEmitter();
|
|
605
|
+
/**
|
|
606
|
+
* Fires when the user selects a Grid row.
|
|
607
|
+
*/
|
|
608
|
+
selectionChange = new EventEmitter();
|
|
609
|
+
/**
|
|
610
|
+
* Fires when the user drops the dragged row and reordering is performed.
|
|
611
|
+
*/
|
|
612
|
+
rowReorder = new EventEmitter();
|
|
613
|
+
/**
|
|
614
|
+
* Fires when the data state of the Grid is changed.
|
|
615
|
+
*/
|
|
616
|
+
dataStateChange = new EventEmitter();
|
|
617
|
+
/**
|
|
618
|
+
* Fires when the user expands a group header.
|
|
619
|
+
*/
|
|
620
|
+
groupExpand = new EventEmitter();
|
|
621
|
+
/**
|
|
622
|
+
* Fires when the user collapses a group header.
|
|
623
|
+
*/
|
|
624
|
+
groupCollapse = new EventEmitter();
|
|
625
|
+
/**
|
|
626
|
+
* Fires when the user expands a master row.
|
|
627
|
+
*/
|
|
628
|
+
detailExpand = new EventEmitter();
|
|
629
|
+
/**
|
|
630
|
+
* Fires when the user collapses a master row.
|
|
631
|
+
*/
|
|
632
|
+
detailCollapse = new EventEmitter();
|
|
633
|
+
/**
|
|
634
|
+
* Fires when the user clicks the **Edit** command button to edit a row
|
|
635
|
+
* ([see example])({% slug inline_editing_grid %}#toc-editing-records-1).
|
|
636
|
+
*/
|
|
637
|
+
edit = new EventEmitter();
|
|
638
|
+
/**
|
|
639
|
+
* Fires when the user clicks the **Cancel** command button to close a row
|
|
640
|
+
* ([see example]({% slug inline_editing_grid %}#toc-canceling-editing-1)).
|
|
641
|
+
*/
|
|
642
|
+
cancel = new EventEmitter();
|
|
643
|
+
/**
|
|
644
|
+
* Fires when the user clicks the **Save** command button to save changes in a row
|
|
645
|
+
* ([see example]({% slug inline_editing_grid %}#toc-saving-records-1)).
|
|
646
|
+
*/
|
|
647
|
+
save = new EventEmitter();
|
|
648
|
+
/**
|
|
649
|
+
* Fires when the user clicks the **Remove** command button to remove a row
|
|
650
|
+
* ([see example]({% slug inline_editing_grid %}#toc-removing-records-1)).
|
|
651
|
+
*/
|
|
652
|
+
remove = new EventEmitter();
|
|
653
|
+
/**
|
|
654
|
+
* Fires when the user clicks the **Add** command button to add a new row
|
|
655
|
+
* ([see example]({% slug inline_editing_grid %}#toc-adding-records-1)).
|
|
656
|
+
*/
|
|
657
|
+
add = new EventEmitter();
|
|
658
|
+
/**
|
|
659
|
+
* Fires when the user leaves an edited cell ([see example](slug:editing_incell_grid)).
|
|
660
|
+
*/
|
|
661
|
+
cellClose = new EventEmitter();
|
|
662
|
+
/**
|
|
663
|
+
* Fires when the user clicks a cell ([see example](slug:editing_incell_grid)).
|
|
664
|
+
*/
|
|
665
|
+
cellClick;
|
|
666
|
+
/**
|
|
667
|
+
* Fires when the user clicks the **Export to PDF** command button.
|
|
668
|
+
*/
|
|
669
|
+
pdfExport = new EventEmitter();
|
|
670
|
+
/**
|
|
671
|
+
* Fires when the user clicks the **Export to Excel** command button.
|
|
672
|
+
*/
|
|
673
|
+
excelExport = new EventEmitter();
|
|
674
|
+
/**
|
|
675
|
+
* Fires when the user completes the resizing of the column.
|
|
676
|
+
*/
|
|
677
|
+
columnResize;
|
|
678
|
+
/**
|
|
679
|
+
* Fires when the user completes the reordering of the column.
|
|
680
|
+
*/
|
|
681
|
+
columnReorder = new EventEmitter();
|
|
682
|
+
/**
|
|
683
|
+
* Fires when the user changes the visibility of the columns from the column menu or column chooser.
|
|
684
|
+
*/
|
|
685
|
+
columnVisibilityChange = new EventEmitter();
|
|
686
|
+
/**
|
|
687
|
+
* Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
|
|
688
|
+
*/
|
|
689
|
+
columnLockedChange = new EventEmitter();
|
|
690
|
+
/**
|
|
691
|
+
* Fires when the user changes the sticky state of the columns from the column menu.
|
|
692
|
+
*/
|
|
693
|
+
columnStickyChange = new EventEmitter();
|
|
694
|
+
/**
|
|
695
|
+
* Fires when the user scrolls to the last record on the page and enables endless scrolling
|
|
696
|
+
* ([see example]({% slug scrollmmodes_grid %}#toc-endless-scrolling)).
|
|
697
|
+
* You have to handle the event yourself and page the data.
|
|
698
|
+
*/
|
|
699
|
+
scrollBottom = new EventEmitter();
|
|
700
|
+
/**
|
|
701
|
+
* Fires when the grid content is scrolled.
|
|
702
|
+
* For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
|
|
703
|
+
*/
|
|
704
|
+
contentScroll = new EventEmitter();
|
|
705
|
+
/**
|
|
706
|
+
* A query list of all declared columns.
|
|
707
|
+
*/
|
|
708
|
+
columns = new QueryList();
|
|
755
709
|
get dir() {
|
|
756
710
|
return this.direction;
|
|
757
711
|
}
|
|
712
|
+
hostClass = true;
|
|
758
713
|
get sizeSmallClass() {
|
|
759
714
|
return this.size === 'small';
|
|
760
715
|
}
|
|
@@ -770,6 +725,7 @@ export class GridComponent {
|
|
|
770
725
|
get noScrollbarClass() {
|
|
771
726
|
return this.scrollbarWidth === 0;
|
|
772
727
|
}
|
|
728
|
+
detailTemplateChildren;
|
|
773
729
|
get detailTemplate() {
|
|
774
730
|
if (this._customDetailTemplate) {
|
|
775
731
|
return this._customDetailTemplate;
|
|
@@ -779,6 +735,7 @@ export class GridComponent {
|
|
|
779
735
|
set detailTemplate(detailTemplate) {
|
|
780
736
|
this._customDetailTemplate = detailTemplate;
|
|
781
737
|
}
|
|
738
|
+
cellLoadingTemplateChildren;
|
|
782
739
|
get cellLoadingTemplate() {
|
|
783
740
|
if (this._cellLoadingTemplate) {
|
|
784
741
|
return this._customDetailTemplate;
|
|
@@ -788,6 +745,7 @@ export class GridComponent {
|
|
|
788
745
|
set cellLoadingTemplate(cellLoadingTemplate) {
|
|
789
746
|
this._cellLoadingTemplate = cellLoadingTemplate;
|
|
790
747
|
}
|
|
748
|
+
loadingTemplateChildren;
|
|
791
749
|
get loadingTemplate() {
|
|
792
750
|
if (this._loadingTemplate) {
|
|
793
751
|
return this._loadingTemplate;
|
|
@@ -797,6 +755,7 @@ export class GridComponent {
|
|
|
797
755
|
set loadingTemplate(loadingTemplate) {
|
|
798
756
|
this._loadingTemplate = loadingTemplate;
|
|
799
757
|
}
|
|
758
|
+
statusBarTemplateChildren;
|
|
800
759
|
get statusBarTemplate() {
|
|
801
760
|
if (this._statusBarTemplate) {
|
|
802
761
|
return this._statusBarTemplate;
|
|
@@ -806,6 +765,7 @@ export class GridComponent {
|
|
|
806
765
|
set statusBarTemplate(statusBarTemplate) {
|
|
807
766
|
this._statusBarTemplate = statusBarTemplate;
|
|
808
767
|
}
|
|
768
|
+
noRecordsTemplateChildren;
|
|
809
769
|
get noRecordsTemplate() {
|
|
810
770
|
if (this._customNoRecordsTemplate) {
|
|
811
771
|
return this._customNoRecordsTemplate;
|
|
@@ -815,6 +775,7 @@ export class GridComponent {
|
|
|
815
775
|
set noRecordsTemplate(customNoRecordsTemplate) {
|
|
816
776
|
this._customNoRecordsTemplate = customNoRecordsTemplate;
|
|
817
777
|
}
|
|
778
|
+
pagerTemplateChildren;
|
|
818
779
|
get pagerTemplate() {
|
|
819
780
|
if (this._customPagerTemplate) {
|
|
820
781
|
return this._customPagerTemplate;
|
|
@@ -824,6 +785,7 @@ export class GridComponent {
|
|
|
824
785
|
set pagerTemplate(customPagerTemplate) {
|
|
825
786
|
this._customPagerTemplate = customPagerTemplate;
|
|
826
787
|
}
|
|
788
|
+
toolbarTemplateChildren;
|
|
827
789
|
get toolbarTemplate() {
|
|
828
790
|
if (this._customToolbarTemplate) {
|
|
829
791
|
return this._customToolbarTemplate;
|
|
@@ -833,18 +795,40 @@ export class GridComponent {
|
|
|
833
795
|
set toolbarTemplate(customToolbarTemplate) {
|
|
834
796
|
this._customToolbarTemplate = customToolbarTemplate;
|
|
835
797
|
}
|
|
798
|
+
columnMenuTemplates;
|
|
799
|
+
lockedHeader;
|
|
800
|
+
header;
|
|
801
|
+
footer = new QueryList();
|
|
802
|
+
ariaRoot;
|
|
803
|
+
dragTargetContainer;
|
|
804
|
+
dropTargetContainer;
|
|
836
805
|
get scrollbarWidth() {
|
|
837
806
|
return this.supportService.scrollbarWidth;
|
|
838
807
|
}
|
|
839
808
|
get headerPadding() {
|
|
840
809
|
if (isUniversal()) {
|
|
841
|
-
return
|
|
810
|
+
return '';
|
|
842
811
|
}
|
|
843
812
|
const padding = Math.max(0, this.scrollbarWidth) + 'px';
|
|
844
813
|
const right = this.rtl ? 0 : padding;
|
|
845
814
|
const left = this.rtl ? padding : 0;
|
|
846
815
|
return `0 ${right} 0 ${left}`;
|
|
847
816
|
}
|
|
817
|
+
columnMenuOptions;
|
|
818
|
+
columnList;
|
|
819
|
+
selectionDirective = false;
|
|
820
|
+
ariaRootId = `k-${guid()}`;
|
|
821
|
+
/**
|
|
822
|
+
* @hidden
|
|
823
|
+
*/
|
|
824
|
+
showLicenseWatermark = false;
|
|
825
|
+
columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
|
|
826
|
+
if (!isUniversal()) {
|
|
827
|
+
column.matchesMedia = this.matchesMedia(column);
|
|
828
|
+
}
|
|
829
|
+
return column.isVisible;
|
|
830
|
+
}));
|
|
831
|
+
view = new DataCollection(() => new DataResultIterator(this.data, this.skip, this.hasGroupFooters));
|
|
848
832
|
get hasGroupFooters() {
|
|
849
833
|
return this.columnsContainer.hasGroupFooter;
|
|
850
834
|
}
|
|
@@ -863,6 +847,31 @@ export class GridComponent {
|
|
|
863
847
|
get navigation() {
|
|
864
848
|
return this.navigationService;
|
|
865
849
|
}
|
|
850
|
+
shouldGenerateColumns = true;
|
|
851
|
+
direction;
|
|
852
|
+
notifyTimeout = null;
|
|
853
|
+
_sort = new Array();
|
|
854
|
+
_group = new Array();
|
|
855
|
+
_skip = 0;
|
|
856
|
+
_data = [];
|
|
857
|
+
cachedWindowWidth = 0;
|
|
858
|
+
defaultSelection;
|
|
859
|
+
_rowSelected = null;
|
|
860
|
+
_isRowSelectable = null;
|
|
861
|
+
_cellSelected = null;
|
|
862
|
+
_customDetailTemplate;
|
|
863
|
+
_cellLoadingTemplate;
|
|
864
|
+
_loadingTemplate;
|
|
865
|
+
_statusBarTemplate;
|
|
866
|
+
_customNoRecordsTemplate;
|
|
867
|
+
_customPagerTemplate;
|
|
868
|
+
_customToolbarTemplate;
|
|
869
|
+
_rowReorderable = false;
|
|
870
|
+
leafViewportColumns;
|
|
871
|
+
viewportColumns;
|
|
872
|
+
_navigable = [];
|
|
873
|
+
_size = 'medium';
|
|
874
|
+
_loading = false;
|
|
866
875
|
get isVirtual() {
|
|
867
876
|
return this.scrollable === 'virtual';
|
|
868
877
|
}
|
|
@@ -944,6 +953,105 @@ export class GridComponent {
|
|
|
944
953
|
getHintSettings(type) {
|
|
945
954
|
return this.rowReorderService[type];
|
|
946
955
|
}
|
|
956
|
+
/**
|
|
957
|
+
* @hidden
|
|
958
|
+
*/
|
|
959
|
+
blockArrowSelection = false;
|
|
960
|
+
selectionSubscription;
|
|
961
|
+
stateChangeSubscription;
|
|
962
|
+
groupExpandCollapseSubscription;
|
|
963
|
+
editServiceSubscription;
|
|
964
|
+
detailsServiceSubscription;
|
|
965
|
+
filterSubscription;
|
|
966
|
+
sortSubscription;
|
|
967
|
+
columnsChangeSubscription;
|
|
968
|
+
pdfSubscription;
|
|
969
|
+
excelSubscription;
|
|
970
|
+
columnsContainerChangeSubscription;
|
|
971
|
+
cellClickSubscription;
|
|
972
|
+
footerChangeSubscription;
|
|
973
|
+
columnResizingSubscription;
|
|
974
|
+
columnReorderSubscription;
|
|
975
|
+
detachElementEventHandlers;
|
|
976
|
+
localizationSubscription;
|
|
977
|
+
columnVisibilityChangeSubscription;
|
|
978
|
+
columnLockedChangeSubscription;
|
|
979
|
+
columnStickyChangeSubscription;
|
|
980
|
+
focusElementSubscription;
|
|
981
|
+
columnRangeChangeSubscription;
|
|
982
|
+
rowReorderSubscription;
|
|
983
|
+
rtl = false;
|
|
984
|
+
_rowSticky;
|
|
985
|
+
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, sizingService, rowReorderService) {
|
|
986
|
+
this.supportService = supportService;
|
|
987
|
+
this.selectionService = selectionService;
|
|
988
|
+
this.cellSelectionService = cellSelectionService;
|
|
989
|
+
this.wrapper = wrapper;
|
|
990
|
+
this.groupInfoService = groupInfoService;
|
|
991
|
+
this.groupsService = groupsService;
|
|
992
|
+
this.changeNotification = changeNotification;
|
|
993
|
+
this.detailsService = detailsService;
|
|
994
|
+
this.editService = editService;
|
|
995
|
+
this.filterService = filterService;
|
|
996
|
+
this.pdfService = pdfService;
|
|
997
|
+
this.responsiveService = responsiveService;
|
|
998
|
+
this.renderer = renderer;
|
|
999
|
+
this.excelService = excelService;
|
|
1000
|
+
this.ngZone = ngZone;
|
|
1001
|
+
this.scrollSyncService = scrollSyncService;
|
|
1002
|
+
this.domEvents = domEvents;
|
|
1003
|
+
this.columnResizingService = columnResizingService;
|
|
1004
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
1005
|
+
this.columnReorderService = columnReorderService;
|
|
1006
|
+
this.columnInfoService = columnInfoService;
|
|
1007
|
+
this.navigationService = navigationService;
|
|
1008
|
+
this.sortService = sortService;
|
|
1009
|
+
this.scrollRequestService = scrollRequestService;
|
|
1010
|
+
this.localization = localization;
|
|
1011
|
+
this.ctx = ctx;
|
|
1012
|
+
this.sizingService = sizingService;
|
|
1013
|
+
this.rowReorderService = rowReorderService;
|
|
1014
|
+
const isValid = validatePackage(packageMetadata);
|
|
1015
|
+
this.showLicenseWatermark = shouldShowValidationUI(isValid);
|
|
1016
|
+
this.ctx.grid = this;
|
|
1017
|
+
this.groupChange = new ZoneAwareEventEmitter(this.ngZone);
|
|
1018
|
+
this.cellClick = new ZoneAwareEventEmitter(this.ngZone);
|
|
1019
|
+
this.columnResize = new ZoneAwareEventEmitter(this.ngZone);
|
|
1020
|
+
this.localizationSubscription = this.localization.changes.subscribe(({ rtl }) => {
|
|
1021
|
+
this.rtl = rtl;
|
|
1022
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
1023
|
+
});
|
|
1024
|
+
this.groupInfoService.registerColumnsContainer(() => this.columnList);
|
|
1025
|
+
this.columnInfoService.init(this.columnsContainer, () => this.columnList);
|
|
1026
|
+
this.columnVisibilityChangeSubscription = this.columnInfoService.visibilityChange.subscribe((changed) => {
|
|
1027
|
+
this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
|
|
1028
|
+
});
|
|
1029
|
+
this.columnLockedChangeSubscription = this.columnInfoService.lockedChange.subscribe((changed) => {
|
|
1030
|
+
this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
|
|
1031
|
+
});
|
|
1032
|
+
this.columnStickyChangeSubscription = this.columnInfoService.stickyChange.subscribe((changed) => {
|
|
1033
|
+
this.columnStickyChange.emit(new ColumnStickyChangeEvent(changed));
|
|
1034
|
+
});
|
|
1035
|
+
this.groupExpandCollapseSubscription = handleExpandCollapseGroupsService(groupsService, this.groupExpand, this.groupCollapse, ({ group, groupIndex, parentGroup }) => ({ group, groupIndex, parentGroup }));
|
|
1036
|
+
this.detailsServiceSubscription = handleExpandCollapseDetailsService(detailsService, this.detailExpand, this.detailCollapse, args => args);
|
|
1037
|
+
this.filterSubscription = this.filterService.changes.subscribe(x => {
|
|
1038
|
+
this.filterChange.emit(x);
|
|
1039
|
+
});
|
|
1040
|
+
this.sortSubscription = this.sortService.changes.subscribe(x => {
|
|
1041
|
+
this.sortChange.emit(x);
|
|
1042
|
+
});
|
|
1043
|
+
this.attachStateChangesEmitter();
|
|
1044
|
+
this.attachEditHandlers();
|
|
1045
|
+
this.attachDomEventHandlers();
|
|
1046
|
+
this.pdfSubscription = this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this));
|
|
1047
|
+
this.excelSubscription = this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this));
|
|
1048
|
+
this.columnsContainerChange();
|
|
1049
|
+
this.handleColumnResize();
|
|
1050
|
+
this.columnList = new ColumnList(this.columns);
|
|
1051
|
+
this.columnReorderSubscription = this.columnReorderService
|
|
1052
|
+
.changes.subscribe(this.reorder.bind(this));
|
|
1053
|
+
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
1054
|
+
}
|
|
947
1055
|
/**
|
|
948
1056
|
* Expands the specified master row ([see example]({% slug hierarchy_grid %})).
|
|
949
1057
|
*
|
|
@@ -1082,6 +1190,10 @@ export class GridComponent {
|
|
|
1082
1190
|
this.attachElementEventHandlers();
|
|
1083
1191
|
this.updateNavigationMetadata();
|
|
1084
1192
|
this.applyAutoSize();
|
|
1193
|
+
const toolbarComponentWrapper = this.wrapper?.nativeElement?.querySelector('kendo-toolbar');
|
|
1194
|
+
if (toolbarComponentWrapper) {
|
|
1195
|
+
this.renderer.addClass(toolbarComponentWrapper, 'k-grid-toolbar');
|
|
1196
|
+
}
|
|
1085
1197
|
}
|
|
1086
1198
|
ngAfterContentChecked() {
|
|
1087
1199
|
this.columnsContainer.refresh();
|
|
@@ -1200,9 +1312,7 @@ export class GridComponent {
|
|
|
1200
1312
|
/**
|
|
1201
1313
|
* @hidden
|
|
1202
1314
|
*/
|
|
1203
|
-
messageFor(token)
|
|
1204
|
-
return this.localization.get(token);
|
|
1205
|
-
}
|
|
1315
|
+
messageFor = token => this.localization.get(token);
|
|
1206
1316
|
/**
|
|
1207
1317
|
* Switches the specified table row in the edit mode ([see example]({% slug inline_editing_grid %}#toc-editing-records-1)).
|
|
1208
1318
|
*
|
|
@@ -1717,6 +1827,9 @@ export class GridComponent {
|
|
|
1717
1827
|
if (this.rowSticky && this.groupable) {
|
|
1718
1828
|
throw new Error(GridConfigurationErrorMessages.incompatibleFeatures('sticky rows', 'grouping'));
|
|
1719
1829
|
}
|
|
1830
|
+
if (this.wrapper?.nativeElement?.querySelector('kendo-toolbar') && this.toolbarTemplate) {
|
|
1831
|
+
console.warn(GridConfigurationErrorMessages.unsupportedToolbarConfig);
|
|
1832
|
+
}
|
|
1720
1833
|
validateColumnsField(this.columnList);
|
|
1721
1834
|
}
|
|
1722
1835
|
}
|
|
@@ -1920,6 +2033,7 @@ export class GridComponent {
|
|
|
1920
2033
|
throw new Error(GridConfigurationErrorMessages.focusNavigable);
|
|
1921
2034
|
}
|
|
1922
2035
|
}
|
|
2036
|
+
_rowClass = () => null;
|
|
1923
2037
|
navigationMetadata() {
|
|
1924
2038
|
const isVirtual = this.isVirtual;
|
|
1925
2039
|
const pageSize = this.pageSize;
|
|
@@ -2030,54 +2144,54 @@ export class GridComponent {
|
|
|
2030
2144
|
this.dragTargetContainer?.notify();
|
|
2031
2145
|
this.dropTargetContainer?.notify();
|
|
2032
2146
|
}
|
|
2033
|
-
}
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2147
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", 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 }, { token: i23.SizingOptionsService }, { token: i24.RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2148
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridComponent, isStandalone: true, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", rowReorderable: "rowReorderable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", isRowSelectable: "isRowSelectable", 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", rowReorder: "rowReorder", 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.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
|
2149
|
+
BrowserSupportService,
|
|
2150
|
+
LocalizationService,
|
|
2151
|
+
ColumnInfoService,
|
|
2152
|
+
SelectionService,
|
|
2153
|
+
CellSelectionService,
|
|
2154
|
+
DetailsService,
|
|
2155
|
+
GroupsService,
|
|
2156
|
+
GroupInfoService,
|
|
2157
|
+
ChangeNotificationService,
|
|
2158
|
+
EditService,
|
|
2159
|
+
PDFService,
|
|
2160
|
+
SuspendService,
|
|
2161
|
+
{
|
|
2162
|
+
provide: CELL_CONTEXT,
|
|
2163
|
+
useValue: EMPTY_CELL_CONTEXT
|
|
2164
|
+
},
|
|
2165
|
+
{
|
|
2166
|
+
provide: L10N_PREFIX,
|
|
2167
|
+
useValue: 'kendo.grid'
|
|
2168
|
+
},
|
|
2169
|
+
FilterService,
|
|
2170
|
+
ResponsiveService,
|
|
2171
|
+
PagerContextService,
|
|
2172
|
+
PagerNavigationService,
|
|
2173
|
+
ExcelService,
|
|
2174
|
+
ScrollSyncService,
|
|
2175
|
+
ResizeService,
|
|
2176
|
+
LocalDataChangesService,
|
|
2177
|
+
DomEventsService,
|
|
2178
|
+
ColumnResizingService,
|
|
2179
|
+
SinglePopupService,
|
|
2180
|
+
DragAndDropService,
|
|
2181
|
+
DragHintService,
|
|
2182
|
+
DropCueService,
|
|
2183
|
+
ColumnReorderService,
|
|
2184
|
+
NavigationService,
|
|
2185
|
+
FocusRoot,
|
|
2186
|
+
IdService,
|
|
2187
|
+
CellSelectionAggregateService,
|
|
2188
|
+
ScrollRequestService,
|
|
2189
|
+
SortService,
|
|
2190
|
+
ContextService,
|
|
2191
|
+
SizingOptionsService,
|
|
2192
|
+
RowReorderService,
|
|
2193
|
+
ClipboardService
|
|
2194
|
+
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
|
|
2081
2195
|
<ng-container kendoGridLocalizedMessages
|
|
2082
2196
|
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
2083
2197
|
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
@@ -2115,6 +2229,9 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
2115
2229
|
i18n-pagerItemsPerPage="kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager"
|
|
2116
2230
|
pagerItemsPerPage="items per page"
|
|
2117
2231
|
|
|
2232
|
+
i18n-pagerInputLabel="kendo.grid.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number"
|
|
2233
|
+
pagerInputLabel="Type a page number"
|
|
2234
|
+
|
|
2118
2235
|
i18n-filter="kendo.grid.filter|The label of the filter cell or icon"
|
|
2119
2236
|
filter="Filter"
|
|
2120
2237
|
|
|
@@ -2298,8 +2415,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
2298
2415
|
i18n-groupExpand="kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows."
|
|
2299
2416
|
groupExpand="Expand Group"
|
|
2300
2417
|
|
|
2301
|
-
i18n-
|
|
2302
|
-
|
|
2418
|
+
i18n-pagerSelectPage="kendo.grid.pagerSelectPage|The text of the title and aria-label attributes applied to the page chooser in the Grid Pager"
|
|
2419
|
+
pagerSelectPage="Select page"
|
|
2303
2420
|
|
|
2304
2421
|
i18n-topToolbarLabel="kendo.grid.topToolbarLabel|The label for the Grid top toolbar"
|
|
2305
2422
|
topToolbarLabel="Top toolbar"
|
|
@@ -2336,18 +2453,42 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
2336
2453
|
[navigable]="navigation.toolbarEnabled"
|
|
2337
2454
|
[attr.aria-controls]="ariaRootId"
|
|
2338
2455
|
position="top"></kendo-grid-toolbar>
|
|
2456
|
+
<ng-content select="kendo-toolbar"></ng-content>
|
|
2339
2457
|
<kendo-pager
|
|
2340
2458
|
*ngIf="showTopPager"
|
|
2341
|
-
|
|
2342
|
-
[
|
|
2343
|
-
class="k-grid-pager
|
|
2344
|
-
[template]="pagerTemplate"
|
|
2459
|
+
#topPager
|
|
2460
|
+
[navigable]="navigation.pagerEnabled"
|
|
2461
|
+
class="k-grid-pager k-grid-pager-top"
|
|
2345
2462
|
[pageSize]="pageSize"
|
|
2346
2463
|
[total]="view.total"
|
|
2347
2464
|
[skip]="skip"
|
|
2348
2465
|
[size]="size"
|
|
2349
|
-
[
|
|
2466
|
+
[responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
|
|
2467
|
+
[buttonCount]="normalizedPageableSettings.buttonCount"
|
|
2468
|
+
[info]="normalizedPageableSettings.info"
|
|
2469
|
+
[pageSizeValues]="normalizedPageableSettings.pageSizes"
|
|
2470
|
+
[previousNext]="normalizedPageableSettings.previousNext"
|
|
2471
|
+
[type]="normalizedPageableSettings.type"
|
|
2350
2472
|
(pageChange)="notifyPageChange('pager', $event)">
|
|
2473
|
+
<ng-template kendoPagerTemplate>
|
|
2474
|
+
<ng-container
|
|
2475
|
+
[ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
|
|
2476
|
+
[ngTemplateOutletContext]="topPager.templateContext"></ng-container>
|
|
2477
|
+
</ng-template>
|
|
2478
|
+
<kendo-pager-messages
|
|
2479
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
|
2480
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
|
2481
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
|
2482
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
|
2483
|
+
[nextPage]="messageFor('pagerNextPage')"
|
|
2484
|
+
[lastPage]="messageFor('pagerLastPage')"
|
|
2485
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
|
2486
|
+
[page]="messageFor('pagerPage')"
|
|
2487
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
|
2488
|
+
[items]="messageFor('pagerItems')"
|
|
2489
|
+
[of]="messageFor('pagerOf')"
|
|
2490
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
|
2491
|
+
</kendo-pager-messages>
|
|
2351
2492
|
</kendo-pager>
|
|
2352
2493
|
<kendo-grid-group-panel
|
|
2353
2494
|
*ngIf="showGroupPanel"
|
|
@@ -2629,16 +2770,39 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
2629
2770
|
</kendo-grid-status-bar>
|
|
2630
2771
|
<kendo-pager
|
|
2631
2772
|
*ngIf="showBottomPager"
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
[
|
|
2773
|
+
#bottomPager
|
|
2774
|
+
class="k-grid-pager"
|
|
2775
|
+
[navigable]="navigation.pagerEnabled"
|
|
2635
2776
|
[pageSize]="pageSize"
|
|
2636
2777
|
[total]="view.total"
|
|
2637
2778
|
[skip]="skip"
|
|
2638
2779
|
[size]="size"
|
|
2639
|
-
[
|
|
2640
|
-
|
|
2780
|
+
[responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
|
|
2781
|
+
[buttonCount]="normalizedPageableSettings.buttonCount"
|
|
2782
|
+
[info]="normalizedPageableSettings.info"
|
|
2783
|
+
[pageSizeValues]="normalizedPageableSettings.pageSizes"
|
|
2784
|
+
[previousNext]="normalizedPageableSettings.previousNext"
|
|
2785
|
+
[type]="normalizedPageableSettings.type"
|
|
2641
2786
|
(pageChange)="notifyPageChange('pager', $event)">
|
|
2787
|
+
<ng-template kendoPagerTemplate>
|
|
2788
|
+
<ng-container
|
|
2789
|
+
[ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
|
|
2790
|
+
[ngTemplateOutletContext]="bottomPager.templateContext"></ng-container>
|
|
2791
|
+
</ng-template>
|
|
2792
|
+
<kendo-pager-messages
|
|
2793
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
|
2794
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
|
2795
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
|
2796
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
|
2797
|
+
[nextPage]="messageFor('pagerNextPage')"
|
|
2798
|
+
[lastPage]="messageFor('pagerLastPage')"
|
|
2799
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
|
2800
|
+
[page]="messageFor('pagerPage')"
|
|
2801
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
|
2802
|
+
[items]="messageFor('pagerItems')"
|
|
2803
|
+
[of]="messageFor('pagerOf')"
|
|
2804
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
|
2805
|
+
</kendo-pager-messages>
|
|
2642
2806
|
</kendo-pager>
|
|
2643
2807
|
<kendo-grid-toolbar
|
|
2644
2808
|
class="k-grid-toolbar-bottom"
|
|
@@ -2659,9 +2823,28 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
2659
2823
|
{{hintText}}
|
|
2660
2824
|
</ng-template>
|
|
2661
2825
|
|
|
2826
|
+
<ng-template #defaultPager>
|
|
2827
|
+
<div class="k-pager-numbers-wrap">
|
|
2828
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-prev-buttons>
|
|
2829
|
+
<kendo-pager-numeric-buttons
|
|
2830
|
+
[size]="size"
|
|
2831
|
+
*ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
|
|
2832
|
+
[buttonCount]="normalizedPageableSettings.buttonCount">
|
|
2833
|
+
</kendo-pager-numeric-buttons>
|
|
2834
|
+
<kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
|
|
2835
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
|
|
2836
|
+
</div>
|
|
2837
|
+
<kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
|
|
2838
|
+
[size]="size"
|
|
2839
|
+
[pageSizes]="normalizedPageableSettings.pageSizes">
|
|
2840
|
+
</kendo-pager-page-sizes>
|
|
2841
|
+
<kendo-pager-info *ngIf="normalizedPageableSettings.info">
|
|
2842
|
+
</kendo-pager-info>
|
|
2843
|
+
</ng-template>
|
|
2662
2844
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
2663
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
|
2664
|
-
|
|
2845
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: 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", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns"] }, { kind: "component", type: 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", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
2846
|
+
}
|
|
2847
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
2665
2848
|
type: Component,
|
|
2666
2849
|
args: [{
|
|
2667
2850
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -2690,6 +2873,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2690
2873
|
FilterService,
|
|
2691
2874
|
ResponsiveService,
|
|
2692
2875
|
PagerContextService,
|
|
2876
|
+
PagerNavigationService,
|
|
2693
2877
|
ExcelService,
|
|
2694
2878
|
ScrollSyncService,
|
|
2695
2879
|
ResizeService,
|
|
@@ -2751,6 +2935,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2751
2935
|
i18n-pagerItemsPerPage="kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager"
|
|
2752
2936
|
pagerItemsPerPage="items per page"
|
|
2753
2937
|
|
|
2938
|
+
i18n-pagerInputLabel="kendo.grid.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number"
|
|
2939
|
+
pagerInputLabel="Type a page number"
|
|
2940
|
+
|
|
2754
2941
|
i18n-filter="kendo.grid.filter|The label of the filter cell or icon"
|
|
2755
2942
|
filter="Filter"
|
|
2756
2943
|
|
|
@@ -2934,8 +3121,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2934
3121
|
i18n-groupExpand="kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows."
|
|
2935
3122
|
groupExpand="Expand Group"
|
|
2936
3123
|
|
|
2937
|
-
i18n-
|
|
2938
|
-
|
|
3124
|
+
i18n-pagerSelectPage="kendo.grid.pagerSelectPage|The text of the title and aria-label attributes applied to the page chooser in the Grid Pager"
|
|
3125
|
+
pagerSelectPage="Select page"
|
|
2939
3126
|
|
|
2940
3127
|
i18n-topToolbarLabel="kendo.grid.topToolbarLabel|The label for the Grid top toolbar"
|
|
2941
3128
|
topToolbarLabel="Top toolbar"
|
|
@@ -2972,18 +3159,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2972
3159
|
[navigable]="navigation.toolbarEnabled"
|
|
2973
3160
|
[attr.aria-controls]="ariaRootId"
|
|
2974
3161
|
position="top"></kendo-grid-toolbar>
|
|
3162
|
+
<ng-content select="kendo-toolbar"></ng-content>
|
|
2975
3163
|
<kendo-pager
|
|
2976
3164
|
*ngIf="showTopPager"
|
|
2977
|
-
|
|
2978
|
-
[
|
|
2979
|
-
class="k-grid-pager
|
|
2980
|
-
[template]="pagerTemplate"
|
|
3165
|
+
#topPager
|
|
3166
|
+
[navigable]="navigation.pagerEnabled"
|
|
3167
|
+
class="k-grid-pager k-grid-pager-top"
|
|
2981
3168
|
[pageSize]="pageSize"
|
|
2982
3169
|
[total]="view.total"
|
|
2983
3170
|
[skip]="skip"
|
|
2984
3171
|
[size]="size"
|
|
2985
|
-
[
|
|
3172
|
+
[responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
|
|
3173
|
+
[buttonCount]="normalizedPageableSettings.buttonCount"
|
|
3174
|
+
[info]="normalizedPageableSettings.info"
|
|
3175
|
+
[pageSizeValues]="normalizedPageableSettings.pageSizes"
|
|
3176
|
+
[previousNext]="normalizedPageableSettings.previousNext"
|
|
3177
|
+
[type]="normalizedPageableSettings.type"
|
|
2986
3178
|
(pageChange)="notifyPageChange('pager', $event)">
|
|
3179
|
+
<ng-template kendoPagerTemplate>
|
|
3180
|
+
<ng-container
|
|
3181
|
+
[ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
|
|
3182
|
+
[ngTemplateOutletContext]="topPager.templateContext"></ng-container>
|
|
3183
|
+
</ng-template>
|
|
3184
|
+
<kendo-pager-messages
|
|
3185
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
|
3186
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
|
3187
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
|
3188
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
|
3189
|
+
[nextPage]="messageFor('pagerNextPage')"
|
|
3190
|
+
[lastPage]="messageFor('pagerLastPage')"
|
|
3191
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
|
3192
|
+
[page]="messageFor('pagerPage')"
|
|
3193
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
|
3194
|
+
[items]="messageFor('pagerItems')"
|
|
3195
|
+
[of]="messageFor('pagerOf')"
|
|
3196
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
|
3197
|
+
</kendo-pager-messages>
|
|
2987
3198
|
</kendo-pager>
|
|
2988
3199
|
<kendo-grid-group-panel
|
|
2989
3200
|
*ngIf="showGroupPanel"
|
|
@@ -3265,16 +3476,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3265
3476
|
</kendo-grid-status-bar>
|
|
3266
3477
|
<kendo-pager
|
|
3267
3478
|
*ngIf="showBottomPager"
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
[
|
|
3479
|
+
#bottomPager
|
|
3480
|
+
class="k-grid-pager"
|
|
3481
|
+
[navigable]="navigation.pagerEnabled"
|
|
3271
3482
|
[pageSize]="pageSize"
|
|
3272
3483
|
[total]="view.total"
|
|
3273
3484
|
[skip]="skip"
|
|
3274
3485
|
[size]="size"
|
|
3275
|
-
[
|
|
3276
|
-
|
|
3486
|
+
[responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
|
|
3487
|
+
[buttonCount]="normalizedPageableSettings.buttonCount"
|
|
3488
|
+
[info]="normalizedPageableSettings.info"
|
|
3489
|
+
[pageSizeValues]="normalizedPageableSettings.pageSizes"
|
|
3490
|
+
[previousNext]="normalizedPageableSettings.previousNext"
|
|
3491
|
+
[type]="normalizedPageableSettings.type"
|
|
3277
3492
|
(pageChange)="notifyPageChange('pager', $event)">
|
|
3493
|
+
<ng-template kendoPagerTemplate>
|
|
3494
|
+
<ng-container
|
|
3495
|
+
[ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
|
|
3496
|
+
[ngTemplateOutletContext]="bottomPager.templateContext"></ng-container>
|
|
3497
|
+
</ng-template>
|
|
3498
|
+
<kendo-pager-messages
|
|
3499
|
+
[ariaLabel]="messageFor('pagerLabel')"
|
|
3500
|
+
[firstPage]="messageFor('pagerFirstPage')"
|
|
3501
|
+
[inputLabel]="messageFor('pagerInputLabel')"
|
|
3502
|
+
[previousPage]="messageFor('pagerPreviousPage')"
|
|
3503
|
+
[nextPage]="messageFor('pagerNextPage')"
|
|
3504
|
+
[lastPage]="messageFor('pagerLastPage')"
|
|
3505
|
+
[selectPage]="messageFor('pagerSelectPage')"
|
|
3506
|
+
[page]="messageFor('pagerPage')"
|
|
3507
|
+
[itemsPerPage]="messageFor('pagerItemsPerPage')"
|
|
3508
|
+
[items]="messageFor('pagerItems')"
|
|
3509
|
+
[of]="messageFor('pagerOf')"
|
|
3510
|
+
[pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
|
|
3511
|
+
</kendo-pager-messages>
|
|
3278
3512
|
</kendo-pager>
|
|
3279
3513
|
<kendo-grid-toolbar
|
|
3280
3514
|
class="k-grid-toolbar-bottom"
|
|
@@ -3295,15 +3529,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3295
3529
|
{{hintText}}
|
|
3296
3530
|
</ng-template>
|
|
3297
3531
|
|
|
3532
|
+
<ng-template #defaultPager>
|
|
3533
|
+
<div class="k-pager-numbers-wrap">
|
|
3534
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-prev-buttons>
|
|
3535
|
+
<kendo-pager-numeric-buttons
|
|
3536
|
+
[size]="size"
|
|
3537
|
+
*ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
|
|
3538
|
+
[buttonCount]="normalizedPageableSettings.buttonCount">
|
|
3539
|
+
</kendo-pager-numeric-buttons>
|
|
3540
|
+
<kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
|
|
3541
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
|
|
3542
|
+
</div>
|
|
3543
|
+
<kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
|
|
3544
|
+
[size]="size"
|
|
3545
|
+
[pageSizes]="normalizedPageableSettings.pageSizes">
|
|
3546
|
+
</kendo-pager-page-sizes>
|
|
3547
|
+
<kendo-pager-info *ngIf="normalizedPageableSettings.info">
|
|
3548
|
+
</kendo-pager-info>
|
|
3549
|
+
</ng-template>
|
|
3298
3550
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
3299
3551
|
`,
|
|
3300
3552
|
standalone: true,
|
|
3301
3553
|
imports: [
|
|
3302
|
-
LocalizedMessagesDirective, NgIf,
|
|
3554
|
+
LocalizedMessagesDirective, NgIf, GridToolbarComponent, GroupPanelComponent,
|
|
3303
3555
|
TableDirective, GridTableDirective, ColGroupComponent, HeaderComponent, ResizableContainerDirective,
|
|
3304
3556
|
ListComponent, DragTargetContainerDirective, DropTargetContainerDirective, DraggableDirective,
|
|
3305
3557
|
GridMarqueeDirective, FooterComponent, TableBodyComponent, LoadingComponent, StatusBarComponent,
|
|
3306
|
-
IconWrapperComponent, WatermarkOverlayComponent
|
|
3558
|
+
IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet
|
|
3307
3559
|
]
|
|
3308
3560
|
}]
|
|
3309
3561
|
}], 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 }, { type: i23.SizingOptionsService }, { type: i24.RowReorderService }]; }, propDecorators: { data: [{
|