@progress/kendo-angular-treelist 13.2.0-develop.9 → 13.2.1-develop.1

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.
@@ -37,7 +37,7 @@ const filterHierarchy = (list, predicate) => {
37
37
  }
38
38
  }
39
39
  });
40
- return result;
40
+ return result.sort((a, b) => Number(b.locked) - Number(a.locked));
41
41
  };
42
42
  /**
43
43
  * @hidden
@@ -6,6 +6,7 @@ import { Directive, HostBinding, Input } from '@angular/core';
6
6
  import { IdService } from '../common/id.service';
7
7
  import { NavigationService } from './navigation.service';
8
8
  import { anyChanged } from '@progress/kendo-angular-common';
9
+ import { ColumnsContainer } from '../columns/columns-container';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "../common/id.service";
11
12
  import * as i2 from "./navigation.service";
@@ -31,18 +32,35 @@ export class LogicalRowDirective {
31
32
  return this.logicalSlaveRow ? 'presentation' : 'row';
32
33
  }
33
34
  get ariaRowIndex() {
34
- if (this.navigation.enabled) {
35
- return this.logicalRowIndex + 1;
36
- }
35
+ return this.logicalSlaveRow ? null : this.logicalRowIndex + 1;
36
+ }
37
+ get rowIndex() {
38
+ return this.logicalSlaveRow ? this.logicalRowIndex + 1 : null;
37
39
  }
38
40
  get ariaOwns() {
39
- if (!this.navigation.enabled || this.logicalSlaveRow || this.logicalSlaveCellsCount === 0) {
41
+ if (this.logicalSlaveRow || this.logicalSlaveCellsCount === 0) {
40
42
  return undefined;
41
43
  }
42
44
  const ids = [];
43
- const total = this.logicalCellsCount + this.logicalSlaveCellsCount;
44
- for (let cellIndex = this.logicalCellsCount; cellIndex < total; cellIndex++) {
45
- ids.push(this.idService.cellId(this.logicalRowIndex, cellIndex));
45
+ if (this.dataRowIndex < 0) {
46
+ let total = this.logicalCellsCount + this.logicalSlaveCellsCount;
47
+ this.columnsArray.forEach(column => {
48
+ if (column.isSpanColumn) {
49
+ total += column.colspan - 1;
50
+ }
51
+ });
52
+ for (let cellIndex = this.logicalCellsCount; cellIndex < total; cellIndex++) {
53
+ ids.push(this.idService.cellId(this.logicalRowIndex, cellIndex));
54
+ }
55
+ }
56
+ else {
57
+ let columnIndex = 0;
58
+ this.columnsArray.forEach(column => {
59
+ if (!column.isLocked) {
60
+ ids.push(this.idService.cellId(this.logicalRowIndex, columnIndex));
61
+ }
62
+ columnIndex += column.isSpanColumn ? column.colspan : 1;
63
+ });
46
64
  }
47
65
  return ids.join(' ');
48
66
  }
@@ -65,9 +83,12 @@ export class LogicalRowDirective {
65
83
  ngOnDestroy() {
66
84
  this.navigation.unregisterRow(this.logicalRowIndex, this);
67
85
  }
86
+ get columnsArray() {
87
+ return this.totalColumns?.allColumns.toArray() || [];
88
+ }
68
89
  }
69
90
  LogicalRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogicalRowDirective, deps: [{ token: i1.IdService }, { token: i2.NavigationService }], target: i0.ɵɵFactoryTarget.Directive });
70
- LogicalRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: { logicalRowIndex: "logicalRowIndex", logicalSlaveRow: "logicalSlaveRow", logicalCellsCount: "logicalCellsCount", logicalSlaveCellsCount: "logicalSlaveCellsCount", dataRowIndex: "dataRowIndex", dataItem: "dataItem", isNew: "isNew" }, host: { properties: { "attr.role": "this.hostRole", "attr.aria-rowindex": "this.ariaRowIndex", "attr.aria-owns": "this.ariaOwns", "class.k-table-row": "this.tableRowClass" } }, usesOnChanges: true, ngImport: i0 });
91
+ LogicalRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: { logicalRowIndex: "logicalRowIndex", logicalSlaveRow: "logicalSlaveRow", logicalCellsCount: "logicalCellsCount", logicalSlaveCellsCount: "logicalSlaveCellsCount", dataRowIndex: "dataRowIndex", dataItem: "dataItem", isNew: "isNew", totalColumns: "totalColumns" }, host: { properties: { "attr.role": "this.hostRole", "attr.aria-rowindex": "this.ariaRowIndex", "attr.data-kendo-treelist-row-index": "this.rowIndex", "attr.aria-owns": "this.ariaOwns", "class.k-table-row": "this.tableRowClass" } }, usesOnChanges: true, ngImport: i0 });
71
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogicalRowDirective, decorators: [{
72
93
  type: Directive,
73
94
  args: [{
@@ -87,12 +108,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
87
108
  type: Input
88
109
  }], isNew: [{
89
110
  type: Input
111
+ }], totalColumns: [{
112
+ type: Input
90
113
  }], hostRole: [{
91
114
  type: HostBinding,
92
115
  args: ['attr.role']
93
116
  }], ariaRowIndex: [{
94
117
  type: HostBinding,
95
118
  args: ['attr.aria-rowindex']
119
+ }], rowIndex: [{
120
+ type: HostBinding,
121
+ args: ['attr.data-kendo-treelist-row-index']
96
122
  }], ariaOwns: [{
97
123
  type: HostBinding,
98
124
  args: ['attr.aria-owns']
@@ -45,7 +45,7 @@ const targetCell = (target, treelistElement) => {
45
45
  const cell = treelistCell(target, treelistElement);
46
46
  const row = closest(cell, matchesNodeName('tr'));
47
47
  if (cell && row) {
48
- let rowIndex = row.getAttribute('aria-rowindex');
48
+ let rowIndex = row.getAttribute('aria-rowindex') || row.getAttribute('data-kendo-treelist-row-index');
49
49
  rowIndex = rowIndex ? parseInt(rowIndex, 10) - 1 : null;
50
50
  let colIndex = cell.getAttribute('aria-colindex');
51
51
  colIndex = colIndex ? parseInt(colIndex, 10) - 1 : null;
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-treelist',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1689670141,
13
- version: '13.2.0-develop.9',
12
+ publishDate: 1689768729,
13
+ version: '13.2.1-develop.1',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -24,6 +24,7 @@ import { hasItems } from '../../column-menu/utils';
24
24
  import { closestInScope, isFocusable } from '../common/dom-queries';
25
25
  import { SelectionService } from '../../selection/selection.service';
26
26
  import { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
27
+ import { ColumnsContainer } from '../../columns/columns-container';
27
28
  import * as i0 from "@angular/core";
28
29
  import * as i1 from "../../common/single-popup.service";
29
30
  import * as i2 from "../../dragdrop/drag-hint.service";
@@ -359,12 +360,13 @@ export class HeaderComponent {
359
360
  }
360
361
  }
361
362
  HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.SinglePopupService }, { token: i2.DragHintService }, { token: i3.DropCueService }, { token: i4.ColumnReorderService }, { token: i5.SortService }, { token: i6.SelectionService }, { token: i7.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
362
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "[kendoTreeListHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
363
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "[kendoTreeListHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
363
364
  <tr *ngFor="let i of columnLevels; let levelIndex = index" role="row"
364
365
  kendoTreeListLogicalRow
365
366
  [logicalRowIndex]="levelIndex"
366
367
  [logicalSlaveRow]="lockedColumnsCount > 0"
367
368
  [logicalCellsCount]="columns.length"
369
+ [totalColumns]="totalColumns"
368
370
  [logicalSlaveCellsCount]="unlockedColumnsCount">
369
371
  <ng-template ngFor let-column="$implicit" [ngForOf]="columnsForLevel(levelIndex)" [ngForTrackBy]="trackByIndex" let-columnIndex="index" let-last="last">
370
372
  <th *ngIf="!isColumnGroupComponent(column)"
@@ -538,13 +540,14 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
538
540
  [filter]="filter"
539
541
  [lockedColumnsCount]="lockedColumnsCount"
540
542
  kendoTreeListLogicalRow
543
+ [totalColumns]="totalColumns"
541
544
  [logicalRowIndex]="totalColumnLevels + 1"
542
545
  [logicalSlaveRow]="lockedColumnsCount > 0"
543
546
  [logicalCellsCount]="columns.length"
544
547
  [logicalSlaveCellsCount]="unlockedColumnsCount"
545
548
  >
546
549
  </tr>
547
- `, isInline: true, components: [{ type: i8.FilterMenuComponent, selector: "kendo-treelist-filter-menu", inputs: ["column", "filter"] }, { type: i9.ColumnMenuComponent, selector: "kendo-treelist-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate"] }, { type: i10.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i11.FilterRowComponent, selector: "[kendoTreeListFilterRow]", inputs: ["columns", "filter", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { type: i15.DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i16.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i17.DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i18.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i19.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i20.ColumnHandleDirective, selector: "[kendoTreeListColumnHandle]", inputs: ["columns", "column"] }] });
550
+ `, isInline: true, components: [{ type: i8.FilterMenuComponent, selector: "kendo-treelist-filter-menu", inputs: ["column", "filter"] }, { type: i9.ColumnMenuComponent, selector: "kendo-treelist-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate"] }, { type: i10.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i11.FilterRowComponent, selector: "[kendoTreeListFilterRow]", inputs: ["columns", "filter", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew", "totalColumns"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { type: i15.DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i16.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i17.DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i18.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i19.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i20.ColumnHandleDirective, selector: "[kendoTreeListColumnHandle]", inputs: ["columns", "column"] }] });
548
551
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
549
552
  type: Component,
550
553
  args: [{
@@ -555,6 +558,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
555
558
  [logicalRowIndex]="levelIndex"
556
559
  [logicalSlaveRow]="lockedColumnsCount > 0"
557
560
  [logicalCellsCount]="columns.length"
561
+ [totalColumns]="totalColumns"
558
562
  [logicalSlaveCellsCount]="unlockedColumnsCount">
559
563
  <ng-template ngFor let-column="$implicit" [ngForOf]="columnsForLevel(levelIndex)" [ngForTrackBy]="trackByIndex" let-columnIndex="index" let-last="last">
560
564
  <th *ngIf="!isColumnGroupComponent(column)"
@@ -728,6 +732,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
728
732
  [filter]="filter"
729
733
  [lockedColumnsCount]="lockedColumnsCount"
730
734
  kendoTreeListLogicalRow
735
+ [totalColumns]="totalColumns"
731
736
  [logicalRowIndex]="totalColumnLevels + 1"
732
737
  [logicalSlaveRow]="lockedColumnsCount > 0"
733
738
  [logicalCellsCount]="columns.length"
@@ -762,6 +767,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
762
767
  type: Input
763
768
  }], totalColumnsCount: [{
764
769
  type: Input
770
+ }], totalColumns: [{
771
+ type: Input
765
772
  }], headerClass: [{
766
773
  type: HostBinding,
767
774
  args: ['class.k-grid-header']
@@ -535,6 +535,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
535
535
  [noRecordsText]="''"
536
536
  [columns]="$any(lockedLeafColumns)"
537
537
  [totalColumnsCount]="leafColumns.length"
538
+ [totalColumns]="columns"
538
539
  [skip]="skip"
539
540
  [trackBy]="trackBy"
540
541
  [filterable]="filterable"
@@ -569,6 +570,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
569
570
  [noRecordsTemplate]="noRecordsTemplate"
570
571
  [lockedColumnsCount]="lockedLeafColumns.length"
571
572
  [totalColumnsCount]="leafColumns.length"
573
+ [totalColumns]="columns"
572
574
  [skip]="skip"
573
575
  [trackBy]="trackBy"
574
576
  [filterable]="filterable"
@@ -589,7 +591,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
589
591
  </div>
590
592
  <div *ngIf="loading" kendoTreeListLoading>
591
593
  </div>
592
- `, isInline: true, components: [{ type: i13.ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { type: i14.TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "rowClass"] }, { type: i15.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i16.LoadingComponent, selector: "[kendoTreeListLoading]" }], directives: [{ type: i17.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i18.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i19.ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }] });
594
+ `, isInline: true, components: [{ type: i13.ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { type: i14.TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { type: i15.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i16.LoadingComponent, selector: "[kendoTreeListLoading]" }], directives: [{ type: i17.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i18.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i19.ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }] });
593
595
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, decorators: [{
594
596
  type: Component,
595
597
  args: [{
@@ -621,6 +623,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
621
623
  [noRecordsText]="''"
622
624
  [columns]="$any(lockedLeafColumns)"
623
625
  [totalColumnsCount]="leafColumns.length"
626
+ [totalColumns]="columns"
624
627
  [skip]="skip"
625
628
  [trackBy]="trackBy"
626
629
  [filterable]="filterable"
@@ -655,6 +658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
655
658
  [noRecordsTemplate]="noRecordsTemplate"
656
659
  [lockedColumnsCount]="lockedLeafColumns.length"
657
660
  [totalColumnsCount]="leafColumns.length"
661
+ [totalColumns]="columns"
658
662
  [skip]="skip"
659
663
  [trackBy]="trackBy"
660
664
  [filterable]="filterable"
@@ -19,6 +19,7 @@ import { defaultTrackBy } from '../common/default-track-by';
19
19
  import { ExpandStateService } from '../expand-state/expand-state.service';
20
20
  import { SelectionService } from '../selection/selection.service';
21
21
  import { NON_DATA_CELL_CLASSES, NON_DATA_ROW_CLASSES, IGNORE_CONTAINER_CLASSES, ICON_CLASS, EMPTY_ICON_CLASS, DRAG_HANDLE_CLASS } from './constants';
22
+ import { ColumnsContainer } from '../columns/columns-container';
22
23
  import * as i0 from "@angular/core";
23
24
  import * as i1 from "../data/change-notification.service";
24
25
  import * as i2 from "../editing/edit.service";
@@ -74,8 +75,17 @@ export class TableBodyComponent {
74
75
  return this.editService.newDataItem;
75
76
  }
76
77
  // Number of unlocked columns in the next table, if any
77
- get unlockedColumnsCount() {
78
- return this.totalColumnsCount - this.lockedColumnsCount - (this.allColumns || this.columns).length;
78
+ unlockedColumnsCount(item) {
79
+ const allColumns = this.allColumns || this.columns;
80
+ let allColumnsCount = allColumns.length;
81
+ allColumns.forEach(column => {
82
+ if (column.isSpanColumn) {
83
+ allColumnsCount += column.colspan - 1;
84
+ }
85
+ });
86
+ const contentColumnsCount = this.totalColumnsCount - this.lockedColumnsCount - allColumnsCount;
87
+ const headerFooterColumnsCount = this.totalColumnsCount - this.lockedColumnsCount - (this.allColumns || this.columns).length;
88
+ return item && item.type === 'data' ? contentColumnsCount : headerFooterColumnsCount;
79
89
  }
80
90
  get hasData() {
81
91
  const view = this.view;
@@ -114,7 +124,10 @@ export class TableBodyComponent {
114
124
  return true;
115
125
  }
116
126
  ariaRowExpanded(item) {
117
- return Boolean(item.expanded);
127
+ return this.lockedColumnsCount < 1 ? Boolean(item.expanded) : undefined;
128
+ }
129
+ ariaRowSelected(item) {
130
+ return this.lockedColumnsCount < 1 ? Boolean(item.selected) : undefined;
118
131
  }
119
132
  ariaExpanded(item, column) {
120
133
  if (!column.expandable || !item.hasChildren) {
@@ -326,7 +339,7 @@ export class TableBodyComponent {
326
339
  }
327
340
  }
328
341
  TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, deps: [{ token: i1.ChangeNotificationService }, { token: i2.EditService }, { token: i3.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i4.DomEventsService }, { token: i5.ColumnInfoService }, { token: i6.NavigationService }, { token: i7.ExpandStateService }, { token: i8.SelectionService }], target: i0.ɵɵFactoryTarget.Component });
329
- TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: { columns: "columns", allColumns: "allColumns", noRecordsTemplate: "noRecordsTemplate", view: "view", skip: "skip", filterable: "filterable", noRecordsText: "noRecordsText", isLocked: "isLocked", lockedColumnsCount: "lockedColumnsCount", totalColumnsCount: "totalColumnsCount", virtualColumns: "virtualColumns", expandIcons: "expandIcons", trackBy: "trackBy", rowClass: "rowClass" }, host: { properties: { "class.k-table-tbody": "this.hostClass" } }, usesOnChanges: true, ngImport: i0, template: `
342
+ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: { columns: "columns", allColumns: "allColumns", noRecordsTemplate: "noRecordsTemplate", view: "view", skip: "skip", filterable: "filterable", noRecordsText: "noRecordsText", isLocked: "isLocked", lockedColumnsCount: "lockedColumnsCount", totalColumnsCount: "totalColumnsCount", virtualColumns: "virtualColumns", expandIcons: "expandIcons", trackBy: "trackBy", totalColumns: "totalColumns", rowClass: "rowClass" }, host: { properties: { "class.k-table-tbody": "this.hostClass" } }, usesOnChanges: true, ngImport: i0, template: `
330
343
  <tr *ngIf="!hasData" class="k-grid-norecords">
331
344
  <td [attr.colspan]="colSpan" class="k-table-td">
332
345
  <ng-container *ngIf="noRecordsTemplate?.templateRef" [ngTemplateOutlet]="noRecordsTemplate.templateRef">
@@ -344,14 +357,15 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
344
357
  [logicalRowIndex]="logicalRowIndex(item.rowIndex)"
345
358
  [logicalSlaveRow]="lockedColumnsCount > 0"
346
359
  [logicalCellsCount]="columns.length"
347
- [logicalSlaveCellsCount]="unlockedColumnsCount"
360
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
361
+ [totalColumns]="totalColumns"
348
362
  [isNew]="item.isNew"
349
363
  [attr.aria-expanded]="ariaRowExpanded(item)"
350
364
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
351
365
  class="k-table-row{{isOdd(item) ? ' k-alt k-table-alt-row' : ''}}"
352
366
  [class.k-grid-edit-row]="isEditingRow(item)"
353
367
  [class.k-grid-add-row]="item.isNew"
354
- [attr.aria-selected]="item.selected"
368
+ [attr.aria-selected]="ariaRowSelected(item)"
355
369
  [class.k-selected]="item.selected"
356
370
  [attr.data-treelist-view-index]="rowIndex">
357
371
 
@@ -376,8 +390,8 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
376
390
  [colSpan]="column.colspan"
377
391
  [expandable]="cellExpandable(item, column)"
378
392
  role="gridcell"
379
- [attr.aria-expanded]="ariaExpanded(item, column)"
380
- [attr.aria-selected]="ariaSelected(item, column, lockedColumnsCount + columnIndex)"
393
+ [attr.aria-expanded]="lockedColumnsCount < 1 ? ariaExpanded(item, column) : undefined"
394
+ [attr.aria-selected]="lockedColumnsCount < 1 ? ariaSelected(item, column, lockedColumnsCount + columnIndex) : undefined"
381
395
  class="k-table-td"
382
396
  [ngClass]="column.cssClass"
383
397
  [class.k-grid-edit-cell]="isEditingCell(item, column)"
@@ -394,8 +408,8 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
394
408
  [logicalRowIndex]="logicalRowIndex(item.rowIndex)"
395
409
  [logicalSlaveRow]="lockedColumnsCount > 0"
396
410
  [logicalCellsCount]="columns.length"
397
- [logicalSlaveCellsCount]="unlockedColumnsCount">
398
-
411
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
412
+ [totalColumns]="totalColumns">
399
413
  <td kendoTreeListLogicalCell
400
414
  [logicalRowIndex]="logicalRowIndex(item.rowIndex)"
401
415
  [logicalColIndex]="logicalColIndex(column)"
@@ -423,7 +437,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
423
437
  </td>
424
438
  </tr>
425
439
  </ng-container>
426
- `, isInline: true, components: [{ type: i9.CellComponent, selector: "[kendoTreeListCell]", inputs: ["column", "columnIndex", "isNew", "level", "hasChildren", "isExpanded", "loading", "expandIcons", "selected", "dataItem", "viewItem"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "levelItems": i13.LevelItemsPipe } });
440
+ `, isInline: true, components: [{ type: i9.CellComponent, selector: "[kendoTreeListCell]", inputs: ["column", "columnIndex", "isNew", "level", "hasChildren", "isExpanded", "loading", "expandIcons", "selected", "dataItem", "viewItem"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew", "totalColumns"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "levelItems": i13.LevelItemsPipe } });
427
441
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, decorators: [{
428
442
  type: Component,
429
443
  args: [{
@@ -446,14 +460,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
446
460
  [logicalRowIndex]="logicalRowIndex(item.rowIndex)"
447
461
  [logicalSlaveRow]="lockedColumnsCount > 0"
448
462
  [logicalCellsCount]="columns.length"
449
- [logicalSlaveCellsCount]="unlockedColumnsCount"
463
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
464
+ [totalColumns]="totalColumns"
450
465
  [isNew]="item.isNew"
451
466
  [attr.aria-expanded]="ariaRowExpanded(item)"
452
467
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
453
468
  class="k-table-row{{isOdd(item) ? ' k-alt k-table-alt-row' : ''}}"
454
469
  [class.k-grid-edit-row]="isEditingRow(item)"
455
470
  [class.k-grid-add-row]="item.isNew"
456
- [attr.aria-selected]="item.selected"
471
+ [attr.aria-selected]="ariaRowSelected(item)"
457
472
  [class.k-selected]="item.selected"
458
473
  [attr.data-treelist-view-index]="rowIndex">
459
474
 
@@ -478,8 +493,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
478
493
  [colSpan]="column.colspan"
479
494
  [expandable]="cellExpandable(item, column)"
480
495
  role="gridcell"
481
- [attr.aria-expanded]="ariaExpanded(item, column)"
482
- [attr.aria-selected]="ariaSelected(item, column, lockedColumnsCount + columnIndex)"
496
+ [attr.aria-expanded]="lockedColumnsCount < 1 ? ariaExpanded(item, column) : undefined"
497
+ [attr.aria-selected]="lockedColumnsCount < 1 ? ariaSelected(item, column, lockedColumnsCount + columnIndex) : undefined"
483
498
  class="k-table-td"
484
499
  [ngClass]="column.cssClass"
485
500
  [class.k-grid-edit-cell]="isEditingCell(item, column)"
@@ -496,8 +511,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
496
511
  [logicalRowIndex]="logicalRowIndex(item.rowIndex)"
497
512
  [logicalSlaveRow]="lockedColumnsCount > 0"
498
513
  [logicalCellsCount]="columns.length"
499
- [logicalSlaveCellsCount]="unlockedColumnsCount">
500
-
514
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
515
+ [totalColumns]="totalColumns">
501
516
  <td kendoTreeListLogicalCell
502
517
  [logicalRowIndex]="logicalRowIndex(item.rowIndex)"
503
518
  [logicalColIndex]="logicalColIndex(column)"
@@ -556,6 +571,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
556
571
  type: Input
557
572
  }], trackBy: [{
558
573
  type: Input
574
+ }], totalColumns: [{
575
+ type: Input
559
576
  }], rowClass: [{
560
577
  type: Input
561
578
  }] } });
@@ -1986,7 +1986,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1986
1986
  [sortable]="sortable"
1987
1987
  [columnMenu]="columnMenuOptions"
1988
1988
  [columnMenuTemplate]="columnMenuTemplate"
1989
- [totalColumnsCount]="leafColumns.length">
1989
+ [totalColumnsCount]="leafColumns.length"
1990
+ [totalColumns]="columnsContainer">
1990
1991
  </thead>
1991
1992
  </table>
1992
1993
  </div>
@@ -2016,7 +2017,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
2016
2017
  [columnMenu]="columnMenuOptions"
2017
2018
  [columnMenuTemplate]="columnMenuTemplate"
2018
2019
  [lockedColumnsCount]="lockedLeafColumns.length"
2019
- [totalColumnsCount]="leafColumns.length">
2020
+ [totalColumnsCount]="leafColumns.length"
2021
+ [totalColumns]="columnsContainer">
2020
2022
  </thead>
2021
2023
  </table>
2022
2024
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -2067,7 +2069,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
2067
2069
  [filter]="filter"
2068
2070
  [filterable]="filterable"
2069
2071
  [columnMenu]="columnMenuOptions"
2070
- [columnMenuTemplate]="columnMenuTemplate">
2072
+ [columnMenuTemplate]="columnMenuTemplate"
2073
+ [totalColumns]="columnsContainer">
2071
2074
  </thead>
2072
2075
  <tbody kendoTreeListTableBody
2073
2076
  [view]="view"
@@ -2116,7 +2119,7 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
2116
2119
  </kendo-icon-wrapper>
2117
2120
  {{hintText}}
2118
2121
  </ng-template>
2119
- `, isInline: true, components: [{ type: i22.ToolbarComponent, selector: "kendo-treelist-toolbar", inputs: ["position", "navigable"] }, { type: i23.ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { type: i24.HeaderComponent, selector: "[kendoTreeListHeader]", inputs: ["totalColumnLevels", "columns", "scrollable", "filterable", "sort", "filter", "sortable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount"] }, { type: i25.ListComponent, selector: "kendo-treelist-list", inputs: ["view", "total", "rowHeight", "take", "skip", "columns", "noRecordsTemplate", "filterable", "rowClass", "loading", "trackBy", "virtualColumns", "isVirtual", "expandIcons"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: i26.TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "rowClass"] }, { type: i27.LoadingComponent, selector: "[kendoTreeListLoading]" }, { type: i28.PagerComponent, selector: "kendo-treelist-pager", inputs: ["allCount", "total", "skip", "navigable", "pageSize", "options", "template"], outputs: ["pageChange"] }, { type: i29.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i30.LocalizedMessagesDirective, selector: "[kendoTreeListLocalizedMessages]" }, { type: i31.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i32.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i32.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i33.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i34.ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { type: i35.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i36.MarqueeDirective, selector: "[kendoTreeListSelectionMarquee]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2122
+ `, isInline: true, components: [{ type: i22.ToolbarComponent, selector: "kendo-treelist-toolbar", inputs: ["position", "navigable"] }, { type: i23.ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { type: i24.HeaderComponent, selector: "[kendoTreeListHeader]", inputs: ["totalColumnLevels", "columns", "scrollable", "filterable", "sort", "filter", "sortable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns"] }, { type: i25.ListComponent, selector: "kendo-treelist-list", inputs: ["view", "total", "rowHeight", "take", "skip", "columns", "noRecordsTemplate", "filterable", "rowClass", "loading", "trackBy", "virtualColumns", "isVirtual", "expandIcons"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: i26.TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { type: i27.LoadingComponent, selector: "[kendoTreeListLoading]" }, { type: i28.PagerComponent, selector: "kendo-treelist-pager", inputs: ["allCount", "total", "skip", "navigable", "pageSize", "options", "template"], outputs: ["pageChange"] }, { type: i29.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i30.LocalizedMessagesDirective, selector: "[kendoTreeListLocalizedMessages]" }, { type: i31.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i32.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i32.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i33.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i34.ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { type: i35.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i36.MarqueeDirective, selector: "[kendoTreeListSelectionMarquee]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2120
2123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, decorators: [{
2121
2124
  type: Component,
2122
2125
  args: [{
@@ -2413,7 +2416,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2413
2416
  [sortable]="sortable"
2414
2417
  [columnMenu]="columnMenuOptions"
2415
2418
  [columnMenuTemplate]="columnMenuTemplate"
2416
- [totalColumnsCount]="leafColumns.length">
2419
+ [totalColumnsCount]="leafColumns.length"
2420
+ [totalColumns]="columnsContainer">
2417
2421
  </thead>
2418
2422
  </table>
2419
2423
  </div>
@@ -2443,7 +2447,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2443
2447
  [columnMenu]="columnMenuOptions"
2444
2448
  [columnMenuTemplate]="columnMenuTemplate"
2445
2449
  [lockedColumnsCount]="lockedLeafColumns.length"
2446
- [totalColumnsCount]="leafColumns.length">
2450
+ [totalColumnsCount]="leafColumns.length"
2451
+ [totalColumns]="columnsContainer">
2447
2452
  </thead>
2448
2453
  </table>
2449
2454
  <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
@@ -2494,7 +2499,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2494
2499
  [filter]="filter"
2495
2500
  [filterable]="filterable"
2496
2501
  [columnMenu]="columnMenuOptions"
2497
- [columnMenuTemplate]="columnMenuTemplate">
2502
+ [columnMenuTemplate]="columnMenuTemplate"
2503
+ [totalColumns]="columnsContainer">
2498
2504
  </thead>
2499
2505
  <tbody kendoTreeListTableBody
2500
2506
  [view]="view"