Skip to content

Commit 3a61f44

Browse files
committed
fix(grid): Handle onClosing hiding/pinning #7569
1 parent e87e62b commit 3a61f44

File tree

5 files changed

+18
-4
lines changed

5 files changed

+18
-4
lines changed

projects/igniteui-angular/src/lib/core/styles/components/column-hiding/_column-hiding-theme.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
display: flex;
8585
flex-flow: column nowrap;
8686
overflow-y: auto;
87+
outline-style: none;
8788
}
8889

8990
%column-hiding-item {

projects/igniteui-angular/src/lib/grids/hiding/column-hiding.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ <h4 class="igx-column-hiding__header-title" *ngIf="title">{{ title }}</h4>
1010
</igx-input-group>
1111
</div>
1212

13-
<div class="igx-column-hiding__columns"
13+
<div class="igx-column-hiding__columns" tabindex="0"
1414
[style.max-height]="columnsAreaMaxHeight">
1515
<igx-checkbox
1616
*ngFor="let columnItem of hidableColumns"

projects/igniteui-angular/src/lib/grids/pinning/column-pinning.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ <h4 class="igx-column-hiding__header-title" *ngIf="title">{{ title }}</h4>
1111
</igx-input-group>
1212
</div>
1313

14-
<div class="igx-column-hiding__columns"
14+
<div class="igx-column-hiding__columns" tabindex="0"
1515
[style.max-height]="columnsAreaMaxHeight">
1616
<igx-checkbox igxColumnPinningItem
1717
*ngFor="let columnItem of pinnableColumns"

projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<span>{{ grid.hiddenColumnsText }}</span>
3232
</div>
3333
</button>
34-
<igx-drop-down #columnHidingDropdown>
34+
<igx-drop-down #columnHidingDropdown (onClosing)="onClosingDropDown($event)">
3535
<igx-column-hiding
3636
[columns]="grid.columns"
3737
[title]="grid.columnHidingTitle"
@@ -52,7 +52,7 @@
5252
<span></span>
5353
</div>
5454
</button>
55-
<igx-drop-down #columnPinningDropdown>
55+
<igx-drop-down #columnPinningDropdown (onClosing)="onClosingDropDown($event)">
5656
<igx-column-pinning
5757
[columns]="grid.columns"
5858
[title]="grid.columnPinningTitle"

projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,4 +410,17 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements After
410410
}
411411
}
412412
}
413+
414+
/**
415+
* @hidden @internal
416+
*/
417+
public onClosingDropDown(args) {
418+
const activeElem = document.activeElement;
419+
420+
if (!args.event && activeElem !== this.grid.nativeElement &&
421+
!this.columnHidingButton.nativeElement.contains(activeElem) &&
422+
!this.columnPinningButton.nativeElement.contains(activeElem)) {
423+
args.cancel = true;
424+
}
425+
}
413426
}

0 commit comments

Comments
 (0)