UNPKG

@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.

139 lines (138 loc) 6.79 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { OnInit, EventEmitter, ElementRef, OnDestroy, AfterViewInit, SimpleChange, OnChanges, InjectionToken, QueryList, NgZone, Renderer2, TrackByFunction, ChangeDetectorRef } from '@angular/core'; import { Observable } from 'rxjs'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { ScrollerService, Action } from '../scrolling/scroller.service'; import { ScrollRequestService } from '../scrolling/scroll-request.service'; import { ColumnBase } from '../columns/column-base'; import { ColumnsContainer } from '../columns/columns-container'; import { ChangeNotificationService } from '../data/change-notification.service'; import { NoRecordsTemplateDirective } from './no-records-template.directive'; import { SuspendService } from '../scrolling/suspend.service'; import { RowClassFn } from './common/row-class'; import { ScrollSyncService } from "../scrolling/scroll-sync.service"; import { ResizeService } from "../layout/resize.service"; import { ResizeSensorComponent } from "@progress/kendo-angular-common"; import { BrowserSupportService } from "../layout/browser-support.service"; import { EditService } from '../editing/edit.service'; import { NavigationService } from '../navigation/navigation.service'; import { FilterableSettings } from '../filtering/filterable'; import { ColumnResizingService } from "../column-resizing/column-resizing.service"; import { TreeListItem } from '../data/treelist-item.interface'; import { PDFService } from '../pdf/pdf.service'; import { ColumnInfoService } from '../common/column-info.service'; import * as i0 from "@angular/core"; /** * @hidden */ export declare const SCROLLER_FACTORY_TOKEN: InjectionToken<string>; /** * @hidden */ export declare function DEFAULT_SCROLLER_FACTORY(observable: Observable<any>): ScrollerService; /** * @hidden */ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges { private changeNotification; private suspendService; private ngZone; private renderer; private scrollSyncService; private resizeService; private editService; private supportService; private navigationService; private localization; private columnResizingService; private changeDetector; private pdfService; private columnInfo; get hostClass(): boolean; get hostRole(): string; view: any; total: number; rowHeight: number; take: number; skip: number; columns: ColumnsContainer; noRecordsTemplate: NoRecordsTemplateDirective; filterable: FilterableSettings; rowClass: RowClassFn; loading: boolean; trackBy: TrackByFunction<TreeListItem>; virtualColumns: boolean; isVirtual: boolean; expandIcons: boolean; contentScroll: EventEmitter<any>; pageChange: EventEmitter<Action>; scrollBottom: EventEmitter<void>; totalHeight: number; columnsStartIdx: number; get totalWidth(): number; container: ElementRef; table: ElementRef; lockedContainer: ElementRef; lockedTable: ElementRef; resizeSensors: QueryList<ResizeSensorComponent>; private scroller; private subscriptions; private scrollerSubscription; private dispatcher; private rowHeightService; private skipScroll; private rebind; private containerScrollTop; private viewportColumns; private columnsEndIdx; private viewportColumnsWidth; private scrollLeft; get lockedLeafColumns(): QueryList<ColumnBase>; get nonLockedLeafColumns(): QueryList<ColumnBase>; get nonLockedColumnsToRender(): QueryList<ColumnBase>; get leafColumns(): Array<ColumnBase>; get lockedWidth(): number; get nonLockedWidth(): number; get isLocked(): boolean; private rtl; private columnUpdateFrame; private hasLockedContainer; constructor(scrollerFactory: any, changeNotification: ChangeNotificationService, suspendService: SuspendService, ngZone: NgZone, renderer: Renderer2, scrollSyncService: ScrollSyncService, resizeService: ResizeService, editService: EditService, supportService: BrowserSupportService, navigationService: NavigationService, scrollRequestService: ScrollRequestService, localization: LocalizationService, columnResizingService: ColumnResizingService, changeDetector: ChangeDetectorRef, pdfService: PDFService, columnInfo: ColumnInfoService); ngOnInit(): void; ngOnChanges(changes: { [propertyName: string]: SimpleChange; }): void; ngDoCheck(): void; ngAfterViewInit(): void; ngAfterViewChecked(): void; syncRowsHeight(): void; ngOnDestroy(): void; init(): void; lockedScroll(): void; lockedMousewheel(args: any): void; lockedKeydown(args: KeyboardEvent): void; updateViewportColumns(range?: any): void; private attachContainerScroll; private createScroller; private scroll; private onContainerScroll; private handleRowSync; private handleRowNavigationLocked; private scrollToVirtualRow; private scrollTo; private resetNavigationViewport; private cleanupScroller; private initResizeService; private syncContainerHeight; private handleColumnScroll; private updateColumnViewport; private calculateViewportColumns; private viewportWidthChange; private normalizeScrollLeft; private elementScrollLeft; static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-treelist-list", never, { "view": { "alias": "view"; "required": false; }; "total": { "alias": "total"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "take": { "alias": "take"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "expandIcons": { "alias": "expandIcons"; "required": false; }; }, { "contentScroll": "contentScroll"; "pageChange": "pageChange"; "scrollBottom": "scrollBottom"; }, never, never, true, never>; }