@progress/kendo-angular-grid 14.4.0-develop.2 → 14.4.0-develop.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/NOTICE.txt +147 -594
- package/README.md +1 -1
- package/aggregates/aggregate-types.d.ts +1 -1
- package/aggregates/selection-aggregate.service.d.ts +1 -1
- package/aggregates/status-bar-template.directive.d.ts +1 -1
- package/aggregates/status-bar.component.d.ts +1 -1
- package/column-menu/column-chooser-item-checked.directive.d.ts +1 -1
- package/column-menu/column-chooser.component.d.ts +1 -1
- package/column-menu/column-list-kb-nav.service.d.ts +1 -1
- package/column-menu/column-list.component.d.ts +1 -1
- package/column-menu/column-locked-change-event.d.ts +1 -1
- package/column-menu/column-menu-autosize-all.component.d.ts +1 -1
- 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-container.component.d.ts +1 -1
- package/column-menu/column-menu-expandable-item.interface.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-content-template.directive.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-lock.component.d.ts +1 -1
- package/column-menu/column-menu-position.component.d.ts +1 -1
- package/column-menu/column-menu-settings.interface.d.ts +1 -1
- package/column-menu/column-menu-sort.component.d.ts +1 -1
- package/column-menu/column-menu-stick.component.d.ts +1 -1
- package/column-menu/column-menu-template.directive.d.ts +1 -1
- package/column-menu/column-menu.component.d.ts +1 -1
- package/column-menu/column-menu.module.d.ts +1 -1
- package/column-menu/column-menu.service.d.ts +1 -1
- package/column-menu/column-sticky-change-event.d.ts +1 -1
- package/column-menu/column-visibility-change-event.d.ts +1 -1
- package/column-menu/utils.d.ts +1 -1
- package/column-resizing/column-handle.directive.d.ts +1 -1
- package/column-resizing/column-resize.interface.d.ts +1 -1
- package/column-resizing/column-resizing.service.d.ts +1 -1
- 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-common.d.ts +1 -1
- package/columns/column-group.component.d.ts +1 -1
- package/columns/column-list.d.ts +1 -1
- package/columns/column.component.d.ts +1 -1
- package/columns/columns-container.d.ts +1 -1
- package/columns/command-column.component.d.ts +1 -1
- package/columns/reorder-column.component.d.ts +1 -1
- package/columns/sort-settings.d.ts +1 -1
- package/columns/span-column.component.d.ts +1 -1
- package/common/cell-click-event-args.interface.d.ts +1 -1
- package/common/clipboard-types.d.ts +102 -0
- package/common/clipboard.directive.d.ts +49 -0
- package/common/clipboard.service.d.ts +28 -0
- package/common/column-info.service.d.ts +1 -1
- package/common/create-form-group.d.ts +1 -1
- package/common/default-track-by.d.ts +1 -1
- package/common/dom-events.service.d.ts +2 -1
- package/common/error-messages.d.ts +13 -1
- package/common/event-emitter.d.ts +1 -1
- package/common/fetch-data-callback.d.ts +1 -1
- package/common/filter-descriptor-differ.d.ts +1 -1
- package/common/filter-operator.interface.d.ts +1 -1
- package/common/id.service.d.ts +1 -1
- package/common/preventable-event.d.ts +1 -1
- package/common/provider.service.d.ts +1 -1
- package/common/remove-confirmation.d.ts +1 -1
- package/common/single-popup.service.d.ts +1 -1
- package/common/size-options.d.ts +1 -1
- package/common/sort.service.d.ts +1 -1
- package/constants.d.ts +1 -1
- package/data/change-event-args.interface.d.ts +1 -1
- package/data/change-notification.service.d.ts +1 -1
- package/data/data-item.interface.d.ts +1 -1
- package/data/data.collection.d.ts +1 -1
- package/data/data.iterators.d.ts +1 -1
- package/data/grid-item.interface.d.ts +1 -1
- package/data/group-footer-item.interface.d.ts +1 -1
- package/data/group-item.interface.d.ts +1 -1
- package/databinding.directive.d.ts +2 -2
- package/dragdrop/column-reorder-config.d.ts +1 -1
- package/dragdrop/column-reorder-event.d.ts +1 -1
- package/dragdrop/column-reorder.service.d.ts +1 -1
- package/dragdrop/common.d.ts +1 -1
- package/dragdrop/context-types.d.ts +1 -1
- package/dragdrop/drag-and-drop.module.d.ts +1 -1
- package/dragdrop/drag-and-drop.service.d.ts +1 -1
- package/dragdrop/drag-hint.service.d.ts +1 -1
- package/dragdrop/draggable-column.directive.d.ts +1 -1
- package/dragdrop/drop-cue.service.d.ts +1 -1
- package/dragdrop/drop-target.directive.d.ts +1 -1
- package/editing/add-command.directive.d.ts +1 -1
- package/editing/add-event-args.interface.d.ts +1 -1
- package/editing/cancel-command.directive.d.ts +1 -1
- package/editing/cancel-event-args.interface.d.ts +1 -1
- package/editing/cell-close-event.d.ts +1 -1
- package/editing/edit-command.directive.d.ts +1 -1
- package/editing/edit-event-args.interface.d.ts +1 -1
- package/editing/edit-row-options.interface.d.ts +1 -1
- package/editing/edit-template.directive.d.ts +1 -1
- package/editing/edit.service.d.ts +1 -1
- package/editing/local-data-changes.service.d.ts +1 -1
- package/editing/remove-command.directive.d.ts +1 -1
- package/editing/remove-event-args.interface.d.ts +1 -1
- package/editing/save-command.directive.d.ts +1 -1
- package/editing/save-event-args.interface.d.ts +1 -1
- package/editing-directives/create-form-group-args.interface.d.ts +1 -1
- package/editing-directives/edit-service.interface.d.ts +1 -1
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/editing-directives/in-cell-editing.directive.d.ts +1 -1
- package/editing-directives/local-edit.service.d.ts +1 -1
- package/editing-directives/local-row-edit.service.d.ts +1 -1
- package/editing-directives/reactive-editing.directive.d.ts +1 -1
- package/editing-directives/row-editing-directive-base.d.ts +1 -1
- package/editing-directives/template-editing.directive.d.ts +1 -1
- package/editing-directives/utils.d.ts +1 -1
- package/esm2020/aggregates/aggregate-types.mjs +1 -1
- package/esm2020/aggregates/selection-aggregate.service.mjs +1 -1
- package/esm2020/aggregates/status-bar-template.directive.mjs +1 -1
- package/esm2020/aggregates/status-bar.component.mjs +1 -1
- package/esm2020/column-menu/column-chooser-item-checked.directive.mjs +1 -1
- package/esm2020/column-menu/column-chooser.component.mjs +1 -1
- package/esm2020/column-menu/column-list-kb-nav.service.mjs +1 -1
- package/esm2020/column-menu/column-list.component.mjs +1 -1
- package/esm2020/column-menu/column-locked-change-event.mjs +1 -1
- package/esm2020/column-menu/column-menu-autosize-all.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-autosize.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-chooser.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-container.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-expandable-item.interface.mjs +1 -1
- package/esm2020/column-menu/column-menu-filter.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-item-base.mjs +3 -2
- package/esm2020/column-menu/column-menu-item-content-template.directive.mjs +1 -1
- package/esm2020/column-menu/column-menu-item.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-item.directive.mjs +1 -1
- package/esm2020/column-menu/column-menu-lock.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-position.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-settings.interface.mjs +1 -1
- package/esm2020/column-menu/column-menu-sort.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-stick.component.mjs +1 -1
- package/esm2020/column-menu/column-menu-template.directive.mjs +1 -1
- package/esm2020/column-menu/column-menu.component.mjs +9 -6
- package/esm2020/column-menu/column-menu.module.mjs +1 -1
- package/esm2020/column-menu/column-menu.service.mjs +1 -1
- package/esm2020/column-menu/column-sticky-change-event.mjs +1 -1
- package/esm2020/column-menu/column-visibility-change-event.mjs +1 -1
- package/esm2020/column-menu/utils.mjs +1 -1
- package/esm2020/column-resizing/column-handle.directive.mjs +1 -1
- package/esm2020/column-resizing/column-resize.interface.mjs +1 -1
- package/esm2020/column-resizing/column-resizing.service.mjs +1 -1
- package/esm2020/column-resizing/table.directive.mjs +1 -1
- package/esm2020/columns/checkbox-column.component.mjs +1 -1
- package/esm2020/columns/column-base.mjs +4 -3
- package/esm2020/columns/column-common.mjs +1 -1
- package/esm2020/columns/column-group.component.mjs +3 -2
- package/esm2020/columns/column-list.mjs +1 -1
- package/esm2020/columns/column.component.mjs +1 -1
- package/esm2020/columns/columns-container.mjs +1 -1
- package/esm2020/columns/command-column.component.mjs +1 -1
- package/esm2020/columns/reorder-column.component.mjs +1 -1
- package/esm2020/columns/sort-settings.mjs +1 -1
- package/esm2020/columns/span-column.component.mjs +3 -2
- package/esm2020/common/cell-click-event-args.interface.mjs +1 -1
- package/esm2020/common/clipboard-types.mjs +5 -0
- package/esm2020/common/clipboard.directive.mjs +185 -0
- package/esm2020/common/clipboard.service.mjs +218 -0
- package/esm2020/common/column-info.service.mjs +1 -1
- package/esm2020/common/create-form-group.mjs +1 -1
- package/esm2020/common/default-track-by.mjs +1 -1
- package/esm2020/common/dom-events.service.mjs +2 -1
- package/esm2020/common/error-messages.mjs +46 -2
- package/esm2020/common/event-emitter.mjs +1 -1
- package/esm2020/common/fetch-data-callback.mjs +1 -1
- package/esm2020/common/filter-descriptor-differ.mjs +1 -1
- package/esm2020/common/filter-operator.interface.mjs +1 -1
- package/esm2020/common/id.service.mjs +1 -1
- package/esm2020/common/preventable-event.mjs +1 -1
- package/esm2020/common/provider.service.mjs +1 -1
- package/esm2020/common/remove-confirmation.mjs +1 -1
- package/esm2020/common/single-popup.service.mjs +1 -1
- package/esm2020/common/size-options.mjs +1 -1
- package/esm2020/common/sort.service.mjs +1 -1
- package/esm2020/constants.mjs +1 -1
- package/esm2020/data/change-event-args.interface.mjs +1 -1
- package/esm2020/data/change-notification.service.mjs +1 -1
- package/esm2020/data/data-item.interface.mjs +1 -1
- package/esm2020/data/data.collection.mjs +1 -1
- package/esm2020/data/data.iterators.mjs +1 -1
- package/esm2020/data/grid-item.interface.mjs +1 -1
- package/esm2020/data/group-footer-item.interface.mjs +1 -1
- package/esm2020/data/group-item.interface.mjs +1 -1
- package/esm2020/databinding.directive.mjs +4 -3
- package/esm2020/dragdrop/column-reorder-config.mjs +1 -1
- package/esm2020/dragdrop/column-reorder-event.mjs +1 -1
- package/esm2020/dragdrop/column-reorder.service.mjs +1 -1
- package/esm2020/dragdrop/common.mjs +1 -1
- package/esm2020/dragdrop/context-types.mjs +1 -1
- package/esm2020/dragdrop/drag-and-drop.module.mjs +1 -1
- package/esm2020/dragdrop/drag-and-drop.service.mjs +1 -1
- package/esm2020/dragdrop/drag-hint.service.mjs +1 -1
- package/esm2020/dragdrop/draggable-column.directive.mjs +1 -1
- package/esm2020/dragdrop/drop-cue.service.mjs +1 -1
- package/esm2020/dragdrop/drop-target.directive.mjs +1 -1
- package/esm2020/editing/add-command.directive.mjs +1 -1
- package/esm2020/editing/add-event-args.interface.mjs +1 -1
- package/esm2020/editing/cancel-command.directive.mjs +1 -1
- package/esm2020/editing/cancel-event-args.interface.mjs +1 -1
- package/esm2020/editing/cell-close-event.mjs +1 -1
- package/esm2020/editing/edit-command.directive.mjs +1 -1
- package/esm2020/editing/edit-event-args.interface.mjs +1 -1
- package/esm2020/editing/edit-row-options.interface.mjs +1 -1
- package/esm2020/editing/edit-template.directive.mjs +1 -1
- package/esm2020/editing/edit.service.mjs +1 -1
- package/esm2020/editing/local-data-changes.service.mjs +1 -1
- package/esm2020/editing/remove-command.directive.mjs +1 -1
- package/esm2020/editing/remove-event-args.interface.mjs +1 -1
- package/esm2020/editing/save-command.directive.mjs +1 -1
- package/esm2020/editing/save-event-args.interface.mjs +1 -1
- package/esm2020/editing-directives/create-form-group-args.interface.mjs +1 -1
- package/esm2020/editing-directives/edit-service.interface.mjs +1 -1
- package/esm2020/editing-directives/editing-directive-base.mjs +1 -1
- package/esm2020/editing-directives/in-cell-editing.directive.mjs +1 -1
- package/esm2020/editing-directives/local-edit.service.mjs +3 -3
- package/esm2020/editing-directives/local-row-edit.service.mjs +1 -1
- package/esm2020/editing-directives/reactive-editing.directive.mjs +1 -1
- package/esm2020/editing-directives/row-editing-directive-base.mjs +1 -1
- package/esm2020/editing-directives/template-editing.directive.mjs +1 -1
- package/esm2020/editing-directives/utils.mjs +1 -1
- package/esm2020/excel/excel-command.directive.mjs +1 -1
- package/esm2020/excel/excel-export-event.mjs +1 -1
- package/esm2020/excel/excel.component.mjs +1 -1
- package/esm2020/excel/excel.module.mjs +1 -1
- package/esm2020/excel/excel.service.mjs +3 -2
- package/esm2020/filtering/base-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/boolean-filter.component.mjs +1 -1
- package/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +2 -2
- package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/date-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-component.factory.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-host.directive.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-operators.component.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-template.directive.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-wrapper.component.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/numeric-filter-cell.component.mjs +2 -2
- package/esm2020/filtering/cell/row-filtering.module.mjs +1 -1
- package/esm2020/filtering/cell/string-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/date-filter.component.mjs +1 -1
- package/esm2020/filtering/filter-component.interface.mjs +1 -1
- package/esm2020/filtering/filter-host.directive.mjs +1 -1
- package/esm2020/filtering/filter-input-wrapper.component.mjs +1 -1
- package/esm2020/filtering/filter-input.directive.mjs +1 -1
- package/esm2020/filtering/filter-row.component.mjs +1 -1
- package/esm2020/filtering/filter.service.mjs +1 -1
- package/esm2020/filtering/filterable.mjs +1 -1
- package/esm2020/filtering/menu/boolean-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/date-filter-menu-input.component.mjs +1 -1
- package/esm2020/filtering/menu/date-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-component.factory.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-container.component.mjs +3 -3
- package/esm2020/filtering/menu/filter-menu-dropdownlist.directive.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-host.directive.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-template.directive.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu.module.mjs +1 -1
- package/esm2020/filtering/menu/filter-radio-button.directive.mjs +1 -1
- package/esm2020/filtering/menu/menu-tabbing.service.mjs +1 -1
- package/esm2020/filtering/menu/numeric-filter-menu-input.component.mjs +2 -2
- package/esm2020/filtering/menu/numeric-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/string-filter-menu-input.component.mjs +1 -1
- package/esm2020/filtering/menu/string-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/numeric-filter.component.mjs +1 -1
- package/esm2020/filtering/operators/after-eq-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/after-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/before-eq-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/before-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/contains-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/ends-with-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/eq-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/filter-operator.base.mjs +1 -1
- package/esm2020/filtering/operators/gt-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/gte-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/is-empty-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/is-not-empty-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/is-not-null-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/isnull-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/lt-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/lte-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/neq-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/not-contains-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/operators/starts-with-filter-operator.component.mjs +1 -1
- package/esm2020/filtering/shared-filtering.module.mjs +1 -1
- package/esm2020/filtering/string-filter.component.mjs +1 -1
- package/esm2020/grid.component.mjs +41 -35
- package/esm2020/grid.module.mjs +9 -5
- package/esm2020/grouping/group-footer-template.directive.mjs +1 -1
- package/esm2020/grouping/group-header-column-template.directive.mjs +1 -1
- package/esm2020/grouping/group-header-template.directive.mjs +1 -1
- package/esm2020/grouping/group-header.component.mjs +1 -1
- package/esm2020/grouping/group-info.service.mjs +1 -1
- package/esm2020/grouping/group-key.interface.mjs +1 -1
- package/esm2020/grouping/group-panel.component.mjs +1 -1
- package/esm2020/grouping/group-rows-args.interface.mjs +1 -1
- package/esm2020/grouping/group-scroll-binding.directive.mjs +3 -4
- package/esm2020/grouping/group-settings.mjs +1 -1
- package/esm2020/grouping/group.module.mjs +1 -1
- package/esm2020/grouping/groups.service.mjs +1 -1
- package/esm2020/grouping/utils.mjs +1 -1
- package/esm2020/grouping/virtual-group-result.interface.mjs +1 -1
- package/esm2020/index.mjs +3 -1
- package/esm2020/layout/browser-support.service.mjs +1 -1
- package/esm2020/layout/resizable.directive.mjs +1 -1
- package/esm2020/layout/resize.service.mjs +1 -1
- package/esm2020/layout/responsive.service.mjs +1 -1
- package/esm2020/layout/row-sync.mjs +1 -1
- package/esm2020/layout/sizing-options.service.mjs +1 -1
- package/esm2020/localization/custom-messages.component.mjs +1 -1
- package/esm2020/localization/localized-messages.directive.mjs +1 -1
- package/esm2020/localization/messages.mjs +1 -1
- package/esm2020/navigation/default-focusable-element.mjs +1 -1
- package/esm2020/navigation/focus-group.mjs +1 -1
- package/esm2020/navigation/focus-root.mjs +1 -1
- package/esm2020/navigation/focusable-element.interface.mjs +1 -1
- package/esm2020/navigation/focusable.directive.mjs +1 -1
- package/esm2020/navigation/grid-focusable-element.mjs +1 -1
- package/esm2020/navigation/item-map.mjs +1 -1
- package/esm2020/navigation/logical-cell.directive.mjs +1 -1
- package/esm2020/navigation/logical-cell.interface.mjs +1 -1
- package/esm2020/navigation/logical-row.directive.mjs +1 -1
- package/esm2020/navigation/logical-row.interface.mjs +1 -1
- package/esm2020/navigation/navigable-settings.mjs +1 -1
- package/esm2020/navigation/navigation-cell.interface.mjs +1 -1
- package/esm2020/navigation/navigation-change.interface.mjs +1 -1
- package/esm2020/navigation/navigation-cursor.mjs +1 -1
- package/esm2020/navigation/navigation-metadata.mjs +1 -1
- package/esm2020/navigation/navigation-mode.mjs +1 -1
- package/esm2020/navigation/navigation-model.mjs +1 -1
- package/esm2020/navigation/navigation-row.interface.mjs +1 -1
- package/esm2020/navigation/navigation.service.mjs +1 -1
- package/esm2020/package-metadata.mjs +3 -3
- package/esm2020/pager/pager-context.service.mjs +1 -1
- package/esm2020/pager/pager-dropdown.directive.mjs +1 -1
- package/esm2020/pager/pager-element.component.mjs +1 -1
- package/esm2020/pager/pager-info.component.mjs +1 -1
- package/esm2020/pager/pager-input.component.mjs +2 -2
- package/esm2020/pager/pager-input.directive.mjs +1 -1
- package/esm2020/pager/pager-next-buttons.component.mjs +1 -1
- package/esm2020/pager/pager-numeric-buttons.component.mjs +1 -1
- package/esm2020/pager/pager-page-sizes.component.mjs +1 -1
- package/esm2020/pager/pager-prev-buttons.component.mjs +1 -1
- package/esm2020/pager/pager-settings.mjs +1 -1
- package/esm2020/pager/pager-template.directive.mjs +1 -1
- package/esm2020/pager/pager.component.mjs +2 -6
- package/esm2020/pager/pager.module.mjs +1 -1
- package/esm2020/pager/pagesize-item.interface.mjs +1 -1
- package/esm2020/pdf/export-element.mjs +1 -1
- package/esm2020/pdf/grid-query.mjs +1 -1
- package/esm2020/pdf/pdf-command.directive.mjs +1 -1
- package/esm2020/pdf/pdf-export-event.mjs +1 -1
- package/esm2020/pdf/pdf-margin.component.mjs +1 -1
- package/esm2020/pdf/pdf-margin.interface.mjs +1 -1
- package/esm2020/pdf/pdf-template.directive.mjs +1 -1
- package/esm2020/pdf/pdf.component.mjs +4 -3
- package/esm2020/pdf/pdf.module.mjs +1 -1
- package/esm2020/pdf/pdf.service.mjs +3 -2
- package/esm2020/progress-kendo-angular-grid.mjs +1 -1
- package/esm2020/rendering/body.module.mjs +1 -1
- package/esm2020/rendering/cell-loading.template.directive.mjs +1 -1
- package/esm2020/rendering/cell-template.directive.mjs +1 -1
- package/esm2020/rendering/cell.component.mjs +34 -26
- package/esm2020/rendering/common/cell-context.mjs +1 -1
- package/esm2020/rendering/common/col-group.component.mjs +1 -1
- package/esm2020/rendering/common/dom-queries.mjs +1 -1
- package/esm2020/rendering/common/field-accessor.pipe.mjs +1 -1
- package/esm2020/rendering/common/loading.component.mjs +1 -1
- package/esm2020/rendering/common/row-args.mjs +1 -1
- package/esm2020/rendering/common/row-class.mjs +1 -1
- package/esm2020/rendering/common/spacer.component.mjs +1 -1
- package/esm2020/rendering/common/template-context.directive.mjs +1 -1
- package/esm2020/rendering/constants.mjs +1 -1
- package/esm2020/rendering/details/detail-collapse-event.mjs +1 -1
- package/esm2020/rendering/details/detail-expand-event.mjs +1 -1
- package/esm2020/rendering/details/detail-template.directive.mjs +3 -2
- package/esm2020/rendering/details/details.service.mjs +1 -1
- package/esm2020/rendering/details-expand.directive.mjs +1 -1
- package/esm2020/rendering/footer/footer-template.directive.mjs +1 -1
- package/esm2020/rendering/footer/footer.component.mjs +1 -1
- package/esm2020/rendering/footer/footer.module.mjs +1 -1
- package/esm2020/rendering/grid-table.directive.mjs +1 -1
- package/esm2020/rendering/groups-expand.directive.mjs +1 -1
- package/esm2020/rendering/header/header-template.directive.mjs +1 -1
- package/esm2020/rendering/header/header.component.mjs +17 -13
- package/esm2020/rendering/header/header.module.mjs +1 -1
- package/esm2020/rendering/list.component.mjs +1 -1
- package/esm2020/rendering/loading-template.directive.mjs +1 -1
- package/esm2020/rendering/no-records-template.directive.mjs +1 -1
- package/esm2020/rendering/table-body.component.mjs +5 -5
- package/esm2020/rendering/toolbar/toolbar-focusable.directive.mjs +1 -1
- package/esm2020/rendering/toolbar/toolbar-navigation.service.mjs +1 -1
- package/esm2020/rendering/toolbar/toolbar-position.mjs +1 -1
- package/esm2020/rendering/toolbar/toolbar-template.directive.mjs +1 -1
- package/esm2020/rendering/toolbar/toolbar.component.mjs +1 -1
- package/esm2020/row-reordering/row-reorder.service.mjs +1 -1
- package/esm2020/row-reordering/types.mjs +1 -1
- package/esm2020/row-reordering/utils.mjs +1 -1
- package/esm2020/scrolling/content-scroll-event.mjs +1 -1
- package/esm2020/scrolling/row-height.service.mjs +1 -1
- package/esm2020/scrolling/scroll-bottom-event.mjs +1 -1
- package/esm2020/scrolling/scroll-request.service.mjs +1 -1
- package/esm2020/scrolling/scroll-sync.service.mjs +1 -1
- package/esm2020/scrolling/scroller.service.mjs +1 -1
- package/esm2020/scrolling/scrollmode.mjs +1 -1
- package/esm2020/scrolling/suspend.service.mjs +1 -1
- package/esm2020/selection/cell-selection.service.mjs +1 -1
- package/esm2020/selection/marquee.directive.mjs +12 -18
- package/esm2020/selection/pair-set.mjs +1 -1
- package/esm2020/selection/selectall-checkbox.directive.mjs +1 -1
- package/esm2020/selection/selection-checkbox.directive.mjs +1 -1
- package/esm2020/selection/selection-default.mjs +12 -6
- package/esm2020/selection/selection.directive.mjs +1 -1
- package/esm2020/selection/selection.service.mjs +1 -1
- package/esm2020/selection/types.mjs +1 -1
- package/esm2020/shared.module.mjs +1 -1
- package/esm2020/utils.mjs +11 -1
- package/excel/excel-command.directive.d.ts +1 -1
- package/excel/excel-export-event.d.ts +1 -1
- package/excel/excel.component.d.ts +1 -1
- package/excel/excel.module.d.ts +1 -1
- package/excel/excel.service.d.ts +1 -1
- package/fesm2015/progress-kendo-angular-grid.mjs +599 -146
- package/fesm2020/progress-kendo-angular-grid.mjs +595 -146
- package/filtering/base-filter-cell.component.d.ts +1 -1
- package/filtering/boolean-filter.component.d.ts +1 -1
- package/filtering/cell/autocomplete-filter-cell.component.d.ts +1 -1
- package/filtering/cell/boolean-filter-cell.component.d.ts +1 -1
- package/filtering/cell/date-filter-cell.component.d.ts +1 -1
- package/filtering/cell/filter-cell-component.factory.d.ts +1 -1
- package/filtering/cell/filter-cell-host.directive.d.ts +1 -1
- package/filtering/cell/filter-cell-operators.component.d.ts +1 -1
- package/filtering/cell/filter-cell-template.directive.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/row-filtering.module.d.ts +1 -1
- package/filtering/cell/string-filter-cell.component.d.ts +1 -1
- package/filtering/date-filter.component.d.ts +1 -1
- package/filtering/filter-component.interface.d.ts +1 -1
- package/filtering/filter-host.directive.d.ts +1 -1
- package/filtering/filter-input-wrapper.component.d.ts +1 -1
- package/filtering/filter-input.directive.d.ts +1 -1
- package/filtering/filter-row.component.d.ts +1 -1
- package/filtering/filter.service.d.ts +1 -1
- package/filtering/filterable.d.ts +1 -1
- package/filtering/menu/boolean-filter-menu.component.d.ts +1 -1
- package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/date-filter-menu.component.d.ts +1 -1
- package/filtering/menu/filter-menu-component.factory.d.ts +1 -1
- 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-template.directive.d.ts +1 -1
- package/filtering/menu/filter-menu.component.d.ts +1 -1
- package/filtering/menu/filter-menu.module.d.ts +1 -1
- package/filtering/menu/filter-radio-button.directive.d.ts +1 -1
- package/filtering/menu/menu-tabbing.service.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 -1
- package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
- package/filtering/menu/string-filter-menu.component.d.ts +1 -1
- package/filtering/numeric-filter.component.d.ts +1 -1
- package/filtering/operators/after-eq-filter-operator.component.d.ts +1 -1
- package/filtering/operators/after-filter-operator.component.d.ts +1 -1
- package/filtering/operators/before-eq-filter-operator.component.d.ts +1 -1
- package/filtering/operators/before-filter-operator.component.d.ts +1 -1
- package/filtering/operators/contains-filter-operator.component.d.ts +1 -1
- package/filtering/operators/ends-with-filter-operator.component.d.ts +1 -1
- package/filtering/operators/eq-filter-operator.component.d.ts +1 -1
- package/filtering/operators/filter-operator.base.d.ts +1 -1
- package/filtering/operators/gt-filter-operator.component.d.ts +1 -1
- package/filtering/operators/gte-filter-operator.component.d.ts +1 -1
- package/filtering/operators/is-empty-filter-operator.component.d.ts +1 -1
- package/filtering/operators/is-not-empty-filter-operator.component.d.ts +1 -1
- package/filtering/operators/is-not-null-filter-operator.component.d.ts +1 -1
- package/filtering/operators/isnull-filter-operator.component.d.ts +1 -1
- package/filtering/operators/lt-filter-operator.component.d.ts +1 -1
- package/filtering/operators/lte-filter-operator.component.d.ts +1 -1
- package/filtering/operators/neq-filter-operator.component.d.ts +1 -1
- package/filtering/operators/not-contains-filter-operator.component.d.ts +1 -1
- package/filtering/operators/starts-with-filter-operator.component.d.ts +1 -1
- package/filtering/shared-filtering.module.d.ts +1 -1
- package/filtering/string-filter.component.d.ts +1 -1
- package/grid.component.d.ts +8 -2
- package/grid.module.d.ts +100 -99
- package/grouping/group-footer-template.directive.d.ts +1 -1
- package/grouping/group-header-column-template.directive.d.ts +1 -1
- package/grouping/group-header-template.directive.d.ts +1 -1
- package/grouping/group-header.component.d.ts +1 -1
- package/grouping/group-info.service.d.ts +1 -1
- package/grouping/group-key.interface.d.ts +1 -1
- package/grouping/group-panel.component.d.ts +1 -1
- package/grouping/group-rows-args.interface.d.ts +1 -1
- package/grouping/group-scroll-binding.directive.d.ts +1 -1
- package/grouping/group-settings.d.ts +1 -1
- package/grouping/group.module.d.ts +1 -1
- package/grouping/groups.service.d.ts +1 -1
- package/grouping/utils.d.ts +1 -1
- package/grouping/virtual-group-result.interface.d.ts +1 -1
- package/index.d.ts +4 -2
- package/layout/browser-support.service.d.ts +1 -1
- package/layout/resizable.directive.d.ts +1 -1
- package/layout/resize.service.d.ts +1 -1
- package/layout/responsive.service.d.ts +1 -1
- package/layout/row-sync.d.ts +1 -1
- package/layout/sizing-options.service.d.ts +1 -1
- package/localization/custom-messages.component.d.ts +1 -1
- package/localization/localized-messages.directive.d.ts +1 -1
- package/localization/messages.d.ts +1 -1
- package/navigation/default-focusable-element.d.ts +1 -1
- package/navigation/focus-group.d.ts +1 -1
- package/navigation/focus-root.d.ts +1 -1
- package/navigation/focusable-element.interface.d.ts +1 -1
- package/navigation/focusable.directive.d.ts +1 -1
- package/navigation/grid-focusable-element.d.ts +1 -1
- package/navigation/item-map.d.ts +1 -1
- package/navigation/logical-cell.directive.d.ts +1 -1
- package/navigation/logical-cell.interface.d.ts +1 -1
- package/navigation/logical-row.directive.d.ts +1 -1
- package/navigation/logical-row.interface.d.ts +1 -1
- package/navigation/navigable-settings.d.ts +1 -1
- package/navigation/navigation-cell.interface.d.ts +1 -1
- package/navigation/navigation-change.interface.d.ts +1 -1
- package/navigation/navigation-cursor.d.ts +1 -1
- package/navigation/navigation-metadata.d.ts +1 -1
- package/navigation/navigation-mode.d.ts +1 -1
- package/navigation/navigation-model.d.ts +1 -1
- package/navigation/navigation-row.interface.d.ts +1 -1
- package/navigation/navigation.service.d.ts +1 -1
- package/package-metadata.d.ts +1 -1
- package/package.json +17 -17
- package/pager/pager-context.service.d.ts +1 -1
- package/pager/pager-dropdown.directive.d.ts +1 -1
- package/pager/pager-element.component.d.ts +1 -1
- package/pager/pager-info.component.d.ts +1 -1
- package/pager/pager-input.component.d.ts +1 -1
- package/pager/pager-input.directive.d.ts +1 -1
- package/pager/pager-next-buttons.component.d.ts +1 -1
- package/pager/pager-numeric-buttons.component.d.ts +1 -1
- package/pager/pager-page-sizes.component.d.ts +1 -1
- package/pager/pager-prev-buttons.component.d.ts +1 -1
- package/pager/pager-settings.d.ts +1 -1
- package/pager/pager-template.directive.d.ts +1 -1
- package/pager/pager.component.d.ts +1 -2
- package/pager/pager.module.d.ts +1 -1
- package/pager/pagesize-item.interface.d.ts +1 -1
- package/pdf/export-element.d.ts +1 -1
- package/pdf/grid-query.d.ts +1 -1
- package/pdf/pdf-command.directive.d.ts +1 -1
- package/pdf/pdf-export-event.d.ts +1 -1
- package/pdf/pdf-margin.component.d.ts +1 -1
- package/pdf/pdf-margin.interface.d.ts +1 -1
- package/pdf/pdf-template.directive.d.ts +1 -1
- package/pdf/pdf.component.d.ts +1 -1
- package/pdf/pdf.module.d.ts +1 -1
- package/pdf/pdf.service.d.ts +1 -1
- package/progress-kendo-angular-grid.d.ts +1 -1
- package/rendering/body.module.d.ts +1 -1
- package/rendering/cell-loading.template.directive.d.ts +1 -1
- package/rendering/cell-template.directive.d.ts +1 -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/dom-queries.d.ts +1 -1
- package/rendering/common/field-accessor.pipe.d.ts +1 -1
- package/rendering/common/loading.component.d.ts +1 -1
- package/rendering/common/row-args.d.ts +1 -1
- package/rendering/common/row-class.d.ts +1 -1
- package/rendering/common/spacer.component.d.ts +1 -1
- package/rendering/common/template-context.directive.d.ts +1 -1
- package/rendering/constants.d.ts +1 -1
- package/rendering/details/detail-collapse-event.d.ts +1 -1
- package/rendering/details/detail-expand-event.d.ts +1 -1
- package/rendering/details/detail-template.directive.d.ts +1 -1
- package/rendering/details/details.service.d.ts +1 -1
- package/rendering/details-expand.directive.d.ts +1 -1
- package/rendering/footer/footer-template.directive.d.ts +1 -1
- package/rendering/footer/footer.component.d.ts +1 -1
- package/rendering/footer/footer.module.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-template.directive.d.ts +1 -1
- package/rendering/header/header.component.d.ts +1 -1
- package/rendering/header/header.module.d.ts +1 -1
- package/rendering/list.component.d.ts +1 -1
- package/rendering/loading-template.directive.d.ts +1 -1
- package/rendering/no-records-template.directive.d.ts +1 -1
- package/rendering/table-body.component.d.ts +1 -1
- package/rendering/toolbar/toolbar-focusable.directive.d.ts +1 -1
- package/rendering/toolbar/toolbar-navigation.service.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/row-reorder.service.d.ts +1 -1
- package/row-reordering/types.d.ts +1 -1
- package/row-reordering/utils.d.ts +1 -1
- package/schematics/ngAdd/index.js +3 -3
- package/scrolling/content-scroll-event.d.ts +1 -1
- package/scrolling/row-height.service.d.ts +1 -1
- package/scrolling/scroll-bottom-event.d.ts +1 -1
- package/scrolling/scroll-request.service.d.ts +1 -1
- 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/scrolling/suspend.service.d.ts +1 -1
- package/selection/cell-selection.service.d.ts +1 -1
- package/selection/marquee.directive.d.ts +5 -4
- package/selection/pair-set.d.ts +1 -1
- package/selection/selectall-checkbox.directive.d.ts +1 -1
- package/selection/selection-checkbox.directive.d.ts +1 -1
- package/selection/selection-default.d.ts +11 -5
- package/selection/selection.directive.d.ts +1 -1
- package/selection/selection.service.d.ts +1 -1
- package/selection/types.d.ts +7 -1
- package/shared.module.d.ts +1 -1
- package/utils.d.ts +9 -1
|
@@ -0,0 +1,185 @@
|
|
|
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
|
+
constructor(host, clipboardService, renderer, zone) {
|
|
23
|
+
this.host = host;
|
|
24
|
+
this.clipboardService = clipboardService;
|
|
25
|
+
this.renderer = renderer;
|
|
26
|
+
this.zone = zone;
|
|
27
|
+
/**
|
|
28
|
+
* Fires when the user performs `cut`, `copy` or `paste` action within the Grid content area.
|
|
29
|
+
*/
|
|
30
|
+
this.clipboard = new EventEmitter();
|
|
31
|
+
this._target = 'selection';
|
|
32
|
+
this._clipboardSettings = {
|
|
33
|
+
wholeRow: false,
|
|
34
|
+
copyHeaders: false,
|
|
35
|
+
copy: true,
|
|
36
|
+
cut: true,
|
|
37
|
+
paste: true
|
|
38
|
+
};
|
|
39
|
+
this.subs = new Subscription();
|
|
40
|
+
this.onClipboard = (operationType, args) => {
|
|
41
|
+
if (!this.clipboardSettings[operationType] || !this.inGrid(args)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const gridData = Array.isArray(this.host.data) ? this.host.data : this.host.data.data;
|
|
45
|
+
const gridDataItems = gridData.flatMap(recursiveFlatMap);
|
|
46
|
+
const selection = this.host.selection;
|
|
47
|
+
const selectionDirective = this.host.selectionDirective;
|
|
48
|
+
const targetType = this.clipboardTarget;
|
|
49
|
+
const isCellSelection = (this.host.selectable?.cell || selectionDirective.isCellSelectionMode);
|
|
50
|
+
let clipboardData = [];
|
|
51
|
+
switch (targetType) {
|
|
52
|
+
case 'activeCell':
|
|
53
|
+
{
|
|
54
|
+
const targetCell = { ...this.host.activeCell };
|
|
55
|
+
clipboardData = targetCell && [{ dataItem: targetCell.dataItem, dataRowIndex: targetCell.dataRowIndex, colIndex: targetCell.colIndex }];
|
|
56
|
+
}
|
|
57
|
+
break;
|
|
58
|
+
case 'selection':
|
|
59
|
+
{
|
|
60
|
+
const identifier = selectionDirective.selectionKey;
|
|
61
|
+
clipboardData = gridDataItems.flatMap((item, index) => {
|
|
62
|
+
if (identifier) {
|
|
63
|
+
const key = typeof identifier === 'string' ? item[identifier] : identifier({ index: index + this.host.skip, dataItem: item });
|
|
64
|
+
return isCellSelection ?
|
|
65
|
+
selection.some(s => s.itemKey === key) ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [] :
|
|
66
|
+
selection.indexOf(key) > -1 ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [];
|
|
67
|
+
}
|
|
68
|
+
return isCellSelection ?
|
|
69
|
+
selection.some(s => s.itemKey === index + this.host.skip) ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [] :
|
|
70
|
+
selection.indexOf(index + this.host.skip) > -1 ? [{ dataItem: item, dataRowIndex: index + this.host.skip }] : [];
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
const isPaste = operationType === 'paste';
|
|
76
|
+
const pastedData = args.clipboardData.getData('text').trim();
|
|
77
|
+
const visibleCols = this.host.columns.toArray().filter(c => c.isVisible);
|
|
78
|
+
const data = isPaste ?
|
|
79
|
+
{
|
|
80
|
+
dataString: pastedData,
|
|
81
|
+
gridItems: this.clipboardService.getGridData(pastedData, visibleCols, this.clipboardTarget, clipboardData[0]?.dataRowIndex, {
|
|
82
|
+
wholeRow: this.clipboardSettings.wholeRow,
|
|
83
|
+
isCellSelection
|
|
84
|
+
})
|
|
85
|
+
} :
|
|
86
|
+
this.clipboardService.createClipboardData(clipboardData || [], visibleCols, {
|
|
87
|
+
wholeRow: this.clipboardSettings.wholeRow || (this.clipboardTarget === 'selection' && !isCellSelection),
|
|
88
|
+
target: this.clipboardTarget,
|
|
89
|
+
copyHeaders: this.clipboardSettings.copyHeaders,
|
|
90
|
+
operationType
|
|
91
|
+
});
|
|
92
|
+
!isPaste && navigator.clipboard.writeText(data.dataString);
|
|
93
|
+
if (hasObservers(this.clipboard)) {
|
|
94
|
+
this.zone.run(() => {
|
|
95
|
+
this.clipboard.emit({
|
|
96
|
+
type: operationType,
|
|
97
|
+
originalEvent: args,
|
|
98
|
+
clipboardData: data.dataString,
|
|
99
|
+
gridData: data.gridItems,
|
|
100
|
+
target: {
|
|
101
|
+
dataRowIndex: this.clipboardService.targetRowIndex,
|
|
102
|
+
colField: this.clipboardService.targetColField,
|
|
103
|
+
dataItem: clipboardData.find(item => item.dataRowIndex === this.clipboardService.targetRowIndex)?.dataItem
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
this.clipboardService.targetColField = this.clipboardService.targetRowIndex = null;
|
|
109
|
+
};
|
|
110
|
+
this.inGrid = (args) => {
|
|
111
|
+
const target = document.activeElement.matches('.k-table-td') ? document.activeElement : args.target;
|
|
112
|
+
const inContentArea = closest(target, node => node.parentElement?.classList.contains('k-grid-container'));
|
|
113
|
+
const inHost = contains(this.host.wrapper.nativeElement, target);
|
|
114
|
+
return target && inHost && inContentArea;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Determines the target of the clipboard operation ([see example]({% slug clipboard_grid %}#toc-clipboard-target)). The possible options are:
|
|
119
|
+
* - `activeCell`
|
|
120
|
+
* - `selection`
|
|
121
|
+
*
|
|
122
|
+
* @default 'selection'
|
|
123
|
+
*/
|
|
124
|
+
set clipboardTarget(value) {
|
|
125
|
+
if (isDevMode()) {
|
|
126
|
+
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
127
|
+
if (value === 'activeCell' && !(this.host.navigable.length)) {
|
|
128
|
+
console.warn(ClipboardErrorMessages.clipboardTarget.activeCellNavigable);
|
|
129
|
+
}
|
|
130
|
+
else if (value === 'selection' && !(this.host.selectable || this.host.selectionDirective)) {
|
|
131
|
+
console.warn(ClipboardErrorMessages.selectionSelectable);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
this._target = value;
|
|
136
|
+
}
|
|
137
|
+
get clipboardTarget() {
|
|
138
|
+
return this._target;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* The `GridClipboardDirective` settings.
|
|
142
|
+
*
|
|
143
|
+
* @default { wholeRow: false, copyHeaders: false copy: true, cut: true, paste: true }
|
|
144
|
+
*/
|
|
145
|
+
set clipboardSettings(value) {
|
|
146
|
+
this._clipboardSettings = Object.assign({}, this._clipboardSettings, value);
|
|
147
|
+
}
|
|
148
|
+
get clipboardSettings() {
|
|
149
|
+
return this._clipboardSettings;
|
|
150
|
+
}
|
|
151
|
+
ngAfterViewInit() {
|
|
152
|
+
if (!isDocumentAvailable()) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (this.clipboardTarget === 'selection' && !(this.host.selectable || this.host.selectionDirective)) {
|
|
156
|
+
console.warn(ClipboardErrorMessages.selectionSelectable);
|
|
157
|
+
}
|
|
158
|
+
// needed due to the following issue in Chrome
|
|
159
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1156117&q=focus%20programmatically%20paste&can=2
|
|
160
|
+
this.zone.runOutsideAngular(() => {
|
|
161
|
+
this.subs.add(this.renderer.listen(document, 'copy', (args) => this.onClipboard('copy', args)));
|
|
162
|
+
this.subs.add(this.renderer.listen(document, 'cut', (args) => this.onClipboard('cut', args)));
|
|
163
|
+
this.subs.add(this.renderer.listen(document, 'paste', (args) => this.onClipboard('paste', args)));
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
ngOnDestroy() {
|
|
167
|
+
this.subs.unsubscribe();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
GridClipboardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridClipboardDirective, deps: [{ token: i1.GridComponent }, { token: i2.ClipboardService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
171
|
+
GridClipboardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridClipboardDirective, selector: "[kendoGridClipboard]", inputs: { clipboardTarget: "clipboardTarget", clipboardSettings: "clipboardSettings" }, outputs: { clipboard: "clipboard" }, providers: [ClipboardService], exportAs: ["kendoGridClipboard"], ngImport: i0 });
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridClipboardDirective, decorators: [{
|
|
173
|
+
type: Directive,
|
|
174
|
+
args: [{
|
|
175
|
+
selector: '[kendoGridClipboard]',
|
|
176
|
+
exportAs: 'kendoGridClipboard',
|
|
177
|
+
providers: [ClipboardService]
|
|
178
|
+
}]
|
|
179
|
+
}], ctorParameters: function () { return [{ type: i1.GridComponent }, { type: i2.ClipboardService }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { clipboardTarget: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], clipboardSettings: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], clipboard: [{
|
|
184
|
+
type: Output
|
|
185
|
+
}] } });
|
|
@@ -0,0 +1,218 @@
|
|
|
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 } from '@angular/core';
|
|
6
|
+
import { ColumnComponent } from '../columns/column.component';
|
|
7
|
+
import { isPresent } from '@progress/kendo-angular-common';
|
|
8
|
+
import { ContextService } from './provider.service';
|
|
9
|
+
import { groupBy } from '@progress/kendo-data-query';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "./provider.service";
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
export class ClipboardService {
|
|
16
|
+
constructor(contextService) {
|
|
17
|
+
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
|
+
}
|
|
25
|
+
createClipboardData(data, columns, options) {
|
|
26
|
+
let result = {
|
|
27
|
+
gridItems: [],
|
|
28
|
+
dataString: ''
|
|
29
|
+
};
|
|
30
|
+
const fieldCols = columns.flatMap(c => c instanceof ColumnComponent && isPresent(c.field) ? [c] : []);
|
|
31
|
+
const clipboardData = { items: [], dataStrings: [] };
|
|
32
|
+
const colFields = fieldCols.map(c => c.field);
|
|
33
|
+
if (options.wholeRow) {
|
|
34
|
+
this.targetColField = fieldCols[0]?.field;
|
|
35
|
+
this.targetRowIndex = data[0].dataRowIndex;
|
|
36
|
+
data.forEach(item => {
|
|
37
|
+
clipboardData.items.push({ dataItem: { ...item.dataItem }, fields: colFields });
|
|
38
|
+
clipboardData.dataStrings.push(this.itemToString(item.dataItem, fieldCols));
|
|
39
|
+
});
|
|
40
|
+
result = {
|
|
41
|
+
gridItems: options.operationType === 'cut' ? clipboardData.items.map(item => {
|
|
42
|
+
item.fields.forEach(field => item.dataItem[field] = null);
|
|
43
|
+
return item;
|
|
44
|
+
}) : [...clipboardData.items],
|
|
45
|
+
dataString: options.copyHeaders ? this.addHeaders(clipboardData.dataStrings.join(`\r\n`), fieldCols) : clipboardData.dataStrings.join(`\n`)
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
if (options.target === 'selection') {
|
|
50
|
+
const { tabular, groups } = this.groupSelection();
|
|
51
|
+
const selectionDirective = this.contextService.grid.selectionDirective;
|
|
52
|
+
const colIdentifier = selectionDirective.columnKey;
|
|
53
|
+
if (tabular) {
|
|
54
|
+
const selectionKeys = groups[0].items.map(item => item.columnKey);
|
|
55
|
+
const selectedFieldCols = columns.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i) ? [c] : []);
|
|
56
|
+
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
57
|
+
this.targetColField = selectedColFields[0];
|
|
58
|
+
result.dataString = data.flatMap(item => {
|
|
59
|
+
const itemString = this.itemToString(item.dataItem, selectedFieldCols);
|
|
60
|
+
const existingItem = isPresent(itemString);
|
|
61
|
+
if (!isPresent(this.targetRowIndex) && isPresent(itemString)) {
|
|
62
|
+
this.targetRowIndex = item.dataRowIndex;
|
|
63
|
+
}
|
|
64
|
+
if (options.operationType === 'cut') {
|
|
65
|
+
selectedColFields.forEach(f => item.dataItem[f] = null);
|
|
66
|
+
}
|
|
67
|
+
result.gridItems.push({
|
|
68
|
+
dataItem: item.dataItem,
|
|
69
|
+
fields: selectedColFields
|
|
70
|
+
});
|
|
71
|
+
return existingItem ? [itemString] : [];
|
|
72
|
+
}).join(`\r\n`);
|
|
73
|
+
if (options.copyHeaders) {
|
|
74
|
+
result.dataString = this.addHeaders(result.dataString, selectedFieldCols);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else { // split per row (uneven rows)
|
|
78
|
+
const rowIdentifier = selectionDirective.selectionKey;
|
|
79
|
+
result.dataString = data.flatMap(item => {
|
|
80
|
+
// determine cols per item
|
|
81
|
+
const key = rowIdentifier ?
|
|
82
|
+
typeof rowIdentifier === 'string' ? item.dataItem[rowIdentifier] : rowIdentifier({ index: item.dataRowIndex, dataItem: item.dataItem }) :
|
|
83
|
+
item.dataRowIndex;
|
|
84
|
+
const selectionKeys = groups.find(gr => gr.value === key).items.map(item => item.columnKey);
|
|
85
|
+
const selectedFieldCols = columns.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i) ? [c] : []);
|
|
86
|
+
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
87
|
+
if (!this.targetColField) {
|
|
88
|
+
this.targetColField = selectedColFields[0];
|
|
89
|
+
}
|
|
90
|
+
const itemString = this.itemToString(item.dataItem, selectedFieldCols);
|
|
91
|
+
const existingItem = isPresent(itemString);
|
|
92
|
+
if (!isPresent(this.targetRowIndex) && existingItem) {
|
|
93
|
+
this.targetRowIndex = item.dataRowIndex;
|
|
94
|
+
}
|
|
95
|
+
if (existingItem) {
|
|
96
|
+
if (options.operationType === 'cut') {
|
|
97
|
+
selectedColFields.forEach(f => item.dataItem[f] = null);
|
|
98
|
+
}
|
|
99
|
+
result.gridItems.push({
|
|
100
|
+
dataItem: item.dataItem,
|
|
101
|
+
fields: selectedColFields
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return existingItem ? options.copyHeaders ? [this.addHeaders(itemString, selectedFieldCols)] : [itemString] : [];
|
|
105
|
+
}).join(`\r\n`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
const item = data[0];
|
|
110
|
+
const col = columns[item.colIndex];
|
|
111
|
+
const colField = col.field;
|
|
112
|
+
const title = col.title;
|
|
113
|
+
const copiedData = item.dataItem[colField];
|
|
114
|
+
this.targetRowIndex = item.dataRowIndex;
|
|
115
|
+
this.targetColField = colField;
|
|
116
|
+
if (options.operationType === 'cut' && colField) {
|
|
117
|
+
item.dataItem[colField] = null;
|
|
118
|
+
}
|
|
119
|
+
result = {
|
|
120
|
+
gridItems: [{
|
|
121
|
+
dataItem: item.dataItem,
|
|
122
|
+
fields: colField ? [colField] : []
|
|
123
|
+
}],
|
|
124
|
+
dataString: options.copyHeaders ? [title || colField, copiedData].join(`\r\n`) : colField ? copiedData : ``
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return result;
|
|
129
|
+
}
|
|
130
|
+
getGridData(data, columns, targetType, targetRowIndex, options) {
|
|
131
|
+
const separator = data.includes(`\r\n`) ? `\r\n` : data.includes(`\n`) ? `\n` : null;
|
|
132
|
+
const dataRows = separator ? data.split(separator) : [data];
|
|
133
|
+
this.targetRowIndex = targetRowIndex;
|
|
134
|
+
if (targetType === 'activeCell') {
|
|
135
|
+
if (options.wholeRow) {
|
|
136
|
+
this.targetColField = columns.find(c => c instanceof ColumnComponent && c.field)?.field;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
const activeCellIndex = this.contextService.grid.activeCell.colIndex;
|
|
140
|
+
for (let i = 0; i < columns.length; i++) {
|
|
141
|
+
const col = columns[i];
|
|
142
|
+
if (col instanceof ColumnComponent && col.field && i >= activeCellIndex) {
|
|
143
|
+
this.targetColField = col.field;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
if (options.wholeRow || !options.isCellSelection) {
|
|
151
|
+
this.targetColField = (columns.filter(c => c instanceof ColumnComponent && c.field))[0]['field'];
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
const { groups } = this.groupSelection();
|
|
155
|
+
const selectionDirective = this.contextService.grid.selectionDirective;
|
|
156
|
+
const colIdentifier = selectionDirective.columnKey;
|
|
157
|
+
const visibleCols = columns.filter(c => c.isVisible);
|
|
158
|
+
const selectionKeys = groups[0].items.map(item => item.columnKey);
|
|
159
|
+
const selectedFieldCols = visibleCols.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i) ? [c] : []);
|
|
160
|
+
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
161
|
+
this.targetColField = selectedColFields[0];
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const items = dataRows.map(rowString => {
|
|
165
|
+
const cells = rowString.includes(`\t`) ? rowString.split(`\t`) : [rowString];
|
|
166
|
+
const colFields = columns.flatMap(c => (c instanceof ColumnComponent) && c.field ? [c.field] : []);
|
|
167
|
+
const targetColFieldIndex = colFields.indexOf(this.targetColField);
|
|
168
|
+
const affectedFields = colFields.slice(targetColFieldIndex, targetColFieldIndex + cells.length);
|
|
169
|
+
const item = {};
|
|
170
|
+
colFields.slice(targetColFieldIndex, targetColFieldIndex + cells.length).forEach((colField, index) => item[colField] = cells[index]);
|
|
171
|
+
return {
|
|
172
|
+
dataItem: item,
|
|
173
|
+
fields: affectedFields
|
|
174
|
+
};
|
|
175
|
+
});
|
|
176
|
+
return items;
|
|
177
|
+
}
|
|
178
|
+
groupSelection() {
|
|
179
|
+
const selection = this.contextService.grid.selection;
|
|
180
|
+
const groups = groupBy(selection, [{ field: 'itemKey' }])
|
|
181
|
+
.map(gr => {
|
|
182
|
+
gr.items.sort((a, b) => a.columnKey - b.columnKey);
|
|
183
|
+
return gr;
|
|
184
|
+
});
|
|
185
|
+
for (let i = 1; i < groups.length; i++) {
|
|
186
|
+
if (!this.areEqual(groups[i].items, groups[i - 1].items)) {
|
|
187
|
+
return {
|
|
188
|
+
tabular: false,
|
|
189
|
+
groups
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
tabular: true,
|
|
195
|
+
groups
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
areEqual(arr1, arr2) {
|
|
199
|
+
if (arr1.length !== arr2.length) {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
203
|
+
if (arr1[i].columnKey !== arr2[i].columnKey) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
addHeaders(initialData, cols) {
|
|
210
|
+
const headersRowData = cols.map(c => c.title || c.field).join(`\t`);
|
|
211
|
+
return `${headersRowData}\r\n${initialData}`;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ClipboardService, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
215
|
+
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ClipboardService });
|
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ClipboardService, decorators: [{
|
|
217
|
+
type: Injectable
|
|
218
|
+
}], ctorParameters: function () { return [{ type: i1.ContextService }]; } });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Injectable, EventEmitter } from "@angular/core";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Injectable, EventEmitter } from '@angular/core';
|
|
@@ -18,6 +18,7 @@ export class DomEventsService {
|
|
|
18
18
|
this.focusIn = new EventEmitter();
|
|
19
19
|
this.focusOut = new EventEmitter();
|
|
20
20
|
this.windowBlur = new EventEmitter();
|
|
21
|
+
this.paste = new EventEmitter();
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
DomEventsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DomEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
/**
|
|
@@ -7,5 +7,49 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export const ColumnMenuErrorMessages = {
|
|
9
9
|
autoSizeColumn: 'The auto size column does not work with enabled virtual columns',
|
|
10
|
-
autoSizeAllColumns: 'The auto size all columns does not work with enabled virtual columns'
|
|
10
|
+
autoSizeAllColumns: 'The auto size all columns does not work with enabled virtual columns',
|
|
11
|
+
serviceInput: 'The service input of the predefined column menu components is mandatory.'
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
export const ClipboardErrorMessages = {
|
|
17
|
+
activeCellNavigable: 'Grid must be navigable to use "activeCell" as clipboard target type.',
|
|
18
|
+
selectionSelectable: 'Grid must be selectable to use "selection" as clipboard target type.'
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
export const ColumnConfigurationErrorMessages = {
|
|
24
|
+
fieldName: (field) => `Grid column field name '${field}' does not look like a valid JavaScript identifier.
|
|
25
|
+
Identifiers can contain only alphanumeric characters (including "$" or "_"), and may not start with a digit.
|
|
26
|
+
Please use only valid identifier names to ensure error-free operation.`,
|
|
27
|
+
width: (value, parsedValue) => `Expected numeric value for column width, but got a string "${value}". Treating as ${parsedValue}px.`,
|
|
28
|
+
invalidColumn: (column) => `Invalid column ${column}.`,
|
|
29
|
+
requiredWidth: (columnType) => `${columnType} columns feature requires all columns to have set width.`,
|
|
30
|
+
requiredScroll: (columnType) => `${columnType} columns are only supported when scrolling is enabled.`,
|
|
31
|
+
groupColumnContent: 'ColumnGroupComponent should contain ColumnComponent or CommandColumnComponent.',
|
|
32
|
+
lockedParent: 'Locked child columns require their parent columns to be locked.',
|
|
33
|
+
columnNested: 'Columns can be nested only inside ColumnGroupComponent',
|
|
34
|
+
nestedInside: (nestedColumnNameType, parentColumnType) => `${nestedColumnNameType} cannot be nested inside ${parentColumnType}.`
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
export const GridConfigurationErrorMessages = {
|
|
40
|
+
functionType: (propName, fn) => `${propName} must be a function, but received ${JSON.stringify(fn)}.`,
|
|
41
|
+
incompatibleFeatures: (feat1Name, feat2Name) => `'Having both ${feat1Name} and ${feat2Name} is not supported.'`,
|
|
42
|
+
nonLockedColumnPresent: 'There should be at least one non-locked column',
|
|
43
|
+
rowHeightVirtual: 'Row height and detail row height settings require virtual scrolling mode to be enabled.',
|
|
44
|
+
focusNavigable: 'The Grid should be configured as navigable to control focus',
|
|
45
|
+
expandCollapseMethods: (expandMethodName, collapseMethodName, directiveName, callbackName) => `The ${expandMethodName} and ${collapseMethodName} methods should not be called
|
|
46
|
+
when using the ${directiveName} directive or the ${callbackName} callback.
|
|
47
|
+
These methods are provided only for backwards compatibility with legacy versions.`,
|
|
48
|
+
requiredEditService: `The default edit service of the editing directives works only when binding to plain array.
|
|
49
|
+
Please provide an editService.`,
|
|
50
|
+
requiredModule: (exportedType, moduleName, componentSelector) => `Creating ${exportedType} requires including the ${moduleName} and adding the ${componentSelector} component.`,
|
|
51
|
+
groupBindingDirectives: `Using the "kendoGridGroupBinding" directive in combination with the "kendoGridExpandGroupBy" directive
|
|
52
|
+
or the "isGroupExpanded" callback is not supported. To use grouping with the "kendoGridGroupBinding" directive,
|
|
53
|
+
set the Grid "groupable" property to "true".`,
|
|
54
|
+
unsupportedMethod: (methodName, suggestedMethodName) => `Using ${methodName} in this context is not supported. Use ${suggestedMethodName} instead.`
|
|
11
55
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { EventEmitter } from "@angular/core";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { isPresent } from "../utils";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Injectable } from "@angular/core";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Injectable, Renderer2 } from '@angular/core';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Subject } from 'rxjs';
|
package/esm2020/constants.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { EventEmitter, NgZone, Injectable } from '@angular/core';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { iterator } from '../utils';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { iterator } from '../utils';
|