From 20b3df101f4f2849f35b2969ae3d6f1b2f2f691f Mon Sep 17 00:00:00 2001 From: wnvko Date: Tue, 24 Feb 2026 16:15:18 +0200 Subject: [PATCH 1/5] fix(grid): update column action height before position it in overlay # Conflicts: # projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts --- .../src/lib/grids/toolbar/grid-toolbar.base.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts index e386ac9fad6..2e8b26fba0e 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts @@ -1,4 +1,4 @@ -import { Directive, Input, EventEmitter, OnDestroy, Output, Inject, booleanAttribute } from '@angular/core'; +import { Directive, Input, EventEmitter, OnDestroy, Output, Inject, booleanAttribute, ChangeDetectorRef } from '@angular/core'; import { Subject, Subscription } from 'rxjs'; import { first, takeUntil } from 'rxjs/operators'; @@ -22,6 +22,7 @@ import { AutoPositionStrategy } from '../../services/overlay/position/auto-posit */ @Directive() export abstract class BaseToolbarDirective implements OnDestroy { + /** * Sets the height of the column list in the dropdown. */ @@ -108,7 +109,10 @@ export abstract class BaseToolbarDirective implements OnDestroy { return this.toolbar.grid; } - constructor(@Inject(IgxToolbarToken) protected toolbar: IgxToolbarToken) { } + constructor( + @Inject(IgxToolbarToken) protected toolbar: IgxToolbarToken, + private cdr: ChangeDetectorRef + ) { } /** @hidden @internal **/ public ngOnDestroy() { @@ -120,11 +124,18 @@ export abstract class BaseToolbarDirective implements OnDestroy { public toggle(anchorElement: HTMLElement, toggleRef: IgxToggleDirective, actions?: IgxColumnActionsComponent): void { if (actions) { this._setupListeners(toggleRef, actions); - const setHeight = () => + const setHeight = () => { actions.columnsAreaMaxHeight = actions.columnsAreaMaxHeight !== '100%' ? actions.columnsAreaMaxHeight : this.columnListHeight ?? `${Math.max(this.grid.calcHeight * 0.5, 200)}px`; + // TODO: this is a workaround for the issue introduced by Angular's Ivy renderer. + // This was fixed in ToggleDirective by PR16429. However, the fix there introduced the + // issue here. To fix this in IgxColumnActionsComponent we need to set the height after + // the toggle is opened and the classes are applied to ensure the height is calculated + // correctly. + this.cdr.detectChanges(); + } toggleRef.opening.pipe(first()).subscribe(setHeight); } toggleRef.toggle({ From 38fb1de79355453ab48c8d29b4013fc155d7cefd Mon Sep 17 00:00:00 2001 From: wnvko Date: Tue, 24 Feb 2026 16:15:53 +0200 Subject: [PATCH 2/5] chore(grid): update imports and order them # Conflicts: # projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts --- .../src/lib/grids/toolbar/grid-toolbar.base.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts index 2e8b26fba0e..6c2453e1022 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.base.ts @@ -1,15 +1,15 @@ -import { Directive, Input, EventEmitter, OnDestroy, Output, Inject, booleanAttribute, ChangeDetectorRef } from '@angular/core'; +import { booleanAttribute, ChangeDetectorRef, Directive, EventEmitter, Inject, Input, OnDestroy, Output } from '@angular/core'; import { Subject, Subscription } from 'rxjs'; import { first, takeUntil } from 'rxjs/operators'; +import { IgxToggleDirective, ToggleViewCancelableEventArgs, ToggleViewEventArgs } from '../../directives/toggle/toggle.directive'; +import { AutoPositionStrategy } from '../../services/overlay/position/auto-position-strategy'; import { AbsoluteScrollStrategy } from '../../services/overlay/scroll/absolute-scroll-strategy'; +import { HorizontalAlignment, OverlaySettings, VerticalAlignment } from '../../services/overlay/utilities'; +import { IgxColumnActionsComponent } from '../column-actions/column-actions.component'; import { ColumnDisplayOrder } from '../common/enums'; import { IColumnToggledEventArgs } from '../common/events'; -import { IgxColumnActionsComponent } from '../column-actions/column-actions.component'; -import { IgxToggleDirective, ToggleViewCancelableEventArgs, ToggleViewEventArgs } from '../../directives/toggle/toggle.directive'; -import { HorizontalAlignment, OverlaySettings, VerticalAlignment } from '../../services/overlay/utilities'; import { IgxToolbarToken } from './token'; -import { AutoPositionStrategy } from '../../services/overlay/position/auto-position-strategy'; /* blazorInclude */ /* blazorElement */ From 7a2ac62995f820e3a0d935fde945553788b93a3d Mon Sep 17 00:00:00 2001 From: wnvko Date: Fri, 27 Feb 2026 12:12:26 +0200 Subject: [PATCH 3/5] fix(*): fix failing build --- .../src/lib/grids/toolbar/grid-toolbar-exporter.component.ts | 5 +++-- .../src/lib/services/excel/excel-exporter.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component.ts b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component.ts index f2b63fd0f65..8c79abdb05d 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component.ts +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, Output, EventEmitter, Inject, booleanAttribute } from '@angular/core'; +import { ChangeDetectorRef, Component, Input, Output, EventEmitter, Inject, booleanAttribute } from '@angular/core'; import { first } from 'rxjs/operators'; import { BaseToolbarDirective } from './grid-toolbar.base'; import { IgxExcelTextDirective, IgxCSVTextDirective } from './common'; @@ -94,8 +94,9 @@ export class IgxGridToolbarExporterComponent extends BaseToolbarDirective { @Inject(IgxToolbarToken) toolbar: IgxToolbarToken, private excelExporter: IgxExcelExporterService, private csvExporter: IgxCsvExporterService, + cdr: ChangeDetectorRef, ) { - super(toolbar); + super(toolbar, cdr); } protected exportClicked(type: 'excel' | 'csv', toggleRef?: IgxToggleDirective) { diff --git a/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts b/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts index b0d1b1bc678..68647162d38 100644 --- a/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts +++ b/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts @@ -160,7 +160,7 @@ export class IgxExcelExporterService extends IgxBaseExporter { } private saveFile(data: Uint8Array, fileName: string): void { - const blob = new Blob([data], { + const blob = new Blob([data as BlobPart], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); From 7641576b03e23a41be803f37a16a707458acf548 Mon Sep 17 00:00:00 2001 From: wnvko Date: Fri, 27 Feb 2026 13:46:18 +0200 Subject: [PATCH 4/5] chore(CI): fix broken coveralls --- .github/workflows/nodejs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 5e7cb9aa6a9..b1c43e04eea 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -70,7 +70,9 @@ jobs: run: npm run build - name: Bundle Tree-Shake & SSR Test run: npm run build:bundletest + # TODO: Remove fail-on-error once Coveralls resolves their ongoing issue (https://status.coveralls.io) - name: Publish to coveralls.io uses: coverallsapp/github-action@v2 with: github-token: ${{ github.token }} + fail-on-error: false From c89a3c8662224e5967c8faeaa08d47a6bcc4ddb5 Mon Sep 17 00:00:00 2001 From: wnvko Date: Fri, 27 Feb 2026 22:47:05 +0200 Subject: [PATCH 5/5] chore(CI): revert fix for broken coveralls --- .github/workflows/nodejs.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index b1c43e04eea..5e7cb9aa6a9 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -70,9 +70,7 @@ jobs: run: npm run build - name: Bundle Tree-Shake & SSR Test run: npm run build:bundletest - # TODO: Remove fail-on-error once Coveralls resolves their ongoing issue (https://status.coveralls.io) - name: Publish to coveralls.io uses: coverallsapp/github-action@v2 with: github-token: ${{ github.token }} - fail-on-error: false