Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title>RxJS Playground</title>
- <style>
- body {
- padding-top: 50px;
- }
- .cube {
- width: 200px;
- height: 200px;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <div class="cube"></div>
- <script src="scripts/rx.all.js"></script>
- <script>
- (function bootstrap() {
- // var state = new Rx.BehaviorSubject({ event: 'mousedown', progress: 0 });
- // var state = new Rx.BehaviorSubject({ event: 'mousedown', progress: 0 });
- var i = 0;
- var mousePushed = new Rx.BehaviorSubject(true);
- var state = new Rx.ReplaySubject(2);
- // var progress = new Rx.BehaviorSubject(0);
- var stream = Rx.Observable.merge(
- Rx.Observable.fromEvent(document, 'mousedown'),
- Rx.Observable.fromEvent(document, 'mouseup')
- )
- .flatMap(function (event) {
- return Rx.Observable.return(event.type === 'mousedown' ? true : false);
- })
- .debounce(50)
- .subscribe(mousePushed);
- var loop = Rx.Observable.interval(1000)
- .combineLatest(mousePushed, function (int, mouse) {
- return { a: int, b: mouse };
- })
- .subscribe(state);
- state
- .scan((d) => { console.log(Rx.Observable.fromArray(d).flatMap((d) => d)) })
- .subscribe((e) => { /*console.log('------'); console.log(e);*/ });
- // var username = new Rx.BehaviorSubject('username');
- // var password = new Rx.BehaviorSubject('password');
- // // Bind these subjects to DOM, e.g., using RxJS-jQuery
- // btn.onClick(function () { // On click handler for button
- // username.combineLatest(password, function(uname, pword) {
- // return {
- // username: uname,
- // password: pword
- // };
- // }).subscribe(function (creds) {
- // // Perform ajax queries using creds.username and creds.password
- // });
- // });
- // var source = new Rx.BehaviorSubject();
- // source
- // .merge(
- // Rx.Observable.fromEvent(document, 'mousedown'),
- // Rx.Observable.fromEvent(document, 'mouseup')
- // )
- // // .expand(function (d) {
- // // return Rx.Observable.return(d);
- // // })
- // .flatMap(function (event) {
- // return Rx.Observable.return(event.type);
- // })
- // .debounce(1000)
- // var repeater = Rx.Observable.repeat()
- // .expand(function (d) { return Rx.Observable.return(d); })
- // .throttle(1000)
- // .takeUntil(mouseUp);
- // subscribe and do something with the received data
- // source.subscribe(function (d) {
- // console.log(d);
- // });
- // setInterval(function () {
- // console.log('inside timeout');
- // source.last(function (x, idx, obs) { console.log(arguments); return x; });
- // }, 2000);
- })();
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement