UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

77 lines (76 loc) 2.52 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Observable, Observer, BehaviorSubject } from 'rxjs'; import { RowHeightService } from './row-height.service'; import { ContextService } from '../common/provider.service'; /** * @hidden */ export declare class ScrollAction { offset: number; changeVirtualData?: boolean; constructor(offset: number, changeVirtualData?: boolean); } /** * @hidden */ export declare class PageAction { skip: number; take: number; constructor(skip: number, take: number); } /** * @hidden */ export declare class ScrollBottomAction { } /** * @hidden */ export type Action = ScrollAction | ScrollBottomAction | PageAction; /** * @hidden */ export declare class ScrollerService { private scrollObservable; private ctx; total: number; rowHeightService: RowHeightService; table: HTMLTableElement | null; lockedTable: HTMLTableElement | null; tableBody: HTMLTableSectionElement | null; container: HTMLDivElement | null; scrollHeightContainer: HTMLDivElement | null; scrollableVirtual: boolean; tableTransformOffset: number; virtualSkip: number; virtualPageSize: number; firstToLoad: number; lastLoaded: number; scrollSyncing: boolean; private scrollSubscription; private subscription; private lastScrollTop; private firstLoaded; private expandedRows; take: number; constructor(scrollObservable: Observable<any>, ctx: ContextService); create(rowHeightService: RowHeightService, skip: number, take: number, total: number): BehaviorSubject<Action>; reset(skipScroll?: boolean): void; update(skipAdjust?: boolean): void; destroy(): void; protected onScroll({ scrollTop, offsetHeight, scrollHeight, clientHeight }: any, observer: Observer<Action>): void; private loadPage; private unsubscribe; private translate; adjustScroll(scrollOffset: number, initialAdjust?: boolean): void; isExpanded(rowIndex: number): boolean; resetVirtualSkip: () => void; private setScrollHeightContainerHeight; private getItemHeights; private getTotalHeight; private getExpectedTotalHeight; private virtualPageChange; }