From 6603360f7c42a3e0f70367185ab1f051bbbeae45 Mon Sep 17 00:00:00 2001 From: MKirova Date: Tue, 10 Nov 2026 17:33:24 +0200 Subject: [PATCH 1/2] chore(grids): blazorCSSuppress unused CellType members Only the internal IgxGridCellComponent defines cellID, readonly, title and visibleColumnIndex, for template host bindings. The public IgxGridCell facade, which every event, template context and grid method returns except contextMenu, has none of them. In Blazor they always come through as defaults (null, false or 0). Each one has an equivalent: id, column.visibleIndex and !editable, and title is only the tooltip text. Co-Authored-By: Claude Opus 5.5 --- .../igniteui-angular/grids/core/src/common/grid.interface.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/projects/igniteui-angular/grids/core/src/common/grid.interface.ts b/projects/igniteui-angular/grids/core/src/common/grid.interface.ts index f886bb2696b..eb6aece1b98 100644 --- a/projects/igniteui-angular/grids/core/src/common/grid.interface.ts +++ b/projects/igniteui-angular/grids/core/src/common/grid.interface.ts @@ -65,6 +65,7 @@ export interface CellType { grid: GridType; /** Optional; An object identifying the cell. It contains rowID, columnID, and rowIndex of the cell. */ id?: { rowID: any; columnID: number; rowIndex: number }; + /* blazorCSSuppress */ /** Optional; The `cellID` is the unique key, used to identify the cell */ cellID?: any; /** @@ -72,11 +73,14 @@ export interface CellType { * Whether it's valid or invalid, and if it has errors */ readonly validation?: IGridValidationState; + /* blazorCSSuppress */ readonly?: boolean; + /* blazorCSSuppress */ /** An optional title to display for the cell */ title?: any; /** The CSS width of the cell as a string. */ width: string; + /* blazorCSSuppress */ /** The index of the column that the cell belongs to. It counts only the visible (not hidden) columns */ visibleColumnIndex?: number; /** A method definition to update the value of the cell. */ From 92f10ad20e8ca265c2c5878da5b5496034b36a77 Mon Sep 17 00:00:00 2001 From: MKirova Date: Thu, 12 Nov 2026 11:45:36 +0200 Subject: [PATCH 2/2] fix(grids): correct types and Blazor tags for more public API - IGridRowEventArgs.event: blazorCSSuppress. The DOM event can't be serialized; IGridCellEventArgs.event is already suppressed. - IColumnVisibilityChangedEventArgs.column: any -> ColumnType. It is always the emitting column. - Toolbar closing: emit ToggleViewCancelableEventArgs. It re-emits the toggle's cancelable closing args, and the toggle honors args.cancel, so cancel was already supported but not typed. - rootRecords: blazorCSSuppress, like processedRootRecords. It is a field the pipes fill in, not an input. - IColumnState.width: any -> optional string. The state saves the column's string width, or undefined when the user didn't set one. Co-Authored-By: Claude Opus 5.5 --- projects/igniteui-angular/grids/core/src/common/events.ts | 3 ++- .../igniteui-angular/grids/core/src/state-base.directive.ts | 2 +- .../grids/core/src/toolbar/grid-toolbar.base.ts | 2 +- .../grids/tree-grid/src/tree-grid.component.ts | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/projects/igniteui-angular/grids/core/src/common/events.ts b/projects/igniteui-angular/grids/core/src/common/events.ts index 9507f15825b..e00f6034d08 100644 --- a/projects/igniteui-angular/grids/core/src/common/events.ts +++ b/projects/igniteui-angular/grids/core/src/common/events.ts @@ -32,6 +32,7 @@ export interface IGridCellEventArgs extends IBaseEventArgs { export interface IGridRowEventArgs extends IBaseEventArgs { /** Represents the grid row that triggered the event. */ row: RowType; + /* blazorCSSuppress */ /** * Represents the original event that occurred * Examples of such events include: selecting, clicking, double clicking, etc. @@ -526,7 +527,7 @@ export interface IFilteringEventArgs extends IBaseEventArgs, CancelableEventArgs /** The event arguments after a column's visibility is changed. */ export interface IColumnVisibilityChangedEventArgs extends IBaseEventArgs { /** Represents the column the event originated from */ - column: any; + column: ColumnType; /** * The new hidden state that the column will have, if operation is successful. * Will be `true` when hiding and `false` when showing. diff --git a/projects/igniteui-angular/grids/core/src/state-base.directive.ts b/projects/igniteui-angular/grids/core/src/state-base.directive.ts index ddc6718100c..85dcd13df59 100644 --- a/projects/igniteui-angular/grids/core/src/state-base.directive.ts +++ b/projects/igniteui-angular/grids/core/src/state-base.directive.ts @@ -74,7 +74,7 @@ export interface IColumnState { dataType: GridColumnDataType; hasSummary: boolean; field: string; - width: any; + width?: string; header: string; resizable: boolean; searchable: boolean; diff --git a/projects/igniteui-angular/grids/core/src/toolbar/grid-toolbar.base.ts b/projects/igniteui-angular/grids/core/src/toolbar/grid-toolbar.base.ts index 9d8baf24809..98f445162be 100644 --- a/projects/igniteui-angular/grids/core/src/toolbar/grid-toolbar.base.ts +++ b/projects/igniteui-angular/grids/core/src/toolbar/grid-toolbar.base.ts @@ -70,7 +70,7 @@ export abstract class BaseToolbarDirective implements OnDestroy { */ @Output() - public closing = new EventEmitter(); + public closing = new EventEmitter(); /** * Emits an event after the toggle container is closed. */ diff --git a/projects/igniteui-angular/grids/tree-grid/src/tree-grid.component.ts b/projects/igniteui-angular/grids/tree-grid/src/tree-grid.component.ts index b6d548a1faa..1a2e1865bb8 100644 --- a/projects/igniteui-angular/grids/tree-grid/src/tree-grid.component.ts +++ b/projects/igniteui-angular/grids/tree-grid/src/tree-grid.component.ts @@ -308,6 +308,7 @@ export class IgxTreeGridComponent extends IgxGridBaseDirective implements GridTy */ public processedExpandedFlatData!: any[] | null; + /* blazorCSSuppress */ /** * Returns an array of the root level `ITreeGridRecord`s. * ```typescript