@syncfusion/ej2-grids
Version:
Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.
50 lines (49 loc) • 1.55 kB
TypeScript
import { IModelGenerator, IGrid, VirtualInfo, NotifyArgs } from '../base/interface';
import { Row } from '../models/row';
import { Cell } from '../models/cell';
import { Column } from '../models/column';
/**
* Content module is used to render grid content
*/
export declare class VirtualRowModelGenerator implements IModelGenerator<Column> {
private model;
recordsCount: number;
rowModelGenerator: IModelGenerator<Column>;
parent: IGrid;
cOffsets: {
[x: number]: number;
};
cache: {
[x: number]: Row<Column>[];
};
rowCache: {
[x: number]: Row<Column>;
};
data: {
[x: number]: Object[];
};
groups: {
[x: number]: Object;
};
currentInfo: VirtualInfo;
private prevInfo;
includePrevPage: boolean;
startIndex: number;
constructor(parent: IGrid);
private columnInfiniteRows;
generateRows(data: Object[], e?: NotifyArgs): Row<Column>[];
private setBlockForManualRefresh;
getBlockIndexes(page: number): number[];
getPage(block: number): number;
isBlockAvailable(value: number): boolean;
getData(): VirtualInfo;
private getStartIndex;
getColumnIndexes(content?: HTMLElement): number[];
checkAndResetCache(action: string): boolean;
refreshColOffsets(): void;
updateGroupRow(current: Row<Column>[], block: number): Row<Column>[];
private iterateGroup;
getRows(): Row<Column>[];
generateCells(foreignKeyData?: Object): Cell<Column>[];
private getGroupVirtualRecordsByIndex;
}