@progress/kendo-angular-grid 19.1.2 → 19.2.0-develop.10
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/aggregates/selection-aggregate.service.d.ts +1 -3
- package/column-menu/column-menu-item.directive.d.ts +1 -1
- package/common/provider.service.d.ts +2 -1
- package/data/data-mapping.service.d.ts +46 -0
- package/databinding.directive.d.ts +2 -1
- package/esm2022/aggregates/selection-aggregate.service.mjs +4 -8
- package/esm2022/column-menu/column-menu-item.directive.mjs +1 -1
- package/esm2022/common/provider.service.mjs +1 -1
- package/esm2022/data/data-mapping.service.mjs +125 -0
- package/esm2022/databinding.directive.mjs +12 -3
- package/esm2022/grid.component.mjs +41 -34
- package/esm2022/grouping/group-scroll-binding.directive.mjs +2 -2
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/list.component.mjs +76 -57
- package/esm2022/rendering/table-body.component.mjs +37 -128
- package/esm2022/selection/selection-checkbox.directive.mjs +1 -1
- package/esm2022/selection/selection.service.mjs +23 -4
- package/esm2022/state-management/undo-redo.directive.mjs +74 -16
- package/esm2022/state-management/undo-redo.service.mjs +0 -1
- package/esm2022/state-management/undo-redo.stack.mjs +6 -0
- package/esm2022/utils.mjs +19 -0
- package/fesm2022/progress-kendo-angular-grid.mjs +934 -785
- package/grid.component.d.ts +12 -6
- package/package.json +20 -20
- package/rendering/list.component.d.ts +9 -6
- package/rendering/table-body.component.d.ts +9 -27
- package/schematics/ngAdd/index.js +4 -4
- package/selection/selection.service.d.ts +1 -1
- package/state-management/undo-redo.directive.d.ts +12 -2
- package/state-management/undo-redo.service.d.ts +0 -2
- package/state-management/undo-redo.stack.d.ts +2 -0
- package/utils.d.ts +5 -0
|
@@ -10,7 +10,7 @@ import { ScrollerService, PageAction, ScrollAction, ScrollBottomAction } from '.
|
|
|
10
10
|
import { ScrollRequestService } from '../scrolling/scroll-request.service';
|
|
11
11
|
import { ColumnBase } from '../columns/column-base';
|
|
12
12
|
import { DetailTemplateDirective } from './details/detail-template.directive';
|
|
13
|
-
import { isChanged, isPresent, isUniversal, anyChanged, isNumber, requestAnimationFrame, cancelAnimationFrame, recursiveFlatMap } from '../utils';
|
|
13
|
+
import { isChanged, isPresent, isUniversal, anyChanged, isNumber, requestAnimationFrame, cancelAnimationFrame, recursiveFlatMap, calcRowHeight } from '../utils';
|
|
14
14
|
import { DetailsService } from './details/details.service';
|
|
15
15
|
import { ColumnsContainer } from '../columns/columns-container';
|
|
16
16
|
import { ChangeNotificationService } from '../data/change-notification.service';
|
|
@@ -40,7 +40,7 @@ import { ColGroupComponent } from './common/col-group.component';
|
|
|
40
40
|
import { GridTableDirective } from './grid-table.directive';
|
|
41
41
|
import { TableDirective } from '../column-resizing/table.directive';
|
|
42
42
|
import { NgIf } from '@angular/common';
|
|
43
|
-
import {
|
|
43
|
+
import { DataMappingService } from '../data/data-mapping.service';
|
|
44
44
|
import * as i0 from "@angular/core";
|
|
45
45
|
import * as i1 from "./details/details.service";
|
|
46
46
|
import * as i2 from "../data/change-notification.service";
|
|
@@ -56,7 +56,7 @@ import * as i11 from "../common/provider.service";
|
|
|
56
56
|
import * as i12 from "../column-resizing/column-resizing.service";
|
|
57
57
|
import * as i13 from "../pdf/pdf.service";
|
|
58
58
|
import * as i14 from "../common/column-info.service";
|
|
59
|
-
import * as i15 from "
|
|
59
|
+
import * as i15 from "../data/data-mapping.service";
|
|
60
60
|
const elementAt = (index, elements, elementOffset) => {
|
|
61
61
|
for (let idx = 0, elementIdx = 0; idx < elements.length; idx++) {
|
|
62
62
|
const offset = elementOffset(elements[idx]);
|
|
@@ -121,14 +121,13 @@ export class ListComponent {
|
|
|
121
121
|
changeDetector;
|
|
122
122
|
pdfService;
|
|
123
123
|
columnInfo;
|
|
124
|
-
|
|
124
|
+
dataMappingService;
|
|
125
125
|
hostClass = true;
|
|
126
126
|
hostRole = 'presentation';
|
|
127
127
|
data;
|
|
128
128
|
groups = [];
|
|
129
129
|
total;
|
|
130
130
|
rowHeight;
|
|
131
|
-
stickyRowHeight;
|
|
132
131
|
detailRowHeight;
|
|
133
132
|
take;
|
|
134
133
|
skip = 0;
|
|
@@ -153,6 +152,7 @@ export class ListComponent {
|
|
|
153
152
|
scrollBottom = new EventEmitter();
|
|
154
153
|
totalHeight;
|
|
155
154
|
columnsStartIdx = 0;
|
|
155
|
+
allItems = [];
|
|
156
156
|
get showFooter() {
|
|
157
157
|
return this.groupable && this.groupable.showFooter;
|
|
158
158
|
}
|
|
@@ -178,6 +178,7 @@ export class ListComponent {
|
|
|
178
178
|
columnsEndIdx;
|
|
179
179
|
viewportColumnsWidth;
|
|
180
180
|
scrollLeft = 0;
|
|
181
|
+
recalculateRowspan = true;
|
|
181
182
|
observer;
|
|
182
183
|
get lockedLeafColumns() {
|
|
183
184
|
return this.columns.lockedLeafColumns;
|
|
@@ -210,7 +211,8 @@ export class ListComponent {
|
|
|
210
211
|
rtl = false;
|
|
211
212
|
columnUpdateFrame;
|
|
212
213
|
hasLockedContainer;
|
|
213
|
-
|
|
214
|
+
minRowHeight;
|
|
215
|
+
constructor(scrollerFactory, detailsService, changeNotification, suspendService, groupsService, ngZone, renderer, scrollSyncService, resizeService, editService, supportService, navigationService, scrollRequestService, ctx, columnResizingService, changeDetector, pdfService, columnInfo, dataMappingService) {
|
|
214
216
|
this.changeNotification = changeNotification;
|
|
215
217
|
this.suspendService = suspendService;
|
|
216
218
|
this.groupsService = groupsService;
|
|
@@ -226,12 +228,13 @@ export class ListComponent {
|
|
|
226
228
|
this.changeDetector = changeDetector;
|
|
227
229
|
this.pdfService = pdfService;
|
|
228
230
|
this.columnInfo = columnInfo;
|
|
229
|
-
this.
|
|
231
|
+
this.dataMappingService = dataMappingService;
|
|
230
232
|
this.scroller = scrollerFactory(this.dispatcher);
|
|
231
233
|
this.subscriptions = detailsService.changes.subscribe(x => this.detailExpand(x));
|
|
232
234
|
this.subscriptions.add(scrollRequestService.requests.subscribe(req => isPresent(req.adjustIndex) ? this.scrollTo(req.request, req.adjustIndex) : this.scrollToItem(req.request)));
|
|
233
235
|
}
|
|
234
236
|
ngOnInit() {
|
|
237
|
+
this.minRowHeight = this.isVirtual ? this.rowHeight || calcRowHeight(this.table.nativeElement) : this.rowHeight;
|
|
235
238
|
this.init();
|
|
236
239
|
this.subscriptions.add(this.ngZone.runOutsideAngular(this.handleRowSync.bind(this)));
|
|
237
240
|
this.subscriptions.add(this.ngZone.runOutsideAngular(this.handleRowNavigationLocked.bind(this)));
|
|
@@ -267,6 +270,22 @@ export class ListComponent {
|
|
|
267
270
|
if (this.virtualColumns && (!this.viewportColumns || this.viewportWidthChange())) {
|
|
268
271
|
this.updateViewportColumns();
|
|
269
272
|
}
|
|
273
|
+
const shouldCalculatePageSize = isDocumentAvailable() && this.isVirtual && this.ctx.grid && !this.ctx.grid.pageSize;
|
|
274
|
+
if (shouldCalculatePageSize) {
|
|
275
|
+
const calculatedPageSize = this.calcVirtualPageSize();
|
|
276
|
+
if (calculatedPageSize > 0) {
|
|
277
|
+
this.ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {
|
|
278
|
+
this.ctx.grid.pageSize = calculatedPageSize;
|
|
279
|
+
this.ngZone.run(() => {
|
|
280
|
+
this.pageChange.emit({
|
|
281
|
+
skip: this.skip || 0,
|
|
282
|
+
take: calculatedPageSize
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
this.allItems = this.dataMappingService.dataMapper(this.data, this.nonLockedColumnsToRender, this.lockedLeafColumns, this.detailTemplate, this.showFooter);
|
|
270
289
|
}
|
|
271
290
|
ngAfterViewInit() {
|
|
272
291
|
if (!isDocumentAvailable()) {
|
|
@@ -305,7 +324,7 @@ export class ListComponent {
|
|
|
305
324
|
if (this.suspendService.scroll) {
|
|
306
325
|
return;
|
|
307
326
|
}
|
|
308
|
-
this.rowHeightService = new RowHeightService(this.total, this.rowHeight, this.detailRowHeight);
|
|
327
|
+
this.rowHeightService = new RowHeightService(this.total, this.rowHeight || this.minRowHeight, this.detailRowHeight);
|
|
309
328
|
this.totalHeight = this.rowHeightService.totalHeight();
|
|
310
329
|
if (!isUniversal()) {
|
|
311
330
|
this.ngZone.runOutsideAngular(this.createScroller.bind(this));
|
|
@@ -334,6 +353,36 @@ export class ListComponent {
|
|
|
334
353
|
args.preventDefault();
|
|
335
354
|
}
|
|
336
355
|
}
|
|
356
|
+
updateViewportColumns(range) {
|
|
357
|
+
const columns = this.columns.nonLockedLeafColumns.toArray();
|
|
358
|
+
// eslint-disable-next-line prefer-const
|
|
359
|
+
let { startIdx, endIdx, offset } = range || this.calculateViewportColumns();
|
|
360
|
+
const start = Math.max(0, startIdx - bufferSize);
|
|
361
|
+
const end = Math.min(endIdx + bufferSize, columns.length - 1);
|
|
362
|
+
if (start < startIdx) {
|
|
363
|
+
for (let idx = startIdx - 1; idx >= start; idx--) {
|
|
364
|
+
offset -= columns[idx].width;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
let currentColumns = columns.slice(start, end + 1);
|
|
368
|
+
this.viewportColumnsWidth = currentColumns.reduce((total, column) => total + column.width, 0);
|
|
369
|
+
const stickyBeforeStart = columns.slice(0, start).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
370
|
+
const stickyAfterEnd = columns.slice(end, columns.length).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
371
|
+
currentColumns = [...stickyBeforeStart, ...currentColumns, ...stickyAfterEnd];
|
|
372
|
+
if (start > 0) {
|
|
373
|
+
const offsetColumn = new ColumnBase();
|
|
374
|
+
offsetColumn.width = offset;
|
|
375
|
+
currentColumns.unshift(offsetColumn);
|
|
376
|
+
}
|
|
377
|
+
this.viewportColumns = new QueryList();
|
|
378
|
+
this.viewportColumns.reset(currentColumns);
|
|
379
|
+
this.columnsStartIdx = start;
|
|
380
|
+
this.columnsEndIdx = end;
|
|
381
|
+
this.columnInfo.columnRangeChange.emit({ start, end, offset });
|
|
382
|
+
if (!range) {
|
|
383
|
+
this.updateColumnViewport(startIdx, endIdx);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
337
386
|
detailExpand({ index, expand }) {
|
|
338
387
|
if (expand) {
|
|
339
388
|
this.rowHeightService.expandDetail(index);
|
|
@@ -374,10 +423,10 @@ export class ListComponent {
|
|
|
374
423
|
const observable = this.scroller
|
|
375
424
|
.create(this.rowHeightService, this.skip, this.take, this.total);
|
|
376
425
|
this.skipScroll = false;
|
|
377
|
-
this.scrollerSubscription = observable.pipe(filter((x) => x instanceof PageAction), filter(() => {
|
|
426
|
+
this.scrollerSubscription = observable.pipe(filter((x) => x instanceof PageAction), filter((x) => {
|
|
378
427
|
const temp = this.skipScroll;
|
|
379
428
|
this.skipScroll = false;
|
|
380
|
-
return !temp;
|
|
429
|
+
return !temp && x.skip !== this.skip;
|
|
381
430
|
}), tap(() => this.rebind = true))
|
|
382
431
|
.subscribe((x) => this.ngZone.run(() => this.pageChange.emit(x)));
|
|
383
432
|
this.scrollerSubscription.add(observable.pipe(filter((x) => x instanceof ScrollAction))
|
|
@@ -416,7 +465,6 @@ export class ListComponent {
|
|
|
416
465
|
.pipe(filter(isLocked), switchMapTo(onStable())), this.editService.changed, this.resizeService.changes, this.columnResizingService.changes
|
|
417
466
|
.pipe(filter(change => change.type === 'end')), this.supportService.changes)
|
|
418
467
|
.pipe(tap(() => {
|
|
419
|
-
this.ngZone.run(() => this.rowspanService.reset());
|
|
420
468
|
this.resetNavigationViewport();
|
|
421
469
|
}), filter(isLocked))
|
|
422
470
|
.subscribe(() => {
|
|
@@ -560,36 +608,6 @@ export class ListComponent {
|
|
|
560
608
|
})
|
|
561
609
|
.forEach(setHeight(this.renderer));
|
|
562
610
|
}
|
|
563
|
-
updateViewportColumns(range) {
|
|
564
|
-
const columns = this.columns.nonLockedLeafColumns.toArray();
|
|
565
|
-
// eslint-disable-next-line prefer-const
|
|
566
|
-
let { startIdx, endIdx, offset } = range || this.calculateViewportColumns();
|
|
567
|
-
const start = Math.max(0, startIdx - bufferSize);
|
|
568
|
-
const end = Math.min(endIdx + bufferSize, columns.length - 1);
|
|
569
|
-
if (start < startIdx) {
|
|
570
|
-
for (let idx = startIdx - 1; idx >= start; idx--) {
|
|
571
|
-
offset -= columns[idx].width;
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
let currentColumns = columns.slice(start, end + 1);
|
|
575
|
-
this.viewportColumnsWidth = currentColumns.reduce((total, column) => total + column.width, 0);
|
|
576
|
-
const stickyBeforeStart = columns.slice(0, start).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
577
|
-
const stickyAfterEnd = columns.slice(end, columns.length).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
578
|
-
currentColumns = [...stickyBeforeStart, ...currentColumns, ...stickyAfterEnd];
|
|
579
|
-
if (start > 0) {
|
|
580
|
-
const offsetColumn = new ColumnBase();
|
|
581
|
-
offsetColumn.width = offset;
|
|
582
|
-
currentColumns.unshift(offsetColumn);
|
|
583
|
-
}
|
|
584
|
-
this.viewportColumns = new QueryList();
|
|
585
|
-
this.viewportColumns.reset(currentColumns);
|
|
586
|
-
this.columnsStartIdx = start;
|
|
587
|
-
this.columnsEndIdx = end;
|
|
588
|
-
this.columnInfo.columnRangeChange.emit({ start, end, offset });
|
|
589
|
-
if (!range) {
|
|
590
|
-
this.updateColumnViewport(startIdx, endIdx);
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
611
|
handleColumnScroll() {
|
|
594
612
|
const container = this.container.nativeElement;
|
|
595
613
|
const scrollLeft = container.scrollLeft;
|
|
@@ -661,8 +679,15 @@ export class ListComponent {
|
|
|
661
679
|
}
|
|
662
680
|
return element.offsetLeft;
|
|
663
681
|
}
|
|
664
|
-
|
|
665
|
-
|
|
682
|
+
calcVirtualPageSize = () => {
|
|
683
|
+
const containerHeight = this.container.nativeElement.offsetHeight;
|
|
684
|
+
if (containerHeight && (this.rowHeight ?? this.minRowHeight)) {
|
|
685
|
+
return Math.ceil((containerHeight / (this.rowHeight ?? this.minRowHeight)) * 1.5);
|
|
686
|
+
}
|
|
687
|
+
return 0;
|
|
688
|
+
};
|
|
689
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, deps: [{ token: SCROLLER_FACTORY_TOKEN }, { token: i1.DetailsService }, { token: i2.ChangeNotificationService }, { token: i3.SuspendService }, { token: i4.GroupsService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i5.ScrollSyncService }, { token: i6.ResizeService }, { token: i7.EditService }, { token: i8.BrowserSupportService }, { token: i9.NavigationService }, { token: i10.ScrollRequestService }, { token: i11.ContextService }, { token: i12.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i13.PDFService }, { token: i14.ColumnInfoService }, { token: i15.DataMappingService }], target: i0.ɵɵFactoryTarget.Component });
|
|
690
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListComponent, isStandalone: true, selector: "kendo-grid-list", inputs: { data: "data", groups: "groups", total: "total", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", take: "take", skip: "skip", columns: "columns", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", selectable: "selectable", groupable: "groupable", filterable: "filterable", rowClass: "rowClass", rowSticky: "rowSticky", loading: "loading", trackBy: "trackBy", virtualColumns: "virtualColumns", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", loadingTemplate: "loadingTemplate", sort: "sort", size: "size" }, outputs: { contentScroll: "contentScroll", pageChange: "pageChange", scrollBottom: "scrollBottom" }, host: { properties: { "class.k-grid-container": "this.hostClass", "attr.role": "this.hostRole" } }, providers: [
|
|
666
691
|
{
|
|
667
692
|
provide: SCROLLER_FACTORY_TOKEN,
|
|
668
693
|
useValue: DEFAULT_SCROLLER_FACTORY
|
|
@@ -698,13 +723,12 @@ export class ListComponent {
|
|
|
698
723
|
role="presentation"
|
|
699
724
|
[groups]="groups"
|
|
700
725
|
[isLocked]="true"
|
|
701
|
-
[
|
|
726
|
+
[rowsToRender]="allItems"
|
|
702
727
|
[noRecordsText]="''"
|
|
703
728
|
[columns]="$any(lockedLeafColumns)"
|
|
704
729
|
[totalColumnsCount]="leafColumns.length"
|
|
705
730
|
[totalColumns]="columns"
|
|
706
731
|
[detailTemplate]="detailTemplate"
|
|
707
|
-
[showGroupFooters]="showFooter"
|
|
708
732
|
[skip]="skip"
|
|
709
733
|
[selectable]="selectable"
|
|
710
734
|
[trackBy]="trackBy"
|
|
@@ -746,9 +770,8 @@ export class ListComponent {
|
|
|
746
770
|
<tbody kendoGridTableBody
|
|
747
771
|
role="rowgroup"
|
|
748
772
|
[skipGroupDecoration]="isLocked"
|
|
749
|
-
[
|
|
773
|
+
[rowsToRender]="allItems"
|
|
750
774
|
[groups]="groups"
|
|
751
|
-
[showGroupFooters]="showFooter"
|
|
752
775
|
[columns]="$any(nonLockedColumnsToRender)"
|
|
753
776
|
[allColumns]="$any(nonLockedLeafColumns)"
|
|
754
777
|
[detailTemplate]="detailTemplate"
|
|
@@ -778,7 +801,7 @@ export class ListComponent {
|
|
|
778
801
|
<div [style.width.px]="totalWidth"></div>
|
|
779
802
|
</div>
|
|
780
803
|
</div>
|
|
781
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { 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: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "
|
|
804
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { 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: 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: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
|
|
782
805
|
}
|
|
783
806
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, decorators: [{
|
|
784
807
|
type: Component,
|
|
@@ -821,13 +844,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
821
844
|
role="presentation"
|
|
822
845
|
[groups]="groups"
|
|
823
846
|
[isLocked]="true"
|
|
824
|
-
[
|
|
847
|
+
[rowsToRender]="allItems"
|
|
825
848
|
[noRecordsText]="''"
|
|
826
849
|
[columns]="$any(lockedLeafColumns)"
|
|
827
850
|
[totalColumnsCount]="leafColumns.length"
|
|
828
851
|
[totalColumns]="columns"
|
|
829
852
|
[detailTemplate]="detailTemplate"
|
|
830
|
-
[showGroupFooters]="showFooter"
|
|
831
853
|
[skip]="skip"
|
|
832
854
|
[selectable]="selectable"
|
|
833
855
|
[trackBy]="trackBy"
|
|
@@ -869,9 +891,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
869
891
|
<tbody kendoGridTableBody
|
|
870
892
|
role="rowgroup"
|
|
871
893
|
[skipGroupDecoration]="isLocked"
|
|
872
|
-
[
|
|
894
|
+
[rowsToRender]="allItems"
|
|
873
895
|
[groups]="groups"
|
|
874
|
-
[showGroupFooters]="showFooter"
|
|
875
896
|
[columns]="$any(nonLockedColumnsToRender)"
|
|
876
897
|
[allColumns]="$any(nonLockedLeafColumns)"
|
|
877
898
|
[detailTemplate]="detailTemplate"
|
|
@@ -908,7 +929,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
908
929
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
909
930
|
type: Inject,
|
|
910
931
|
args: [SCROLLER_FACTORY_TOKEN]
|
|
911
|
-
}] }, { type: i1.DetailsService }, { type: i2.ChangeNotificationService }, { type: i3.SuspendService }, { type: i4.GroupsService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i5.ScrollSyncService }, { type: i6.ResizeService }, { type: i7.EditService }, { type: i8.BrowserSupportService }, { type: i9.NavigationService }, { type: i10.ScrollRequestService }, { type: i11.ContextService }, { type: i12.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i13.PDFService }, { type: i14.ColumnInfoService }, { type: i15.
|
|
932
|
+
}] }, { type: i1.DetailsService }, { type: i2.ChangeNotificationService }, { type: i3.SuspendService }, { type: i4.GroupsService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i5.ScrollSyncService }, { type: i6.ResizeService }, { type: i7.EditService }, { type: i8.BrowserSupportService }, { type: i9.NavigationService }, { type: i10.ScrollRequestService }, { type: i11.ContextService }, { type: i12.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i13.PDFService }, { type: i14.ColumnInfoService }, { type: i15.DataMappingService }]; }, propDecorators: { hostClass: [{
|
|
912
933
|
type: HostBinding,
|
|
913
934
|
args: ['class.k-grid-container']
|
|
914
935
|
}], hostRole: [{
|
|
@@ -922,8 +943,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
922
943
|
type: Input
|
|
923
944
|
}], rowHeight: [{
|
|
924
945
|
type: Input
|
|
925
|
-
}], stickyRowHeight: [{
|
|
926
|
-
type: Input
|
|
927
946
|
}], detailRowHeight: [{
|
|
928
947
|
type: Input
|
|
929
948
|
}], take: [{
|
|
@@ -973,10 +992,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
973
992
|
args: ['container', { static: true }]
|
|
974
993
|
}], lockedContainer: [{
|
|
975
994
|
type: ViewChild,
|
|
976
|
-
args: ['lockedContainer'
|
|
995
|
+
args: ['lockedContainer']
|
|
977
996
|
}], lockedTable: [{
|
|
978
997
|
type: ViewChild,
|
|
979
|
-
args: ['lockedTable'
|
|
998
|
+
args: ['lockedTable']
|
|
980
999
|
}], table: [{
|
|
981
1000
|
type: ViewChild,
|
|
982
1001
|
args: ['table', { static: true }]
|