Skip to content

Commit a52dfc3

Browse files
authored
Merge branch 'master' into tzhelev/fix-5577-8.2.x
2 parents 1fd604b + fd29519 commit a52dfc3

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

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

+7-6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
AbsoluteScrollStrategy
2222
} from '../services/index';
2323
import { GridBaseAPIService } from './api.service';
24+
import { IgxButtonDirective } from '../directives/button/button.directive';
2425
import { IgxGridBaseComponent, IGridDataBindable } from './grid-base.component';
2526
import { IgxDropDownComponent } from '../drop-down/drop-down.component';
2627
import { IgxColumnHidingComponent } from './column-hiding.component';
@@ -104,8 +105,8 @@ export class IgxGridToolbarComponent extends DisplayDensityBase {
104105
* const hidingButton = this.grid.toolbar.columnHidingButton;
105106
* ```
106107
*/
107-
@ViewChild('columnHidingButton', { static: false })
108-
public columnHidingButton;
108+
@ViewChild('columnHidingButton', { read: IgxButtonDirective, static: false })
109+
public columnHidingButton: IgxButtonDirective;
109110

110111
/**
111112
* Provides a reference to the `IgxDropDownComponent` of the Export button.
@@ -122,8 +123,8 @@ export class IgxGridToolbarComponent extends DisplayDensityBase {
122123
* const exportBtn = this.grid.toolbar.exportButton;
123124
* ```
124125
*/
125-
@ViewChild('btnExport', { static: false })
126-
public exportButton;
126+
@ViewChild('btnExport', { read: IgxButtonDirective, static: false })
127+
public exportButton: IgxButtonDirective;
127128

128129
/**
129130
* Provides a reference to the `IgxDropDownComponent` of the Column Pinning UI.
@@ -149,8 +150,8 @@ export class IgxGridToolbarComponent extends DisplayDensityBase {
149150
* const pinningButton = this.grid.toolbar.columnPinningButton;
150151
* ```
151152
*/
152-
@ViewChild('columnPinningButton', { static: false })
153-
public columnPinningButton;
153+
@ViewChild('columnPinningButton', { read: IgxButtonDirective, static: false })
154+
public columnPinningButton: IgxButtonDirective;
154155

155156
/**
156157
* Returns a reference to the `IgxGridComponent` component, hosting the `IgxGridToolbarComponent`.

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

+23
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { By } from '@angular/platform-browser';
44
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
55
import { first } from 'rxjs/operators';
66
import { IgxCsvExporterOptions, IgxCsvExporterService, IgxExcelExporterOptions, IgxExcelExporterService } from '../../services/index';
7+
import { IgxButtonDirective } from '../../directives/button/button.directive';
78
import { IgxGridComponent } from './grid.component';
89
import { IgxGridModule } from './index';
910
import { DisplayDensity } from '../../core/displayDensity';
@@ -582,6 +583,28 @@ describe('IgxGrid - Grid Toolbar Custom Content', () => {
582583
expect(customContainer).not.toBe(null);
583584
});
584585

586+
it('should expose the toolbar buttons with their correct type', () => {
587+
fixture = TestBed.createComponent(GridToolbarTestPage1Component);
588+
fixture.detectChanges();
589+
grid = fixture.componentInstance.grid1;
590+
591+
grid.showToolbar = true;
592+
grid.columnHiding = true;
593+
grid.columnPinning = true;
594+
grid.exportExcel = true;
595+
grid.exportCsv = true;
596+
fixture.detectChanges();
597+
598+
let aButton = grid.toolbar.columnHidingButton;
599+
expect(aButton instanceof IgxButtonDirective).toBe(true, 'column hiding button has wrong type');
600+
601+
aButton = grid.toolbar.columnPinningButton;
602+
expect(aButton instanceof IgxButtonDirective).toBe(true, 'column pinning button has wrong type');
603+
604+
aButton = grid.toolbar.exportButton;
605+
expect(aButton instanceof IgxButtonDirective).toBe(true, 'export button has wrong type');
606+
});
607+
585608
});
586609

587610
function getToolbar(fixture) {

0 commit comments

Comments
 (0)