@progress/kendo-angular-treelist
Version:
Kendo UI TreeList for Angular - Display hierarchical data in an Angular tree grid view that supports sorting, filtering, paging, and much more.
141 lines (140 loc) • 7.58 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 { ChangeDetectorRef, AfterViewInit, OnChanges, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { SortDescriptor } from '@progress/kendo-data-query';
import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ColumnComponent } from '../../columns/column.component';
import { ColumnBase } from '../../columns/column-base';
import { SortSettings } from '../../columns/sort-settings';
import { SinglePopupService } from '../../common/single-popup.service';
import { FilterableSettings } from '../../filtering/filterable';
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 { SelectionService } from '../../selection/selection.service';
import { ColumnMenuSettings } from '../../column-menu/column-menu-settings.interface';
import { ColumnsContainer } from '../../columns/columns-container';
import { ColumnMenuComponent } from '../../column-menu/column-menu.component';
import { FilterMenuComponent } from '../../filtering/menu/filter-menu.component';
import { ColumnInfoService } from '../../common/column-info.service';
import { ContextService } from '../../common/provider.service';
import { NavigationService } from '../../navigation/navigation.service';
import { IdService } from '../../common/id.service';
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 selectionService;
private localization;
private cd;
private columnInfoService;
private contextService;
private navigationService;
/**
* @hidden
*/
totalColumnLevels: number;
columns: Array<ColumnBase>;
scrollable: boolean;
filterable: FilterableSettings;
sort: Array<SortDescriptor>;
filter: CompositeFilterDescriptor;
sortable: SortSettings;
lockedColumnsCount: number;
resizable: boolean;
reorderable: boolean;
columnMenu: boolean | ColumnMenuSettings;
columnMenuTemplate: TemplateRef<any>;
totalColumnsCount: number;
totalColumns: ColumnsContainer;
tabIndex: string;
get isNavigable(): boolean;
sortedFields: any;
get headerClass(): boolean;
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, selectionService: SelectionService, localization: LocalizationService, cd: ChangeDetectorRef, columnInfoService: ColumnInfoService, contextService: ContextService, navigationService: NavigationService);
ngAfterViewInit(): void;
ngDoCheck(): void;
ngOnChanges(changes: any): void;
ngOnInit(): void;
ngOnDestroy(): void;
getColumnComponent(column: ColumnBase): ColumnComponent;
onSortClick(column: ColumnComponent, event: MouseEvent, link: Element): void;
selectAllCheckboxId(): string;
get selectAllCheckboxLabel(): string;
sortColumn(descriptor: SortDescriptor[]): void;
/**
*
* Determines whether the modifier key (if any) passed
* with a click/keyboard event matches the user-defined multiSortKey.
*/
matchModifier(event: MouseEvent | KeyboardEvent): boolean;
onHeaderKeydown(column: ColumnComponent, args: KeyboardEvent): void;
showSortNumbering(column: ColumnComponent): boolean;
sortOrder(field: string): number;
sortState(column: ColumnComponent): string;
/**
*
* @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>;
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;
isSortable(column: ColumnComponent): boolean;
trackByIndex(index: number, _item: any): any;
shouldActivate(column: ColumnBase): boolean;
isInteractive(column: ColumnComponent, prop: string): boolean;
isCheckboxColumn(column: any): boolean;
private isReorderable;
protected toggleDirection(field: string, allowUnsort: boolean, initialDirection: "asc" | "desc"): SortDescriptor;
columnsForLevel(level: number): Array<ColumnBase>;
isColumnGroupComponent(column: ColumnBase): boolean;
get columnLevels(): Array<number>;
renderSelectAll(column: any): boolean;
selectAllChange(state: any): void;
sortDescriptor(field: string): SortDescriptor;
get leafColumns(): ColumnBase[];
messageFor(token: string): string;
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, "[kendoTreeListHeader]", never, { "totalColumnLevels": { "alias": "totalColumnLevels"; "required": false; }; "columns": { "alias": "columns"; "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; }; "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; }; }, {}, never, never, true, never>;
}