@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
143 lines (142 loc) • 7.8 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ColumnInfoService } from './../../common/column-info.service';
import { ChangeDetectorRef, AfterViewInit, OnChanges, OnDestroy, OnInit, QueryList, TemplateRef, NgZone } from '@angular/core';
import { ColumnComponent } from '../../columns/column.component';
import { ColumnBase } from '../../columns/column-base';
import { DetailTemplateDirective } from '../details/detail-template.directive';
import { SortDescriptor } from '@progress/kendo-data-query';
import { SortSettings } from '../../columns/sort-settings';
import { GroupDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query';
import { SinglePopupService } from '../../common/single-popup.service';
import { FilterableSettings } from '../../filtering/filterable';
import { IdService } from '../../common/id.service';
import { DropTargetDirective } from '../../dragdrop/drop-target.directive';
import { DraggableColumnDirective } from '../../dragdrop/draggable-column.directive';
import { DragHintService } from '../../dragdrop/drag-hint.service';
import { DropCueService } from '../../dragdrop/drop-cue.service';
import { ColumnReorderService } from '../../dragdrop/column-reorder.service';
import { SortService } from '../../common/sort.service';
import { FilterMenuComponent } from '../../filtering/menu/filter-menu.component';
import { ColumnMenuComponent } from '../../column-menu/column-menu.component';
import { ColumnMenuSettings } from '../../column-menu/column-menu-settings.interface';
import { GridSize } from '../../common/size-options';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ContextService } from '../../common/provider.service';
import { ColumnsContainer } from '../../columns/columns-container';
import { NavigationService } from '../../navigation/navigation.service';
import { ResizeMode } from '../../column-resizing/column-resize.interface';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare class HeaderComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy {
private popupService;
private hint;
private cue;
private reorderService;
private idService;
private sortService;
private columnInfoService;
private cd;
private contextService;
private navigationService;
private zone;
/**
* @hidden
*/
totalColumnLevels: number;
columns: Array<ColumnBase>;
groups: Array<GroupDescriptor>;
detailTemplate: DetailTemplateDirective;
scrollable: boolean;
filterable: FilterableSettings;
sort: Array<SortDescriptor>;
filter: CompositeFilterDescriptor;
sortable: SortSettings;
groupable: boolean;
lockedColumnsCount: number;
resizable: boolean | ResizeMode;
reorderable: boolean;
columnMenu: boolean | ColumnMenuSettings;
columnMenuTemplate: TemplateRef<any>;
totalColumnsCount: number;
totalColumns: ColumnsContainer;
tabIndex: string;
size: GridSize;
sortedFields: any;
hostClass: boolean;
get sortableLabel(): string;
get columnMenuSettings(): ColumnMenuSettings;
dropTargets: QueryList<DropTargetDirective>;
filterMenus: QueryList<FilterMenuComponent>;
columnMenus: QueryList<ColumnMenuComponent>;
get unlockedColumnsCount(): number;
sortAscSmallIcon: SVGIcon;
sortDescSmallIcon: SVGIcon;
private subscription;
private targetSubscription;
private stopSorting;
private _leafColumns;
constructor(popupService: SinglePopupService, hint: DragHintService, cue: DropCueService, reorderService: ColumnReorderService, idService: IdService, sortService: SortService, columnInfoService: ColumnInfoService, cd: ChangeDetectorRef, contextService: ContextService, navigationService: NavigationService, zone: NgZone);
sortColumn(descriptor: SortDescriptor[]): void;
getColumnComponent(column: ColumnBase): ColumnComponent;
onSortClick(column: ColumnComponent, event: MouseEvent, link: Element): void;
onHeaderKeydown(column: ColumnComponent, args: KeyboardEvent): void;
showSortNumbering(column: ColumnComponent): boolean;
sortOrder(field: string): number;
sortState(column: ColumnComponent): string;
get isNavigable(): boolean;
/**
*
* @param column
* @param modifier - Indicates whether the client-defined `multiSortKey` modifier is met. Defaults to `true`.
* @returns - SortDescriptor[]
*/
toggleSort(column: ColumnComponent, modifier?: boolean): Array<SortDescriptor>;
/**
*
* Determines whether the modifier key (if any) passed
* with a click/keyboard event matches the user-defined multiSortKey.
*/
matchModifier(event: MouseEvent | KeyboardEvent): boolean;
ngAfterViewInit(): void;
ngDoCheck(): void;
ngOnChanges(changes: any): void;
ngOnInit(): void;
ngOnDestroy(): void;
selectAllCheckboxId(): string;
get selectAllCheckboxLabel(): string;
isFirstOnRow(column: ColumnComponent, index: number): boolean;
logicalColumnIndex(column: any): number;
get showFilterMenu(): boolean;
get showFilterRow(): boolean;
showColumnMenu(column: any): boolean;
isFilterable(column: ColumnComponent): boolean;
canDrop(draggable: DraggableColumnDirective, target: DropTargetDirective): boolean;
shouldActivate(column: ColumnBase): boolean;
isInteractive(column: ColumnComponent, prop: string): boolean;
isCheckboxColumn(column: any): boolean;
addStickyStyles(column: ColumnBase): {
[key: string]: any;
};
protected toggleDirection(field: string, allowUnsort: boolean, initialDirection: "asc" | "desc"): SortDescriptor;
columnsForLevel(level: number): Array<ColumnBase>;
isColumnGroupComponent(column: ColumnBase): boolean;
sortDescriptor(field: string): SortDescriptor;
get columnLevels(): Array<number>;
get leafColumns(): ColumnBase[];
private isReorderable;
private isGroupable;
private attachTargets;
private normalizeTarget;
private trackMove;
private calculateBefore;
private enter;
private leave;
private drop;
static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "[kendoGridHeader]", never, { "totalColumnLevels": { "alias": "totalColumnLevels"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "scrollable": { "alias": "scrollable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "groupable": { "alias": "groupable"; "required": false; }; "lockedColumnsCount": { "alias": "lockedColumnsCount"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "columnMenuTemplate": { "alias": "columnMenuTemplate"; "required": false; }; "totalColumnsCount": { "alias": "totalColumnsCount"; "required": false; }; "totalColumns": { "alias": "totalColumns"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
}