@progress/kendo-angular-grid 19.3.0-develop.34 → 19.3.0-develop.36

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.
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { StackedLayoutSettings } from "./stacked-layout-settings";
5
+ import { GridColSize } from "./grid-col-size";
6
6
  /**
7
7
  * Specifies the Grid data layout display mode.
8
8
  */
@@ -13,7 +13,9 @@ export interface DataLayoutModeSettings {
13
13
  */
14
14
  mode?: DataLayoutMode;
15
15
  /**
16
- * Specifies the settings for the stacked layout mode.
16
+ * Configures the stacked columns layout and widths. The possible options are:
17
+ * * - as a `number` - Sets the number of columns with default widths.
18
+ * * - as an `Array<number | string | GridColSize>` - The size of the array represents the number of columns, and the values represent the column widths
17
19
  */
18
- stackedLayoutSettings?: StackedLayoutSettings;
20
+ stackedCols?: number | Array<number | string | GridColSize>;
19
21
  }
@@ -2,17 +2,6 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- /**
6
- * Specifies settings for the stacked columns layout of the Grid.
7
- */
8
- export interface StackedLayoutSettings {
9
- /**
10
- * Configures the stacked columns layout and widths. The possible options are:
11
- * * - as a `number` - Sets the number of columns with default widths.
12
- * * - as an `Array<number | string | GridColSize>` - The size of the array represents the number of columns, and the values represent the column widths
13
- */
14
- cols?: number | Array<number | string | GridColSize>;
15
- }
16
5
  /**
17
6
  * Represents the size of a column in the stacked layout of the Grid.
18
7
  */
@@ -2066,8 +2066,8 @@ export class GridComponent {
2066
2066
  }
2067
2067
  this.stackedColumns.columns = [];
