• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-angular / 26023601418

18 May 2026 08:57AM UTC coverage: 4.854% (-85.3%) from 90.174%
26023601418

Pull #17281

github

web-flow
Merge e7ce7a18e into 5a85df190
Pull Request #17281: feat: Added virtual scroll component and sample implementation

400 of 17347 branches covered (2.31%)

Branch coverage included in aggregate %.

63 of 222 new or added lines in 4 files covered. (28.38%)

27932 existing lines in 341 files now uncovered.

2022 of 32547 relevant lines covered (6.21%)

0.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

6.25
/projects/igniteui-angular/grids/core/src/toolbar/grid-toolbar.component.ts
1
import { Component, ContentChild, ElementRef, HostBinding, Input, OnDestroy, booleanAttribute, inject } from '@angular/core';
2
import { Subscription } from 'rxjs';
3
import { pinLeft, unpinLeft } from '@igniteui/material-icons-extended';
4
import { IgxGridToolbarActionsComponent } from './common';
5
import { GridServiceType, GridType, IGX_GRID_SERVICE_BASE } from '../common/grid.interface';
6
import { IgxToolbarToken } from './token';
7
import { IgxGridToolbarAdvancedFilteringComponent } from './grid-toolbar-advanced-filtering.component';
8
import { NgTemplateOutlet } from '@angular/common';
9
import { IgxLinearProgressBarComponent } from 'igniteui-angular/progressbar';
10
import { IgxIconService } from 'igniteui-angular/icon';
11

12
/* blazorElement */
13
/* mustUseNGParentAnchor */
14
/* wcElementTag: igc-grid-toolbar */
15
/* blazorIndirectRender */
16
/* singleInstanceIdentifier */
17
/* contentParent: GridBaseDirective */
18
/* contentParent: RowIsland */
19
/* contentParent: HierarchicalGrid */
20
/* jsonAPIManageItemInMarkup */
21
/**
22
 * Provides a context-aware container component for UI operations for the grid components.
23
 *
24
 * @igxModule IgxGridToolbarModule
25
 * @igxParent IgxGridComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxPivotGridComponent
26
 *
27
 */
28
@Component({
29
    selector: 'igx-grid-toolbar',
30
    templateUrl: './grid-toolbar.component.html',
31
    providers: [{ provide: IgxToolbarToken, useExisting: IgxGridToolbarComponent }],
32
    imports: [IgxGridToolbarActionsComponent, IgxGridToolbarAdvancedFilteringComponent, NgTemplateOutlet, IgxLinearProgressBarComponent]
33
})
34
export class IgxGridToolbarComponent implements OnDestroy {
3✔
UNCOV
35
    private api = inject<GridServiceType>(IGX_GRID_SERVICE_BASE);
×
UNCOV
36
    private iconService = inject(IgxIconService);
×
UNCOV
37
    private element = inject<ElementRef<HTMLElement>>(ElementRef);
×
38

39

40
    /**
41
     * When enabled, shows the indeterminate progress bar.
42
     *
43
     * @remarks
44
     * By default this will be toggled, when the default exporter component is present
45
     * and an exporting is in progress.
46
     */
47
    @Input({ transform: booleanAttribute })
UNCOV
48
    public showProgress = false;
×
49

50
    /**
51
     * Gets/sets the grid component for the toolbar component.
52
     *
53
     * @deprecated since version 17.1.0. No longer required to be set for the Hierarchical Grid child grid template
54
     *
55
     * @remarks
56
     * Usually you should not set this property in the context of the default grid/tree grid.
57
     * The only grids that demands this to be set are the hierarchical child grids. For additional
58
     * information check the toolbar topic.
59
     */
60
    @Input()
61
    public get grid() {
UNCOV
62
        if (this._grid) {
×
63
            return this._grid;
×
64
        }
UNCOV
65
        return this.api.grid;
×
66
    }
67

68
    public set grid(value: GridType) {
69
        this._grid = value;
×
70
    }
71

72
    /** Returns the native DOM element of the toolbar component */
73
    public get nativeElement() {
UNCOV
74
        return this.element.nativeElement;
×
75
    }
76

77
    /**
78
     * @hidden
79
     * @internal
80
     */
81
    @ContentChild(IgxGridToolbarActionsComponent)
82
    public hasActions: IgxGridToolbarActionsComponent;
83

84
    /**
85
     * @hidden
86
     * @internal
87
     */
88
    @HostBinding('class.igx-grid-toolbar')
UNCOV
89
    public defaultStyle = true;
×
90

91
    /**
92
     * @hidden
93
     * @internal
94
     */
95
    @HostBinding('attr.role')
UNCOV
96
    public role = 'presentation';
×
97

98
    protected _grid: GridType;
99
    protected sub: Subscription;
100

101
    constructor() {
UNCOV
102
        this.iconService.addSvgIconFromText(pinLeft.name, pinLeft.value, 'imx-icons', true);
×
UNCOV
103
        this.iconService.addSvgIconFromText(unpinLeft.name, unpinLeft.value, 'imx-icons', true);
×
104
    }
105

106
    /** @hidden @internal */
107
    public ngOnDestroy() {
UNCOV
108
        this.sub?.unsubscribe();
×
109
    }
110
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc