@progress/kendo-angular-grid 19.3.1-develop.4 → 20.0.0-develop.2
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/codemods/template-transformer/index.js +94 -0
- package/codemods/utils.js +553 -0
- package/codemods/v20/grid-kendogridgroupbinding.js +51 -0
- package/common/provider.service.d.ts +3 -2
- package/databinding.directive.d.ts +0 -3
- package/directives.d.ts +3 -4
- package/esm2022/common/error-messages.mjs +0 -6
- package/esm2022/common/provider.service.mjs +1 -0
- package/esm2022/data/data.iterators.mjs +0 -7
- package/esm2022/databinding.directive.mjs +4 -4
- package/esm2022/directives.mjs +0 -3
- package/esm2022/grid.component.mjs +64 -31
- package/esm2022/grid.module.mjs +15 -16
- package/esm2022/grouping/group-header.component.mjs +6 -3
- package/esm2022/index.mjs +0 -1
- package/esm2022/navigation/navigation-metadata.mjs +4 -2
- package/esm2022/navigation/navigation.service.mjs +4 -2
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pdf/pdf.component.mjs +16 -0
- package/esm2022/pdf/pdf.service.mjs +1 -0
- package/esm2022/rendering/list.component.mjs +188 -92
- package/esm2022/rendering/table-body.component.mjs +19 -5
- package/esm2022/scrolling/row-height.service.mjs +23 -65
- package/esm2022/scrolling/scroller.service.mjs +175 -35
- package/fesm2022/progress-kendo-angular-grid.mjs +509 -588
- package/grid.component.d.ts +8 -6
- package/grid.module.d.ts +14 -15
- package/grouping/group-header.component.d.ts +1 -1
- package/index.d.ts +0 -2
- package/navigation/navigation-metadata.d.ts +2 -1
- package/package.json +36 -21
- package/pdf/pdf.component.d.ts +1 -0
- package/pdf/pdf.service.d.ts +1 -0
- package/rendering/list.component.d.ts +11 -5
- package/rendering/table-body.component.d.ts +3 -2
- package/schematics/ngAdd/index.js +4 -4
- package/scrolling/row-height.service.d.ts +3 -8
- package/scrolling/scroller.service.d.ts +35 -9
- package/esm2022/grouping/group-scroll-binding.directive.mjs +0 -347
- package/esm2022/grouping/virtual-group-result.interface.mjs +0 -5
- package/grouping/group-scroll-binding.directive.d.ts +0 -85
- package/grouping/virtual-group-result.interface.d.ts +0 -18
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
"use strict";
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
const index_1 = require("../template-transformer/index");
|
|
31
|
+
const utils_1 = require("../utils");
|
|
32
|
+
const fs = __importStar(require("fs"));
|
|
33
|
+
function default_1(fileInfo, api) {
|
|
34
|
+
const filePath = fileInfo.path;
|
|
35
|
+
// Check if the file is an HTML file
|
|
36
|
+
if (filePath.endsWith('.html')) {
|
|
37
|
+
let updatedContent = fileInfo.source;
|
|
38
|
+
updatedContent = (0, utils_1.htmlAttributeTransformer)({ ...fileInfo, source: updatedContent }, 'kendo-grid', 'kendoGridGroupBinding', 'kendoGridBinding');
|
|
39
|
+
// Only write to file once after all transformations
|
|
40
|
+
fs.writeFileSync(filePath, updatedContent, 'utf-8');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const j = api.jscodeshift;
|
|
44
|
+
const rootSource = j(fileInfo.source);
|
|
45
|
+
(0, index_1.templateTransformer)(rootSource, j, (root) => {
|
|
46
|
+
// Using node-html-parser to parse and manipulate the template: https://github.com/taoqf/node-html-parser
|
|
47
|
+
(0, utils_1.templateAttributeTransformer)(root, 'kendo-grid', 'kendoGridGroupBinding', 'kendoGridBinding');
|
|
48
|
+
});
|
|
49
|
+
return rootSource.toSource();
|
|
50
|
+
}
|
|
51
|
+
exports.default = default_1;
|
|
@@ -6,8 +6,8 @@ import { Renderer2 } from '@angular/core';
|
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import type { GridComponent } from '../grid.component';
|
|
8
8
|
import { GridToolbarNavigationService } from '../rendering/toolbar/toolbar-navigation.service';
|
|
9
|
-
import type { GroupBindingDirective } from '../grouping/group-scroll-binding.directive';
|
|
10
9
|
import type { DataBindingDirective } from '../databinding.directive';
|
|
10
|
+
import type { ScrollerService } from '../scrolling/scroller.service';
|
|
11
11
|
import { HighlightDirective } from '../highlight/highlight.directive';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
/**
|
|
@@ -26,7 +26,8 @@ export declare class ContextService {
|
|
|
26
26
|
topToolbarNavigation: GridToolbarNavigationService;
|
|
27
27
|
bottomToolbarNavigation: GridToolbarNavigationService;
|
|
28
28
|
navigable: boolean;
|
|
29
|
-
|
|
29
|
+
scroller: ScrollerService;
|
|
30
|
+
dataBindingDirective: DataBindingDirective;
|
|
30
31
|
highlightDirective: HighlightDirective;
|
|
31
32
|
constructor(renderer: Renderer2, localization: LocalizationService);
|
|
32
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<ContextService, never>;
|
package/directives.d.ts
CHANGED
|
@@ -126,7 +126,6 @@ import { InCellEditingDirective } from "./editing-directives/in-cell-editing.dir
|
|
|
126
126
|
import { ExternalEditingDirective } from "./editing-directives/external-editing.directive";
|
|
127
127
|
import { ExpandDetailsDirective } from "./rendering/details-expand.directive";
|
|
128
128
|
import { ExpandGroupDirective } from "./rendering/groups-expand.directive";
|
|
129
|
-
import { GroupBindingDirective } from "./grouping/group-scroll-binding.directive";
|
|
130
129
|
import { GridMarqueeDirective } from "./selection/marquee.directive";
|
|
131
130
|
import { GridSpacerComponent } from "./rendering/common/spacer.component";
|
|
132
131
|
import { GridToolbarFocusableDirective } from "./rendering/toolbar/toolbar-focusable.directive";
|
|
@@ -240,13 +239,13 @@ export declare const KENDO_GRID_BODY_EXPORTS: readonly [typeof CommandColumnComp
|
|
|
240
239
|
*
|
|
241
240
|
* Utility array that contains the Grid module declarations
|
|
242
241
|
*/
|
|
243
|
-
export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof HighlightDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof
|
|
242
|
+
export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof HighlightDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridMarqueeDirective, typeof GridSpacerComponent, typeof GridToolbarFocusableDirective, typeof StatusBarComponent, typeof StatusBarTemplateDirective, typeof GridClipboardDirective, typeof FormComponent, typeof DialogFormComponent, typeof FormFormFieldComponent, typeof UndoRedoDirective];
|
|
244
243
|
/**
|
|
245
244
|
* @hidden
|
|
246
245
|
*
|
|
247
246
|
* Utility array that contains the Grid module exports
|
|
248
247
|
*/
|
|
249
|
-
export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, typeof CustomMessagesComponent, typeof
|
|
248
|
+
export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, typeof CustomMessagesComponent, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective];
|
|
250
249
|
/**
|
|
251
250
|
* @hidden
|
|
252
251
|
*
|
|
@@ -271,4 +270,4 @@ export declare const KENDO_GRID_PDF_EXPORT: readonly [typeof PDFComponent, typeo
|
|
|
271
270
|
* export class AppModule {}
|
|
272
271
|
* ```
|
|
273
272
|
*/
|
|
274
|
-
export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, typeof CustomMessagesComponent, typeof
|
|
273
|
+
export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, typeof CustomMessagesComponent, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof ExcelColumnComponent, typeof ExcelColumnGroupComponent, typeof ExcelFooterTemplateDirective, typeof ExcelGroupFooterTemplateDirective, typeof ExcelGroupHeaderColumnTemplateDirective, typeof ExcelGroupHeaderTemplateDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
|
|
@@ -50,9 +50,6 @@ export const GridConfigurationErrorMessages = {
|
|
|
50
50
|
functionType: (propName, fn) => `${propName} must be a function, but received ${JSON.stringify(fn)}.`,
|
|
51
51
|
incompatibleFeatures: (feat1Name, feat2Name) => `'Having both ${feat1Name} and ${feat2Name} is not supported.'`,
|
|
52
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
|
-
rowHeightVirtual: `The virtual scrolling functionality requires setting the rowHeight (and detailRowHeight when there are detail rows).
|
|
54
|
-
Row height and detail row height settings should be set only when virtual scrolling mode is enabled.
|
|
55
|
-
See https://www.telerik.com/kendo-angular-ui/components/grid/scroll-modes/virtual/#toc-getting-started.`,
|
|
56
53
|
focusNavigable: 'The Grid should be configured as navigable to control focus. See https://www.telerik.com/kendo-angular-ui/components/grid/keyboard-navigation/.',
|
|
57
54
|
expandCollapseMethods: (expandMethodName, collapseMethodName, directiveName, callbackName) => `The ${expandMethodName} and ${collapseMethodName} methods should not be called
|
|
58
55
|
when using the ${directiveName} directive or the ${callbackName} callback.
|
|
@@ -60,9 +57,6 @@ export const GridConfigurationErrorMessages = {
|
|
|
60
57
|
requiredEditService: `The default edit service of the editing directives works only when binding to plain array.
|
|
61
58
|
Please provide an editService. See https://www.telerik.com/kendo-angular-ui/components/grid/editing/editing-directives/#toc-custom-editing-service.`,
|
|
62
59
|
requiredModule: (exportedType, moduleName, componentSelector) => `Creating ${exportedType} requires including the ${moduleName} and adding the ${componentSelector} component.`,
|
|
63
|
-
groupBindingDirectives: `Using the "kendoGridGroupBinding" directive in combination with the "kendoGridExpandGroupBy" directive
|
|
64
|
-
or the "isGroupExpanded" callback is not supported. To use grouping with the "kendoGridGroupBinding" directive,
|
|
65
|
-
set the Grid "groupable" property to "true".`,
|
|
66
60
|
unsupportedMethod: (methodName, suggestedMethodName) => `Using ${methodName} in this context is not supported. Use ${suggestedMethodName} instead.`,
|
|
67
61
|
unsupportedToolbarConfig: `
|
|
68
62
|
Defining both a toolbar template and a ToolBarComponent within the Grid is not supported.
|
|
@@ -8,10 +8,6 @@ const isGroupItem = (source) => {
|
|
|
8
8
|
return source.items !== undefined &&
|
|
9
9
|
source.field !== undefined;
|
|
10
10
|
};
|
|
11
|
-
const isVirtualGroupItem = (source) => {
|
|
12
|
-
return source.offset !== undefined &&
|
|
13
|
-
source.skipHeader !== undefined;
|
|
14
|
-
};
|
|
15
11
|
const flattenGroups = (groups) => (groups.reduce((acc, curr) => {
|
|
16
12
|
if (isGroupItem(curr)) {
|
|
17
13
|
return acc.concat(flattenGroups(curr.items));
|
|
@@ -34,9 +30,6 @@ export const itemAt = (data, index) => {
|
|
|
34
30
|
export const getIterator = (data, { footers, level, dataIndex, parentGroupIndex, groupIndex, parentGroup }) => {
|
|
35
31
|
const first = data[0];
|
|
36
32
|
if (isPresent(first) && isGroupItem(first)) {
|
|
37
|
-
if (isVirtualGroupItem(first)) {
|
|
38
|
-
groupIndex = isPresent(first.offset) ? first.offset : groupIndex;
|
|
39
|
-
}
|
|
40
33
|
return new GroupIterator(data, footers, level, dataIndex, parentGroupIndex, groupIndex, parentGroup);
|
|
41
34
|
}
|
|
42
35
|
return new ItemIterator(data, dataIndex, parentGroupIndex, parentGroup);
|
|
@@ -132,9 +132,6 @@ export class DataBindingDirective {
|
|
|
132
132
|
this.rowReorderSubscription.unsubscribe();
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
/**
|
|
136
|
-
* @hidden
|
|
137
|
-
*/
|
|
138
135
|
ngOnChanges(changes) {
|
|
139
136
|
if (anyChanged(["pageSize", "skip", "sort", "group", "filter"], changes)) {
|
|
140
137
|
this.rebind();
|
|
@@ -177,7 +174,7 @@ export class DataBindingDirective {
|
|
|
177
174
|
}
|
|
178
175
|
}
|
|
179
176
|
process(state) {
|
|
180
|
-
if (this.grid.isVirtual && (!isPresent(state.take) || state.take === 0)) {
|
|
177
|
+
if (this.grid.isVirtual && ((!isPresent(state.take) || state.take === 0) && !state.group?.length)) {
|
|
181
178
|
return {
|
|
182
179
|
data: [],
|
|
183
180
|
total: this.originalData?.length || 0
|
|
@@ -193,6 +190,9 @@ export class DataBindingDirective {
|
|
|
193
190
|
this.filter = filter;
|
|
194
191
|
}
|
|
195
192
|
updateGridData() {
|
|
193
|
+
if (this.grid.isVirtual && !this.grid.pageable && this.state.group?.length) {
|
|
194
|
+
this.state.take = undefined;
|
|
195
|
+
}
|
|
196
196
|
this.grid.data = this.process(this.state);
|
|
197
197
|
this.grid.updateNavigationMetadata();
|
|
198
198
|
this.dataChanged = false;
|
package/esm2022/directives.mjs
CHANGED
|
@@ -134,7 +134,6 @@ import { InCellEditingDirective } from "./editing-directives/in-cell-editing.dir
|
|
|
134
134
|
import { ExternalEditingDirective } from "./editing-directives/external-editing.directive";
|
|
135
135
|
import { ExpandDetailsDirective } from "./rendering/details-expand.directive";
|
|
136
136
|
import { ExpandGroupDirective } from "./rendering/groups-expand.directive";
|
|
137
|
-
import { GroupBindingDirective } from "./grouping/group-scroll-binding.directive";
|
|
138
137
|
import { GridMarqueeDirective } from "./selection/marquee.directive";
|
|
139
138
|
import { GridSpacerComponent } from "./rendering/common/spacer.component";
|
|
140
139
|
import { GridToolbarFocusableDirective } from "./rendering/toolbar/toolbar-focusable.directive";
|
|
@@ -414,7 +413,6 @@ export const KENDO_GRID_DECLARATIONS = [
|
|
|
414
413
|
ExternalEditingDirective,
|
|
415
414
|
ExpandDetailsDirective,
|
|
416
415
|
ExpandGroupDirective,
|
|
417
|
-
GroupBindingDirective,
|
|
418
416
|
GridMarqueeDirective,
|
|
419
417
|
GridSpacerComponent,
|
|
420
418
|
GridToolbarFocusableDirective,
|
|
@@ -441,7 +439,6 @@ export const KENDO_GRID_EXPORTS = [
|
|
|
441
439
|
SelectionDirective,
|
|
442
440
|
HighlightDirective,
|
|
443
441
|
CustomMessagesComponent,
|
|
444
|
-
GroupBindingDirective,
|
|
445
442
|
TemplateEditingDirective,
|
|
446
443
|
ReactiveEditingDirective,
|
|
447
444
|
InCellEditingDirective,
|
|
@@ -71,7 +71,7 @@ import { CellLoadingTemplateDirective } from './rendering/cell-loading.template.
|
|
|
71
71
|
import { ContextService } from './common/provider.service';
|
|
72
72
|
import { LoadingTemplateDirective } from './rendering/loading-template.directive';
|
|
73
73
|
import { SizingOptionsService } from './layout/sizing-options.service';
|
|
74
|
-
import { DraggableDirective, WatermarkOverlayComponent, guid, shouldShowValidationUI, getLicenseMessage } from '@progress/kendo-angular-common';
|
|
74
|
+
import { DraggableDirective, ResizeSensorComponent, WatermarkOverlayComponent, guid, shouldShowValidationUI, getLicenseMessage } from '@progress/kendo-angular-common';
|
|
75
75
|
import { DragTargetContainerDirective, DropTargetContainerDirective } from '@progress/kendo-angular-utils';
|
|
76
76
|
import { RowReorderService } from './row-reordering/row-reorder.service';
|
|
77
77
|
import { StatusBarTemplateDirective } from './aggregates/status-bar-template.directive';
|
|
@@ -271,9 +271,8 @@ export class GridComponent {
|
|
|
271
271
|
*/
|
|
272
272
|
height;
|
|
273
273
|
/**
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
* Set `rowHeight` to match the actual DOM row height. The property does not change the height of the rows in the UI.
|
|
274
|
+
* Sets the `style.height` attribute of each Grid data or group header/footer row (`tr`) element in the DOM in pixels.
|
|
275
|
+
* If some row cells have content that requires more space, the row automatically expands to fit the content.
|
|
277
276
|
*/
|
|
278
277
|
rowHeight;
|
|
279
278
|
/**
|
|
@@ -283,9 +282,8 @@ export class GridComponent {
|
|
|
283
282
|
*/
|
|
284
283
|
adaptiveMode = 'none';
|
|
285
284
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
* Set `detailRowHeight` to match the actual DOM detail row height. The property does not change the height of the rows in the UI.
|
|
285
|
+
* Sets the `style.height` attribute of each Grid detail row (`tr.k-detail-row`) element in the DOM in pixels.
|
|
286
|
+
* If the detail row has content that requires more space, the row automatically expands to fit the content.
|
|
289
287
|
*/
|
|
290
288
|
detailRowHeight;
|
|
291
289
|
/**
|
|
@@ -396,14 +394,14 @@ export class GridComponent {
|
|
|
396
394
|
*/
|
|
397
395
|
get showTopPager() {
|
|
398
396
|
const position = this.pageable.position;
|
|
399
|
-
return
|
|
397
|
+
return this.pageable !== false && ['top', 'both'].indexOf(position) > -1;
|
|
400
398
|
}
|
|
401
399
|
/**
|
|
402
400
|
* @hidden
|
|
403
401
|
*/
|
|
404
402
|
get showBottomPager() {
|
|
405
403
|
const position = this.pageable.position;
|
|
406
|
-
return
|
|
404
|
+
return this.pageable !== false && position !== 'top';
|
|
407
405
|
}
|
|
408
406
|
/**
|
|
409
407
|
* @hidden
|
|
@@ -868,7 +866,7 @@ export class GridComponent {
|
|
|
868
866
|
cellLoadingTemplateChildren;
|
|
869
867
|
get cellLoadingTemplate() {
|
|
870
868
|
if (this._cellLoadingTemplate) {
|
|
871
|
-
return this.
|
|
869
|
+
return this._cellLoadingTemplate;
|
|
872
870
|
}
|
|
873
871
|
return this.cellLoadingTemplateChildren ? this.cellLoadingTemplateChildren.first : undefined;
|
|
874
872
|
}
|
|
@@ -1484,6 +1482,15 @@ export class GridComponent {
|
|
|
1484
1482
|
}
|
|
1485
1483
|
this.columnRangeChangeSubscription.unsubscribe();
|
|
1486
1484
|
}
|
|
1485
|
+
/**
|
|
1486
|
+
* @hidden
|
|
1487
|
+
*/
|
|
1488
|
+
onResize() {
|
|
1489
|
+
if (this.isVirtual) {
|
|
1490
|
+
this.ctx.scroller.update();
|
|
1491
|
+
this.listComponent.resetNavigationViewport();
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1487
1494
|
/**
|
|
1488
1495
|
* @hidden
|
|
1489
1496
|
*/
|
|
@@ -2026,12 +2033,6 @@ export class GridComponent {
|
|
|
2026
2033
|
if (this.columnList.filter(x => x.locked && x.parent && !x.parent.isLocked).length) {
|
|
2027
2034
|
throw new Error(ColumnConfigurationErrorMessages.lockedParent);
|
|
2028
2035
|
}
|
|
2029
|
-
if (this.detailRowHeight && !this.isVirtual) {
|
|
2030
|
-
console.warn(GridConfigurationErrorMessages.rowHeightVirtual);
|
|
2031
|
-
}
|
|
2032
|
-
if (!this.detailRowHeight && this.isVirtual && this.detailTemplate) {
|
|
2033
|
-
console.warn(GridConfigurationErrorMessages.rowHeightVirtual);
|
|
2034
|
-
}
|
|
2035
2036
|
if (!this.isStacked && stickyColumns && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
2036
2037
|
console.warn(ColumnConfigurationErrorMessages.requiredWidth('Sticky'));
|
|
2037
2038
|
}
|
|
@@ -2099,11 +2100,21 @@ export class GridComponent {
|
|
|
2099
2100
|
}
|
|
2100
2101
|
attachStateChangesEmitter() {
|
|
2101
2102
|
this.stateChangeSubscription =
|
|
2102
|
-
merge(this.pageChange.pipe(
|
|
2103
|
+
merge(this.pageChange.pipe(tap(() => {
|
|
2104
|
+
if (this.pageable) {
|
|
2105
|
+
this.ctx.scroller?.reset();
|
|
2106
|
+
}
|
|
2107
|
+
}), map(x => ({
|
|
2103
2108
|
filter: this.filter, group: this.group, skip: x.skip, sort: this.sort, take: x.take
|
|
2104
|
-
}))), this.sortChange.pipe(
|
|
2105
|
-
|
|
2106
|
-
}))), this.
|
|
2109
|
+
}))), this.sortChange.pipe(tap(() => {
|
|
2110
|
+
this.ctx.scroller?.reset();
|
|
2111
|
+
}), map(sort => ({ filter: this.filter, group: this.group, skip: this.isVirtual && !this.pageable ? 0 : this.skip, sort: sort, take: this.pageSize }))), this.groupChange.pipe(tap(() => {
|
|
2112
|
+
this.ctx.scroller?.reset();
|
|
2113
|
+
}), map(group => ({
|
|
2114
|
+
filter: this.filter, group: group, skip: this.pageable ? this.skip : 0, sort: this.sort, take: (this.pageable || !group?.length) ? this.pageSize : undefined
|
|
2115
|
+
}))), this.filterChange.pipe(tap(() => {
|
|
2116
|
+
this.ctx.scroller?.reset();
|
|
2117
|
+
}), map(filter => ({
|
|
2107
2118
|
filter: filter, group: this.group, skip: 0, sort: this.sort, take: this.pageSize
|
|
2108
2119
|
}))))
|
|
2109
2120
|
.subscribe(x => {
|
|
@@ -2112,11 +2123,18 @@ export class GridComponent {
|
|
|
2112
2123
|
if (this.selectable && this.selectableSettings?.enabled && this.isVirtual) {
|
|
2113
2124
|
this.blockArrowSelection = true;
|
|
2114
2125
|
}
|
|
2126
|
+
this.isVirtual && this.ctx.scroller?.resetVirtualSkip();
|
|
2115
2127
|
this.dataStateChange.emit(x);
|
|
2116
2128
|
hasObservers(this.gridStateChange) && this.gridStateChange.emit({ ...this.currentState, ...x });
|
|
2117
2129
|
});
|
|
2118
2130
|
this.stateChangeSubscription.add(merge(this.columnReorder, this.columnResize, this.columnVisibilityChange, this.columnLockedChange, this.columnStickyChange).pipe(flatMap(() => this.ngZone.onStable.pipe(take(1))))
|
|
2119
|
-
.subscribe(() => this.ngZone.run(() =>
|
|
2131
|
+
.subscribe(() => this.ngZone.run(() => {
|
|
2132
|
+
hasObservers(this.gridStateChange) && this.gridStateChange.emit(this.currentState);
|
|
2133
|
+
if (this.isVirtual) {
|
|
2134
|
+
this.ctx.scroller?.update();
|
|
2135
|
+
this.listComponent?.resetNavigationViewport();
|
|
2136
|
+
}
|
|
2137
|
+
})));
|
|
2120
2138
|
}
|
|
2121
2139
|
attachEditHandlers() {
|
|
2122
2140
|
if (!this.editService) {
|
|
@@ -2301,12 +2319,25 @@ export class GridComponent {
|
|
|
2301
2319
|
_rowClass = () => null;
|
|
2302
2320
|
navigationMetadata() {
|
|
2303
2321
|
const isVirtual = this.isVirtual;
|
|
2304
|
-
const
|
|
2305
|
-
const
|
|
2322
|
+
const dataVirtualization = isVirtual && !this.pageable && !this.group?.length;
|
|
2323
|
+
const groupedVirtual = isVirtual && this.group?.length > 0;
|
|
2324
|
+
let dataRows;
|
|
2325
|
+
if (this.pageable) {
|
|
2326
|
+
dataRows = this.skip + Math.min(this.pageSize, this.view.length); // last page might have less rows than the rest
|
|
2327
|
+
}
|
|
2328
|
+
else {
|
|
2329
|
+
dataRows = this.view.total;
|
|
2330
|
+
}
|
|
2331
|
+
if (groupedVirtual) {
|
|
2332
|
+
dataRows = this.ctx.scroller?.total ?? 0;
|
|
2333
|
+
if (!dataVirtualization) {
|
|
2334
|
+
dataRows += this.skip;
|
|
2335
|
+
}
|
|
2336
|
+
}
|
|
2306
2337
|
const addRowOffset = this.editService.hasNewItem ? 1 : 0;
|
|
2307
2338
|
const filterRowOffset = hasFilterRow(this.filterable) ? 1 : 0;
|
|
2308
2339
|
const headerRows = this.isStacked ? 0 : this.totalColumnLevels + 1 + filterRowOffset + addRowOffset;
|
|
2309
|
-
return new NavigationMetadata(dataRows, headerRows, isVirtual, this.hasPager, isPresent(this.detailTemplate), this.wrapper, this.virtualColumns, this.columnsContainer, this.isStacked);
|
|
2340
|
+
return new NavigationMetadata(dataRows, headerRows, isVirtual, this.hasPager, isPresent(this.detailTemplate), this.wrapper, this.virtualColumns, this.columnsContainer, this.showFooter ? 1 : 0, this.isStacked);
|
|
2310
2341
|
}
|
|
2311
2342
|
applyAutoSize() {
|
|
2312
2343
|
const cols = this.columns.filter((c) => this.autoSize ? c.autoSize !== false : c.autoSize);
|
|
@@ -2388,10 +2419,8 @@ export class GridComponent {
|
|
|
2388
2419
|
}
|
|
2389
2420
|
if (this.groupsService.isExpanded({ groupIndex: index }) !== expand) {
|
|
2390
2421
|
this.groupsService.toggleRow({ index }, false);
|
|
2391
|
-
if (this.ctx.dataBindingDirective && isPresent(this.ctx.dataBindingDirective.groupExpand)) {
|
|
2392
|
-
this.ctx.dataBindingDirective[`group${expand ? 'Expand' : 'Collapse'}`]({ groupIndex: index });
|
|
2393
|
-
}
|
|
2394
2422
|
}
|
|
2423
|
+
this.changeDetectorRef.markForCheck();
|
|
2395
2424
|
}
|
|
2396
2425
|
shouldResetSelection(selectableChanges) {
|
|
2397
2426
|
const previousValue = selectableChanges.previousValue;
|
|
@@ -3139,6 +3168,8 @@ export class GridComponent {
|
|
|
3139
3168
|
</thead>
|
|
3140
3169
|
<tbody kendoGridTableBody
|
|
3141
3170
|
[isLoading]="loading"
|
|
3171
|
+
[rowHeight]="rowHeight"
|
|
3172
|
+
[detailRowHeight]="detailRowHeight"
|
|
3142
3173
|
[groups]="group"
|
|
3143
3174
|
[rowsToRender]="rowsToRender"
|
|
3144
3175
|
[skip]="skip"
|
|
@@ -3253,11 +3284,11 @@ export class GridComponent {
|
|
|
3253
3284
|
<div #dialogContainer></div>
|
|
3254
3285
|
|
|
3255
3286
|
<kendo-grid-adaptive-renderer *ngIf="isAdaptiveModeEnabled"></kendo-grid-adaptive-renderer>
|
|
3256
|
-
|
|
3287
|
+
<kendo-resize-sensor *ngIf="isVirtual" (resize)="onResize()"></kendo-resize-sensor>
|
|
3257
3288
|
<div *ngIf="aiAssistantToolbarTool" #windowContainer></div>
|
|
3258
3289
|
|
|
3259
3290
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
|
|
3260
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "rowsToRender", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }, { kind: "component", type: i27.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i27.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i27.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i27.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i27.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i27.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i27.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i27.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i27.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange", "pagerInputVisibilityChange", "pageTextVisibilityChange", "itemsTextVisibilityChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-grid-adaptive-renderer" }], encapsulation: i0.ViewEncapsulation.None });
|
|
3291
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "rowsToRender", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass", "rowHeight", "detailRowHeight"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }, { kind: "component", type: i27.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i27.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i27.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i27.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i27.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i27.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i27.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i27.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i27.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange", "pagerInputVisibilityChange", "pageTextVisibilityChange", "itemsTextVisibilityChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-grid-adaptive-renderer" }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3261
3292
|
}
|
|
3262
3293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
3263
3294
|
type: Component,
|
|
@@ -3994,6 +4025,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3994
4025
|
</thead>
|
|
3995
4026
|
<tbody kendoGridTableBody
|
|
3996
4027
|
[isLoading]="loading"
|
|
4028
|
+
[rowHeight]="rowHeight"
|
|
4029
|
+
[detailRowHeight]="detailRowHeight"
|
|
3997
4030
|
[groups]="group"
|
|
3998
4031
|
[rowsToRender]="rowsToRender"
|
|
3999
4032
|
[skip]="skip"
|
|
@@ -4108,7 +4141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4108
4141
|
<div #dialogContainer></div>
|
|
4109
4142
|
|
|
4110
4143
|
<kendo-grid-adaptive-renderer *ngIf="isAdaptiveModeEnabled"></kendo-grid-adaptive-renderer>
|
|
4111
|
-
|
|
4144
|
+
<kendo-resize-sensor *ngIf="isVirtual" (resize)="onResize()"></kendo-resize-sensor>
|
|
4112
4145
|
<div *ngIf="aiAssistantToolbarTool" #windowContainer></div>
|
|
4113
4146
|
|
|
4114
4147
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
|
|
@@ -4119,7 +4152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4119
4152
|
TableDirective, GridTableDirective, ColGroupComponent, HeaderComponent, ResizableContainerDirective,
|
|
4120
4153
|
ListComponent, DragTargetContainerDirective, DropTargetContainerDirective, DraggableDirective,
|
|
4121
4154
|
GridMarqueeDirective, FooterComponent, TableBodyComponent, LoadingComponent, StatusBarComponent,
|
|
4122
|
-
IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet, AdaptiveRendererComponent
|
|
4155
|
+
IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet, AdaptiveRendererComponent, ResizeSensorComponent
|
|
4123
4156
|
]
|
|
4124
4157
|
}]
|
|
4125
4158
|
}], ctorParameters: function () { return [{ type: i1.BrowserSupportService }, { type: i2.SelectionService }, { type: i3.CellSelectionService }, { type: i0.ElementRef }, { type: i4.GroupInfoService }, { type: i5.GroupsService }, { type: i6.ChangeNotificationService }, { type: i7.DetailsService }, { type: i8.EditService }, { type: i9.FilterService }, { type: i10.PDFService }, { type: i11.ResponsiveService }, { type: i0.Renderer2 }, { type: i12.ExcelService }, { type: i0.NgZone }, { type: i13.ScrollSyncService }, { type: i14.DomEventsService }, { type: i15.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i16.ColumnReorderService }, { type: i17.ColumnInfoService }, { type: i18.NavigationService }, { type: i19.SortService }, { type: i20.ScrollRequestService }, { type: i21.LocalizationService }, { type: i22.ContextService }, { type: i23.SizingOptionsService }, { type: i24.AdaptiveGridService }, { type: i25.RowReorderService }, { type: i26.DataMappingService }]; }, propDecorators: { data: [{
|