UNPKG

@syncfusion/ej2-lists

Version:

The listview control allows you to select an item or multiple items from a list-like interface and represents the data in interactive hierarchical structure across different layouts or views.

98 lines (97 loc) 3.11 kB
import { ListView, ItemCreatedArgs, Fields, UISelectedItem } from './list-view'; /** * ElementContext */ export interface ElementContext extends HTMLElement { context: { [key: string]: string | object; }; } export declare class Virtualization { constructor(instance: ListView); private listViewInstance; private templateData; private topElementHeight; private bottomElementHeight; listItemHeight: number; private domItemCount; private expectedDomItemCount; private scrollPosition; private onVirtualScroll; private updateUl; private checkListWrapper; private iconCssWrapper; uiFirstIndex: number; private uiLastIndex; private totalHeight; private topElement; private bottomElement; private activeIndex; private uiIndices; private listDiff; private elementDifference; /** * For internal use only. * * @private */ isNgTemplate(): boolean; /** * Checks if the platform is a Vue and its template property is a function type. * * @returns {boolean} indicating the result of the check */ private isVueFunctionTemplate; /** * For internal use only. * * @private */ uiVirtualization(): void; private wireScrollEvent; private ValidateItemCount; updateDOMItemCount(): void; private uiIndicesInitialization; refreshItemHeight(): void; private getscrollerHeight; private onVirtualUiScroll; private onLongScroll; private onNormalScroll; private updateUiContent; private changeElementAttributes; private findDSAndIndexFromId; getSelectedItems(): UISelectedItem; selectItem(obj: Fields | HTMLElement | Element): void; enableItem(obj: Fields | HTMLElement | Element): void; disableItem(obj: Fields | HTMLElement | Element): void; showItem(obj: Fields | HTMLElement | Element): void; hideItem(obj: Fields | HTMLElement | Element): void; removeItem(obj: HTMLElement | Element | Fields): void; setCheckboxLI(li: HTMLElement | Element, e?: MouseEvent | KeyboardEvent | FocusEvent): void; setSelectLI(li: HTMLElement | Element, e?: MouseEvent | KeyboardEvent | FocusEvent): void; checkedItem(checked: boolean): void; private addUiItem; private removeUiItem; private changeUiIndices; addItem(data: DataSource[], fields: Fields, dataSource: DataSource[], index: number): void; private createAndInjectNewItem; createUIItem(args: ItemCreatedArgs): void; reRenderUiVirtualization(): void; private updateUI; /** * Handles the UI change in vue for the list view. * * @param {DataSource} newData - The new data source for the list view. * @param {ElementContext} listElement - The HTML element context for the list view. * @param {Virtualization} virtualThis - The virtualization context for the list view. * @returns {void} */ private onChange; private onNgChange; getModuleName(): string; destroy(): void; } interface DataSource { [key: string]: object; } export {};