@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
TypeScript
/**-----------------------------------------------------------------------------------------
* 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;
}