@syncfusion/ej2-grids
Version:
Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.
205 lines (204 loc) • 6.3 kB
TypeScript
import { IRenderer, IGrid, NotifyArgs, IModelGenerator } from '../base/interface';
import { VirtualInfo } from '../base/interface';
import { Column } from '../models/column';
import { Row } from '../models/row';
import { ServiceLocator } from '../services/service-locator';
/**
* Content module is used to render grid content
*
* @hidden
*/
export declare class ContentRender implements IRenderer {
private contentTable;
private contentPanel;
private widthService;
protected rows: Row<Column>[];
protected freezeRows: Row<Column>[];
protected movableRows: Row<Column>[];
protected rowElements: Element[];
protected freezeRowElements: Element[];
/** @hidden */
prevInfo: VirtualInfo;
/** @hidden */
currentInfo: VirtualInfo;
/** @hidden */
prevCurrentView: Object[];
colgroup: Element;
protected isLoaded: boolean;
protected tbody: HTMLElement;
private droppable;
private drop;
/** @hidden */
infiniteCache: {
[x: number]: Row<Column>[];
} | {
[x: number]: Row<Column>[][];
};
private pressedKey;
/** @hidden */
visibleRows: Row<Column>[];
private visibleFrozenRows;
protected rightFreezeRows: Row<Column>[];
private isAddRows;
private currentMovableRows;
private initialPageRecords;
private isInfiniteFreeze;
private useGroupCache;
/** @hidden */
tempFreezeRows: Row<Column>[];
private rafCallback;
protected parent: IGrid;
private serviceLocator;
private ariaService;
protected generator: IModelGenerator<Column>;
/**
* Constructor for content renderer module
*
* @param {IGrid} parent - specifies the Igrid
* @param {ServiceLocator} serviceLocator - specifies the service locator
*/
constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
private beforeCellFocused;
/**
* The function is used to render grid content div
*
* @returns {void}
*/
renderPanel(): void;
protected renderHorizontalScrollbar(element?: Element): void;
private setScrollbarHeight;
/**
* The function is used to render grid content table
*
* @returns {void}
*/
renderTable(): void;
/**
* The function is used to create content table elements
*
* @param {string} id - specifies the id
* @returns {Element} returns the element
* @hidden
*/
createContentTable(id: string): Element;
/**
* Refresh the content of the Grid.
*
* @param {NotifyArgs} args - specifies the args
* @returns {void}
*/
refreshContentRows(args?: NotifyArgs): void;
protected isInfiniteColumnvirtualization(): boolean;
protected enableCacheOnInfiniteColumnVirtual(): boolean;
emptyVcRows(): void;
appendContent(tbody: Element, frag: DocumentFragment, args: NotifyArgs, tableName?: string): void;
private setRowsInLazyGroup;
private setGroupCache;
private ensureFrozenHeaderRender;
private ensureVirtualFrozenHeaderRender;
private checkCache;
private setInfiniteVisibleRows;
private getCurrentBlockInfiniteRecords;
private getReorderedRows;
private virtualFrozenHdrRefresh;
protected getInfiniteRows(): Row<Column>[];
private getInfiniteMovableRows;
/**
* Get the content div element of grid
*
* @returns {Element} returns the element
*/
getPanel(): Element;
/**
* Set the content div element of grid
*
* @param {Element} panel - specifies the panel
* @returns {void}
*/
setPanel(panel: Element): void;
/**
* Get the content table element of grid
*
* @returns {Element} returns the element
*/
getTable(): Element;
/**
* Set the content table element of grid
*
* @param {Element} table - specifies the table
* @returns {void}
*/
setTable(table: Element): void;
/**
* Get the Movable Row collection in the Freeze pane Grid.
*
* @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>} returns the row
*/
getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
/**
* Get the content table data row elements
*
* @returns {Element} returns the element
*/
getRowElements(): Element[];
/**
* Get the content table data row elements
*
* @param {Element[]} elements - specifies the elements
* @returns {void}
*/
setRowElements(elements: Element[]): void;
/**
* Get the header colgroup element
*
* @returns {Element} returns the element
*/
getColGroup(): Element;
/**
* Set the header colgroup element
*
* @param {Element} colGroup - specifies the colgroup
* @returns {Element} returns the element
*/
setColGroup(colGroup: Element): Element;
/**
* Function to hide content table column based on visible property
*
* @param {Column[]} columns - specifies the column
* @returns {void}
*/
setVisible(columns?: Column[]): void;
/**
* @param {Object} tr - specifies the trr
* @param {number} idx - specifies the idx
* @param {string} displayVal - specifies the displayval
* @param {Row<Column>} rows - specifies the rows
* @returns {void}
* @hidden
*/
setDisplayNone(tr: Object, idx: number, displayVal: string, rows: Row<Column>[]): void;
private infiniteRowVisibility;
private colGroupRefresh;
protected getHeaderColGroup(): Element;
private initializeContentDrop;
private droppableDestroy;
private canSkip;
getModelGenerator(): IModelGenerator<Column>;
renderEmpty(tbody: HTMLElement): void;
setSelection(uid: string, set: boolean, clearAll?: boolean): void;
getRowByIndex(index: number): Element;
private getInfiniteRowIndex;
getVirtualRowIndex(index: number): number;
private enableAfterRender;
setRowObjects(rows: Row<Column>[]): void;
/**
* @param {NotifyArgs} args - specifies the args
* @returns {void}
* @hidden
*/
immutableModeRendering(args?: NotifyArgs): void;
private objectEqualityChecker;
private getBatchEditedRecords;
private refreshImmutableContent;
private updateCellIndex;
}