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.

234 lines (233 loc) 7.29 kB
import { IGrid, IRenderer, NotifyArgs, VirtualInfo, IModelGenerator } from '../base/interface'; import { Column } from '../models/column'; import { Row } from '../models/row'; import { ContentRender } from './content-renderer'; import { HeaderRender } from './header-renderer'; import { ServiceLocator } from '../services/service-locator'; import { InterSectionObserver } from '../services/intersection-observer'; import { VirtualRowModelGenerator } from '../services/virtual-row-model-generator'; /** * VirtualContentRenderer * * @hidden */ export declare class VirtualContentRenderer extends ContentRender implements IRenderer { private count; private maxPage; private maxBlock; private widthServices; private prevHeight; /** @hidden */ observer: InterSectionObserver; /** * @hidden */ vgenerator: VirtualRowModelGenerator; /** @hidden */ header: VirtualHeaderRenderer; /** @hidden */ startIndex: number; private preStartIndex; private preEndIndex; /** @hidden */ startColIndex: number; /** @hidden */ endColIndex: number; private locator; private preventEvent; private actions; /** @hidden */ content: HTMLElement; /** @hidden */ offsets: { [x: number]: number; }; private tmpOffsets; /** @hidden */ virtualEle: VirtualElementHandler; private offsetKeys; private isFocused; private isSelection; private selectedRowIndex; private isBottom; private isBottomNotify; private diff; private heightChange; /** @hidden */ isTop: boolean; /** @hidden */ activeKey: string; /** @hidden */ rowIndex: number; /** @hidden */ blzRowIndex: number; /** @hidden */ blazorDataLoad: boolean; private cellIndex; private empty; private isAdd; private isCancel; /** @hidden */ requestType: string; private editedRowIndex; private requestTypes; private isNormaledit; /** @hidden */ virtualData: Object; private virtualInfiniteData; private emptyRowData; private initialRowTop; private isContextMenuOpen; private selectRowIndex; private isSelectionScroll; private validationCheck; private validationCol; /** @hidden */ firstCellFocus: boolean; private prevPage; private prevCurrentInfo; constructor(parent: IGrid, locator?: ServiceLocator); renderTable(): void; renderEmpty(tbody: HTMLElement): void; getReorderedFrozenRows(args: NotifyArgs): Row<Column>[]; private scrollListener; private block; private getInfoFromView; ensureBlocks(info: VirtualInfo): number[]; appendContent(target: HTMLElement, newChild: DocumentFragment | HTMLElement, e: NotifyArgs): void; private validationScrollLeft; private ensureSelectedRowPosition; private focusCell; private restoreEdit; private getVirtualEditedData; private restoreAdd; protected onDataReady(e?: NotifyArgs): void; /** * @param {number} height - specifies the height * @returns {void} * @hidden */ setVirtualHeight(height?: number): void; /** * @param {number} sTop - specifies the sTop * @param {VirtualInfo} info - specifies the info * @returns {number} - return the page * @hidden */ getPageFromTop(sTop: number, info: VirtualInfo): number; protected getTranslateY(sTop: number, cHeight: number, info?: VirtualInfo, isOnenter?: boolean): number; getOffset(block: number): number; private onEntered; private dataBound; /** * To calculate the position of frozen cells * * @param {number} valueX - specifies the transform X value * @param {DocumentFragment | HTMLElement} newChild - specifies the element to transform * @returns {void} * @hidden */ resetStickyLeftPos(valueX?: number, newChild?: DocumentFragment | HTMLElement): void; private rowSelected; private isLastBlockRow; private refreshMaxPage; private setVirtualPageQuery; eventListener(action: string): void; private refreshVirtualLazyLoadCache; private scrollToEdit; private refreshCells; private resetVirtualFocus; /** * @param {Object} data - specifies the data * @param {Object} data.virtualData -specifies the data * @param {boolean} data.isAdd - specifies isAdd * @param {boolean} data.isCancel - specifies boolean in cancel * @param {boolean} data.isScroll - specifies boolean for scroll * @returns {void} * @hidden */ getVirtualData(data: { virtualData: Object; isAdd: boolean; isCancel: boolean; isScroll: boolean; }): void; private selectRowOnContextOpen; private editCancel; private editSuccess; private updateCurrentViewData; private actionBegin; private virtualCellFocus; private editActionBegin; private getEditedRowObject; private refreshCache; private actionComplete; private resetIsedit; private scrollAfterEdit; private createEmptyRowdata; private addActionBegin; /** * @param {number} index - specifies the index * @returns {Object} returns the object * @hidden */ getRowObjectByIndex(index: number): Object; getBlockSize(): number; getBlockHeight(): number; isEndBlock(index: number): boolean; isOddPageSize(): boolean; getOddBlockSize(): number; getGroupedTotalBlocks(): number; getTotalBlocks(): number; getColumnOffset(block: number): number; getModelGenerator(): IModelGenerator<Column>; private resetScrollPosition; private onActionBegin; getRows(): Row<Column>[]; getRowByIndex(index: number): Element; getMovableVirtualRowByIndex(index: number): Element; getFrozenRightVirtualRowByIndex(index: number): Element; getRowCollection(index: number, isRowObject?: boolean): Element | Object; getVirtualRowIndex(index: number): number; /** * @returns {void} * @hidden */ refreshOffsets(): void; refreshVirtualElement(): void; setVisible(columns?: Column[]): void; private selectVirtualRow; private isRowInView; } /** * @hidden */ export declare class VirtualHeaderRenderer extends HeaderRender implements IRenderer { virtualEle: VirtualElementHandler; /** @hidden */ gen: VirtualRowModelGenerator; movableTbl: Element; private isMovable; constructor(parent: IGrid, locator: ServiceLocator); renderTable(): void; appendContent(table: Element): void; refreshUI(): void; setVisible(columns?: Column[]): void; private setDisplayNone; } /** * @hidden */ export declare class VirtualElementHandler { wrapper: HTMLElement; placeholder: HTMLElement; content: HTMLElement; table: HTMLElement; renderWrapper(height?: number): void; renderPlaceHolder(position?: string): void; renderFrozenWrapper(height?: number): void; renderFrozenPlaceHolder(): void; adjustTable(xValue: number, yValue: number): void; setWrapperWidth(width: string, full?: boolean): void; setVirtualHeight(height?: number, width?: string): void; setFreezeWrapperWidth(wrapper: HTMLElement, width: string, full?: boolean): void; }