2068
2068
  if (typeof this.dataLayoutMode === 'object') {
2069
- if (this.dataLayoutMode.mode === 'stacked' && this.dataLayoutMode.stackedLayoutSettings?.cols) {
2070
- const columns = this.dataLayoutMode.stackedLayoutSettings.cols;
2069
+ if (this.dataLayoutMode.mode === 'stacked' && this.dataLayoutMode.stackedCols) {
2070
+ const columns = this.dataLayoutMode.stackedCols;
2071
2071
  if (typeof columns === 'number') {
2072
2072
  for (let i = 0; i < columns; i++) {
2073
2073
  const currCol = { width: `${this.wrapper.nativeElement.clientWidth / columns}px` };
@@ -876,6 +876,9 @@ export class NavigationService {
876
876
  this.handleStackedTabNavigation(args);
877
877
  }
878
878
  else if (args.code === Keys.Backspace || args.code === Keys.Delete) {
879
+ if (this.stackedCellEntered || this.editService.isEditing()) {
880
+ return;
881
+ }
879
882
  if (this.activeRow && this.activeRow.dataRowIndex >= 0 && this.activeRow.dataItem) {
880
883
  const row = this.cursor.row;
881
884
  if (!row.groupItem && !this.cursor.cell.detailExpandCell) {
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1754895009,
14
- version: '19.3.0-develop.34',
13
+ publishDate: 1754913583,
14
+ version: '19.3.0-develop.36',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -24,7 +24,8 @@ export class ColGroupComponent {
24
24
  this.ctx = ctx;
25
25
  }
26
26
  getColumnWidth(column) {
27
- return this.isStacked ? '100%' : `${column.width}px`;
27
+ const columnWidth = column.width ? `${column.width}px` : undefined;
28
+ return this.isStacked ? '100%' : columnWidth;
28
29
  }
29
30
  get columnsToRender() {
30
31
  return this.isStacked ? [new ColumnBase()] : columnsToRender(this.columns);
@@ -43,10 +43,13 @@ import * as i7 from "../selection/selection.service";
43
43
  import * as i8 from "../selection/cell-selection.service";
44
44
  import * as i9 from "../common/column-info.service";
45
45
  import * as i10 from "../navigation/navigation.service";
46
- const columnCellIndex = (cell, cells) => {
46
+ const columnCellIndex = (cell, cells, isStacked) => {
47
47
  let cellIndex = 0;
48
48
  for (let idx = 0; idx < cells.length; idx++) {
49
- if (cells[idx] === cell) {
49
+ const isChildCell = cell.parentNode === cells[idx];
50
+ const isActualCell = cell === cells[idx];
51
+ const matches = isActualCell || (isStacked && isChildCell);
52
+ if (matches) {
50
53
  return cellIndex;
51
54
  }
52
55
  if (!hasClasses(cells[idx], 'k-hierarchy-cell k-group-cell')) {
@@ -408,8 +411,8 @@ export class TableBodyComponent {
408
411
  }
409
412
  }
410
413
  cellClickArgs(cell, row, eventArg) {
411
- const cells = this.isStackedMode ? row.querySelectorAll('.k-grid-stack-cell > .k-grid-stack-content') : row.cells;
412
- const index = columnCellIndex(cell, cells);
414
+ const cells = this.isStackedMode ? row.querySelectorAll('.k-grid-stack-cell') : row.cells;
415
+ const index = columnCellIndex(cell, cells, this.isStackedMode);
413
416
  if (!isPresent(index)) {
414
417
  return;
415
418
  }
@@ -4224,6 +4224,9 @@ class NavigationService {
4224
4224
  this.handleStackedTabNavigation(args);
4225
4225
  }
4226
4226
  else if (args.code === Keys.Backspace || args.code === Keys.Delete) {
4227
+ if (this.stackedCellEntered || this.editService.isEditing()) {
4228
+ return;
4229
+ }
4227
4230
  if (this.activeRow && this.activeRow.dataRowIndex >= 0 && this.activeRow.dataItem) {
4228
4231
  const row = this.cursor.row;
4229
4232
  if (!row.groupItem && !this.cursor.cell.detailExpandCell) {
@@ -4653,7 +4656,8 @@ class ColGroupComponent {
4653
4656
  this.ctx = ctx;
4654
4657
  }
4655
4658
  getColumnWidth(column) {
4656
- return this.isStacked ? '100%' : `${column.width}px`;
4659
+ const columnWidth = column.width ? `${column.width}px` : undefined;
4660
+ return this.isStacked ? '100%' : columnWidth;
4657
4661
  }
4658
4662
  get columnsToRender() {
4659
4663
  return this.isStacked ? [new ColumnBase()] : columnsToRender(this.columns);
@@ -20166,10 +20170,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20166
20170
  type: Input
20167
20171
  }] } });
20168
20172
 
20169
- const columnCellIndex = (cell, cells) => {
20173
+ const columnCellIndex = (cell, cells, isStacked) => {
20170
20174
  let cellIndex = 0;
20171
20175
  for (let idx = 0; idx < cells.length; idx++) {
20172
- if (cells[idx] === cell) {
20176
+ const isChildCell = cell.parentNode === cells[idx];
20177
+ const isActualCell = cell === cells[idx];
20178
+ const matches = isActualCell || (isStacked && isChildCell);
20179
+ if (matches) {
20173
20180
  return cellIndex;
20174
20181
  }
20175
20182
  if (!hasClasses(cells[idx], 'k-hierarchy-cell k-group-cell')) {
@@ -20531,8 +20538,8 @@ class TableBodyComponent {
20531
20538
  }
20532
20539
  }
20533
20540
  cellClickArgs(cell, row, eventArg) {
20534
- const cells = this.isStackedMode ? row.querySelectorAll('.k-grid-stack-cell > .k-grid-stack-content') : row.cells;
20535
- const index = columnCellIndex(cell, cells);
20541
+ const cells = this.isStackedMode ? row.querySelectorAll('.k-grid-stack-cell') : row.cells;
20542
+ const index = columnCellIndex(cell, cells, this.isStackedMode);
20536
20543
  if (!isPresent(index)) {
20537
20544
  return;
20538
20545
  }
@@ -22001,8 +22008,8 @@ const packageMetadata = {
22001
22008
  productName: 'Kendo UI for Angular',
22002
22009
  productCode: 'KENDOUIANGULAR',
22003
22010
  productCodes: ['KENDOUIANGULAR'],
22004
- publishDate: 1754895009,
22005
- version: '19.3.0-develop.34',
22011
+ publishDate: 1754913583,
22012
+ version: '19.3.0-develop.36',
22006
22013
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
22007
22014
  };
22008
22015
 
@@ -31118,8 +31125,8 @@ class GridComponent {
31118
31125
  }
31119
31126
  this.stackedColumns.columns = [];
31120
31127
  if (typeof this.dataLayoutMode === 'object') {
31121
- if (this.dataLayoutMode.mode === 'stacked' && this.dataLayoutMode.stackedLayoutSettings?.cols) {
31122
- const columns = this.dataLayoutMode.stackedLayoutSettings.cols;
31128
+ if (this.dataLayoutMode.mode === 'stacked' && this.dataLayoutMode.stackedCols) {
31129
+ const columns = this.dataLayoutMode.stackedCols;
31123
31130
  if (typeof columns === 'number') {
31124
31131
  for (let i = 0; i < columns; i++) {
31125
31132
  const currCol = { width: `${this.wrapper.nativeElement.clientWidth / columns}px` };
@@ -90,7 +90,7 @@ import { AdaptiveRendererComponent } from './adaptiveness/adaptive-renderer.comp
90
90
  import { DataMappingService } from './data/data-mapping.service';
91
91
  import { AIAssistantToolbarDirective } from './rendering/toolbar/tools/ai-assistant/ai-tool.directive';
92
92
  import { DataLayoutMode, DataLayoutModeSettings } from './common/data-layout-mode';
93
- import { GridColSize } from './common/stacked-layout-settings';
93
+ import { GridColSize } from './common/grid-col-size';
94
94
  import * as i0 from "@angular/core";
95
95
  /**
96
96
  * Represents the Kendo UI for Angular Data Grid component.
package/index.d.ts CHANGED
@@ -198,7 +198,7 @@ export { CellRowspanFn } from './columns/cell-rowspan';
198
198
  export { HighlightItem } from './highlight/highlight-item';
199
199
  export { HighlightDirective } from './highlight/highlight.directive';
200
200
  export { DataLayoutMode, DataLayoutModeSettings } from './common/data-layout-mode';
201
- export { StackedLayoutSettings, GridColSize } from './common/stacked-layout-settings';
201
+ export { GridColSize } from './common/grid-col-size';
202
202
  export { ColumnMenuTemplateDirective } from './column-menu/column-menu-template.directive';
203
203
  export { EditCommandDirective } from './editing/edit-command.directive';
204
204
  export { CancelCommandDirective } from './editing/cancel-command.directive';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "19.3.0-develop.34",
3
+ "version": "19.3.0-develop.36",
4
4
  "description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -26,7 +26,7 @@
26
26
  "package": {
27
27
  "productName": "Kendo UI for Angular",
28
28
  "productCode": "KENDOUIANGULAR",
29
- "publishDate": 1754895009,
29
+ "publishDate": 1754913583,
30
30
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
31
31
  }
32
32
  },
@@ -39,29 +39,29 @@
39
39
  "@progress/kendo-data-query": "^1.0.0",
40
40
  "@progress/kendo-drawing": "^1.21.0",
41
41
  "@progress/kendo-licensing": "^1.7.0",
42
- "@progress/kendo-angular-buttons": "19.3.0-develop.34",
43
- "@progress/kendo-angular-common": "19.3.0-develop.34",
44
- "@progress/kendo-angular-dateinputs": "19.3.0-develop.34",
45
- "@progress/kendo-angular-layout": "19.3.0-develop.34",
46
- "@progress/kendo-angular-navigation": "19.3.0-develop.34",
47
- "@progress/kendo-angular-dropdowns": "19.3.0-develop.34",
48
- "@progress/kendo-angular-excel-export": "19.3.0-develop.34",
49
- "@progress/kendo-angular-icons": "19.3.0-develop.34",
50
- "@progress/kendo-angular-inputs": "19.3.0-develop.34",
51
- "@progress/kendo-angular-conversational-ui": "19.3.0-develop.34",
52
- "@progress/kendo-angular-intl": "19.3.0-develop.34",
53
- "@progress/kendo-angular-l10n": "19.3.0-develop.34",
54
- "@progress/kendo-angular-label": "19.3.0-develop.34",
55
- "@progress/kendo-angular-pager": "19.3.0-develop.34",
56
- "@progress/kendo-angular-pdf-export": "19.3.0-develop.34",
57
- "@progress/kendo-angular-popup": "19.3.0-develop.34",
58
- "@progress/kendo-angular-toolbar": "19.3.0-develop.34",
59
- "@progress/kendo-angular-utils": "19.3.0-develop.34",
42
+ "@progress/kendo-angular-buttons": "19.3.0-develop.36",
43
+ "@progress/kendo-angular-common": "19.3.0-develop.36",
44
+ "@progress/kendo-angular-dateinputs": "19.3.0-develop.36",
45
+ "@progress/kendo-angular-layout": "19.3.0-develop.36",
46
+ "@progress/kendo-angular-navigation": "19.3.0-develop.36",
47
+ "@progress/kendo-angular-dropdowns": "19.3.0-develop.36",
48
+ "@progress/kendo-angular-excel-export": "19.3.0-develop.36",
49
+ "@progress/kendo-angular-icons": "19.3.0-develop.36",
50
+ "@progress/kendo-angular-inputs": "19.3.0-develop.36",
51
+ "@progress/kendo-angular-conversational-ui": "19.3.0-develop.36",
52
+ "@progress/kendo-angular-intl": "19.3.0-develop.36",
53
+ "@progress/kendo-angular-l10n": "19.3.0-develop.36",
54
+ "@progress/kendo-angular-label": "19.3.0-develop.36",
55
+ "@progress/kendo-angular-pager": "19.3.0-develop.36",
56
+ "@progress/kendo-angular-pdf-export": "19.3.0-develop.36",
57
+ "@progress/kendo-angular-popup": "19.3.0-develop.36",
58
+ "@progress/kendo-angular-toolbar": "19.3.0-develop.36",
59
+ "@progress/kendo-angular-utils": "19.3.0-develop.36",
60
60
  "rxjs": "^6.5.3 || ^7.0.0"
61
61
  },
62
62
  "dependencies": {
63
63
  "tslib": "^2.3.1",
64
- "@progress/kendo-angular-schematics": "19.3.0-develop.34",
64
+ "@progress/kendo-angular-schematics": "19.3.0-develop.36",
65
65
  "@progress/kendo-common": "^1.0.1",
66
66
  "@progress/kendo-file-saver": "^1.0.0"
67
67
  },
@@ -4,14 +4,14 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
6
6
  // peer deps of the dropdowns
7
- '@progress/kendo-angular-treeview': '19.3.0-develop.34',
8
- '@progress/kendo-angular-navigation': '19.3.0-develop.34',
7
+ '@progress/kendo-angular-treeview': '19.3.0-develop.36',
8
+ '@progress/kendo-angular-navigation': '19.3.0-develop.36',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '19.3.0-develop.34',
10
+ '@progress/kendo-angular-dialog': '19.3.0-develop.36',
11
11
  // peer dependency of kendo-angular-icons
12
12
  '@progress/kendo-svg-icons': '^4.0.0',
13
13
  // peer dependency of kendo-angular-layout
14
- '@progress/kendo-angular-progressbar': '19.3.0-develop.34'
14
+ '@progress/kendo-angular-progressbar': '19.3.0-develop.36'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }