@progress/kendo-angular-grid 13.2.0 → 13.2.1-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.
@@ -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
@@ -33,6 +33,10 @@ export class FilterRowComponent {
33
33
  const columnName = column.title || column.field;
34
34
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
35
35
  }
36
+ getLogicalColIndex(columnIndex) {
37
+ const colIndex = this.lockedColumnsCount + columnIndex;
38
+ return this.detailTemplate?.templateRef ? colIndex + 1 : colIndex;
39
+ }
36
40
  }
37
41
  FilterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterRowComponent, deps: [{ token: i1.ContextService }, { token: i2.ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
38
42
  FilterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: { columns: "columns", filter: "filter", groups: "groups", detailTemplate: "detailTemplate", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
@@ -59,7 +63,7 @@ FilterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
59
63
  [filter]="filter"
60
64
  kendoGridLogicalCell
61
65
  [logicalRowIndex]="logicalRowIndex"
62
- [logicalColIndex]="lockedColumnsCount + columnIndex"
66
+ [logicalColIndex]="getLogicalColIndex(columnIndex)"
63
67
  ></td>
64
68
  `, isInline: true, components: [{ type: i3.FilterCellComponent, selector: "[kendoGridFilterCell]", inputs: ["column", "filter", "size"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
65
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterRowComponent, decorators: [{
@@ -90,7 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
90
94
  [filter]="filter"
91
95
  kendoGridLogicalCell
92
96
  [logicalRowIndex]="logicalRowIndex"
93
- [logicalColIndex]="lockedColumnsCount + columnIndex"
97
+ [logicalColIndex]="getLogicalColIndex(columnIndex)"
94
98
  ></td>
95
99
  `
96
100
  }]
@@ -2352,6 +2352,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2352
2352
  [columnMenu]="columnMenuOptions"
2353
2353
  [columnMenuTemplate]="columnMenuTemplate"
2354
2354
  [totalColumnsCount]="leafColumns.length"
2355
+ [totalColumns]="columnsContainer"
2355
2356
  [detailTemplate]="detailTemplate"
2356
2357
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
2357
2358
  </thead>
@@ -2389,6 +2390,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2389
2390
  [columnMenuTemplate]="columnMenuTemplate"
2390
2391
  [lockedColumnsCount]="lockedLeafColumns.length"
2391
2392
  [totalColumnsCount]="leafColumns.length"
2393
+ [totalColumns]="columnsContainer"
2392
2394
  [detailTemplate]="detailTemplate"
2393
2395
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
2394
2396
  </thead>
@@ -2471,7 +2473,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2471
2473
  [groups]="group"
2472
2474
  [columns]="$any(lockedLeafColumns)"
2473
2475
  [detailTemplate]="detailTemplate"
2474
- [logicalRowIndex]="ariaRowCount">
2476
+ [logicalRowIndex]="ariaRowCount"
2477
+ [totalColumns]="columnsContainer">
2475
2478
  </tfoot>
2476
2479
  </table>
2477
2480
  </div>
@@ -2496,7 +2499,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2496
2499
  [groups]="isLocked ? [] : group"
2497
2500
  [columns]="$any(nonLockedLeafColumns)"
2498
2501
  [lockedColumnsCount]="lockedLeafColumns.length"
2499
- [detailTemplate]="detailTemplate">
2502
+ [detailTemplate]="detailTemplate"
2503
+ [totalColumns]="columnsContainer">
2500
2504
  </tfoot>
2501
2505
  </table>
2502
2506
  </div>
@@ -2518,6 +2522,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2518
2522
  [scrollable]="false"
2519
2523
  [columns]="$any(visibleColumns)"
2520
2524
  [totalColumnLevels]="totalColumnLevels"
2525
+ [totalColumns]="columnsContainer"
2521
2526
  [groups]="group"
2522
2527
  [groupable]="showGroupPanel"
2523
2528
  [reorderable]="reorderable"
@@ -2553,7 +2558,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2553
2558
  [logicalRowIndex]="ariaRowCount"
2554
2559
  [groups]="group"
2555
2560
  [columns]="$any(leafColumns)"
2556
- [detailTemplate]="detailTemplate">
2561
+ [detailTemplate]="detailTemplate"
2562
+ [totalColumns]="columnsContainer">
2557
2563
  </tfoot>
2558
2564
  </table>
2559
2565
  </ng-container>
@@ -2594,7 +2600,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2594
2600
  </kendo-icon-wrapper>
2595
2601
  {{hintText}}
2596
2602
  </ng-template>
2597
- `, isInline: true, components: [{ type: i25.ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: i26.PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: i27.GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: i28.ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: i29.HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex", "size"] }, { type: i30.ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: i31.FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: i32.TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: i33.LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: i34.StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { type: i35.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i36.LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i37.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i38.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i39.GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: i40.ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i41.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i41.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i42.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i43.GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
2603
+ `, isInline: true, components: [{ type: i25.ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: i26.PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: i27.GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: i28.ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: i29.HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { type: i30.ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: i31.FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns"] }, { type: i32.TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { type: i33.LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: i34.StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { type: i35.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i36.LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i37.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i38.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i39.GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: i40.ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i41.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i41.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i42.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i43.GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
2598
2604
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
2599
2605
  type: Component,
2600
2606
  args: [{
@@ -2968,6 +2974,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2968
2974
  [columnMenu]="columnMenuOptions"
2969
2975
  [columnMenuTemplate]="columnMenuTemplate"
2970
2976
  [totalColumnsCount]="leafColumns.length"
2977
+ [totalColumns]="columnsContainer"
2971
2978
  [detailTemplate]="detailTemplate"
2972
2979
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
2973
2980
  </thead>
@@ -3005,6 +3012,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3005
3012
  [columnMenuTemplate]="columnMenuTemplate"
3006
3013
  [lockedColumnsCount]="lockedLeafColumns.length"
3007
3014
  [totalColumnsCount]="leafColumns.length"
3015
+ [totalColumns]="columnsContainer"
3008
3016
  [detailTemplate]="detailTemplate"
3009
3017
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
3010
3018
  </thead>
@@ -3087,7 +3095,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3087
3095
  [groups]="group"
3088
3096
  [columns]="$any(lockedLeafColumns)"
3089
3097
  [detailTemplate]="detailTemplate"
3090
- [logicalRowIndex]="ariaRowCount">
3098
+ [logicalRowIndex]="ariaRowCount"
3099
+ [totalColumns]="columnsContainer">
3091
3100
  </tfoot>
3092
3101
  </table>
3093
3102
  </div>
@@ -3112,7 +3121,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3112
3121
  [groups]="isLocked ? [] : group"
3113
3122
  [columns]="$any(nonLockedLeafColumns)"
3114
3123
  [lockedColumnsCount]="lockedLeafColumns.length"
3115
- [detailTemplate]="detailTemplate">
3124
+ [detailTemplate]="detailTemplate"
3125
+ [totalColumns]="columnsContainer">
3116
3126
  </tfoot>
3117
3127
  </table>
3118
3128
  </div>
@@ -3134,6 +3144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3134
3144
  [scrollable]="false"
3135
3145
  [columns]="$any(visibleColumns)"
3136
3146
  [totalColumnLevels]="totalColumnLevels"
3147
+ [totalColumns]="columnsContainer"
3137
3148
  [groups]="group"
3138
3149
  [groupable]="showGroupPanel"
3139
3150
  [reorderable]="reorderable"
@@ -3169,7 +3180,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3169
3180
  [logicalRowIndex]="ariaRowCount"
3170
3181
  [groups]="group"
3171
3182
  [columns]="$any(leafColumns)"
3172
- [detailTemplate]="detailTemplate">
3183
+ [detailTemplate]="detailTemplate"
3184
+ [totalColumns]="columnsContainer">
3173
3185
  </tfoot>
3174
3186
  </table>
3175
3187
  </ng-container>
@@ -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";
@@ -30,16 +31,35 @@ export class LogicalRowDirective {
30
31
  return this.logicalSlaveRow ? 'presentation' : 'row';
31
32
  }
32
33
  get ariaRowIndex() {
33
- return this.logicalRowIndex + 1;
34
+ return this.logicalSlaveRow ? null : this.logicalRowIndex + 1;
35
+ }
36
+ get rowIndex() {
37
+ return this.logicalSlaveRow ? this.logicalRowIndex + 1 : null;
34
38
  }
35
39
  get ariaOwns() {
36
- if (!this.navigation.enabled || this.logicalSlaveRow || this.logicalSlaveCellsCount === 0) {
40
+ if (this.logicalSlaveRow || this.logicalSlaveCellsCount === 0) {
37
41
  return undefined;
38
42
  }
39
43
  const ids = [];
40
- const total = this.logicalCellsCount + this.logicalSlaveCellsCount;
41
- for (let cellIndex = this.logicalCellsCount; cellIndex < total; cellIndex++) {
42
- ids.push(this.idService.cellId(this.logicalRowIndex, cellIndex));
44
+ if (this.dataRowIndex < 0) {
45
+ let total = this.logicalCellsCount + this.logicalSlaveCellsCount;
46
+ this.columnsArray.forEach(column => {
47
+ if (column.isSpanColumn) {
48
+ total += column.colspan - 1;
49
+ }
50
+ });
51
+ for (let cellIndex = this.logicalCellsCount; cellIndex < total; cellIndex++) {
52
+ ids.push(this.idService.cellId(this.logicalRowIndex, cellIndex));
53
+ }
54
+ }
55
+ else {
56
+ let columnIndex = 0;
57
+ this.columnsArray.forEach(column => {
58
+ if (!column.isLocked) {
59
+ ids.push(this.idService.cellId(this.logicalRowIndex, columnIndex));
60
+ }
61
+ columnIndex += column.isSpanColumn ? column.colspan : 1;
62
+ });
43
63
  }
44
64
  return ids.join(' ');
45
65
  }
@@ -61,9 +81,12 @@ export class LogicalRowDirective {
61
81
  ngOnDestroy() {
62
82
  this.navigation.unregisterRow(this.logicalRowIndex, this);
63
83
  }
84
+ get columnsArray() {
85
+ return this.totalColumns?.allColumns.toArray() || [];
86
+ }
64
87
  }
65
88
  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 });
66
- LogicalRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: { logicalRowIndex: "logicalRowIndex", logicalSlaveRow: "logicalSlaveRow", logicalCellsCount: "logicalCellsCount", logicalSlaveCellsCount: "logicalSlaveCellsCount", dataRowIndex: "dataRowIndex", dataItem: "dataItem" }, host: { properties: { "attr.role": "this.hostRole", "attr.aria-rowindex": "this.ariaRowIndex", "class.k-table-row": "this.tableRowClass", "attr.aria-owns": "this.ariaOwns" } }, usesOnChanges: true, ngImport: i0 });
89
+ LogicalRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: { logicalRowIndex: "logicalRowIndex", logicalSlaveRow: "logicalSlaveRow", logicalCellsCount: "logicalCellsCount", logicalSlaveCellsCount: "logicalSlaveCellsCount", dataRowIndex: "dataRowIndex", dataItem: "dataItem", totalColumns: "totalColumns" }, host: { properties: { "attr.role": "this.hostRole", "attr.aria-rowindex": "this.ariaRowIndex", "attr.data-kendo-grid-row-index": "this.rowIndex", "class.k-table-row": "this.tableRowClass", "attr.aria-owns": "this.ariaOwns" } }, usesOnChanges: true, ngImport: i0 });
67
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogicalRowDirective, decorators: [{
68
91
  type: Directive,
69
92
  args: [{
@@ -81,12 +104,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
81
104
  type: Input
82
105
  }], dataItem: [{
83
106
  type: Input
107
+ }], totalColumns: [{
108
+ type: Input
84
109
  }], hostRole: [{
85
110
  type: HostBinding,
86
111
  args: ['attr.role']
87
112
  }], ariaRowIndex: [{
88
113
  type: HostBinding,
89
114
  args: ['attr.aria-rowindex']
115
+ }], rowIndex: [{
116
+ type: HostBinding,
117
+ args: ['attr.data-kendo-grid-row-index']
90
118
  }], tableRowClass: [{
91
119
  type: HostBinding,
92
120
  args: ['class.k-table-row']
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Subject } from 'rxjs';
6
+ import { isPresent } from '../utils';
6
7
  /**
7
8
  * @hidden
8
9
  */
@@ -15,6 +16,20 @@ export class NavigationCursor {
15
16
  this.virtualCol = 0;
16
17
  this.virtualRow = 0;
17
18
  }
19
+ set metadata(value) {
20
+ this._metadata = value;
21
+ if (isPresent(value)) {
22
+ const newActiveCol = value.hasDetailTemplate ? 1 : 0;
23
+ const shouldChange = this.activeRow < value.headerRows && this.activeCol === 0;
24
+ if (shouldChange && newActiveCol !== this.activeCol) {
25
+ this.activeCol = newActiveCol;
26
+ this.reset();
27
+ }
28
+ }
29
+ }
30
+ get metadata() {
31
+ return this._metadata;
32
+ }
18
33
  get row() {
19
34
  return this.model.findRow(this.activeRow);
20
35
  }
@@ -126,6 +141,10 @@ export class NavigationCursor {
126
141
  if (!cell && this.metadata.virtualColumns) {
127
142
  return this.activate(nextRowIndex, nextColIndex);
128
143
  }
144
+ if (!cell && this.metadata.hasDetailTemplate) {
145
+ this.virtualCol += 1;
146
+ return false;
147
+ }
129
148
  if (cell.colSpan > 1 && cell.colIndex <= virtualCol && virtualCol < cell.colIndex + cell.colSpan) {
130
149
  nextColIndex = offset > 0 ? Math.min(cell.colIndex + cell.colSpan, lastIndex) : Math.max(0, cell.colIndex + offset);
131
150
  const nextCell = this.model.findCell(nextColIndex, prevRow);
@@ -158,6 +177,9 @@ export class NavigationCursor {
158
177
  if (nextRow) {
159
178
  // remove duplication
160
179
  let cell = this.model.findCell(this.virtualCol, nextRow);
180
+ if (!cell) {
181
+ return;
182
+ }
161
183
  if (cell.rowIndex <= this.virtualRow && offset > 0 && cell.rowSpan > 1) {
162
184
  cell = this.model.findCell(this.virtualCol, this.model.findRow(cell.rowIndex + cell.rowSpan - 1 + offset));
163
185
  }
@@ -176,7 +198,7 @@ export class NavigationCursor {
176
198
  const nextPos = cell.rowIndex + cell.rowSpan - 1 + offset;
177
199
  cell = this.model.findCell(this.virtualCol, this.model.findRow(nextPos));
178
200
  }
179
- if (!cell && this.metadata.virtualColumns) {
201
+ if (!cell && (this.metadata.virtualColumns || this.metadata.hasDetailTemplate)) {
180
202
  return this.activate(this.virtualRow + offset, this.virtualCol);
181
203
  }
182
204
  this.virtualRow = cell.rowIndex;
@@ -45,7 +45,7 @@ const targetCell = (target, gridElement) => {
45
45
  const cell = gridCell(target, gridElement);
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-grid-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;
@@ -446,7 +446,11 @@ export class NavigationService {
446
446
  }
447
447
  }
448
448
  else {
449
- this.cursor.reset(row.index, 0, false);
449
+ let firstColumnIndex = 0;
450
+ if (this.meta.hasDetailTemplate && row.index < this.meta.headerRows) {
451
+ firstColumnIndex = 1;
452
+ }
453
+ this.cursor.reset(row.index, firstColumnIndex, false);
450
454
  }
451
455
  preventDefault = true;
452
456
  break;
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-grid',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1689688777,
13
- version: '13.2.0',
12
+ publishDate: 1689771247,
13
+ version: '13.2.1-develop.2',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -7,6 +7,7 @@ import { Component, Input, HostBinding } from '@angular/core';
7
7
  import { DetailTemplateDirective } from '../details/detail-template.directive';
8
8
  import { columnsToRender } from '../../columns/column-common';
9
9
  import { isPresent } from '../../utils';
10
+ import { ColumnsContainer } from '../../columns/columns-container';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "./../../common/column-info.service";
12
13
  import * as i2 from "../../navigation/logical-row.directive";
@@ -45,7 +46,7 @@ export class FooterComponent {
45
46
  }
46
47
  }
47
48
  FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FooterComponent, deps: [{ token: i1.ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
48
- FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FooterComponent, selector: "[kendoGridFooter]", inputs: { columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", lockedColumnsCount: "lockedColumnsCount", logicalRowIndex: "logicalRowIndex" }, host: { properties: { "class.k-grid-footer": "this.footerClass", "class.k-table-tfoot": "this.hostClass", "attr.role": "this.hostRole" } }, ngImport: i0, template: `
49
+ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FooterComponent, selector: "[kendoGridFooter]", inputs: { columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", lockedColumnsCount: "lockedColumnsCount", logicalRowIndex: "logicalRowIndex", totalColumns: "totalColumns" }, host: { properties: { "class.k-grid-footer": "this.footerClass", "class.k-table-tfoot": "this.hostClass", "attr.role": "this.hostRole" } }, ngImport: i0, template: `
49
50
  <ng-container>
50
51
  <tr
51
52
  [class.k-footer-template]="true"
@@ -54,6 +55,7 @@ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
54
55
  [logicalSlaveRow]="lockedColumnsCount > 0"
55
56
  [logicalCellsCount]="columns.length"
56
57
  [logicalSlaveCellsCount]="columns.length - lockedColumnsCount"
58
+ [totalColumns]="totalColumns"
57
59
  >
58
60
  <td
59
61
  class="k-table-td k-group-cell"
@@ -87,7 +89,7 @@ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
87
89
  </td>
88
90
  </tr>
89
91
  </ng-container>
90
- `, isInline: true, directives: [{ type: i2.LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
92
+ `, isInline: true, directives: [{ type: i2.LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
91
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FooterComponent, decorators: [{
92
94
  type: Component,
93
95
  args: [{
@@ -101,6 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
101
103
  [logicalSlaveRow]="lockedColumnsCount > 0"
102
104
  [logicalCellsCount]="columns.length"
103
105
  [logicalSlaveCellsCount]="columns.length - lockedColumnsCount"
106
+ [totalColumns]="totalColumns"
104
107
  >
105
108
  <td
106
109
  class="k-table-td k-group-cell"
@@ -148,6 +151,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
148
151
  type: Input
149
152
  }], logicalRowIndex: [{
150
153
  type: Input
154
+ }], totalColumns: [{
155
+ type: Input
151
156
  }], footerClass: [{
152
157
  type: HostBinding,
153
158
  args: ['class.k-grid-footer']
@@ -30,6 +30,7 @@ import { ColumnMenuComponent } from '../../column-menu/column-menu.component';
30
30
  import { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
31
31
  import { ContextService } from '../../common/provider.service';
32
32
  import { ColumnReorderEvent } from '../../dragdrop/column-reorder-event';
33
+ import { ColumnsContainer } from '../../columns/columns-container';
33
34
  import * as i0 from "@angular/core";
34
35
  import * as i1 from "../../common/single-popup.service";
35
36
  import * as i2 from "../../dragdrop/drag-hint.service";
@@ -464,26 +465,23 @@ export class HeaderComponent {
464
465
  }
465
466
  }
466
467
  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.IdService }, { token: i6.SortService }, { token: i7.ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: i8.ContextService }], target: i0.ɵɵFactoryTarget.Component });
467
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
468
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
468
469
  <ng-container>
469
470
  <tr *ngFor="let i of columnLevels; let levelIndex = index"
470
471
  kendoGridLogicalRow
471
472
  [logicalRowIndex]="levelIndex"
472
473
  [logicalSlaveRow]="lockedColumnsCount > 0"
473
474
  [logicalCellsCount]="columns.length"
474
- [logicalSlaveCellsCount]="unlockedColumnsCount">
475
+ [logicalSlaveCellsCount]="unlockedColumnsCount"
476
+ [totalColumns]="totalColumns">
475
477
  <th
476
478
  class="k-group-cell k-header k-table-th"
477
479
  role="presentation"
478
480
  *ngFor="let g of groups">
479
481
  </th>
480
482
  <th class="k-hierarchy-cell k-header k-table-th"
481
- role="gridcell"
483
+ role="presentation"
482
484
  *ngIf="detailTemplate?.templateRef"
483
- kendoGridLogicalCell
484
- [logicalRowIndex]="levelIndex"
485
- [logicalColIndex]="0"
486
- aria-selected="false"
487
485
  >
488
486
  </th>
489
487
  <ng-container *ngFor="let column of columnsForLevel(levelIndex); trackBy: trackByIndex; let columnIndex = index; let last = last;">
@@ -687,9 +685,10 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
687
685
  [logicalSlaveRow]="lockedColumnsCount > 0"
688
686
  [logicalCellsCount]="columns.length"
689
687
  [logicalSlaveCellsCount]="unlockedColumnsCount"
688
+ [totalColumns]="totalColumns"
690
689
  ></tr>
691
690
  </ng-container>
692
- `, isInline: true, components: [{ type: i9.FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { type: i10.ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { type: i11.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i12.FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i14.LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i16.DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i17.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i18.DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i19.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i20.SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { type: i21.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i22.ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }] });
691
+ `, isInline: true, components: [{ type: i9.FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { type: i10.ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { type: i11.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i12.FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i14.LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i16.DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i17.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i18.DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i19.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i20.SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { type: i21.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i22.ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }] });
693
692
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
694
693
  type: Component,
695
694
  args: [{
@@ -701,19 +700,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
701
700
  [logicalRowIndex]="levelIndex"
702
701
  [logicalSlaveRow]="lockedColumnsCount > 0"
703
702
  [logicalCellsCount]="columns.length"
704
- [logicalSlaveCellsCount]="unlockedColumnsCount">
703
+ [logicalSlaveCellsCount]="unlockedColumnsCount"
704
+ [totalColumns]="totalColumns">
705
705
  <th
706
706
  class="k-group-cell k-header k-table-th"
707
707
  role="presentation"
708
708
  *ngFor="let g of groups">
709
709
  </th>
710
710
  <th class="k-hierarchy-cell k-header k-table-th"
711
- role="gridcell"
711
+ role="presentation"
712
712
  *ngIf="detailTemplate?.templateRef"
713
- kendoGridLogicalCell
714
- [logicalRowIndex]="levelIndex"
715
- [logicalColIndex]="0"
716
- aria-selected="false"
717
713
  >
718
714
  </th>
719
715
  <ng-container *ngFor="let column of columnsForLevel(levelIndex); trackBy: trackByIndex; let columnIndex = index; let last = last;">
@@ -917,6 +913,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
917
913
  [logicalSlaveRow]="lockedColumnsCount > 0"
918
914
  [logicalCellsCount]="columns.length"
919
915
  [logicalSlaveCellsCount]="unlockedColumnsCount"
916
+ [totalColumns]="totalColumns"
920
917
  ></tr>
921
918
  </ng-container>
922
919
  `
@@ -953,6 +950,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
953
950
  type: Input
954
951
  }], totalColumnsCount: [{
955
952
  type: Input
953
+ }], totalColumns: [{
954
+ type: Input
956
955
  }], tabIndex: [{
957
956
  type: Input
958
957
  }], size: [{
@@ -627,6 +627,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
627
627
  [noRecordsText]="''"
628
628
  [columns]="$any(lockedLeafColumns)"
629
629
  [totalColumnsCount]="leafColumns.length"
630
+ [totalColumns]="columns"
630
631
  [detailTemplate]="detailTemplate"
631
632
  [showGroupFooters]="showFooter"
632
633
  [skip]="skip"
@@ -678,6 +679,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
678
679
  [noRecordsTemplate]="noRecordsTemplate"
679
680
  [lockedColumnsCount]="lockedLeafColumns.length"
680
681
  [totalColumnsCount]="leafColumns.length"
682
+ [totalColumns]="columns"
681
683
  [skip]="skip"
682
684
  [selectable]="selectable"
683
685
  [trackBy]="trackBy"
@@ -700,7 +702,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
700
702
  <div [style.width.px]="totalWidth"></div>
701
703
  </div>
702
704
  </div>
703
- `, isInline: true, components: [{ type: i15.ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: i16.TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: i17.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i17.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i19.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i20.GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: i21.ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
705
+ `, isInline: true, components: [{ type: i15.ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: i16.TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { type: i17.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i17.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i19.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i20.GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: i21.ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
704
706
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, decorators: [{
705
707
  type: Component,
706
708
  args: [{
@@ -745,6 +747,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
745
747
  [noRecordsText]="''"
746
748
  [columns]="$any(lockedLeafColumns)"
747
749
  [totalColumnsCount]="leafColumns.length"
750
+ [totalColumns]="columns"
748
751
  [detailTemplate]="detailTemplate"
749
752
  [showGroupFooters]="showFooter"
750
753
  [skip]="skip"
@@ -796,6 +799,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
796
799
  [noRecordsTemplate]="noRecordsTemplate"
797
800
  [lockedColumnsCount]="lockedLeafColumns.length"
798
801
  [totalColumnsCount]="leafColumns.length"
802
+ [totalColumns]="columns"
799
803
  [skip]="skip"
800
804
  [selectable]="selectable"
801
805
  [trackBy]="trackBy"