diff --git a/iscroll/iscroll-5-lite.d.ts b/iscroll/iscroll-5-lite.d.ts index 1cd83b1dd..5324aecba 100644 --- a/iscroll/iscroll-5-lite.d.ts +++ b/iscroll/iscroll-5-lite.d.ts @@ -1,48 +1,35 @@ -// Type definitions for iScroll Lite 4.1 -// Project: http://cubiq.org/iscroll-4 -// Definitions by: Boris Yankov and Christiaan Rakowski +// Type definitions for iScroll Lite 5 +// Project: http://cubiq.org/iscroll-5-ready-for-beta-test +// Definitions by: Christiaan Rakowski // Definitions: https://github.com/borisyankov/DefinitelyTyped - -interface iScrollEvent { - (e: Event): void; -} - -interface iScrollOptions { - hScroll?: boolean; - vScroll?: boolean; - x?: number; - y?: number; - bounce?: boolean; - bounceLock?: boolean; - momentum?: boolean; - lockDirection?: boolean; - useTransform?: boolean; - useTransition?: boolean; - - // Events - onRefresh?: iScrollEvent; - onBeforeScrollStart?: iScrollEvent; - onScrollStart?: iScrollEvent; - onBeforeScrollMove?: iScrollEvent; - onScrollMove?: iScrollEvent; - onBeforeScrollEnd?: iScrollEvent; - onScrollEnd?: iScrollEvent; - onTouchEnd?: iScrollEvent; - onDestroy?: iScrollEvent; +interface IScrollOptions { + hScroll?: boolean; + vScroll?: boolean; + x?: number; + y?: number; + bounce?: boolean; + bounceLock?: boolean; + momentum?: boolean; + lockDirection?: boolean; + useTransform?: boolean; + useTransition?: boolean; } declare class iScroll { - constructor (element: string, options?: iScrollOptions); - constructor (element: HTMLElement, options?: iScrollOptions); + constructor (element: string, options?: IScrollOptions); + constructor (element: HTMLElement, options?: IScrollOptions); - destroy(): void; - refresh(): void; - scrollTo(x: number, y: number, time?: number, relative?: boolean): void; - scrollToElement(element: string, time?: number): void; - scrollToElement(element: HTMLElement, time?: number): void; - disable(): void; - enable(): void; - stop(): void; + destroy(): void; + refresh(): void; + scrollTo(x: number, y: number, time?: number, relative?: boolean): void; + scrollToElement(element: string, time?: number): void; + scrollToElement(element: HTMLElement, time?: number): void; + disable(): void; + enable(): void; + stop(): void; + + // Events + on: (type: string, fn: () => void) => void; } diff --git a/iscroll/iscroll-5-tests.ts b/iscroll/iscroll-5-tests.ts index 773b62acf..e05761e71 100644 --- a/iscroll/iscroll-5-tests.ts +++ b/iscroll/iscroll-5-tests.ts @@ -1,20 +1,23 @@ -/// +/// -var myScroll1 = new iScroll('wrapper'); -var myScroll2 = new iScroll('wrapper', { hScrollbar: false, vScrollbar: false }); -var myScroll3= new iScroll('wrapper', { +var myScroll1 = new IScroll('#wrapper'); +var myScroll2 = new IScroll('#wrapper', { hScrollbar: false, vScrollbar: false }); +var myScroll3 = new IScroll('#wrapper', { snap: true, momentum: false, hScrollbar: false, vScrollbar: false }); -var myScroll4 = new iScroll('wrapper', { +var myScroll4 = new IScroll('#wrapper', { snap: 'li', momentum: false, hScrollbar: false, vScrollbar: false }); -var myScroll6 = new iScroll('wrapper', { scrollbarClass: 'myScrollbar' }); +var myScroll6 = new IScroll('#wrapper', { scrollbarClass: 'myScrollbar' }); +var myScroll7 = new IScroll('#wrapper', { bounceEasing: 'elastic', bounceTime: 1200 }); + +var myScroll8 = new IScroll('#wrapper', { eventPassthrough: true, scrollX: true, scrollY: false, preventDefault: false }); myScroll1.refresh(); myScroll1.scrollTo(0, 100); @@ -27,5 +30,7 @@ myScroll1.scrollToElement('selectedElement', 250); myScroll1.scrollToElement(document.getElementById('selectedElement')); myScroll1.scrollToElement(document.getElementById('selectedElement'), 250); -var myScroll7 = new iScroll(document.getElementById('wrapper')); -var myScroll8 = new iScroll(document.getElementById('wrapper'), { scrollbarClass: 'myScrollbar' }); \ No newline at end of file +myScroll2.on('scrollStart', function () { console.log('scroll started'); }); + +var myScroll9 = new IScroll(document.getElementById('wrapper')); +var myScroll10 = new IScroll(document.getElementById('wrapper'), { scrollbarClass: 'myScrollbar' }); \ No newline at end of file diff --git a/iscroll/iscroll-5.d.ts b/iscroll/iscroll-5.d.ts index 34234c00a..ded858ecb 100644 --- a/iscroll/iscroll-5.d.ts +++ b/iscroll/iscroll-5.d.ts @@ -1,76 +1,60 @@ -// Type definitions for iScroll 4.2 -// Project: http://cubiq.org/iscroll-4 -// Definitions by: Boris Yankov and Christiaan Rakowski +// Type definitions for iScroll 5 +// Project: http://cubiq.org/iscroll-5-ready-for-beta-test +// Definitions by: Christiaan Rakowski // Definitions: https://github.com/borisyankov/DefinitelyTyped +interface IScrollOptions { + hScroll?: boolean; + vScroll?: boolean; + x?: number; + y?: number; + bounce?: boolean; + bounceLock?: boolean; + momentum?: boolean; + lockDirection?: boolean; + useTransform?: boolean; + useTransition?: boolean; + topOffset?: number; + checkDOMChanges?: boolean; + handleClick?: boolean; -interface iScrollEvent { - (e: Event): void; + // Scrollbar + hScrollbar?: boolean; + vScrollbar?: boolean; + fixedScrollbar?: boolean; + hideScrollbar?: boolean; + fadeScrollbar?: boolean; + scrollbarClass?: string; + + // Zoom + zoom?: boolean; + zoomMin?: number; + zoomMax?: number; + doubleTapZoom?: number; + wheelAction?: string; + + // Snap + snap?: any; + snapThreshold?: number; } -interface iScrollOptions { - hScroll?: boolean; - vScroll?: boolean; - x?: number; - y?: number; - bounce?: boolean; - bounceLock?: boolean; - momentum?: boolean; - lockDirection?: boolean; - useTransform?: boolean; - useTransition?: boolean; - topOffset?: number; - checkDOMChanges?: boolean; - handleClick?: boolean; +declare class IScroll { - // Scrollbar - hScrollbar?: boolean; - vScrollbar?: boolean; - fixedScrollbar?: boolean; - hideScrollbar?: boolean; - fadeScrollbar?: boolean; - scrollbarClass?: string; + constructor (element: string, options?: IScrollOptions); + constructor (element: HTMLElement, options?: IScrollOptions); - // Zoom - zoom?: boolean; - zoomMin?: number; - zoomMax?: number; - doubleTapZoom?: number; - wheelAction?: string; + destroy(): void; + refresh(): void; + scrollTo(x: number, y: number, time?: number, relative?: boolean): void; + scrollToElement(element: string, time?: number): void; + scrollToElement(element: HTMLElement, time?: number): void; + scrollToPage(pageX: number, pageY: number, time?: number): void; + disable(): void; + enable(): void; + stop(): void; + zoom(x: number, y: number, scale: number, time?: number): void; + isReady(): boolean; - // Snap - snap?: any; - snapThreshold?: number; - - // Events - onRefresh?: iScrollEvent; - onBeforeScrollStart?: iScrollEvent; - onScrollStart?: iScrollEvent; - onBeforeScrollMove?: iScrollEvent; - onScrollMove?: iScrollEvent; - onBeforeScrollEnd?: iScrollEvent; - onScrollEnd?: iScrollEvent; - onTouchEnd?: iScrollEvent; - onDestroy?: iScrollEvent; - onZoomStart?: iScrollEvent; - onZoom?: iScrollEvent; - onZoomEnd?: iScrollEvent; -} - -declare class iScroll { - - constructor (element: string, options?: iScrollOptions); - constructor (element: HTMLElement, options?: iScrollOptions); - - destroy(): void; - refresh(): void; - scrollTo(x: number, y: number, time?: number, relative?: boolean): void; - scrollToElement(element: string, time?: number): void; - scrollToElement(element: HTMLElement, time?: number): void; - scrollToPage(pageX: number, pageY: number, time?: number): void; - disable(): void; - enable(): void; - stop(): void; - zoom(x: number, y: number, scale: number, time?: number): void; - isReady(): boolean; + // Events + on: (type: string, fn: () => void) => void; }