UNPKG

@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
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; }