@progress/kendo-angular-grid 21.4.1 → 22.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/column-menu/column-menu-item-base.d.ts +1 -1
- package/columns/column-base.d.ts +1 -1
- package/common/toolbar-tool-base.directive.d.ts +1 -1
- package/editing/toolbar-editing-tool-base.directive.d.ts +1 -1
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/editing-directives/row-editing-directive-base.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-grid.mjs +666 -666
- package/filtering/base-filter-cell.component.d.ts +1 -1
- package/filtering/boolean-filter.component.d.ts +1 -1
- package/filtering/date-filter.component.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/numeric-filter.component.d.ts +1 -1
- package/filtering/operators/filter-operator.base.d.ts +1 -1
- package/filtering/string-filter.component.d.ts +1 -1
- package/localization/messages.d.ts +1 -1
- package/package.json +28 -36
- package/schematics/ngAdd/index.js +7 -7
- package/selection/selection-default.d.ts +1 -1
- package/esm2022/adaptiveness/adaptive-mode.mjs +0 -5
- package/esm2022/adaptiveness/adaptive-renderer.component.mjs +0 -1270
- package/esm2022/aggregates/aggregate-types.mjs +0 -5
- package/esm2022/aggregates/selection-aggregate.service.mjs +0 -200
- package/esm2022/aggregates/status-bar-template.directive.mjs +0 -30
- package/esm2022/aggregates/status-bar.component.mjs +0 -70
- package/esm2022/column-menu/column-chooser-content.component.mjs +0 -318
- package/esm2022/column-menu/column-chooser.component.mjs +0 -230
- package/esm2022/column-menu/column-list-kb-nav.service.mjs +0 -40
- package/esm2022/column-menu/column-list.component.mjs +0 -478
- package/esm2022/column-menu/column-locked-change-event.mjs +0 -19
- package/esm2022/column-menu/column-menu-autosize-all.component.mjs +0 -89
- package/esm2022/column-menu/column-menu-autosize.component.mjs +0 -97
- package/esm2022/column-menu/column-menu-chooser.component.mjs +0 -151
- package/esm2022/column-menu/column-menu-container.component.mjs +0 -67
- package/esm2022/column-menu/column-menu-expandable-item.interface.mjs +0 -5
- package/esm2022/column-menu/column-menu-filter.component.mjs +0 -152
- package/esm2022/column-menu/column-menu-item-base.mjs +0 -44
- package/esm2022/column-menu/column-menu-item-content-template.directive.mjs +0 -45
- package/esm2022/column-menu/column-menu-item.component.mjs +0 -514
- package/esm2022/column-menu/column-menu-item.directive.mjs +0 -164
- package/esm2022/column-menu/column-menu-lock.component.mjs +0 -118
- package/esm2022/column-menu/column-menu-position.component.mjs +0 -196
- package/esm2022/column-menu/column-menu-settings.interface.mjs +0 -5
- package/esm2022/column-menu/column-menu-sort.component.mjs +0 -119
- package/esm2022/column-menu/column-menu-stick.component.mjs +0 -120
- package/esm2022/column-menu/column-menu-template.directive.mjs +0 -47
- package/esm2022/column-menu/column-menu.component.mjs +0 -839
- package/esm2022/column-menu/column-menu.service.mjs +0 -71
- package/esm2022/column-menu/column-sticky-change-event.mjs +0 -19
- package/esm2022/column-menu/column-visibility-change-event.mjs +0 -19
- package/esm2022/column-menu/utils.mjs +0 -52
- package/esm2022/column-resizing/column-handle.directive.mjs +0 -499
- package/esm2022/column-resizing/column-resize.interface.mjs +0 -5
- package/esm2022/column-resizing/column-resizing.service.mjs +0 -214
- package/esm2022/column-resizing/table.directive.mjs +0 -141
- package/esm2022/columns/cell-rowspan.mjs +0 -5
- package/esm2022/columns/checkbox-column.component.mjs +0 -106
- package/esm2022/columns/column-base.mjs +0 -432
- package/esm2022/columns/column-common.mjs +0 -73
- package/esm2022/columns/column-group.component.mjs +0 -135
- package/esm2022/columns/column-list.mjs +0 -94
- package/esm2022/columns/column.component.mjs +0 -198
- package/esm2022/columns/columns-container.mjs +0 -101
- package/esm2022/columns/command-column.component.mjs +0 -80
- package/esm2022/columns/reorder-column.component.mjs +0 -114
- package/esm2022/columns/sort-settings.mjs +0 -18
- package/esm2022/columns/span-column.component.mjs +0 -195
- package/esm2022/common/adaptiveness.service.mjs +0 -72
- package/esm2022/common/cell-click-event-args.interface.mjs +0 -5
- package/esm2022/common/clipboard-types.mjs +0 -5
- package/esm2022/common/clipboard.directive.mjs +0 -197
- package/esm2022/common/clipboard.service.mjs +0 -221
- package/esm2022/common/column-info.service.mjs +0 -92
- package/esm2022/common/create-form-group.mjs +0 -5
- package/esm2022/common/data-layout-mode.mjs +0 -5
- package/esm2022/common/default-track-by.mjs +0 -13
- package/esm2022/common/dom-events.service.mjs +0 -27
- package/esm2022/common/error-messages.mjs +0 -64
- package/esm2022/common/event-emitter.mjs +0 -39
- package/esm2022/common/fetch-data-callback.mjs +0 -5
- package/esm2022/common/field-datatype.mjs +0 -5
- package/esm2022/common/filter-descriptor-differ.mjs +0 -69
- package/esm2022/common/filter-operator.interface.mjs +0 -5
- package/esm2022/common/grid-col-size.mjs +0 -5
- package/esm2022/common/id.service.mjs +0 -59
- package/esm2022/common/pager-settings.mjs +0 -20
- package/esm2022/common/preventable-event.mjs +0 -24
- package/esm2022/common/provider.service.mjs +0 -42
- package/esm2022/common/remove-confirmation.mjs +0 -5
- package/esm2022/common/resizable-settings.mjs +0 -9
- package/esm2022/common/single-popup.service.mjs +0 -158
- package/esm2022/common/size-options.mjs +0 -5
- package/esm2022/common/sort.service.mjs +0 -14
- package/esm2022/common/toolbar-tool-base.directive.mjs +0 -85
- package/esm2022/constants.mjs +0 -16
- package/esm2022/data/change-event-args.interface.mjs +0 -5
- package/esm2022/data/change-notification.service.mjs +0 -30
- package/esm2022/data/data-item.interface.mjs +0 -5
- package/esm2022/data/data-mapping.service.mjs +0 -136
- package/esm2022/data/data.collection.mjs +0 -87
- package/esm2022/data/data.iterators.mjs +0 -221
- package/esm2022/data/grid-item.interface.mjs +0 -5
- package/esm2022/data/group-footer-item.interface.mjs +0 -5
- package/esm2022/data/group-item.interface.mjs +0 -5
- package/esm2022/databinding.directive.mjs +0 -233
- package/esm2022/directives.mjs +0 -504
- package/esm2022/dragdrop/column-reorder-config.mjs +0 -5
- package/esm2022/dragdrop/column-reorder-event.mjs +0 -31
- package/esm2022/dragdrop/column-reorder.service.mjs +0 -20
- package/esm2022/dragdrop/common.mjs +0 -69
- package/esm2022/dragdrop/context-types.mjs +0 -5
- package/esm2022/dragdrop/drag-and-drop.service.mjs +0 -65
- package/esm2022/dragdrop/drag-hint.service.mjs +0 -137
- package/esm2022/dragdrop/draggable-column.directive.mjs +0 -137
- package/esm2022/dragdrop/drop-cue.service.mjs +0 -46
- package/esm2022/dragdrop/drop-target.directive.mjs +0 -71
- package/esm2022/editing/add-command-tool.directive.mjs +0 -59
- package/esm2022/editing/add-command.directive.mjs +0 -93
- package/esm2022/editing/add-event-args.interface.mjs +0 -5
- package/esm2022/editing/cancel-command-tool.directive.mjs +0 -64
- package/esm2022/editing/cancel-command.directive.mjs +0 -127
- package/esm2022/editing/cancel-event-args.interface.mjs +0 -5
- package/esm2022/editing/cell-close-event.mjs +0 -38
- package/esm2022/editing/edit-command-tool.directive.mjs +0 -60
- package/esm2022/editing/edit-command.directive.mjs +0 -124
- package/esm2022/editing/edit-event-args.interface.mjs +0 -5
- package/esm2022/editing/edit-row-options.interface.mjs +0 -5
- package/esm2022/editing/edit-template.directive.mjs +0 -43
- package/esm2022/editing/edit.service.mjs +0 -182
- package/esm2022/editing/form/dialog-form.component.mjs +0 -102
- package/esm2022/editing/form/form-formfield.component.mjs +0 -188
- package/esm2022/editing/form/form.component.mjs +0 -169
- package/esm2022/editing/form/index.mjs +0 -8
- package/esm2022/editing/form/models.mjs +0 -5
- package/esm2022/editing/local-data-changes.service.mjs +0 -18
- package/esm2022/editing/remove-command-tool.directive.mjs +0 -61
- package/esm2022/editing/remove-command.directive.mjs +0 -123
- package/esm2022/editing/remove-event-args.interface.mjs +0 -5
- package/esm2022/editing/save-command-tool.directive.mjs +0 -65
- package/esm2022/editing/save-command.directive.mjs +0 -126
- package/esm2022/editing/save-event-args.interface.mjs +0 -5
- package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +0 -99
- package/esm2022/editing-directives/create-form-group-args.interface.mjs +0 -5
- package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
- package/esm2022/editing-directives/editing-directive-base.mjs +0 -167
- package/esm2022/editing-directives/external-editing.directive.mjs +0 -151
- package/esm2022/editing-directives/in-cell-editing.directive.mjs +0 -97
- package/esm2022/editing-directives/local-edit.service.mjs +0 -64
- package/esm2022/editing-directives/local-row-edit.service.mjs +0 -13
- package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -60
- package/esm2022/editing-directives/row-editing-directive-base.mjs +0 -53
- package/esm2022/editing-directives/template-editing.directive.mjs +0 -72
- package/esm2022/editing-directives/utils.mjs +0 -18
- package/esm2022/excel/excel-command-tool.directive.mjs +0 -58
- package/esm2022/excel/excel-command.directive.mjs +0 -98
- package/esm2022/excel/excel-export-event.mjs +0 -18
- package/esm2022/excel/excel.component.mjs +0 -223
- package/esm2022/excel/excel.module.mjs +0 -45
- package/esm2022/excel/excel.service.mjs +0 -29
- package/esm2022/filtering/base-filter-cell.component.mjs +0 -174
- package/esm2022/filtering/boolean-filter.component.mjs +0 -83
- package/esm2022/filtering/cell/autocomplete-filter-cell.component.mjs +0 -114
- package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +0 -113
- package/esm2022/filtering/cell/date-filter-cell.component.mjs +0 -141
- package/esm2022/filtering/cell/filter-cell-component.factory.mjs +0 -19
- package/esm2022/filtering/cell/filter-cell-host.directive.mjs +0 -33
- package/esm2022/filtering/cell/filter-cell-operators.component.mjs +0 -242
- package/esm2022/filtering/cell/filter-cell-template.directive.mjs +0 -46
- package/esm2022/filtering/cell/filter-cell-wrapper.component.mjs +0 -74
- package/esm2022/filtering/cell/filter-cell.component.mjs +0 -91
- package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +0 -155
- package/esm2022/filtering/cell/string-filter-cell.component.mjs +0 -127
- package/esm2022/filtering/date-filter.component.mjs +0 -172
- package/esm2022/filtering/filter-component.interface.mjs +0 -5
- package/esm2022/filtering/filter-host.directive.mjs +0 -58
- package/esm2022/filtering/filter-input-wrapper.component.mjs +0 -119
- package/esm2022/filtering/filter-input.directive.mjs +0 -123
- package/esm2022/filtering/filter-row.component.mjs +0 -131
- package/esm2022/filtering/filter.service.mjs +0 -44
- package/esm2022/filtering/filterable.mjs +0 -16
- package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +0 -167
- package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +0 -179
- package/esm2022/filtering/menu/date-filter-menu.component.mjs +0 -212
- package/esm2022/filtering/menu/filter-menu-component.factory.mjs +0 -19
- package/esm2022/filtering/menu/filter-menu-container.component.mjs +0 -418
- package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +0 -44
- package/esm2022/filtering/menu/filter-menu-host.directive.mjs +0 -46
- package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +0 -158
- package/esm2022/filtering/menu/filter-menu-template.directive.mjs +0 -48
- package/esm2022/filtering/menu/filter-menu.component.mjs +0 -221
- package/esm2022/filtering/menu/filter-radio-button.directive.mjs +0 -34
- package/esm2022/filtering/menu/menu-tabbing.service.mjs +0 -22
- package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +0 -184
- package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +0 -230
- package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +0 -107
- package/esm2022/filtering/menu/string-filter-menu.component.mjs +0 -198
- package/esm2022/filtering/multicheckbox-filter.component.mjs +0 -324
- package/esm2022/filtering/numeric-filter.component.mjs +0 -145
- package/esm2022/filtering/operators/after-eq-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/after-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/before-eq-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/before-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/contains-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/ends-with-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/eq-filter-operator.component.mjs +0 -111
- package/esm2022/filtering/operators/filter-operator.base.mjs +0 -101
- package/esm2022/filtering/operators/gt-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/gte-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/is-empty-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/is-not-empty-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/is-not-null-filter-operator.component.mjs +0 -110
- package/esm2022/filtering/operators/isnull-filter-operator.component.mjs +0 -110
- package/esm2022/filtering/operators/lt-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/lte-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/neq-filter-operator.component.mjs +0 -110
- package/esm2022/filtering/operators/not-contains-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/starts-with-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/string-filter.component.mjs +0 -90
- package/esm2022/grid.component.mjs +0 -4598
- package/esm2022/grid.module.mjs +0 -241
- package/esm2022/grouping/group-footer-template.directive.mjs +0 -44
- package/esm2022/grouping/group-header-column-template.directive.mjs +0 -45
- package/esm2022/grouping/group-header-template.directive.mjs +0 -46
- package/esm2022/grouping/group-header.component.mjs +0 -351
- package/esm2022/grouping/group-info.service.mjs +0 -43
- package/esm2022/grouping/group-key.interface.mjs +0 -5
- package/esm2022/grouping/group-panel.component.mjs +0 -487
- package/esm2022/grouping/group-rows-args.interface.mjs +0 -5
- package/esm2022/grouping/group-settings.mjs +0 -5
- package/esm2022/grouping/groups.service.mjs +0 -69
- package/esm2022/grouping/utils.mjs +0 -14
- package/esm2022/highlight/highlight-item.mjs +0 -5
- package/esm2022/highlight/highlight.directive.mjs +0 -132
- package/esm2022/index.mjs +0 -221
- package/esm2022/layout/browser-support.service.mjs +0 -94
- package/esm2022/layout/resizable.directive.mjs +0 -83
- package/esm2022/layout/resize.service.mjs +0 -29
- package/esm2022/layout/responsive.service.mjs +0 -34
- package/esm2022/layout/row-sync.mjs +0 -47
- package/esm2022/layout/sizing-options.service.mjs +0 -18
- package/esm2022/localization/custom-messages.component.mjs +0 -54
- package/esm2022/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/localization/messages.mjs +0 -895
- package/esm2022/navigation/default-focusable-element.mjs +0 -50
- package/esm2022/navigation/focus-group.mjs +0 -73
- package/esm2022/navigation/focus-root.mjs +0 -50
- package/esm2022/navigation/focusable-element.interface.mjs +0 -5
- package/esm2022/navigation/focusable.directive.mjs +0 -150
- package/esm2022/navigation/grid-focusable-element.mjs +0 -28
- package/esm2022/navigation/item-map.mjs +0 -59
- package/esm2022/navigation/logical-cell.directive.mjs +0 -224
- package/esm2022/navigation/logical-cell.interface.mjs +0 -5
- package/esm2022/navigation/logical-row.directive.mjs +0 -131
- package/esm2022/navigation/logical-row.interface.mjs +0 -5
- package/esm2022/navigation/navigable-settings.mjs +0 -5
- package/esm2022/navigation/navigation-cell.interface.mjs +0 -5
- package/esm2022/navigation/navigation-change.interface.mjs +0 -5
- package/esm2022/navigation/navigation-cursor.mjs +0 -224
- package/esm2022/navigation/navigation-metadata.mjs +0 -35
- package/esm2022/navigation/navigation-mode.mjs +0 -5
- package/esm2022/navigation/navigation-model.mjs +0 -138
- package/esm2022/navigation/navigation-row.interface.mjs +0 -5
- package/esm2022/navigation/navigation.service.mjs +0 -998
- package/esm2022/navigation/toolbar-tool-name.mjs +0 -18
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/pdf/export-element.mjs +0 -135
- package/esm2022/pdf/grid-query.mjs +0 -45
- package/esm2022/pdf/pdf-command-tool.directive.mjs +0 -60
- package/esm2022/pdf/pdf-command.directive.mjs +0 -98
- package/esm2022/pdf/pdf-export-event.mjs +0 -16
- package/esm2022/pdf/pdf-margin.component.mjs +0 -38
- package/esm2022/pdf/pdf-margin.interface.mjs +0 -5
- package/esm2022/pdf/pdf-template.directive.mjs +0 -43
- package/esm2022/pdf/pdf.component.mjs +0 -331
- package/esm2022/pdf/pdf.module.mjs +0 -47
- package/esm2022/pdf/pdf.service.mjs +0 -42
- package/esm2022/progress-kendo-angular-grid.mjs +0 -8
- package/esm2022/rendering/cell-loading.template.directive.mjs +0 -39
- package/esm2022/rendering/cell-template.directive.mjs +0 -44
- package/esm2022/rendering/cell.component.mjs +0 -717
- package/esm2022/rendering/common/cell-context.mjs +0 -13
- package/esm2022/rendering/common/col-group.component.mjs +0 -98
- package/esm2022/rendering/common/dom-queries.mjs +0 -162
- package/esm2022/rendering/common/field-accessor.pipe.mjs +0 -48
- package/esm2022/rendering/common/format.pipe.mjs +0 -37
- package/esm2022/rendering/common/loading.component.mjs +0 -60
- package/esm2022/rendering/common/row-args.mjs +0 -5
- package/esm2022/rendering/common/row-class.mjs +0 -5
- package/esm2022/rendering/common/spacer.component.mjs +0 -62
- package/esm2022/rendering/constants.mjs +0 -20
- package/esm2022/rendering/details/detail-collapse-event.mjs +0 -27
- package/esm2022/rendering/details/detail-expand-event.mjs +0 -27
- package/esm2022/rendering/details/detail-template.directive.mjs +0 -61
- package/esm2022/rendering/details/details.service.mjs +0 -56
- package/esm2022/rendering/details-expand.directive.mjs +0 -136
- package/esm2022/rendering/footer/footer-template.directive.mjs +0 -48
- package/esm2022/rendering/footer/footer.component.mjs +0 -266
- package/esm2022/rendering/grid-table.directive.mjs +0 -52
- package/esm2022/rendering/groups-expand.directive.mjs +0 -149
- package/esm2022/rendering/header/header-template.directive.mjs +0 -45
- package/esm2022/rendering/header/header.component.mjs +0 -1055
- package/esm2022/rendering/list.component.mjs +0 -1176
- package/esm2022/rendering/loading-template.directive.mjs +0 -38
- package/esm2022/rendering/no-records-template.directive.mjs +0 -38
- package/esm2022/rendering/rowspan.service.mjs +0 -24
- package/esm2022/rendering/table-body.component.mjs +0 -1250
- package/esm2022/rendering/toolbar/toolbar-focusable.directive.mjs +0 -83
- package/esm2022/rendering/toolbar/toolbar-navigation.service.mjs +0 -58
- package/esm2022/rendering/toolbar/toolbar-position.mjs +0 -5
- package/esm2022/rendering/toolbar/toolbar-template.directive.mjs +0 -55
- package/esm2022/rendering/toolbar/toolbar.component.mjs +0 -159
- package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +0 -272
- package/esm2022/rendering/toolbar/tools/ai-assistant/ai-request-response.service.mjs +0 -624
- package/esm2022/rendering/toolbar/tools/ai-assistant/ai-tool.directive.mjs +0 -273
- package/esm2022/rendering/toolbar/tools/ai-assistant/models.mjs +0 -43
- package/esm2022/rendering/toolbar/tools/ai-assistant/utils.mjs +0 -92
- package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +0 -238
- package/esm2022/rendering/toolbar/tools/filter-command-tool.directive.mjs +0 -219
- package/esm2022/rendering/toolbar/tools/filter-tool-wrapper.component.mjs +0 -151
- package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +0 -223
- package/esm2022/rendering/toolbar/tools/group-command-tool.directive.mjs +0 -208
- package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +0 -451
- package/esm2022/rendering/toolbar/tools/select-all-command-tool.directive.mjs +0 -93
- package/esm2022/rendering/toolbar/tools/sort-command-tool.directive.mjs +0 -222
- package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +0 -245
- package/esm2022/row-reordering/drag-handle-template.directive.mjs +0 -44
- package/esm2022/row-reordering/drag-hint-template.directive.mjs +0 -42
- package/esm2022/row-reordering/row-reorder.service.mjs +0 -280
- package/esm2022/row-reordering/types.mjs +0 -5
- package/esm2022/row-reordering/utils.mjs +0 -88
- package/esm2022/scrolling/content-scroll-event.mjs +0 -5
- package/esm2022/scrolling/row-height.service.mjs +0 -55
- package/esm2022/scrolling/scroll-bottom-event.mjs +0 -5
- package/esm2022/scrolling/scroll-request.service.mjs +0 -24
- package/esm2022/scrolling/scroll-sync.service.mjs +0 -80
- package/esm2022/scrolling/scroller.service.mjs +0 -254
- package/esm2022/scrolling/scrollmode.mjs +0 -5
- package/esm2022/scrolling/suspend.service.mjs +0 -17
- package/esm2022/selection/cell-selection.service.mjs +0 -349
- package/esm2022/selection/marquee.directive.mjs +0 -188
- package/esm2022/selection/pair-set.mjs +0 -158
- package/esm2022/selection/selectall-checkbox.directive.mjs +0 -143
- package/esm2022/selection/selection-checkbox.directive.mjs +0 -132
- package/esm2022/selection/selection-default.mjs +0 -208
- package/esm2022/selection/selection.directive.mjs +0 -53
- package/esm2022/selection/selection.service.mjs +0 -466
- package/esm2022/selection/types.mjs +0 -5
- package/esm2022/state-management/grid-state.models.mjs +0 -26
- package/esm2022/state-management/redo-command-tool.mjs +0 -74
- package/esm2022/state-management/undo-command-tool.mjs +0 -74
- package/esm2022/state-management/undo-redo.directive.mjs +0 -249
- package/esm2022/state-management/undo-redo.service.mjs +0 -21
- package/esm2022/state-management/undo-redo.stack.mjs +0 -238
- package/esm2022/utils.mjs +0 -216
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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
|
-
contextService;
|
|
17
|
-
targetColField;
|
|
18
|
-
targetRowIndex;
|
|
19
|
-
constructor(contextService) {
|
|
20
|
-
this.contextService = contextService;
|
|
21
|
-
}
|
|
22
|
-
createClipboardData(data, columns, options) {
|
|
23
|
-
let result = {
|
|
24
|
-
gridItems: [],
|
|
25
|
-
dataString: ''
|
|
26
|
-
};
|
|
27
|
-
const fieldCols = columns.flatMap(c => c instanceof ColumnComponent && isPresent(c.field) ? [c] : []);
|
|
28
|
-
const clipboardData = { items: [], dataStrings: [] };
|
|
29
|
-
const colFields = fieldCols.map(c => c.field);
|
|
30
|
-
if (options.wholeRow) {
|
|
31
|
-
this.targetColField = fieldCols[0]?.field;
|
|
32
|
-
this.targetRowIndex = data[0].dataRowIndex;
|
|
33
|
-
data.forEach(item => {
|
|
34
|
-
clipboardData.items.push({ dataItem: { ...item.dataItem }, fields: colFields });
|
|
35
|
-
clipboardData.dataStrings.push(this.itemToString(item.dataItem, fieldCols));
|
|
36
|
-
});
|
|
37
|
-
result = {
|
|
38
|
-
gridItems: options.operationType === 'cut' ? clipboardData.items.map(item => {
|
|
39
|
-
item.fields.forEach(field => item.dataItem[field] = null);
|
|
40
|
-
return item;
|
|
41
|
-
}) : [...clipboardData.items],
|
|
42
|
-
dataString: options.copyHeaders ? this.addHeaders(clipboardData.dataStrings.join(`\r\n`), fieldCols) : clipboardData.dataStrings.join(`\n`)
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
if (options.target === 'selection') {
|
|
47
|
-
const { tabular, groups } = this.groupSelection();
|
|
48
|
-
const selectionDirective = this.contextService.grid.selectionDirective;
|
|
49
|
-
const colIdentifier = selectionDirective.columnKey;
|
|
50
|
-
if (tabular) {
|
|
51
|
-
const selectionKeys = groups[0].items.map(item => item.columnKey);
|
|
52
|
-
const selectedFieldCols = columns.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && isPresent((selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i))) ? [c] : []);
|
|
53
|
-
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
54
|
-
this.targetColField = selectedColFields[0];
|
|
55
|
-
result.dataString = data.flatMap(item => {
|
|
56
|
-
const itemString = this.itemToString(item.dataItem, selectedFieldCols);
|
|
57
|
-
const existingItem = isPresent(itemString);
|
|
58
|
-
if (!isPresent(this.targetRowIndex) && isPresent(itemString)) {
|
|
59
|
-
this.targetRowIndex = item.dataRowIndex;
|
|
60
|
-
}
|
|
61
|
-
if (options.operationType === 'cut') {
|
|
62
|
-
selectedColFields.forEach(f => item.dataItem[f] = null);
|
|
63
|
-
}
|
|
64
|
-
result.gridItems.push({
|
|
65
|
-
dataItem: item.dataItem,
|
|
66
|
-
fields: selectedColFields
|
|
67
|
-
});
|
|
68
|
-
return existingItem ? [itemString] : [];
|
|
69
|
-
}).join(`\r\n`);
|
|
70
|
-
if (options.copyHeaders) {
|
|
71
|
-
result.dataString = this.addHeaders(result.dataString, selectedFieldCols);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
else { // split per row (uneven rows)
|
|
75
|
-
const rowIdentifier = selectionDirective.selectionKey;
|
|
76
|
-
result.dataString = data.flatMap(item => {
|
|
77
|
-
// determine cols per item
|
|
78
|
-
const key = rowIdentifier ?
|
|
79
|
-
typeof rowIdentifier === 'string' ? item.dataItem[rowIdentifier] : rowIdentifier({ index: item.dataRowIndex, dataItem: item.dataItem }) :
|
|
80
|
-
item.dataRowIndex;
|
|
81
|
-
const selectionKeys = groups.find(gr => gr.value === key).items.map(item => item.columnKey);
|
|
82
|
-
const selectedFieldCols = columns.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && isPresent(selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i)) ? [c] : []);
|
|
83
|
-
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
84
|
-
if (!this.targetColField) {
|
|
85
|
-
this.targetColField = selectedColFields[0];
|
|
86
|
-
}
|
|
87
|
-
const itemString = this.itemToString(item.dataItem, selectedFieldCols);
|
|
88
|
-
const existingItem = isPresent(itemString);
|
|
89
|
-
if (!isPresent(this.targetRowIndex) && existingItem) {
|
|
90
|
-
this.targetRowIndex = item.dataRowIndex;
|
|
91
|
-
}
|
|
92
|
-
if (existingItem) {
|
|
93
|
-
if (options.operationType === 'cut') {
|
|
94
|
-
selectedColFields.forEach(f => item.dataItem[f] = null);
|
|
95
|
-
}
|
|
96
|
-
result.gridItems.push({
|
|
97
|
-
dataItem: item.dataItem,
|
|
98
|
-
fields: selectedColFields
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
return existingItem ? options.copyHeaders ? [this.addHeaders(itemString, selectedFieldCols)] : [itemString] : [];
|
|
102
|
-
}).join(`\r\n`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
const item = data[0];
|
|
107
|
-
const col = columns[item.colIndex];
|
|
108
|
-
const colField = col.field;
|
|
109
|
-
const title = col.title;
|
|
110
|
-
const copiedData = item.dataItem[colField];
|
|
111
|
-
this.targetRowIndex = item.dataRowIndex;
|
|
112
|
-
this.targetColField = colField;
|
|
113
|
-
if (options.operationType === 'cut' && colField) {
|
|
114
|
-
item.dataItem[colField] = null;
|
|
115
|
-
}
|
|
116
|
-
result = {
|
|
117
|
-
gridItems: [{
|
|
118
|
-
dataItem: item.dataItem,
|
|
119
|
-
fields: colField ? [colField] : []
|
|
120
|
-
}],
|
|
121
|
-
dataString: options.copyHeaders ? [title || colField, copiedData].join(`\r\n`) : colField ? copiedData : ``
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return result;
|
|
126
|
-
}
|
|
127
|
-
getGridData(data, columns, targetType, targetRowIndex, options) {
|
|
128
|
-
const separator = data.includes(`\r\n`) ? `\r\n` : data.includes(`\n`) ? `\n` : null;
|
|
129
|
-
const dataRows = separator ? data.split(separator).filter(rowData => rowData.length) : [data];
|
|
130
|
-
this.targetRowIndex = targetRowIndex;
|
|
131
|
-
if (targetType === 'activeCell') {
|
|
132
|
-
if (options.wholeRow) {
|
|
133
|
-
this.targetColField = columns.find(c => c instanceof ColumnComponent && c.field)?.field;
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
const activeCellIndex = this.contextService.grid.activeCell.colIndex;
|
|
137
|
-
for (let i = 0; i < columns.length; i++) {
|
|
138
|
-
const col = columns[i];
|
|
139
|
-
if (col instanceof ColumnComponent && col.field && i >= activeCellIndex) {
|
|
140
|
-
this.targetColField = col.field;
|
|
141
|
-
break;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
if (options.wholeRow || !options.isCellSelection) {
|
|
148
|
-
this.targetColField = (columns.filter(c => c instanceof ColumnComponent && c.field))[0]['field'];
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
const { groups } = this.groupSelection();
|
|
152
|
-
const selectionDirective = this.contextService.grid.selectionDirective;
|
|
153
|
-
const colIdentifier = selectionDirective.columnKey;
|
|
154
|
-
const visibleCols = columns.filter(c => c.isVisible);
|
|
155
|
-
const selectionKeys = groups[0].items.map(item => item.columnKey);
|
|
156
|
-
const selectedFieldCols = visibleCols.flatMap((c, i) => (c instanceof ColumnComponent && c.field) && isPresent(selectionKeys.find(k => typeof colIdentifier === 'function' ? k === colIdentifier(c, i) : k === i)) ? [c] : []);
|
|
157
|
-
const selectedColFields = selectedFieldCols.map(c => c.field);
|
|
158
|
-
this.targetColField = selectedColFields[0];
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
const items = dataRows.map(rowString => {
|
|
162
|
-
const cells = rowString.includes(`\t`) ? rowString.split(`\t`) : [rowString];
|
|
163
|
-
const colFields = columns.flatMap(c => (c instanceof ColumnComponent) && c.field ? [c.field] : []);
|
|
164
|
-
const targetColFieldIndex = colFields.indexOf(this.targetColField);
|
|
165
|
-
const affectedFields = colFields.slice(targetColFieldIndex, targetColFieldIndex + cells.length);
|
|
166
|
-
const item = {};
|
|
167
|
-
colFields.slice(targetColFieldIndex, targetColFieldIndex + cells.length).forEach((colField, index) => item[colField] = cells[index]);
|
|
168
|
-
return {
|
|
169
|
-
dataItem: item,
|
|
170
|
-
fields: affectedFields
|
|
171
|
-
};
|
|
172
|
-
});
|
|
173
|
-
return items;
|
|
174
|
-
}
|
|
175
|
-
itemToString = (item, cols) => {
|
|
176
|
-
if (!cols.length) {
|
|
177
|
-
return null;
|
|
178
|
-
}
|
|
179
|
-
return cols.map(col => item[col.field]).join(`\t`);
|
|
180
|
-
};
|
|
181
|
-
groupSelection() {
|
|
182
|
-
const selection = this.contextService.grid.selection;
|
|
183
|
-
const groups = groupBy(selection, [{ field: 'itemKey' }])
|
|
184
|
-
.map(gr => {
|
|
185
|
-
gr.items.sort((a, b) => a.columnKey - b.columnKey);
|
|
186
|
-
return gr;
|
|
187
|
-
});
|
|
188
|
-
for (let i = 1; i < groups.length; i++) {
|
|
189
|
-
if (!this.areEqual(groups[i].items, groups[i - 1].items)) {
|
|
190
|
-
return {
|
|
191
|
-
tabular: false,
|
|
192
|
-
groups
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return {
|
|
197
|
-
tabular: true,
|
|
198
|
-
groups
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
areEqual(arr1, arr2) {
|
|
202
|
-
if (arr1.length !== arr2.length) {
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
for (let i = 0; i < arr1.length; i++) {
|
|
206
|
-
if (arr1[i].columnKey !== arr2[i].columnKey) {
|
|
207
|
-
return false;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
return true;
|
|
211
|
-
}
|
|
212
|
-
addHeaders(initialData, cols) {
|
|
213
|
-
const headersRowData = cols.map(c => c.title || c.field).join(`\t`);
|
|
214
|
-
return `${headersRowData}\r\n${initialData}`;
|
|
215
|
-
}
|
|
216
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClipboardService, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
217
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClipboardService });
|
|
218
|
-
}
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClipboardService, decorators: [{
|
|
220
|
-
type: Injectable
|
|
221
|
-
}], ctorParameters: () => [{ type: i1.ContextService }] });
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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 { ColumnsContainer } from "../columns/columns-container";
|
|
7
|
-
import { expandColumns } from "../columns/column-common";
|
|
8
|
-
import { orderBy } from '@progress/kendo-data-query';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
const NO_STICKY = { left: '0px', right: '0px' };
|
|
11
|
-
/**
|
|
12
|
-
* @hidden
|
|
13
|
-
*/
|
|
14
|
-
export class ColumnInfoService {
|
|
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
|
-
get lockedLeafColumns() {
|
|
23
|
-
return this.columnsContainer.lockedLeafColumns;
|
|
24
|
-
}
|
|
25
|
-
get nonLockedLeafColumns() {
|
|
26
|
-
return this.columnsContainer.nonLockedLeafColumns;
|
|
27
|
-
}
|
|
28
|
-
get isLocked() {
|
|
29
|
-
return this.lockedLeafColumns.length > 0 && !this.columnsContainer.isStacked;
|
|
30
|
-
}
|
|
31
|
-
get totalLevels() {
|
|
32
|
-
return this.columnsContainer.totalLevels;
|
|
33
|
-
}
|
|
34
|
-
get hiddenColumns() {
|
|
35
|
-
if (!this.list) {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
return this.list().filter(column => !column.isVisible);
|
|
39
|
-
}
|
|
40
|
-
get leafNamedColumns() {
|
|
41
|
-
if (!this.list) {
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
const columns = expandColumns(this.list().filterSort(column => !column.isColumnGroup))
|
|
45
|
-
.filter(column => column.matchesMedia && column.displayTitle);
|
|
46
|
-
return orderBy(columns, [{ field: 'locked', dir: 'desc' }]);
|
|
47
|
-
}
|
|
48
|
-
get unlockedRootCount() {
|
|
49
|
-
return this.list().rootColumns().filter(column => !column.locked && column.isVisible).length;
|
|
50
|
-
}
|
|
51
|
-
stickyColumnsStyles(column) {
|
|
52
|
-
this.stickyColumns = this.list().rootColumns().filter(column => column.sticky && !column.locked && column.isVisible);
|
|
53
|
-
if (this.stickyColumns.length === 0) {
|
|
54
|
-
return NO_STICKY;
|
|
55
|
-
}
|
|
56
|
-
const result = this.stickyColumns.reduce((acc, curr) => {
|
|
57
|
-
if (curr.leafIndex < column.leafIndex) {
|
|
58
|
-
acc.left += curr.width;
|
|
59
|
-
}
|
|
60
|
-
else if (curr.leafIndex > column.leafIndex) {
|
|
61
|
-
acc.right += curr.width;
|
|
62
|
-
}
|
|
63
|
-
return acc;
|
|
64
|
-
}, { left: 0, right: 0 });
|
|
65
|
-
return {
|
|
66
|
-
left: `${result.left}px`,
|
|
67
|
-
right: `${result.right}px`
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
init(columns, list) {
|
|
71
|
-
this.columnsContainer = columns;
|
|
72
|
-
this.list = list;
|
|
73
|
-
this.stickyColumns = null;
|
|
74
|
-
}
|
|
75
|
-
changeVisibility(columns) {
|
|
76
|
-
this.stickyColumns = null;
|
|
77
|
-
this.visibilityChange.emit(columns);
|
|
78
|
-
}
|
|
79
|
-
changeLocked(columns) {
|
|
80
|
-
this.stickyColumns = null;
|
|
81
|
-
this.lockedChange.emit(columns);
|
|
82
|
-
}
|
|
83
|
-
changeStuck(columns) {
|
|
84
|
-
this.stickyColumns = null;
|
|
85
|
-
this.stickyChange.emit(columns);
|
|
86
|
-
}
|
|
87
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnInfoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
88
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnInfoService });
|
|
89
|
-
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnInfoService, decorators: [{
|
|
91
|
-
type: Injectable
|
|
92
|
-
}] });
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export function defaultTrackBy(index, item) {
|
|
9
|
-
if (item.type === 'data' && item.isEditing) {
|
|
10
|
-
return item.data;
|
|
11
|
-
}
|
|
12
|
-
return index;
|
|
13
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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
|
-
shiftKeyup = new EventEmitter();
|
|
17
|
-
focus = new EventEmitter();
|
|
18
|
-
focusIn = new EventEmitter();
|
|
19
|
-
focusOut = new EventEmitter();
|
|
20
|
-
windowBlur = new EventEmitter();
|
|
21
|
-
paste = new EventEmitter();
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DomEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DomEventsService });
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DomEventsService, decorators: [{
|
|
26
|
-
type: Injectable
|
|
27
|
-
}] });
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export const ColumnMenuErrorMessages = {
|
|
9
|
-
autoSizeColumn: `The auto size column does not work with enabled virtual columns.
|
|
10
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/accessories/column-menu/#toc-autosize-column-item.`,
|
|
11
|
-
autoSizeAllColumns: `The auto size all columns does not work with enabled virtual columns.
|
|
12
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/accessories/column-menu/#toc-autosize-all-columns-item.`,
|
|
13
|
-
serviceInput: `The service input of the predefined column menu components is mandatory.
|
|
14
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/accessories/column-menu/#toc-customizing-the-content.`
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* @hidden
|
|
18
|
-
*/
|
|
19
|
-
export const ClipboardErrorMessages = {
|
|
20
|
-
activeCellNavigable: `Grid must be navigable to use "activeCell" as clipboard target type.
|
|
21
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/accessories/clipboard/#toc-active-cell.`,
|
|
22
|
-
selectionSelectable: `Grid must be selectable to use "selection" as clipboard target type.
|
|
23
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/accessories/clipboard/#toc-current-selection.`
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* @hidden
|
|
27
|
-
*/
|
|
28
|
-
export const ColumnConfigurationErrorMessages = {
|
|
29
|
-
fieldName: (field) => `Grid column field name '${field}' does not look like a valid JavaScript identifier.
|
|
30
|
-
Identifiers can contain only alphanumeric characters (including "$" or "_"), and may not start with a digit.
|
|
31
|
-
Please use only valid identifier names to ensure error-free operation.`,
|
|
32
|
-
width: (value, parsedValue) => `Expected numeric value for column width, but got a string "${value}". Treating as ${parsedValue}px.`,
|
|
33
|
-
invalidColumn: (column) => `Invalid column ${column}.`,
|
|
34
|
-
requiredWidth: (columnType) => `${columnType} columns feature requires all columns to have set width.
|
|
35
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/columns/${columnType.toLowerCase()}.`,
|
|
36
|
-
requiredScroll: (columnType) => `${columnType} columns are only supported when scrolling is enabled.
|
|
37
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/columns/${columnType.toLowerCase()}/`,
|
|
38
|
-
groupColumnContent: 'ColumnGroupComponent should contain ColumnComponent or CommandColumnComponent.',
|
|
39
|
-
lockedParent: 'Locked child columns require their parent columns to be locked.',
|
|
40
|
-
columnNested: 'Columns can be nested only inside ColumnGroupComponent',
|
|
41
|
-
nestedInside: (nestedColumnNameType, parentColumnType) => `${nestedColumnNameType} cannot be nested inside ${parentColumnType}.`,
|
|
42
|
-
cellRowspanNonBoundColumns: 'cellRowspan must be a function for non-bound columns.',
|
|
43
|
-
cellRowspanSpanGroupedColumns: 'cellRowspan is not supported for SpanColumn and GroupColumn.',
|
|
44
|
-
cellRowspan: `cellRowspan must be a function or boolean.`
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* @hidden
|
|
48
|
-
*/
|
|
49
|
-
export const GridConfigurationErrorMessages = {
|
|
50
|
-
functionType: (propName, fn) => `${propName} must be a function, but received ${JSON.stringify(fn)}.`,
|
|
51
|
-
incompatibleFeatures: (feat1Name, feat2Name) => `'Having both ${feat1Name} and ${feat2Name} is not supported.'`,
|
|
52
|
-
nonLockedColumnPresent: 'There should be at least one non-locked column. See https://www.telerik.com/kendo-angular-ui/components/grid/columns/locked/#toc-known-limitations',
|
|
53
|
-
focusNavigable: 'The Grid should be configured as navigable to control focus. See https://www.telerik.com/kendo-angular-ui/components/grid/keyboard-navigation/.',
|
|
54
|
-
expandCollapseMethods: (expandMethodName, collapseMethodName, directiveName, callbackName) => `The ${expandMethodName} and ${collapseMethodName} methods should not be called
|
|
55
|
-
when using the ${directiveName} directive or the ${callbackName} callback.
|
|
56
|
-
These methods are provided only for backwards compatibility with legacy versions.`,
|
|
57
|
-
requiredEditService: `The default edit service of the editing directives works only when binding to plain array.
|
|
58
|
-
Please provide an editService. See https://www.telerik.com/kendo-angular-ui/components/grid/editing/editing-directives/#toc-custom-editing-service.`,
|
|
59
|
-
requiredModule: (exportedType, moduleName, componentSelector) => `Creating ${exportedType} requires including the ${moduleName} and adding the ${componentSelector} component.`,
|
|
60
|
-
unsupportedMethod: (methodName, suggestedMethodName) => `Using ${methodName} in this context is not supported. Use ${suggestedMethodName} instead.`,
|
|
61
|
-
unsupportedToolbarConfig: `
|
|
62
|
-
Defining both a toolbar template and a ToolBarComponent within the Grid is not supported.
|
|
63
|
-
Please use either the ToolBarComponent or a custom template.`
|
|
64
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { EventEmitter } from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
9
|
-
export class ZoneAwareEventEmitter extends EventEmitter {
|
|
10
|
-
ngZone;
|
|
11
|
-
constructor(ngZone, isAsync = false) {
|
|
12
|
-
super(isAsync);
|
|
13
|
-
this.ngZone = ngZone;
|
|
14
|
-
}
|
|
15
|
-
subscribe(generatorOrNext, error, complete) {
|
|
16
|
-
let schedulerFn;
|
|
17
|
-
let errorFn = (_) => null;
|
|
18
|
-
let completeFn = () => null;
|
|
19
|
-
if (generatorOrNext && typeof generatorOrNext === 'object') {
|
|
20
|
-
schedulerFn = (value) => { this.ngZone.run(() => generatorOrNext.next(value)); };
|
|
21
|
-
if (generatorOrNext.error) {
|
|
22
|
-
errorFn = (err) => { this.ngZone.run(() => generatorOrNext.error(err)); };
|
|
23
|
-
}
|
|
24
|
-
if (generatorOrNext.complete) {
|
|
25
|
-
completeFn = () => { this.ngZone.run(() => generatorOrNext.complete()); };
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
schedulerFn = (value) => { this.ngZone.run(() => generatorOrNext(value)); };
|
|
30
|
-
if (error) {
|
|
31
|
-
errorFn = (err) => { this.ngZone.run(() => error(err)); };
|
|
32
|
-
}
|
|
33
|
-
if (complete) {
|
|
34
|
-
completeFn = () => { this.ngZone.run(() => complete()); };
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return super.subscribe(schedulerFn, errorFn, completeFn);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { isPresent } from "../utils";
|
|
6
|
-
import { isCompositeFilterDescriptor } from "@progress/kendo-data-query";
|
|
7
|
-
const areDifferent = (a, b) => a.field !== b.field || a.operator !== b.operator || a.value !== b.value;
|
|
8
|
-
const isChanged = (a, b) => {
|
|
9
|
-
if (a.length !== b.length) {
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
for (let idx = 0, len = a.length; idx < len; idx++) {
|
|
13
|
-
const prev = a[idx];
|
|
14
|
-
const curr = b[idx];
|
|
15
|
-
if (isCompositeFilterDescriptor(prev)) {
|
|
16
|
-
if (diffFilters(prev, curr[idx])) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
else if (areDifferent(prev, curr)) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
25
|
-
};
|
|
26
|
-
const copyObject = (obj) => {
|
|
27
|
-
const result = {};
|
|
28
|
-
Object.assign(result, obj);
|
|
29
|
-
if (obj.constructor !== Object) {
|
|
30
|
-
const proto = obj.constructor.prototype;
|
|
31
|
-
Object.getOwnPropertyNames(proto).forEach((property) => {
|
|
32
|
-
if (property !== 'constructor' && property !== '__proto__' && property !== 'prototype' && proto.hasOwnProperty(property)) {
|
|
33
|
-
result[property] = obj[property];
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
return result;
|
|
38
|
-
};
|
|
39
|
-
const cloneFilter = (filter) => copyObject(filter);
|
|
40
|
-
/**
|
|
41
|
-
* @hidden
|
|
42
|
-
*/
|
|
43
|
-
export const cloneFilters = (filter) => {
|
|
44
|
-
if (!filter) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (isCompositeFilterDescriptor(filter)) {
|
|
48
|
-
return {
|
|
49
|
-
filters: cloneFilters(filter.filters),
|
|
50
|
-
logic: filter.logic
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
else if (Array.isArray(filter)) {
|
|
54
|
-
return filter.map(cloneFilters);
|
|
55
|
-
}
|
|
56
|
-
return cloneFilter(filter);
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* @hidden
|
|
60
|
-
*/
|
|
61
|
-
export const diffFilters = (a, b) => {
|
|
62
|
-
if (isPresent(a) && !isPresent(b)) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
if (!isPresent(a) && isPresent(b)) {
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
return isPresent(a) && isPresent(b) && isChanged(a.filters, b.filters);
|
|
69
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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 * as i0 from "@angular/core";
|
|
7
|
-
// Registry to track active Grid instances and their indices
|
|
8
|
-
const activeGridIndices = new Set();
|
|
9
|
-
// Get the next available grid index (reuses freed indices)
|
|
10
|
-
function getNextGridIndex() {
|
|
11
|
-
let index = 0;
|
|
12
|
-
while (activeGridIndices.has(index)) {
|
|
13
|
-
index++;
|
|
14
|
-
}
|
|
15
|
-
activeGridIndices.add(index);
|
|
16
|
-
return index;
|
|
17
|
-
}
|
|
18
|
-
// Release a grid index when the Grid is destroyed
|
|
19
|
-
function releaseGridIndex(index) {
|
|
20
|
-
activeGridIndices.delete(index);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* @hidden
|
|
24
|
-
*/
|
|
25
|
-
export class IdService {
|
|
26
|
-
prefix;
|
|
27
|
-
gridIndex;
|
|
28
|
-
columnCounter = 0;
|
|
29
|
-
constructor() {
|
|
30
|
-
this.gridIndex = getNextGridIndex();
|
|
31
|
-
this.prefix = `k-grid${this.gridIndex}`;
|
|
32
|
-
}
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
releaseGridIndex(this.gridIndex);
|
|
35
|
-
}
|
|
36
|
-
gridId() {
|
|
37
|
-
return this.prefix;
|
|
38
|
-
}
|
|
39
|
-
cellId(rowIndex, colIndex) {
|
|
40
|
-
return `${this.prefix}-r${rowIndex}c${colIndex}`;
|
|
41
|
-
}
|
|
42
|
-
selectionCheckboxId(itemIndex) {
|
|
43
|
-
return `${this.prefix}-checkbox${itemIndex}`;
|
|
44
|
-
}
|
|
45
|
-
selectAllCheckboxId() {
|
|
46
|
-
return `${this.prefix}-select-all`;
|
|
47
|
-
}
|
|
48
|
-
columnId(colIndex) {
|
|
49
|
-
return `${this.prefix}-col${colIndex}`;
|
|
50
|
-
}
|
|
51
|
-
nextColumnId() {
|
|
52
|
-
return `${this.prefix}-col${this.columnCounter++}`;
|
|
53
|
-
}
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IdService });
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IdService, decorators: [{
|
|
58
|
-
type: Injectable
|
|
59
|
-
}], ctorParameters: () => [] });
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
const normalizeSettings = ({ buttonCount = 10, info = true, type = 'numeric', pageSizes = false, previousNext = true, responsive = true, position = 'bottom' }) => ({
|
|
9
|
-
buttonCount,
|
|
10
|
-
info,
|
|
11
|
-
pageSizes,
|
|
12
|
-
previousNext,
|
|
13
|
-
type,
|
|
14
|
-
responsive,
|
|
15
|
-
position
|
|
16
|
-
});
|
|
17
|
-
/**
|
|
18
|
-
* @hidden
|
|
19
|
-
*/
|
|
20
|
-
export const normalize = (settings) => normalizeSettings(settings === true ? {} : settings);
|