UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

98 lines (97 loc) 4.62 kB
import { ChangeDetectorRef, DoCheck, ElementRef, QueryList, TemplateRef } from '@angular/core'; import { trackByIdentity } from '../../core/utils'; import { IgxGridForOfDirective } from '../../directives/for-of/for_of.directive'; import { ColumnType, GridType, IgxHeadSelectorTemplateContext } from '../common/grid.interface'; import { IgxGridFilteringCellComponent } from '../filtering/base/grid-filtering-cell.component'; import { IgxGridFilteringRowComponent } from '../filtering/base/grid-filtering-row.component'; import { IgxGridHeaderGroupComponent } from './grid-header-group.component'; import { IgxGridHeaderComponent } from './grid-header.component'; import * as i0 from "@angular/core"; /** * * For all intents & purposes treat this component as what a <thead> usually is in the default <table> element. * * This container holds the grid header elements and their behavior/interactions. * * @hidden @internal */ export declare class IgxGridHeaderRowComponent implements DoCheck { protected ref: ElementRef<HTMLElement>; protected cdr: ChangeDetectorRef; /** The grid component containing this element. */ grid: GridType; /** Pinned columns of the grid. */ pinnedColumnCollection: ColumnType[]; /** Unpinned columns of the grid. */ unpinnedColumnCollection: ColumnType[]; activeDescendant: string; hasMRL: boolean; width: number; /** * Header groups inside the header row. * * @remarks * Note: These are only the top level header groups in case there are multi-column headers * or a specific column layout. If you want to get the flattened collection use the `groups` * property below. * * @hidden @internal * */ _groups: QueryList<IgxGridHeaderGroupComponent>; /** * The flattened header groups collection. * * @hidden @internal */ get groups(): IgxGridHeaderGroupComponent[]; /** Header components in the header row. */ get headers(): IgxGridHeaderComponent[]; /** Filtering cell components in the header row. */ get filters(): IgxGridFilteringCellComponent[]; /** The virtualized part of the header row containing the unpinned header groups. */ headerContainer: IgxGridForOfDirective<ColumnType, ColumnType[]>; get headerForOf(): IgxGridForOfDirective<ColumnType, ColumnType[]>; headerDragContainer: ElementRef<HTMLElement>; headerSelectorContainer: ElementRef<HTMLElement>; headerGroupContainer: ElementRef<HTMLElement>; headSelectorBaseTemplate: TemplateRef<IgxHeadSelectorTemplateContext>; filterRow: IgxGridFilteringRowComponent; /** * Expand/collapse all child grids area in a hierarchical grid. * `undefined` in the base and tree grids. * * @internal @hidden */ headerHierarchyExpander: ElementRef<HTMLElement>; get navigation(): any; get nativeElement(): HTMLElement; /** * Returns whether the current grid instance is a hierarchical grid. * as only hierarchical grids have the `isHierarchicalRecord` method. * * @hidden @internal */ get isHierarchicalGrid(): boolean; get indentationCSSClasses(): string; get rowSelectorsContext(): IgxHeadSelectorTemplateContext; constructor(ref: ElementRef<HTMLElement>, cdr: ChangeDetectorRef); /** * This hook exists as a workaround for the unfortunate fact * that when we have pinned columns in the grid, the unpinned columns headers * are affected by a delayed change detection cycle after a horizontal scroll :( * Thus, we tell the parent grid change detector to check us at each cycle. * * @hidden @internal */ ngDoCheck(): void; /** * @hidden @internal */ scroll(event: Event): void; headerRowSelection(event: MouseEvent): void; /** state persistence switching all pinned columns resets collection */ protected trackPinnedColumn: typeof trackByIdentity; static ɵfac: i0.ɵɵFactoryDeclaration<IgxGridHeaderRowComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<IgxGridHeaderRowComponent, "igx-grid-header-row", never, { "grid": { "alias": "grid"; "required": false; }; "pinnedColumnCollection": { "alias": "pinnedColumnCollection"; "required": false; }; "unpinnedColumnCollection": { "alias": "unpinnedColumnCollection"; "required": false; }; "activeDescendant": { "alias": "activeDescendant"; "required": false; }; "hasMRL": { "alias": "hasMRL"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, never, never, true, never>; static ngAcceptInputType_hasMRL: unknown; }