UNPKG

@nativescript-community/ui-collectionview

Version:

Allows you to easily add a collection view (grid list view) to your projects. Supports vertical and horizontal modes, templating, and more.

56 lines (49 loc) 1.9 kB
import { EventData, View } from '@nativescript/core'; import { Pointer } from '@nativescript/core/ui/gestures'; import { CollectionViewBase } from './index-common'; export * from './index-common'; export type Orientation = 'horizontal' | 'vertical'; export enum SnapPosition { START = 0, END = 1 } export class CollectionView extends CollectionViewBase { public scrollOffset: number; public refresh(); public refreshVisibleItems(); public isItemAtIndexVisible(index: number): boolean; public findFirstVisibleItemIndex(): number; public findLastVisibleItemIndex(): number; public scrollToIndex(index: number, animated?: boolean, snap?: SnapPosition = SnapPosition.START); public scrollToOffset(value: number, animation?: boolean); public getViewForItemAtIndex(index: number): View; // on iOS a view is dragged from its center by default // if you use a drag "handle" just pass the touch event main pointer // to delta the dragging to be good startDragging(index: number, pointer?: Pointer); async eachChildAsync(callback); on(event: CollectionViewBase.itemLoadingEvent, callback: (args: CollectionViewItemEventData) => void, thisArg?: any); on(event: CollectionViewBase.displayItemEvent, callback: (args: CollectionViewItemDisplayEventData) => void, thisArg?: any); } export interface CollectionViewItemEventData extends EventData { eventName: string; object: any; index?: number; view?: View; item?: any; bindingContext?: any; } export interface CollectionViewItemDisplayEventData extends EventData { eventName: string; object: any; index?: number; } /** * Defines the different view types that {@link RadListView} can display in various scenarios. */ export enum ListViewViewTypes { /** * Identifies a view created using the {@link itemTemplate} value. */ ItemView }