@progress/kendo-angular-grid 17.0.0-develop.8 → 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
|
@@ -39,27 +39,40 @@ export function isSpanColumnComponent(column) {
|
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
41
|
export class SpanColumnComponent extends ColumnBase {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
42
|
+
/*
|
|
43
|
+
* @hidden
|
|
44
|
+
*/
|
|
45
|
+
isSpanColumn = true;
|
|
46
|
+
template = new QueryList();
|
|
47
|
+
editTemplate = new QueryList();
|
|
48
|
+
/**
|
|
49
|
+
* @hidden
|
|
50
|
+
*/
|
|
51
|
+
childColumns = new QueryList();
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
*/
|
|
55
|
+
title;
|
|
56
|
+
/**
|
|
57
|
+
* @hidden
|
|
58
|
+
*/
|
|
59
|
+
headerStyle;
|
|
60
|
+
/**
|
|
61
|
+
* @hidden
|
|
62
|
+
*/
|
|
63
|
+
footerStyle;
|
|
64
|
+
/**
|
|
65
|
+
* @hidden
|
|
66
|
+
*/
|
|
67
|
+
headerClass;
|
|
68
|
+
/**
|
|
69
|
+
* @hidden
|
|
70
|
+
*/
|
|
71
|
+
footerClass;
|
|
72
|
+
/**
|
|
73
|
+
* @hidden
|
|
74
|
+
*/
|
|
75
|
+
includeInChooser = false;
|
|
63
76
|
/**
|
|
64
77
|
* Defines whether the edit template of the column will be rendered.
|
|
65
78
|
* To enable the editing functionality for a spanned column, set an edit template for it ([see example](slug:custom_reactive_editing_grid)).
|
|
@@ -86,6 +99,13 @@ export class SpanColumnComponent extends ColumnBase {
|
|
|
86
99
|
get leafIndex() {
|
|
87
100
|
return this.childColumns.first.leafIndex;
|
|
88
101
|
}
|
|
102
|
+
_editable = true;
|
|
103
|
+
constructor(parent, idService) {
|
|
104
|
+
super(parent, idService);
|
|
105
|
+
if (parent && parent.isSpanColumn) {
|
|
106
|
+
throw new Error(ColumnConfigurationErrorMessages.nestedInside('SpanColumnComponent', 'SpanColumnComponent'));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
89
109
|
/**
|
|
90
110
|
* @hidden
|
|
91
111
|
*/
|
|
@@ -122,15 +142,15 @@ export class SpanColumnComponent extends ColumnBase {
|
|
|
122
142
|
get hasChildren() {
|
|
123
143
|
return this.childColumns.length > 0;
|
|
124
144
|
}
|
|
145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpanColumnComponent, deps: [{ token: i1.ColumnBase, host: true, optional: true, skipSelf: true }, { token: i2.IdService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpanColumnComponent, isStandalone: true, selector: "kendo-grid-span-column", inputs: { editable: "editable", locked: "locked" }, providers: [
|
|
147
|
+
{
|
|
148
|
+
provide: ColumnBase,
|
|
149
|
+
useExisting: forwardRef(() => SpanColumnComponent)
|
|
150
|
+
}
|
|
151
|
+
], queries: [{ propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }, { propertyName: "childColumns", predicate: ColumnComponent }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
125
152
|
}
|
|
126
|
-
|
|
127
|
-
SpanColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpanColumnComponent, isStandalone: true, selector: "kendo-grid-span-column", inputs: { editable: "editable", locked: "locked" }, providers: [
|
|
128
|
-
{
|
|
129
|
-
provide: ColumnBase,
|
|
130
|
-
useExisting: forwardRef(() => SpanColumnComponent)
|
|
131
|
-
}
|
|
132
|
-
], queries: [{ propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }, { propertyName: "childColumns", predicate: ColumnComponent }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpanColumnComponent, decorators: [{
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpanColumnComponent, decorators: [{
|
|
134
154
|
type: Component,
|
|
135
155
|
args: [{
|
|
136
156
|
providers: [
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Directive, EventEmitter, Input, NgZone, Output, Renderer2, isDevMode } from '@angular/core';
|
|
6
|
+
import { ClipboardService } from './clipboard.service';
|
|
7
|
+
import { GridComponent } from '../grid.component';
|
|
8
|
+
import { hasObservers, isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
9
|
+
import { Subscription } from 'rxjs';
|
|
10
|
+
import { take } from 'rxjs/operators';
|
|
11
|
+
import { closest, contains } from '../rendering/common/dom-queries';
|
|
12
|
+
import { recursiveFlatMap } from '../utils';
|
|
13
|
+
import { ClipboardErrorMessages } from './error-messages';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "../grid.component";
|
|
16
|
+
import * as i2 from "./clipboard.service";
|
|
17
|
+
/**
|
|
18
|
+
* The directive that enables the Grid built-in clipboard support. Allows copy, cut, and paste interactions
|
|
19
|
+
* with the Grid.
|
|
20
|
+
*/
|
|
21
|
+
export class GridClipboardDirective {
|
|
22
|
+
host;
|
|
23
|
+
clipboardService;
|
|
24
|
+
renderer;
|
|
25
|
+
zone;
|
|
26
|
+
/**
|
|
27
|
+
* Determines the target of the clipboard operation ([see example]({% slug clipboard_grid %}#toc-clipboard-target)). The possible options are:
|
|
28
|
+
* - `activeCell`
|
|
29
|
+
* - `selection`
|
|
30
|
+
*
|
|
31
|
+
* @default 'selection'
|
|
32
|
+
*/
|
|
33
|
+
set clipboardTarget(value) {
|
|
34
|
+
if (isDevMode()) {
|
|
35
|
+
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
36
|
+
if (value === 'activeCell' && !(this.host.navigable.length)) {
|
|
37
|
+
console.warn(ClipboardErrorMessages.clipboardTarget.activeCellNavigable);
|
|
38
|
+
}
|
|
39
|
+
else if (value === 'selection' && !(this.host.selectable || this.host.selectionDirective)) {
|
|
40
|
+
console.warn(ClipboardErrorMessages.selectionSelectable);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
this._target = value;
|
|
45
|
+
}
|
|
46
|
+
get clipboardTarget() {
|
|
47
|
+
return this._target;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The `GridClipboardDirective` settings.
|
|
51
|
+
*
|
|
52
|
+
* @default { wholeRow: false, copyHeaders: false copy: true, cut: true, paste: true }
|
|
53
|
+
*/
|
|
54
|
+
set clipboardSettings(value) {
|
|
55
|
+
this._clipboardSettings = Object.assign({}, this._clipboardSettings, value);
|
|
56
|
+
}
|
|
57
|
+
get clipboardSettings() {
|
|
58
|
+
return this._clipboardSettings;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Fires when the user performs `cut`, `copy` or `paste` action within the Grid content area.
|
|
62
|
+
*/
|
|
63
|
+
clipboard = new EventEmitter();
|
|
64
|
+
_target = 'selection';
|
|
65
|
+
_clipboardSettings = {
|
|
66
|
+
wholeRow: false,
|
|
67
|
+
copyHeaders: false,
|
|
68
|
+
copy: true,
|
|
69
|
+
cut: true,
|
|
70
|
+
paste: true
|
|
71
|
+
};
|
|
72
|
+
subs = new Subscription();
|
|
73
|
+
constructor(host, clipboardService, renderer, zone) {
|
|
74
|
+
this.host = host;
|
|
75
|
+
this.clipboardService = clipboardService;
|
|
76
|
+
this.renderer = renderer;
|
|
77
|
+
this.zone = zone;
|
|
78
|
+
}
|
|
79
|
+
ngAfterViewInit() {
|
|
80
|
+
if (!isDocumentAvailable()) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (this.clipboardTarget === 'selection' && !(this.host.selectable || this.host.selectionDirective)) {
|
|
84
|
+
console.warn(ClipboardErrorMessages.selectionSelectable);
|
|
85
|
+
}
|
|
86
|
+
// needed due to the following issue in Chrome
|
|
87
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1156117&q=focus%20programmatically%20paste&can=2
|
|
88
|
+
this.zone.runOutsideAngular(() => {
|
|
89
|
+
this.subs.add(this.renderer.listen(document, 'copy', (args) => this.onClipboard('copy', args)));
|
|
90
|
+
this.subs.add(this.renderer.listen(document, 'cut', (args) => this.onClipboard('cut', args)));
|
|
91
|
+
this.subs.add(this.renderer.listen(document, 'paste', (args) => this.onClipboard('paste', args)));
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
ngOnDestroy() {
|
|
95
|
+
this.subs.unsubscribe();
|
|
96
|
+
}
|
|
97
|
+
onClipboard = (operationType, args) => {
|
|
98
|
+
if (!this.clipboardSettings[operationType] || !this.inGrid(args)) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const gridData = Array.isArray(this.host.data) ? this.host.data : this.host.data.data;
|
|
102
|
+
const gridDataItems = gridData.flatMap(recursiveFlatMap);
|
|
103
|
+
const selection = this.host.selection;
|
|
104
|
+
const selectionDirective = this.host.selectionDirective;
|
|
105
|
+
const targetType = this.clipboardTarget;
|
|
106
|
+
const isCellSelection = (this.host.selectable?.cell || selectionDirective.isCellSelectionMode);
|
|
107
|
+
let clipboardData = [];
|
|
108
|
+
switch (targetType) {
|
|
109
|
+
case 'activeCell':
|
|
110
|
+
{
|
|
111
|
+
const targetCell = { ...this.host.activeCell };
|
|
112
|
+
clipboardData = targetCell && [{ dataItem: targetCell.dataItem, dataRowIndex: targetCell.dataRowIndex, colIndex: targetCell.colIndex }];
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
115
|
+
case 'selection':
|
|
116
|
+
{
|
|
117
|
+
const identifier = selectionDirective.selectionKey;
|
|
118
|
+
clipboardData = gridDataItems.flatMap((item, index) => {
|
|
119
|
+
if (identifier) {
|
|
120
|
+
const key = typeof identifier === 'string' ? item[identifier] : identifier({ index: index + this.host.skip, dataItem: item });
|
|
121
|
+
return isCellSelection ?
|
|
122
|
+
selection.some(s => s.itemKey === key) ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [] :
|
|
123
|
+
selection.indexOf(key) > -1 ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [];
|
|
124
|
+
}
|
|
125
|
+
return isCellSelection ?
|
|
126
|
+
selection.some(s => s.itemKey === index + this.host.skip) ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [] :
|
|
127
|
+
selection.indexOf(index + this.host.skip) > -1 ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [];
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
const isPaste = operationType === 'paste';
|
|
133
|
+
const pastedData = args.clipboardData.getData('text');
|
|
134
|
+
const visibleCols = this.host.columns.toArray().filter(c => c.isVisible);
|
|
135
|
+
const data = isPaste ?
|
|
136
|
+
{
|
|
137
|
+
dataString: pastedData,
|
|
138
|
+
gridItems: this.clipboardService.getGridData(pastedData, visibleCols, this.clipboardTarget, clipboardData[0]?.dataRowIndex, {
|
|
139
|
+
wholeRow: this.clipboardSettings.wholeRow,
|
|
140
|
+
isCellSelection
|
|
141
|
+
})
|
|
142
|
+
} :
|
|
143
|
+
this.clipboardService.createClipboardData(clipboardData || [], visibleCols, {
|
|
144
|
+
wholeRow: this.clipboardSettings.wholeRow || (this.clipboardTarget === 'selection' && !isCellSelection),
|
|
145
|
+
target: this.clipboardTarget,
|
|
146
|
+
copyHeaders: this.clipboardSettings.copyHeaders,
|
|
147
|
+
operationType
|
|
148
|
+
});
|
|
149
|
+
!isPaste && navigator.clipboard.writeText(data.dataString);
|
|
150
|
+
if (hasObservers(this.clipboard)) {
|
|
151
|
+
this.zone.run(() => {
|
|
152
|
+
this.clipboard.emit({
|
|
153
|
+
type: operationType,
|
|
154
|
+
originalEvent: args,
|
|
155
|
+
clipboardData: data.dataString,
|
|
156
|
+
gridData: data.gridItems,
|
|
157
|
+
target: {
|
|
158
|
+
dataRowIndex: this.clipboardService.targetRowIndex,
|
|
159
|
+
colField: this.clipboardService.targetColField,
|
|
160
|
+
dataItem: clipboardData.find(item => item.dataRowIndex === this.clipboardService.targetRowIndex)?.dataItem
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
this.clipboardService.targetColField = this.clipboardService.targetRowIndex = null;
|
|
166
|
+
};
|
|
167
|
+
inGrid = (args) => {
|
|
168
|
+
const target = document.activeElement.matches('.k-table-td') ? document.activeElement : args.target;
|
|
169
|
+
const inContentArea = closest(target, node => node.parentElement?.classList.contains('k-grid-container'));
|
|
170
|
+
const inHost = contains(this.host.wrapper.nativeElement, target);
|
|
171
|
+
return target && inHost && inContentArea;
|
|
172
|
+
};
|
|
173
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridClipboardDirective, deps: [{ token: i1.GridComponent }, { token: i2.ClipboardService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
174
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GridClipboardDirective, isStandalone: true, selector: "[kendoGridClipboard]", inputs: { clipboardTarget: "clipboardTarget", clipboardSettings: "clipboardSettings" }, outputs: { clipboard: "clipboard" }, providers: [ClipboardService], exportAs: ["kendoGridClipboard"], ngImport: i0 });
|
|
175
|
+
}
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridClipboardDirective, decorators: [{
|
|
177
|
+
type: Directive,
|
|
178
|
+
args: [{
|
|
179
|
+
selector: '[kendoGridClipboard]',
|
|
180
|
+
exportAs: 'kendoGridClipboard',
|
|
181
|
+
providers: [ClipboardService],
|
|
182
|
+
standalone: true
|
|
183
|
+
}]
|
|
184
|
+
}], ctorParameters: function () { return [{ type: i1.GridComponent }, { type: i2.ClipboardService }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { clipboardTarget: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], clipboardSettings: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], clipboard: [{
|
|
189
|
+
type: Output
|
|
190
|
+
}] } });
|
|
@@ -13,14 +13,11 @@ import * as i1 from "./provider.service";
|
|
|
13
13
|
* @hidden
|
|
14
14
|
*/
|
|
15
15
|
export class ClipboardService {
|
|
16
|
+
contextService;
|
|
17
|
+
targetColField;
|
|
18
|
+
targetRowIndex;
|
|
16
19
|
constructor(contextService) {
|
|
17
20
|
this.contextService = contextService;
|
|
18
|
-
this.itemToString = (item, cols) => {
|
|
19
|
-
if (!cols.length) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
return cols.map(col => item[col.field]).join(`\t`);
|
|
23
|
-
};
|
|
24
21
|
}
|
|
25
22
|
createClipboardData(data, columns, options) {
|
|
26
23
|
let result = {
|
|
@@ -175,6 +172,12 @@ export class ClipboardService {
|
|
|
175
172
|
});
|
|
176
173
|
return items;
|
|
177
174
|
}
|
|
175
|
+
itemToString = (item, cols) => {
|
|
176
|
+
if (!cols.length) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
return cols.map(col => item[col.field]).join(`\t`);
|
|
180
|
+
};
|
|
178
181
|
groupSelection() {
|
|
179
182
|
const selection = this.contextService.grid.selection;
|
|
180
183
|
const groups = groupBy(selection, [{ field: 'itemKey' }])
|
|
@@ -210,9 +213,9 @@ export class ClipboardService {
|
|
|
210
213
|
const headersRowData = cols.map(c => c.title || c.field).join(`\t`);
|
|
211
214
|
return `${headersRowData}\r\n${initialData}`;
|
|
212
215
|
}
|
|
216
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClipboardService, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
217
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClipboardService });
|
|
213
218
|
}
|
|
214
|
-
|
|
215
|
-
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClipboardService });
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClipboardService, decorators: [{
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClipboardService, decorators: [{
|
|
217
220
|
type: Injectable
|
|
218
221
|
}], ctorParameters: function () { return [{ type: i1.ContextService }]; } });
|
|
@@ -12,13 +12,13 @@ const NO_STICKY = { left: '0px', right: '0px' };
|
|
|
12
12
|
* @hidden
|
|
13
13
|
*/
|
|
14
14
|
export class ColumnInfoService {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
visibilityChange = new EventEmitter();
|
|
16
|
+
lockedChange = new EventEmitter();
|
|
17
|
+
stickyChange = new EventEmitter();
|
|
18
|
+
columnRangeChange = new EventEmitter();
|
|
19
|
+
columnsContainer = new ColumnsContainer(() => []);
|
|
20
|
+
list;
|
|
21
|
+
stickyColumns;
|
|
22
22
|
get lockedLeafColumns() {
|
|
23
23
|
return this.columnsContainer.lockedLeafColumns;
|
|
24
24
|
}
|
|
@@ -81,9 +81,9 @@ export class ColumnInfoService {
|
|
|
81
81
|
this.stickyColumns = null;
|
|
82
82
|
this.stickyChange.emit(columns);
|
|
83
83
|
}
|
|
84
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnInfoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnInfoService });
|
|
84
86
|
}
|
|
85
|
-
|
|
86
|
-
ColumnInfoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnInfoService });
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnInfoService, decorators: [{
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnInfoService, decorators: [{
|
|
88
88
|
type: Injectable
|
|
89
89
|
}] });
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Injectable, EventEmitter } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* @hidden
|
|
9
|
+
*/
|
|
10
|
+
export class DomEventsService {
|
|
11
|
+
cellClick = new EventEmitter();
|
|
12
|
+
cellMousedown = new EventEmitter();
|
|
13
|
+
cellMouseup = new EventEmitter();
|
|
14
|
+
click = new EventEmitter();
|
|
15
|
+
keydown = new EventEmitter();
|
|
16
|
+
focus = new EventEmitter();
|
|
17
|
+
focusIn = new EventEmitter();
|
|
18
|
+
focusOut = new EventEmitter();
|
|
19
|
+
windowBlur = new EventEmitter();
|
|
20
|
+
paste = new EventEmitter();
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomEventsService });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomEventsService, decorators: [{
|
|
25
|
+
type: Injectable
|
|
26
|
+
}] });
|
|
@@ -60,5 +60,8 @@ export const GridConfigurationErrorMessages = {
|
|
|
60
60
|
groupBindingDirectives: `Using the "kendoGridGroupBinding" directive in combination with the "kendoGridExpandGroupBy" directive
|
|
61
61
|
or the "isGroupExpanded" callback is not supported. To use grouping with the "kendoGridGroupBinding" directive,
|
|
62
62
|
set the Grid "groupable" property to "true".`,
|
|
63
|
-
unsupportedMethod: (methodName, suggestedMethodName) => `Using ${methodName} in this context is not supported. Use ${suggestedMethodName} instead
|
|
63
|
+
unsupportedMethod: (methodName, suggestedMethodName) => `Using ${methodName} in this context is not supported. Use ${suggestedMethodName} instead.`,
|
|
64
|
+
unsupportedToolbarConfig: `
|
|
65
|
+
Defining both a toolbar template and a ToolBarComponent within the Grid is not supported.
|
|
66
|
+
Please use either the ToolBarComponent or a custom template.`
|
|
64
67
|
};
|
|
@@ -10,6 +10,7 @@ let sequence = 0;
|
|
|
10
10
|
* @hidden
|
|
11
11
|
*/
|
|
12
12
|
export class IdService {
|
|
13
|
+
prefix;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.prefix = `k-grid${sequence++}`;
|
|
15
16
|
}
|
|
@@ -25,9 +26,9 @@ export class IdService {
|
|
|
25
26
|
selectAllCheckboxId() {
|
|
26
27
|
return `${this.prefix}-select-all`;
|
|
27
28
|
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IdService });
|
|
28
31
|
}
|
|
29
|
-
|
|
30
|
-
IdService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IdService });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IdService, decorators: [{
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IdService, decorators: [{
|
|
32
33
|
type: Injectable
|
|
33
34
|
}], ctorParameters: function () { return []; } });
|
|
@@ -17,15 +17,22 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
17
17
|
* and a avoids dependency cycles between components.
|
|
18
18
|
*/
|
|
19
19
|
export class ContextService {
|
|
20
|
+
renderer;
|
|
21
|
+
localization;
|
|
22
|
+
grid;
|
|
23
|
+
topToolbarNavigation;
|
|
24
|
+
bottomToolbarNavigation;
|
|
25
|
+
navigable;
|
|
26
|
+
groupBindingDirective;
|
|
20
27
|
constructor(renderer, localization) {
|
|
21
28
|
this.renderer = renderer;
|
|
22
29
|
this.localization = localization;
|
|
23
30
|
this.topToolbarNavigation = new GridToolbarNavigationService(this.renderer);
|
|
24
31
|
this.bottomToolbarNavigation = new GridToolbarNavigationService(this.renderer);
|
|
25
32
|
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContextService, deps: [{ token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContextService });
|
|
26
35
|
}
|
|
27
|
-
|
|
28
|
-
ContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextService });
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextService, decorators: [{
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContextService, decorators: [{
|
|
30
37
|
type: Injectable
|
|
31
38
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.LocalizationService }]; } });
|
|
@@ -28,6 +28,10 @@ const contains = (node, predicate) => {
|
|
|
28
28
|
* Arguments for the `close` event of the filter and column-menu popup.
|
|
29
29
|
*/
|
|
30
30
|
export class PopupCloseEvent extends PreventableEvent {
|
|
31
|
+
/**
|
|
32
|
+
* The original DOM event that causes the popup to close.
|
|
33
|
+
*/
|
|
34
|
+
originalEvent;
|
|
31
35
|
constructor(e) {
|
|
32
36
|
super();
|
|
33
37
|
this.originalEvent = e;
|
|
@@ -39,6 +43,20 @@ const DEFAULT_POPUP_CLASS = 'k-grid-filter-popup';
|
|
|
39
43
|
* ([see example]({% slug filter_menu %}#toc-filter-menu-with-popup)).
|
|
40
44
|
*/
|
|
41
45
|
export class SinglePopupService {
|
|
46
|
+
popupService;
|
|
47
|
+
renderer;
|
|
48
|
+
ngZone;
|
|
49
|
+
ctx;
|
|
50
|
+
/**
|
|
51
|
+
* Fires when the filter or column menus are about to close because the user clicked outside their popups.
|
|
52
|
+
* Used to prevent the popup from closing.
|
|
53
|
+
*/
|
|
54
|
+
onClose = new Subject();
|
|
55
|
+
removeClick;
|
|
56
|
+
pointerEventsSub = new Subscription();
|
|
57
|
+
popupRef;
|
|
58
|
+
scrollSubscription;
|
|
59
|
+
canClosePopup = true;
|
|
42
60
|
/**
|
|
43
61
|
* @hidden
|
|
44
62
|
*/
|
|
@@ -47,13 +65,6 @@ export class SinglePopupService {
|
|
|
47
65
|
this.renderer = renderer;
|
|
48
66
|
this.ngZone = ngZone;
|
|
49
67
|
this.ctx = ctx;
|
|
50
|
-
/**
|
|
51
|
-
* Fires when the filter or column menus are about to close because the user clicked outside their popups.
|
|
52
|
-
* Used to prevent the popup from closing.
|
|
53
|
-
*/
|
|
54
|
-
this.onClose = new Subject();
|
|
55
|
-
this.pointerEventsSub = new Subscription();
|
|
56
|
-
this.canClosePopup = true;
|
|
57
68
|
this.scrollSubscription = scrollSyncService.changes.pipe(skip(1)).subscribe(() => this.destroy());
|
|
58
69
|
}
|
|
59
70
|
/**
|
|
@@ -130,9 +141,9 @@ export class SinglePopupService {
|
|
|
130
141
|
}));
|
|
131
142
|
});
|
|
132
143
|
}
|
|
144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SinglePopupService, deps: [{ token: i1.PopupService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i2.ScrollSyncService }, { token: i3.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
145
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SinglePopupService });
|
|
133
146
|
}
|
|
134
|
-
|
|
135
|
-
SinglePopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SinglePopupService });
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SinglePopupService, decorators: [{
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SinglePopupService, decorators: [{
|
|
137
148
|
type: Injectable
|
|
138
149
|
}], ctorParameters: function () { return [{ type: i1.PopupService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i2.ScrollSyncService }, { type: i3.ContextService }]; } });
|
|
@@ -9,9 +9,11 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
* @hidden
|
|
10
10
|
*/
|
|
11
11
|
export class ChangeNotificationService {
|
|
12
|
+
ngZone;
|
|
13
|
+
changes = new EventEmitter();
|
|
14
|
+
subscription;
|
|
12
15
|
constructor(ngZone) {
|
|
13
16
|
this.ngZone = ngZone;
|
|
14
|
-
this.changes = new EventEmitter();
|
|
15
17
|
}
|
|
16
18
|
notify() {
|
|
17
19
|
if (!this.subscription || this.subscription.closed) {
|
|
@@ -20,9 +22,9 @@ export class ChangeNotificationService {
|
|
|
20
22
|
.subscribe(() => this.changes.emit());
|
|
21
23
|
}
|
|
22
24
|
}
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChangeNotificationService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChangeNotificationService });
|
|
23
27
|
}
|
|
24
|
-
|
|
25
|
-
ChangeNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChangeNotificationService });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChangeNotificationService, decorators: [{
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChangeNotificationService, decorators: [{
|
|
27
29
|
type: Injectable
|
|
28
30
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
@@ -8,6 +8,10 @@ import { getIterator, itemAt } from './data.iterators';
|
|
|
8
8
|
* @hidden
|
|
9
9
|
*/
|
|
10
10
|
export class DataResultIterator {
|
|
11
|
+
source;
|
|
12
|
+
skip;
|
|
13
|
+
groupFooters;
|
|
14
|
+
isObject;
|
|
11
15
|
constructor(source, skip = 0, groupFooters = false) {
|
|
12
16
|
this.source = source;
|
|
13
17
|
this.skip = skip;
|
|
@@ -52,6 +56,7 @@ export class DataResultIterator {
|
|
|
52
56
|
* @hidden
|
|
53
57
|
*/
|
|
54
58
|
export class DataCollection {
|
|
59
|
+
accessor;
|
|
55
60
|
constructor(accessor) {
|
|
56
61
|
this.accessor = accessor;
|
|
57
62
|
}
|
|
@@ -42,6 +42,8 @@ export const getIterator = (data, { footers, level, dataIndex, parentGroupIndex,
|
|
|
42
42
|
return new ItemIterator(data, dataIndex, parentGroupIndex, parentGroup);
|
|
43
43
|
};
|
|
44
44
|
class ArrayIterator {
|
|
45
|
+
arr;
|
|
46
|
+
idx;
|
|
45
47
|
constructor(arr, idx = 0) {
|
|
46
48
|
this.arr = arr;
|
|
47
49
|
this.idx = idx;
|
|
@@ -61,6 +63,9 @@ class ArrayIterator {
|
|
|
61
63
|
* @hidden
|
|
62
64
|
*/
|
|
63
65
|
export class Iterator {
|
|
66
|
+
dataIndex;
|
|
67
|
+
resultMap;
|
|
68
|
+
_innerIterator;
|
|
64
69
|
constructor(arr, dataIndex = 0, resultMap = (x) => x) {
|
|
65
70
|
this.dataIndex = dataIndex;
|
|
66
71
|
this.resultMap = resultMap;
|
|
@@ -107,6 +112,17 @@ const prefix = (s, n) => {
|
|
|
107
112
|
* @hidden
|
|
108
113
|
*/
|
|
109
114
|
export class GroupIterator {
|
|
115
|
+
arr;
|
|
116
|
+
outputFooters;
|
|
117
|
+
level;
|
|
118
|
+
dataIndex;
|
|
119
|
+
parentIndex;
|
|
120
|
+
groupIndex;
|
|
121
|
+
parentGroup;
|
|
122
|
+
current;
|
|
123
|
+
_innerIterator;
|
|
124
|
+
_iterator;
|
|
125
|
+
currentGroupIndex = "";
|
|
110
126
|
constructor(arr, outputFooters = false, level = 0, dataIndex = 0, parentIndex = '', groupIndex = 0, parentGroup = undefined) {
|
|
111
127
|
this.arr = arr;
|
|
112
128
|
this.outputFooters = outputFooters;
|
|
@@ -115,7 +131,6 @@ export class GroupIterator {
|
|
|
115
131
|
this.parentIndex = parentIndex;
|
|
116
132
|
this.groupIndex = groupIndex;
|
|
117
133
|
this.parentGroup = parentGroup;
|
|
118
|
-
this.currentGroupIndex = "";
|
|
119
134
|
this.arr = arr || [];
|
|
120
135
|
this._iterator = new Iterator(this.arr, this.dataIndex);
|
|
121
136
|
}
|