Skip to content

Commit 52b37e4

Browse files
committed
Merge pull request DefinitelyTyped#1417 from csrakowski/iScroll-5
Added iScroll 5 typings
2 parents 7efe26a + fe87c6b commit 52b37e4

File tree

3 files changed

+166
-0
lines changed

3 files changed

+166
-0
lines changed

iscroll/iscroll-5-lite.d.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Type definitions for iScroll Lite 5
2+
// Project: http://cubiq.org/iscroll-5-ready-for-beta-test
3+
// Definitions by: Christiaan Rakowski <https://github.com/csrakowski/>
4+
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5+
6+
interface IScrollOptions {
7+
//hScroll?: boolean;
8+
//vScroll?: boolean;
9+
10+
scrollX?: boolean;
11+
scrollY?: boolean;
12+
13+
x?: number;
14+
y?: number;
15+
bounce?: boolean;
16+
bounceLock?: boolean;
17+
momentum?: boolean;
18+
lockDirection?: boolean;
19+
useTransform?: boolean;
20+
useTransition?: boolean;
21+
}
22+
23+
declare class IScroll {
24+
25+
constructor (element: string, options?: IScrollOptions);
26+
constructor (element: HTMLElement, options?: IScrollOptions);
27+
28+
destroy(): void;
29+
refresh(): void;
30+
scrollTo(x: number, y: number, time?: number, relative?: boolean): void;
31+
scrollToElement(element: string, time?: number): void;
32+
scrollToElement(element: HTMLElement, time?: number): void;
33+
disable(): void;
34+
enable(): void;
35+
stop(): void;
36+
37+
// Events
38+
on: (type: string, fn: () => void) => void;
39+
}

iscroll/iscroll-5-tests.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/// <reference path="iscroll-5.d.ts" />
2+
3+
var myScroll1 = new IScroll('#wrapper');
4+
var myScroll2 = new IScroll('#wrapper', { hScrollbar: false, vScrollbar: false });
5+
var myScroll3 = new IScroll('#wrapper', {
6+
snap: true,
7+
momentum: false,
8+
hScrollbar: false,
9+
vScrollbar: false
10+
});
11+
var myScroll4 = new IScroll('#wrapper', {
12+
snap: 'li',
13+
momentum: false,
14+
hScrollbar: false,
15+
vScrollbar: false
16+
});
17+
var myScroll6 = new IScroll('#wrapper', { scrollbarClass: 'myScrollbar' });
18+
var myScroll7 = new IScroll('#wrapper', { bounceEasing: 'elastic', bounceTime: 1200 });
19+
20+
var myScroll8 = new IScroll('#wrapper', { eventPassthrough: true, scrollX: true, scrollY: false, preventDefault: false });
21+
22+
myScroll1.refresh();
23+
myScroll1.scrollTo(0, 100);
24+
myScroll1.scrollTo(0, 100, 200);
25+
myScroll1.scrollTo(0, 100, 200, true);
26+
27+
myScroll1.scrollToElement('selectedElement');
28+
myScroll1.scrollToElement('selectedElement', 250);
29+
30+
myScroll1.scrollToElement(document.getElementById('selectedElement'));
31+
myScroll1.scrollToElement(document.getElementById('selectedElement'), 250);
32+
33+
myScroll2.on('scrollStart', function () { console.log('scroll started'); });
34+
35+
var myScroll9 = new IScroll(document.getElementById('wrapper'));
36+
var myScroll10 = new IScroll(document.getElementById('wrapper'), { scrollbarClass: 'myScrollbar' });

iscroll/iscroll-5.d.ts

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// Type definitions for iScroll 5
2+
// Project: http://cubiq.org/iscroll-5-ready-for-beta-test
3+
// Definitions by: Christiaan Rakowski <https://github.com/csrakowski/>
4+
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5+
6+
interface IScrollOptions {
7+
//hScroll?: boolean;
8+
//vScroll?: boolean;
9+
x?: number;
10+
y?: number;
11+
bounce?: boolean;
12+
bounceLock?: boolean;
13+
momentum?: boolean;
14+
lockDirection?: boolean;
15+
useTransform?: boolean;
16+
useTransition?: boolean;
17+
topOffset?: number;
18+
checkDOMChanges?: boolean;
19+
handleClick?: boolean;
20+
21+
// Scrollbar
22+
hScrollbar?: boolean;
23+
vScrollbar?: boolean;
24+
fixedScrollbar?: boolean;
25+
hideScrollbar?: boolean;
26+
fadeScrollbar?: boolean;
27+
scrollbarClass?: string;
28+
29+
// Zoom
30+
zoom?: boolean;
31+
zoomMin?: number;
32+
zoomMax?: number;
33+
doubleTapZoom?: number;
34+
wheelAction?: string;
35+
36+
37+
///String or boolean
38+
snap?: any;
39+
snapThreshold?: number;
40+
41+
//new in IScroll 5?
42+
43+
resizeIndicator?: boolean;
44+
mouseWheelSpeed?: number;
45+
startX?: number;
46+
startY?: number;
47+
scrollX?: boolean;
48+
scrollY?: boolean;
49+
directionLockThreshold?: number;
50+
51+
bounceTime?: number;
52+
53+
///String or function
54+
bounceEasing?: any;
55+
56+
preventDefault?: boolean;
57+
preventDefaultException?: boolean;
58+
59+
HWCompositing?: boolean;
60+
61+
freeScroll?: boolean;
62+
63+
resizePolling?: number;
64+
tap?: boolean;
65+
click?: boolean;
66+
invertWheelDirection?: boolean;
67+
68+
///Boolean or string
69+
eventPassthrough?: any;
70+
}
71+
72+
declare class IScroll {
73+
74+
constructor (element: string, options?: IScrollOptions);
75+
constructor (element: HTMLElement, options?: IScrollOptions);
76+
77+
destroy(): void;
78+
refresh(): void;
79+
scrollTo(x: number, y: number, time?: number, relative?: boolean): void;
80+
scrollToElement(element: string, time?: number): void;
81+
scrollToElement(element: HTMLElement, time?: number): void;
82+
scrollToPage(pageX: number, pageY: number, time?: number): void;
83+
disable(): void;
84+
enable(): void;
85+
stop(): void;
86+
zoom(x: number, y: number, scale: number, time?: number): void;
87+
isReady(): boolean;
88+
89+
// Events
90+
on: (type: string, fn: () => void) => void;
91+
}

0 commit comments

Comments
 (0)