@progress/kendo-angular-grid 13.2.0 → 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.
@@ -1831,6 +1831,20 @@ class NavigationCursor {
1831
1831
  this.virtualCol = 0;
1832
1832
  this.virtualRow = 0;
1833
1833
  }
1834
+ set metadata(value) {
1835
+ this._metadata = value;
1836
+ if (isPresent(value)) {
1837
+ const newActiveCol = value.hasDetailTemplate ? 1 : 0;
1838
+ const shouldChange = this.activeRow < value.headerRows && this.activeCol === 0;
1839
+ if (shouldChange && newActiveCol !== this.activeCol) {
1840
+ this.activeCol = newActiveCol;
1841
+ this.reset();
1842
+ }
1843
+ }
1844
+ }
1845
+ get metadata() {
1846
+ return this._metadata;
1847
+ }
1834
1848
  get row() {
1835
1849
  return this.model.findRow(this.activeRow);
1836
1850
  }
@@ -1942,6 +1956,10 @@ class NavigationCursor {
1942
1956
  if (!cell && this.metadata.virtualColumns) {
1943
1957
  return this.activate(nextRowIndex, nextColIndex);
1944
1958
  }
1959
+ if (!cell && this.metadata.hasDetailTemplate) {
1960
+ this.virtualCol += 1;
1961
+ return false;
1962
+ }
1945
1963
  if (cell.colSpan > 1 && cell.colIndex <= virtualCol && virtualCol < cell.colIndex + cell.colSpan) {
1946
1964
  nextColIndex = offset > 0 ? Math.min(cell.colIndex + cell.colSpan, lastIndex) : Math.max(0, cell.colIndex + offset);
1947
1965
  const nextCell = this.model.findCell(nextColIndex, prevRow);
@@ -1974,6 +1992,9 @@ class NavigationCursor {
1974
1992
  if (nextRow) {
1975
1993
  // remove duplication
1976
1994
  let cell = this.model.findCell(this.virtualCol, nextRow);
1995
+ if (!cell) {
1996
+ return;
1997
+ }
1977
1998
  if (cell.rowIndex <= this.virtualRow && offset > 0 && cell.rowSpan > 1) {
1978
1999
  cell = this.model.findCell(this.virtualCol, this.model.findRow(cell.rowIndex + cell.rowSpan - 1 + offset));
1979
2000
  }
@@ -1992,7 +2013,7 @@ class NavigationCursor {
1992
2013
  const nextPos = cell.rowIndex + cell.rowSpan - 1 + offset;
1993
2014
  cell = this.model.findCell(this.virtualCol, this.model.findRow(nextPos));
1994
2015
  }
1995
- if (!cell && this.metadata.virtualColumns) {
2016
+ if (!cell && (this.metadata.virtualColumns || this.metadata.hasDetailTemplate)) {
1996
2017
  return this.activate(this.virtualRow + offset, this.virtualCol);
1997
2018
  }
1998
2019
  this.virtualRow = cell.rowIndex;
@@ -2995,7 +3016,7 @@ const targetCell = (target, gridElement) => {
2995
3016
  const cell = gridCell(target, gridElement);
2996
3017
  const row = closest(cell, matchesNodeName('tr'));
2997
3018
  if (cell && row) {
2998
- let rowIndex = row.getAttribute('aria-rowindex');
3019
+ let rowIndex = row.getAttribute('aria-rowindex') || row.getAttribute('data-kendo-grid-row-index');
2999
3020
  rowIndex = rowIndex ? parseInt(rowIndex, 10) - 1 : null;
3000
3021
  let colIndex = cell.getAttribute('aria-colindex');
3001
3022
  colIndex = colIndex ? parseInt(colIndex, 10) - 1 : null;
@@ -3396,7 +3417,11 @@ class NavigationService {
3396
3417
  }
3397
3418
  }
3398
3419
  else {
3399
- this.cursor.reset(row.index, 0, false);
3420
+ let firstColumnIndex = 0;
3421
+ if (this.meta.hasDetailTemplate && row.index < this.meta.headerRows) {
3422
+ firstColumnIndex = 1;
3423
+ }
3424
+ this.cursor.reset(row.index, firstColumnIndex, false);
3400
3425
  }
3401
3426
  preventDefault = true;
3402
3427
  break;
@@ -4429,8 +4454,8 @@ const packageMetadata = {
4429
4454
  name: '@progress/kendo-angular-grid',
4430
4455
  productName: 'Kendo UI for Angular',
4431
4456
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
4432
- publishDate: 1689688777,
4433
- version: '13.2.0',
4457
+ publishDate: 1689768696,
4458
+ version: '13.2.1-develop.1',
4434
4459
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
4435
4460
  };
4436
4461
 
@@ -5133,7 +5158,7 @@ const filterHierarchy = (list, predicate) => {
5133
5158
  }
5134
5159
  }
5135
5160
  });
5136
- return result;
5161
+ return result.sort((a, b) => Number(b.locked) - Number(a.locked));
5137
5162
  };
5138
5163
  /**
5139
5164
  * @hidden
@@ -14384,6 +14409,11 @@ class FilterRowComponent {
14384
14409
  const columnName = column.title || column.field;
14385
14410
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
14386
14411
  }
14412
+ getLogicalColIndex(columnIndex) {
14413
+ var _a;
14414
+ const colIndex = this.lockedColumnsCount + columnIndex;
14415
+ return ((_a = this.detailTemplate) === null || _a === void 0 ? void 0 : _a.templateRef) ? colIndex + 1 : colIndex;
14416
+ }
14387
14417
  }
14388
14418
  FilterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterRowComponent, deps: [{ token: ContextService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
14389
14419
  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: `
@@ -14410,7 +14440,7 @@ FilterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
14410
14440
  [filter]="filter"
14411
14441
  kendoGridLogicalCell
14412
14442
  [logicalRowIndex]="logicalRowIndex"
14413
- [logicalColIndex]="lockedColumnsCount + columnIndex"
14443
+ [logicalColIndex]="getLogicalColIndex(columnIndex)"
14414
14444
  ></td>
14415
14445
  `, isInline: true, components: [{ type: 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: 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"] }] });
14416
14446
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterRowComponent, decorators: [{
@@ -14441,7 +14471,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
14441
14471
  [filter]="filter"
14442
14472
  kendoGridLogicalCell
14443
14473
  [logicalRowIndex]="logicalRowIndex"
14444
- [logicalColIndex]="lockedColumnsCount + columnIndex"
14474
+ [logicalColIndex]="getLogicalColIndex(columnIndex)"
14445
14475
  ></td>
14446
14476
  `
14447
14477
  }]
@@ -14483,16 +14513,35 @@ class LogicalRowDirective {
14483
14513
  return this.logicalSlaveRow ? 'presentation' : 'row';
14484
14514
  }
14485
14515
  get ariaRowIndex() {
14486
- return this.logicalRowIndex + 1;
14516
+ return this.logicalSlaveRow ? null : this.logicalRowIndex + 1;
14517
+ }
14518
+ get rowIndex() {
14519
+ return this.logicalSlaveRow ? this.logicalRowIndex + 1 : null;
14487
14520
  }
14488
14521
  get ariaOwns() {
14489
- if (!this.navigation.enabled || this.logicalSlaveRow || this.logicalSlaveCellsCount === 0) {
14522
+ if (this.logicalSlaveRow || this.logicalSlaveCellsCount === 0) {
14490
14523
  return undefined;
14491
14524
  }
14492
14525
  const ids = [];
14493
- const total = this.logicalCellsCount + this.logicalSlaveCellsCount;
14494
- for (let cellIndex = this.logicalCellsCount; cellIndex < total; cellIndex++) {
14495
- ids.push(this.idService.cellId(this.logicalRowIndex, cellIndex));
14526
+ if (this.dataRowIndex < 0) {
14527
+ let total = this.logicalCellsCount + this.logicalSlaveCellsCount;
14528
+ this.columnsArray.forEach(column => {
14529
+ if (column.isSpanColumn) {
14530
+ total += column.colspan - 1;
14531
+ }
14532
+ });
14533
+ for (let cellIndex = this.logicalCellsCount; cellIndex < total; cellIndex++) {
14534
+ ids.push(this.idService.cellId(this.logicalRowIndex, cellIndex));
14535
+ }
14536
+ }
14537
+ else {
14538
+ let columnIndex = 0;
14539
+ this.columnsArray.forEach(column => {
14540
+ if (!column.isLocked) {
14541
+ ids.push(this.idService.cellId(this.logicalRowIndex, columnIndex));
14542
+ }
14543
+ columnIndex += column.isSpanColumn ? column.colspan : 1;
14544
+ });
14496
14545
  }
14497
14546
  return ids.join(' ');
14498
14547
  }
@@ -14514,9 +14563,13 @@ class LogicalRowDirective {
14514
14563
  ngOnDestroy() {
14515
14564
  this.navigation.unregisterRow(this.logicalRowIndex, this);
14516
14565
  }
14566
+ get columnsArray() {
14567
+ var _a;
14568
+ return ((_a = this.totalColumns) === null || _a === void 0 ? void 0 : _a.allColumns.toArray()) || [];
14569
+ }
14517
14570
  }
14518
14571
  LogicalRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogicalRowDirective, deps: [{ token: IdService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Directive });
14519
- 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 });
14572
+ 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 });
14520
14573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogicalRowDirective, decorators: [{
14521
14574
  type: Directive,
14522
14575
  args: [{
@@ -14534,12 +14587,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
14534
14587
  type: Input
14535
14588
  }], dataItem: [{
14536
14589
  type: Input
14590
+ }], totalColumns: [{
14591
+ type: Input
14537
14592
  }], hostRole: [{
14538
14593
  type: HostBinding,
14539
14594
  args: ['attr.role']
14540
14595
  }], ariaRowIndex: [{
14541
14596
  type: HostBinding,
14542
14597
  args: ['attr.aria-rowindex']
14598
+ }], rowIndex: [{
14599
+ type: HostBinding,
14600
+ args: ['attr.data-kendo-grid-row-index']
14543
14601
  }], tableRowClass: [{
14544
14602
  type: HostBinding,
14545
14603
  args: ['class.k-table-row']
@@ -15332,26 +15390,23 @@ class HeaderComponent {
15332
15390
  }
15333
15391
  }
15334
15392
  HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: SinglePopupService }, { token: DragHintService }, { token: DropCueService }, { token: ColumnReorderService }, { token: IdService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
15335
- 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: `
15393
+ 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: `
15336
15394
  <ng-container>
15337
15395
  <tr *ngFor="let i of columnLevels; let levelIndex = index"
15338
15396
  kendoGridLogicalRow
15339
15397
  [logicalRowIndex]="levelIndex"
15340
15398
  [logicalSlaveRow]="lockedColumnsCount > 0"
15341
15399
  [logicalCellsCount]="columns.length"
15342
- [logicalSlaveCellsCount]="unlockedColumnsCount">
15400
+ [logicalSlaveCellsCount]="unlockedColumnsCount"
15401
+ [totalColumns]="totalColumns">
15343
15402
  <th
15344
15403
  class="k-group-cell k-header k-table-th"
15345
15404
  role="presentation"
15346
15405
  *ngFor="let g of groups">
15347
15406
  </th>
15348
15407
  <th class="k-hierarchy-cell k-header k-table-th"
15349
- role="gridcell"
15408
+ role="presentation"
15350
15409
  *ngIf="detailTemplate?.templateRef"
15351
- kendoGridLogicalCell
15352
- [logicalRowIndex]="levelIndex"
15353
- [logicalColIndex]="0"
15354
- aria-selected="false"
15355
15410
  >
15356
15411
  </th>
15357
15412
  <ng-container *ngFor="let column of columnsForLevel(levelIndex); trackBy: trackByIndex; let columnIndex = index; let last = last;">
@@ -15555,9 +15610,10 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
15555
15610
  [logicalSlaveRow]="lockedColumnsCount > 0"
15556
15611
  [logicalCellsCount]="columns.length"
15557
15612
  [logicalSlaveCellsCount]="unlockedColumnsCount"
15613
+ [totalColumns]="totalColumns"
15558
15614
  ></tr>
15559
15615
  </ng-container>
15560
- `, isInline: true, components: [{ type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }] });
15616
+ `, isInline: true, components: [{ type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }] });
15561
15617
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
15562
15618
  type: Component,
15563
15619
  args: [{
@@ -15569,19 +15625,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15569
15625
  [logicalRowIndex]="levelIndex"
15570
15626
  [logicalSlaveRow]="lockedColumnsCount > 0"
15571
15627
  [logicalCellsCount]="columns.length"
15572
- [logicalSlaveCellsCount]="unlockedColumnsCount">
15628
+ [logicalSlaveCellsCount]="unlockedColumnsCount"
15629
+ [totalColumns]="totalColumns">
15573
15630
  <th
15574
15631
  class="k-group-cell k-header k-table-th"
15575
15632
  role="presentation"
15576
15633
  *ngFor="let g of groups">
15577
15634
  </th>
15578
15635
  <th class="k-hierarchy-cell k-header k-table-th"
15579
- role="gridcell"
15636
+ role="presentation"
15580
15637
  *ngIf="detailTemplate?.templateRef"
15581
- kendoGridLogicalCell
15582
- [logicalRowIndex]="levelIndex"
15583
- [logicalColIndex]="0"
15584
- aria-selected="false"
15585
15638
  >
15586
15639
  </th>
15587
15640
  <ng-container *ngFor="let column of columnsForLevel(levelIndex); trackBy: trackByIndex; let columnIndex = index; let last = last;">
@@ -15785,6 +15838,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15785
15838
  [logicalSlaveRow]="lockedColumnsCount > 0"
15786
15839
  [logicalCellsCount]="columns.length"
15787
15840
  [logicalSlaveCellsCount]="unlockedColumnsCount"
15841
+ [totalColumns]="totalColumns"
15788
15842
  ></tr>
15789
15843
  </ng-container>
15790
15844
  `
@@ -15821,6 +15875,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15821
15875
  type: Input
15822
15876
  }], totalColumnsCount: [{
15823
15877
  type: Input
15878
+ }], totalColumns: [{
15879
+ type: Input
15824
15880
  }], tabIndex: [{
15825
15881
  type: Input
15826
15882
  }], size: [{
@@ -16844,8 +16900,17 @@ class TableBodyComponent {
16844
16900
  return this.editService.newDataItem;
16845
16901
  }
16846
16902
  // Number of unlocked columns in the next table, if any
16847
- get unlockedColumnsCount() {
16848
- return this.totalColumnsCount - this.lockedColumnsCount - (this.allColumns || this.columns).length;
16903
+ unlockedColumnsCount(item) {
16904
+ const allColumns = this.allColumns || this.columns;
16905
+ let allColumnsCount = allColumns.length;
16906
+ allColumns.forEach(column => {
16907
+ if (column.isSpanColumn) {
16908
+ allColumnsCount += column.colspan - 1;
16909
+ }
16910
+ });
16911
+ const contentColumnsCount = this.totalColumnsCount - this.lockedColumnsCount - allColumnsCount;
16912
+ const headerFooterColumnsCount = this.totalColumnsCount - this.lockedColumnsCount - (this.allColumns || this.columns).length;
16913
+ return item && this.isDataItem(item) ? contentColumnsCount : headerFooterColumnsCount;
16849
16914
  }
16850
16915
  isAriaSelected(item, column) {
16851
16916
  return this.cellSelectionService.isCellSelected(item, column) ||
@@ -17139,14 +17204,15 @@ class TableBodyComponent {
17139
17204
  }
17140
17205
  }
17141
17206
  TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, deps: [{ token: DetailsService }, { token: GroupsService }, { token: ChangeNotificationService }, { token: EditService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DomEventsService }, { token: SelectionService }, { token: CellSelectionService }, { token: ColumnInfoService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
17142
- TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: { columns: "columns", allColumns: "allColumns", groups: "groups", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", data: "data", skip: "skip", selectable: "selectable", filterable: "filterable", noRecordsText: "noRecordsText", isLocked: "isLocked", isLoading: "isLoading", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", skipGroupDecoration: "skipGroupDecoration", showGroupFooters: "showGroupFooters", lockedColumnsCount: "lockedColumnsCount", totalColumnsCount: "totalColumnsCount", virtualColumns: "virtualColumns", trackBy: "trackBy", rowSticky: "rowSticky", rowClass: "rowClass" }, host: { properties: { "class.k-table-tbody": "this.hostClass" } }, usesOnChanges: true, ngImport: i0, template: `
17207
+ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: { columns: "columns", allColumns: "allColumns", groups: "groups", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", data: "data", skip: "skip", selectable: "selectable", filterable: "filterable", noRecordsText: "noRecordsText", isLocked: "isLocked", isLoading: "isLoading", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", skipGroupDecoration: "skipGroupDecoration", showGroupFooters: "showGroupFooters", lockedColumnsCount: "lockedColumnsCount", totalColumnsCount: "totalColumnsCount", virtualColumns: "virtualColumns", trackBy: "trackBy", rowSticky: "rowSticky", totalColumns: "totalColumns", rowClass: "rowClass" }, host: { properties: { "class.k-table-tbody": "this.hostClass" } }, usesOnChanges: true, ngImport: i0, template: `
17143
17208
  <ng-container *ngIf="editService.hasNewItem">
17144
17209
  <tr class="k-grid-add-row k-grid-edit-row k-master-row"
17145
17210
  kendoGridLogicalRow
17146
17211
  [logicalRowIndex]="addRowLogicalIndex()"
17147
17212
  [logicalSlaveRow]="lockedColumnsCount > 0"
17148
17213
  [logicalCellsCount]="columns.length"
17149
- [logicalSlaveCellsCount]="unlockedColumnsCount">
17214
+ [logicalSlaveCellsCount]="unlockedColumnsCount()"
17215
+ [totalColumns]="totalColumns">
17150
17216
  <ng-container *ngIf="!skipGroupDecoration">
17151
17217
  <td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
17152
17218
  </ng-container>
@@ -17208,6 +17274,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
17208
17274
  kendoGridLogicalRow
17209
17275
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
17210
17276
  [logicalSlaveRow]="lockedColumnsCount > 0"
17277
+ [totalColumns]="totalColumns"
17211
17278
  [logicalCellsCount]="columns.length"
17212
17279
  [logicalSlaveCellsCount]="groupHeaderSlaveCellsCount">
17213
17280
  </tr>
@@ -17218,14 +17285,15 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
17218
17285
  [dataItem]="item.data"
17219
17286
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
17220
17287
  [logicalSlaveRow]="lockedColumnsCount > 0"
17288
+ [totalColumns]="totalColumns"
17221
17289
  [logicalCellsCount]="columns.length"
17222
- [logicalSlaveCellsCount]="unlockedColumnsCount"
17290
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
17223
17291
  class="{{ isOdd(item) ? 'k-alt k-table-alt-row' : ''}}"
17224
17292
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
17225
17293
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
17226
17294
  [class.k-master-row]="true"
17227
17295
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
17228
- [attr.aria-selected]="isSelectable() && isRowSelected(item)"
17296
+ [attr.aria-selected]="lockedColumnsCount < 1 ? isSelectable() && isRowSelected(item) : undefined"
17229
17297
  [attr.data-kendo-grid-item-index]="$any(item).index"
17230
17298
  [class.k-selected]="isSelectable() && isRowSelected(item)">
17231
17299
  <ng-container *ngIf="!skipGroupDecoration">
@@ -17270,7 +17338,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
17270
17338
  [colSpan]="column.colspan"
17271
17339
  role="gridcell"
17272
17340
  class="k-table-td"
17273
- [attr.aria-selected]="isSelectable() ? isAriaSelected(item, column) : undefined"
17341
+ [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable() ? isAriaSelected(item, column) : undefined"
17274
17342
  [class.k-grid-content-sticky]="column.sticky"
17275
17343
  [class.k-touch-action-none]="isSelectable() && $any(selectable).drag"
17276
17344
  [class.k-touch-action-auto]="!(isSelectable() && $any(selectable).drag)"
@@ -17327,8 +17395,9 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
17327
17395
  kendoGridLogicalRow
17328
17396
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
17329
17397
  [logicalSlaveRow]="lockedColumnsCount > 0"
17398
+ [totalColumns]="totalColumns"
17330
17399
  [logicalCellsCount]="columns.length"
17331
- [logicalSlaveCellsCount]="unlockedColumnsCount">
17400
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)">
17332
17401
  <ng-container *ngIf="!skipGroupDecoration">
17333
17402
  <td class="k-group-cell" *ngFor="let g of groups"></td>
17334
17403
  </ng-container>
@@ -17360,7 +17429,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
17360
17429
  </tr>
17361
17430
  </ng-container>
17362
17431
  <kendo-resize-sensor *ngIf="rowSticky" (resize)="resizeHandler()"></kendo-resize-sensor>
17363
- `, isInline: true, components: [{ type: CellComponent, selector: "[kendoGridCell]", inputs: ["column", "columnIndex", "isNew", "isLoading", "isVirtual", "loadingTemplate", "rowIndex", "dataItem"] }, { type: GroupHeaderComponent, selector: "[kendoGridGroupHeader]", inputs: ["rowIndex", "logicalRowIndex", "item", "skipGroupDecoration", "hasDetails", "totalColumnsCount", "hasGroupHeaderColumn", "groupHeaderColumns", "columns", "groups"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
17432
+ `, isInline: true, components: [{ type: CellComponent, selector: "[kendoGridCell]", inputs: ["column", "columnIndex", "isNew", "isLoading", "isVirtual", "loadingTemplate", "rowIndex", "dataItem"] }, { type: GroupHeaderComponent, selector: "[kendoGridGroupHeader]", inputs: ["rowIndex", "logicalRowIndex", "item", "skipGroupDecoration", "hasDetails", "totalColumnsCount", "hasGroupHeaderColumn", "groupHeaderColumns", "columns", "groups"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
17364
17433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, decorators: [{
17365
17434
  type: Component,
17366
17435
  args: [{
@@ -17372,7 +17441,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17372
17441
  [logicalRowIndex]="addRowLogicalIndex()"
17373
17442
  [logicalSlaveRow]="lockedColumnsCount > 0"
17374
17443
  [logicalCellsCount]="columns.length"
17375
- [logicalSlaveCellsCount]="unlockedColumnsCount">
17444
+ [logicalSlaveCellsCount]="unlockedColumnsCount()"
17445
+ [totalColumns]="totalColumns">
17376
17446
  <ng-container *ngIf="!skipGroupDecoration">
17377
17447
  <td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
17378
17448
  </ng-container>
@@ -17434,6 +17504,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17434
17504
  kendoGridLogicalRow
17435
17505
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
17436
17506
  [logicalSlaveRow]="lockedColumnsCount > 0"
17507
+ [totalColumns]="totalColumns"
17437
17508
  [logicalCellsCount]="columns.length"
17438
17509
  [logicalSlaveCellsCount]="groupHeaderSlaveCellsCount">
17439
17510
  </tr>
@@ -17444,14 +17515,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17444
17515
  [dataItem]="item.data"
17445
17516
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
17446
17517
  [logicalSlaveRow]="lockedColumnsCount > 0"
17518
+ [totalColumns]="totalColumns"
17447
17519
  [logicalCellsCount]="columns.length"
17448
- [logicalSlaveCellsCount]="unlockedColumnsCount"
17520
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)"
17449
17521
  class="{{ isOdd(item) ? 'k-alt k-table-alt-row' : ''}}"
17450
17522
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
17451
17523
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
17452
17524
  [class.k-master-row]="true"
17453
17525
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
17454
- [attr.aria-selected]="isSelectable() && isRowSelected(item)"
17526
+ [attr.aria-selected]="lockedColumnsCount < 1 ? isSelectable() && isRowSelected(item) : undefined"
17455
17527
  [attr.data-kendo-grid-item-index]="$any(item).index"
17456
17528
  [class.k-selected]="isSelectable() && isRowSelected(item)">
17457
17529
  <ng-container *ngIf="!skipGroupDecoration">
@@ -17496,7 +17568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17496
17568
  [colSpan]="column.colspan"
17497
17569
  role="gridcell"
17498
17570
  class="k-table-td"
17499
- [attr.aria-selected]="isSelectable() ? isAriaSelected(item, column) : undefined"
17571
+ [attr.aria-selected]="lockedColumnsCount < 1 && isSelectable() ? isAriaSelected(item, column) : undefined"
17500
17572
  [class.k-grid-content-sticky]="column.sticky"
17501
17573
  [class.k-touch-action-none]="isSelectable() && $any(selectable).drag"
17502
17574
  [class.k-touch-action-auto]="!(isSelectable() && $any(selectable).drag)"
@@ -17553,8 +17625,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17553
17625
  kendoGridLogicalRow
17554
17626
  [logicalRowIndex]="logicalRowIndex(rowIndex)"
17555
17627
  [logicalSlaveRow]="lockedColumnsCount > 0"
17628
+ [totalColumns]="totalColumns"
17556
17629
  [logicalCellsCount]="columns.length"
17557
- [logicalSlaveCellsCount]="unlockedColumnsCount">
17630
+ [logicalSlaveCellsCount]="unlockedColumnsCount(item)">
17558
17631
  <ng-container *ngIf="!skipGroupDecoration">
17559
17632
  <td class="k-group-cell" *ngFor="let g of groups"></td>
17560
17633
  </ng-container>
@@ -17630,6 +17703,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17630
17703
  type: Input
17631
17704
  }], rowSticky: [{
17632
17705
  type: Input
17706
+ }], totalColumns: [{
17707
+ type: Input
17633
17708
  }], hostClass: [{
17634
17709
  type: HostBinding,
17635
17710
  args: ['class.k-table-tbody']
@@ -18433,6 +18508,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18433
18508
  [noRecordsText]="''"
18434
18509
  [columns]="$any(lockedLeafColumns)"
18435
18510
  [totalColumnsCount]="leafColumns.length"
18511
+ [totalColumns]="columns"
18436
18512
  [detailTemplate]="detailTemplate"
18437
18513
  [showGroupFooters]="showFooter"
18438
18514
  [skip]="skip"
@@ -18484,6 +18560,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18484
18560
  [noRecordsTemplate]="noRecordsTemplate"
18485
18561
  [lockedColumnsCount]="lockedLeafColumns.length"
18486
18562
  [totalColumnsCount]="leafColumns.length"
18563
+ [totalColumns]="columns"
18487
18564
  [skip]="skip"
18488
18565
  [selectable]="selectable"
18489
18566
  [trackBy]="trackBy"
@@ -18506,7 +18583,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18506
18583
  <div [style.width.px]="totalWidth"></div>
18507
18584
  </div>
18508
18585
  </div>
18509
- `, isInline: true, components: [{ type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: 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: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
18586
+ `, isInline: true, components: [{ type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: 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: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
18510
18587
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, decorators: [{
18511
18588
  type: Component,
18512
18589
  args: [{
@@ -18551,6 +18628,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18551
18628
  [noRecordsText]="''"
18552
18629
  [columns]="$any(lockedLeafColumns)"
18553
18630
  [totalColumnsCount]="leafColumns.length"
18631
+ [totalColumns]="columns"
18554
18632
  [detailTemplate]="detailTemplate"
18555
18633
  [showGroupFooters]="showFooter"
18556
18634
  [skip]="skip"
@@ -18602,6 +18680,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18602
18680
  [noRecordsTemplate]="noRecordsTemplate"
18603
18681
  [lockedColumnsCount]="lockedLeafColumns.length"
18604
18682
  [totalColumnsCount]="leafColumns.length"
18683
+ [totalColumns]="columns"
18605
18684
  [skip]="skip"
18606
18685
  [selectable]="selectable"
18607
18686
  [trackBy]="trackBy"
@@ -18740,7 +18819,7 @@ class FooterComponent {
18740
18819
  }
18741
18820
  }
18742
18821
  FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FooterComponent, deps: [{ token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
18743
- 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: `
18822
+ 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: `
18744
18823
  <ng-container>
18745
18824
  <tr
18746
18825
  [class.k-footer-template]="true"
@@ -18749,6 +18828,7 @@ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
18749
18828
  [logicalSlaveRow]="lockedColumnsCount > 0"
18750
18829
  [logicalCellsCount]="columns.length"
18751
18830
  [logicalSlaveCellsCount]="columns.length - lockedColumnsCount"
18831
+ [totalColumns]="totalColumns"
18752
18832
  >
18753
18833
  <td
18754
18834
  class="k-table-td k-group-cell"
@@ -18782,7 +18862,7 @@ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
18782
18862
  </td>
18783
18863
  </tr>
18784
18864
  </ng-container>
18785
- `, isInline: true, directives: [{ type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
18865
+ `, isInline: true, directives: [{ type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
18786
18866
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FooterComponent, decorators: [{
18787
18867
  type: Component,
18788
18868
  args: [{
@@ -18796,6 +18876,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18796
18876
  [logicalSlaveRow]="lockedColumnsCount > 0"
18797
18877
  [logicalCellsCount]="columns.length"
18798
18878
  [logicalSlaveCellsCount]="columns.length - lockedColumnsCount"
18879
+ [totalColumns]="totalColumns"
18799
18880
  >
18800
18881
  <td
18801
18882
  class="k-table-td k-group-cell"
@@ -18843,6 +18924,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18843
18924
  type: Input
18844
18925
  }], logicalRowIndex: [{
18845
18926
  type: Input
18927
+ }], totalColumns: [{
18928
+ type: Input
18846
18929
  }], footerClass: [{
18847
18930
  type: HostBinding,
18848
18931
  args: ['class.k-grid-footer']
@@ -21388,6 +21471,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21388
21471
  [columnMenu]="columnMenuOptions"
21389
21472
  [columnMenuTemplate]="columnMenuTemplate"
21390
21473
  [totalColumnsCount]="leafColumns.length"
21474
+ [totalColumns]="columnsContainer"
21391
21475
  [detailTemplate]="detailTemplate"
21392
21476
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21393
21477
  </thead>
@@ -21425,6 +21509,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21425
21509
  [columnMenuTemplate]="columnMenuTemplate"
21426
21510
  [lockedColumnsCount]="lockedLeafColumns.length"
21427
21511
  [totalColumnsCount]="leafColumns.length"
21512
+ [totalColumns]="columnsContainer"
21428
21513
  [detailTemplate]="detailTemplate"
21429
21514
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21430
21515
  </thead>
@@ -21507,7 +21592,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21507
21592
  [groups]="group"
21508
21593
  [columns]="$any(lockedLeafColumns)"
21509
21594
  [detailTemplate]="detailTemplate"
21510
- [logicalRowIndex]="ariaRowCount">
21595
+ [logicalRowIndex]="ariaRowCount"
21596
+ [totalColumns]="columnsContainer">
21511
21597
  </tfoot>
21512
21598
  </table>
21513
21599
  </div>
@@ -21532,7 +21618,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21532
21618
  [groups]="isLocked ? [] : group"
21533
21619
  [columns]="$any(nonLockedLeafColumns)"
21534
21620
  [lockedColumnsCount]="lockedLeafColumns.length"
21535
- [detailTemplate]="detailTemplate">
21621
+ [detailTemplate]="detailTemplate"
21622
+ [totalColumns]="columnsContainer">
21536
21623
  </tfoot>
21537
21624
  </table>
21538
21625
  </div>
@@ -21554,6 +21641,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21554
21641
  [scrollable]="false"
21555
21642
  [columns]="$any(visibleColumns)"
21556
21643
  [totalColumnLevels]="totalColumnLevels"
21644
+ [totalColumns]="columnsContainer"
21557
21645
  [groups]="group"
21558
21646
  [groupable]="showGroupPanel"
21559
21647
  [reorderable]="reorderable"
@@ -21589,7 +21677,8 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21589
21677
  [logicalRowIndex]="ariaRowCount"
21590
21678
  [groups]="group"
21591
21679
  [columns]="$any(leafColumns)"
21592
- [detailTemplate]="detailTemplate">
21680
+ [detailTemplate]="detailTemplate"
21681
+ [totalColumns]="columnsContainer">
21593
21682
  </tfoot>
21594
21683
  </table>
21595
21684
  </ng-container>
@@ -21630,7 +21719,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21630
21719
  </kendo-icon-wrapper>
21631
21720
  {{hintText}}
21632
21721
  </ng-template>
21633
- `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex", "size"] }, { type: 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: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: 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: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: 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: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
21722
+ `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { type: 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: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns"] }, { type: 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: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: 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: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
21634
21723
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
21635
21724
  type: Component,
21636
21725
  args: [{
@@ -22004,6 +22093,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22004
22093
  [columnMenu]="columnMenuOptions"
22005
22094
  [columnMenuTemplate]="columnMenuTemplate"
22006
22095
  [totalColumnsCount]="leafColumns.length"
22096
+ [totalColumns]="columnsContainer"
22007
22097
  [detailTemplate]="detailTemplate"
22008
22098
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
22009
22099
  </thead>
@@ -22041,6 +22131,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22041
22131
  [columnMenuTemplate]="columnMenuTemplate"
22042
22132
  [lockedColumnsCount]="lockedLeafColumns.length"
22043
22133
  [totalColumnsCount]="leafColumns.length"
22134
+ [totalColumns]="columnsContainer"
22044
22135
  [detailTemplate]="detailTemplate"
22045
22136
  [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
22046
22137
  </thead>
@@ -22123,7 +22214,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22123
22214
  [groups]="group"
22124
22215
  [columns]="$any(lockedLeafColumns)"
22125
22216
  [detailTemplate]="detailTemplate"
22126
- [logicalRowIndex]="ariaRowCount">
22217
+ [logicalRowIndex]="ariaRowCount"
22218
+ [totalColumns]="columnsContainer">
22127
22219
  </tfoot>
22128
22220
  </table>
22129
22221
  </div>
@@ -22148,7 +22240,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22148
22240
  [groups]="isLocked ? [] : group"
22149
22241
  [columns]="$any(nonLockedLeafColumns)"
22150
22242
  [lockedColumnsCount]="lockedLeafColumns.length"
22151
- [detailTemplate]="detailTemplate">
22243
+ [detailTemplate]="detailTemplate"
22244
+ [totalColumns]="columnsContainer">
22152
22245
  </tfoot>
22153
22246
  </table>
22154
22247
  </div>
@@ -22170,6 +22263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22170
22263
  [scrollable]="false"
22171
22264
  [columns]="$any(visibleColumns)"
22172
22265
  [totalColumnLevels]="totalColumnLevels"
22266
+ [totalColumns]="columnsContainer"
22173
22267
  [groups]="group"
22174
22268
  [groupable]="showGroupPanel"
22175
22269
  [reorderable]="reorderable"
@@ -22205,7 +22299,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22205
22299
  [logicalRowIndex]="ariaRowCount"
22206
22300
  [groups]="group"
22207
22301
  [columns]="$any(leafColumns)"
22208
- [detailTemplate]="detailTemplate">
22302
+ [detailTemplate]="detailTemplate"
22303
+ [totalColumns]="columnsContainer">
22209
22304
  </tfoot>
22210
22305
  </table>
22211
22306
  </ng-container>