This repository was archived by the owner on Apr 20, 2018. It is now read-only.
File tree Expand file tree Collapse file tree 15 files changed +271
-26
lines changed Expand file tree Collapse file tree 15 files changed +271
-26
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,8 @@ <h1>RxJS for jQuery Bindings AutoComplete example</h1>
31
31
< script src ="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js "> </ script >
32
32
< script src ="http://ajax.aspnetcdn.com/ajax/bootstrap/2.3.1/bootstrap.min.js "> </ script >
33
33
< script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.js "> </ script >
34
- < script src ="http//cdn.jsdelivr.net/rxjs/2.1.11/rx.time.js "> </ script >
34
+ < script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.binding.js "> </ script >
35
+ < script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.time.js "> </ script >
35
36
< script src ="../../rx.jquery.js "> </ script >
36
37
< script src ="Autocomplete.js "> </ script >
37
38
</ body >
Original file line number Diff line number Diff line change 1
- ( function ( $ ) {
1
+ /// <reference path="../../ts/rx.jquery.d.ts" />
2
+ jQuery ( function ( $ ) {
2
3
function searchWikipedia ( term ) {
3
4
return $ . ajaxAsObservable ( {
4
5
url : 'http://en.wikipedia.org/w/api.php' ,
30
31
} ) . switchLatest ( ) ;
31
32
32
33
var subscription = searcher . subscribe (
33
- function ( value ) {
34
+ function ( value ) {
34
35
var results = value . data [ 1 ] ;
35
36
36
37
ul . empty ( ) ;
37
38
$ . each ( results , function ( _ , result ) {
38
39
$ ( '<li>' , { text : result , } ) . appendTo ( ul ) ;
39
40
} ) ;
40
- } ,
41
+ } ,
41
42
function ( error ) {
42
43
ul . empty ( ) ;
43
44
$ ( '<li>' , { text : 'Error: ' + error . errorThrown } ) . appendTo ( ul ) ;
44
45
}
45
46
) ;
46
47
47
- } ) ;
48
- } ) ( jQuery ) ;
48
+ } ) ;
49
+ } )
Original file line number Diff line number Diff line change
1
+ /// <reference path="../../ts/rx.jquery.d.ts" />
2
+
3
+ jQuery ( function ( $ : JQueryStatic ) {
4
+ function searchWikipedia ( term ) {
5
+ return $ . ajaxAsObservable ( {
6
+ url : 'http://en.wikipedia.org/w/api.php' ,
7
+ dataType : 'jsonp' ,
8
+ data : {
9
+ action : 'opensearch' ,
10
+ format : 'json' ,
11
+ search : encodeURI ( term )
12
+ }
13
+ } ) ;
14
+ }
15
+
16
+ $ ( function ( ) {
17
+ var input = $ ( '#textInput' ) ,
18
+ ul = $ ( '#results' ) ;
19
+
20
+ var keyup = input . keyupAsObservable ( )
21
+ . map ( function ( ev ) {
22
+ return ev . target . value ;
23
+ } )
24
+ . filter ( function ( text ) {
25
+ return text . length > 2 ;
26
+ } )
27
+ . throttle ( 500 )
28
+ . distinctUntilChanged ( )
29
+
30
+ var searcher = keyup . map ( function ( text ) {
31
+ return searchWikipedia ( text ) ;
32
+ } ) . switchLatest ( ) ;
33
+
34
+ var subscription = searcher . subscribe (
35
+ function ( value ) {
36
+ var results = value . data [ 1 ] ;
37
+
38
+ ul . empty ( ) ;
39
+ console . log ( "results:" , results ) ;
40
+ $ . each ( results , function ( _ , result ) {
41
+ $ ( '<li>' , { text : result , } ) . appendTo ( ul ) ;
42
+ } ) ;
43
+ } ,
44
+ function ( error ) {
45
+ ul . empty ( ) ;
46
+ $ ( '<li>' , { text : 'Error: ' + error . errorThrown } ) . appendTo ( ul ) ;
47
+ }
48
+ ) ;
49
+
50
+ } ) ;
51
+ } ) ;
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ <h1>RxJS for jQuery Bindings Canvas Paint Example</h1>
25
25
< script src ="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js "> </ script >
26
26
< script src ="http://ajax.aspnetcdn.com/ajax/bootstrap/2.3.1/bootstrap.min.js "> </ script >
27
27
< script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.js "> </ script >
28
+ < script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.binding.js "> </ script >
28
29
< script src ="../../rx.jquery.js "> </ script >
29
30
< script src ="canvaspaint.js "> </ script >
30
31
</ body >
Original file line number Diff line number Diff line change
1
+ /// <reference path="../../ts/rx.jquery.d.ts" />
1
2
function getOffset ( event ) {
2
- return {
3
+ return {
3
4
offsetX : event . offsetX === undefined ? event . layerX : event . offsetX ,
4
5
offsetY : event . offsetY === undefined ? event . layerY : event . offsetY
5
6
} ;
@@ -8,7 +9,8 @@ function getOffset(event) {
8
9
$ ( function ( ) {
9
10
var canvas = document . getElementById ( 'tutorial' ) ;
10
11
if ( canvas . getContext ) {
11
- var ctx = canvas . getContext ( '2d' ) ;
12
+ var _canvas = canvas ;
13
+ var ctx = _canvas . getContext ( '2d' ) ;
12
14
ctx . beginPath ( ) ;
13
15
14
16
var cv = $ ( '#tutorial' ) ;
Original file line number Diff line number Diff line change
1
+ /// <reference path="../../ts/rx.jquery.d.ts" />
2
+
3
+ function getOffset ( event ) {
4
+ return {
5
+ offsetX : event . offsetX === undefined ? event . layerX : event . offsetX ,
6
+ offsetY : event . offsetY === undefined ? event . layerY : event . offsetY
7
+ } ;
8
+ }
9
+
10
+ $ ( function ( ) {
11
+ var canvas = document . getElementById ( 'tutorial' ) ;
12
+ if ( ( < any > canvas ) . getContext ) {
13
+ var _canvas : HTMLCanvasElement = < HTMLCanvasElement > canvas ;
14
+ var ctx = _canvas . getContext ( '2d' ) ;
15
+ ctx . beginPath ( ) ;
16
+
17
+ var cv = $ ( '#tutorial' ) ;
18
+
19
+ // Calculate mouse deltas
20
+ var mouseMoves = cv . onAsObservable ( 'mousemove' ) ;
21
+ var mouseDiffs = mouseMoves . bufferWithCount ( 2 , 1 ) . select ( function ( x ) {
22
+ return { first : getOffset ( x [ 0 ] ) , second : getOffset ( x [ 1 ] ) } ;
23
+ } ) ;
24
+
25
+ // Merge mouse down and mouse up
26
+ var mouseButton = cv . onAsObservable ( 'mousedown' ) . select ( function ( x ) { return true ; } )
27
+ . merge ( cv . onAsObservable ( 'mouseup' ) . select ( function ( x ) { return false ; } ) )
28
+
29
+ // Determine whether to paint or lift
30
+ var paint = mouseButton . select ( function ( down ) { return down ? mouseDiffs : mouseDiffs . take ( 0 ) } ) . switchLatest ( ) ;
31
+
32
+ // Paint the results
33
+ var subscription = paint . subscribe ( function ( x ) {
34
+ ctx . moveTo ( x . first . offsetX , x . first . offsetY ) ;
35
+ ctx . lineTo ( x . second . offsetX , x . second . offsetY ) ;
36
+ ctx . stroke ( ) ;
37
+ } ) ;
38
+ }
39
+ } ) ;
Original file line number Diff line number Diff line change 1
- $ ( function ( ) {
2
-
1
+ /// <reference path="../../ts/rx.jquery.d.ts" />
2
+ jQuery ( function ( $ ) {
3
3
var dragTarget = $ ( '#dragTarget' ) ;
4
4
5
5
// Get the three major events
@@ -8,8 +8,8 @@ $(function () {
8
8
var mousedown = dragTarget . bindAsObservable ( 'mousedown' ) . publish ( ) . refCount ( ) . map ( function ( event ) {
9
9
// calculate offsets when mouse down
10
10
event . preventDefault ( ) ;
11
- return {
12
- left : event . clientX - dragTarget . offset ( ) . left ,
11
+ return {
12
+ left : event . clientX - dragTarget . offset ( ) . left ,
13
13
top : event . clientY - dragTarget . offset ( ) . top ,
14
14
} ;
15
15
} ) ;
Original file line number Diff line number Diff line change
1
+ /// <reference path="../../ts/rx.jquery.d.ts" />
2
+
3
+ jQuery ( function ( $ : JQueryStatic ) {
4
+ var dragTarget = $ ( '#dragTarget' ) ;
5
+
6
+ // Get the three major events
7
+ var mouseup = dragTarget . bindAsObservable ( 'mouseup' ) . publish ( ) . refCount ( ) ;
8
+ var mousemove = $ ( document ) . bindAsObservable ( 'mousemove' ) . publish ( ) . refCount ( ) ;
9
+ var mousedown = dragTarget . bindAsObservable ( 'mousedown' ) . publish ( ) . refCount ( ) . map ( function ( event : JQueryMouseEventObject ) {
10
+ // calculate offsets when mouse down
11
+ event . preventDefault ( ) ;
12
+ return {
13
+ left : event . clientX - dragTarget . offset ( ) . left ,
14
+ top : event . clientY - dragTarget . offset ( ) . top ,
15
+ } ;
16
+ } ) ;
17
+
18
+ // Combine mouse down with mouse move until mouse up
19
+ var mousedrag = mousedown . selectMany ( function ( imageOffset ) {
20
+ return mousemove . map ( function ( pos : JQueryMouseEventObject ) {
21
+ // calculate offsets from mouse down to mouse moves
22
+ return {
23
+ left : pos . clientX - imageOffset . left , top : pos . clientY - imageOffset . top
24
+ } ;
25
+ } ) . takeUntil ( mouseup ) ;
26
+ } ) ;
27
+
28
+ var subscription = mousedrag . subscribe ( function ( pos ) {
29
+ // Update position
30
+ $ ( '#dragTarget' ) . css ( { top : pos . top , left : pos . left } ) ;
31
+ } ) ;
32
+ } ) ;
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ <h1 id="result"></h1>
27
27
< script src ="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js "> </ script >
28
28
< script src ="http://ajax.aspnetcdn.com/ajax/bootstrap/2.3.1/bootstrap.min.js "> </ script >
29
29
< script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.js "> </ script >
30
+ < script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.binding.js "> </ script >
30
31
< script src ="http://cdn.jsdelivr.net/rxjs/2.1.11/rx.aggregates.js "> </ script >
31
32
< script src ="../../rx.jquery.js "> </ script >
32
33
< script src ="konamicode.js "> </ script >
Original file line number Diff line number Diff line change 1
- ( function ( $ ) {
2
-
1
+ /// <reference path="../../ts/rx.jquery.d.ts" />
2
+ jQuery ( function ( $ ) {
3
3
function identity ( x ) { return x ; }
4
4
5
5
$ ( function ( ) {
9
9
10
10
$ ( document ) . keyupAsObservable ( )
11
11
. select ( function ( e ) { return e . keyCode ; } )
12
- . windowWithCount ( 10 )
12
+ . windowWithCount ( 10 , 1 )
13
13
. selectMany ( function ( x ) { return x . sequenceEqual ( konami ) ; } )
14
14
. where ( identity )
15
15
. subscribe ( function ( ) {
16
- result . html ( 'KONAMI!' ) . fadeOut ( 2000 ) ;
16
+ result . html ( 'KONAMI!' )
17
+ . fadeOutAsObservable ( 2000 )
18
+ . subscribe ( function ( ) {
19
+ result . html ( '' ) . fadeIn ( 0 ) ;
20
+ } ) ;
17
21
} ) ;
18
22
} ) ;
19
- } ) ( jQuery ) ;
23
+ } ) ;
You can’t perform that action at this time.
0 commit comments