| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import { RowNode } from "../../entities/rowNode";
- import { BeanStub } from "../../context/beanStub";
- import { Logger } from "../../logger";
- import { RowNodeBlockLoader } from "./rowNodeBlockLoader";
- import { AgEvent } from "../../events";
- import { NumberSequence } from "../../utils";
- import { IRowNodeBlock } from "../../interfaces/iRowNodeBlock";
- import { RowRenderer } from "../../rendering/rowRenderer";
- export interface RowNodeCacheParams {
- initialRowCount: number;
- blockSize?: number;
- overflowSize: number;
- sortModel: any;
- filterModel: any;
- maxBlocksInCache?: number;
- rowHeight: number;
- lastAccessedSequence: NumberSequence;
- maxConcurrentRequests?: number;
- rowNodeBlockLoader?: RowNodeBlockLoader;
- dynamicRowHeight: boolean;
- }
- export interface CacheUpdatedEvent extends AgEvent {
- }
- export declare abstract class RowNodeCache<T extends IRowNodeBlock, P extends RowNodeCacheParams> extends BeanStub {
- static EVENT_CACHE_UPDATED: string;
- private static MAX_EMPTY_BLOCKS_TO_KEEP;
- private virtualRowCount;
- private maxRowFound;
- protected rowRenderer: RowRenderer;
- protected cacheParams: P;
- private active;
- blocks: {
- [blockNumber: string]: T;
- };
- private blockCount;
- protected logger: Logger;
- abstract getRow(rowIndex: number): RowNode | null;
- protected constructor(cacheParams: P);
- private destroyAllBlocks;
- protected init(): void;
- isActive(): boolean;
- getVirtualRowCount(): number;
- hack_setVirtualRowCount(virtualRowCount: number): void;
- isMaxRowFound(): boolean;
- protected onPageLoaded(event: any): void;
- private purgeBlocksIfNeeded;
- private isBlockCurrentlyDisplayed;
- protected postCreateBlock(newBlock: T): void;
- protected removeBlockFromCache(blockToRemove: T): void;
- protected checkBlockToLoad(): void;
- protected checkVirtualRowCount(block: T, lastRow: any): void;
- setVirtualRowCount(rowCount: number, maxRowFound?: boolean): void;
- forEachNodeDeep(callback: (rowNode: RowNode, index: number) => void, sequence?: NumberSequence): void;
- forEachBlockInOrder(callback: (block: T, id: number) => void): void;
- protected forEachBlockInReverseOrder(callback: (block: T, id: number) => void): void;
- private forEachBlockId;
- protected getBlockIdsSorted(): number[];
- protected getBlock(blockId: string | number): T;
- protected setBlock(id: number, block: T): void;
- protected destroyBlock(block: T): void;
- protected onCacheUpdated(): void;
- private destroyAllBlocksPastVirtualRowCount;
- purgeCache(): void;
- getRowNodesInRange(firstInRange: RowNode, lastInRange: RowNode): RowNode[];
- }
|