Advertisement
Guest User

Untitled

a guest
Jul 4th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>RxJS Playground</title>
  5. <style>
  6. body {
  7. padding-top: 50px;
  8. }
  9.  
  10. .cube {
  11. width: 200px;
  12. height: 200px;
  13. background-color: red;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="cube"></div>
  19. <script src="scripts/rx.all.js"></script>
  20. <script>
  21. (function bootstrap() {
  22. // var state = new Rx.BehaviorSubject({ event: 'mousedown', progress: 0 });
  23. // var state = new Rx.BehaviorSubject({ event: 'mousedown', progress: 0 });
  24. var i = 0;
  25. var mousePushed = new Rx.BehaviorSubject(true);
  26. var state = new Rx.ReplaySubject(2);
  27. // var progress = new Rx.BehaviorSubject(0);
  28. var stream = Rx.Observable.merge(
  29. Rx.Observable.fromEvent(document, 'mousedown'),
  30. Rx.Observable.fromEvent(document, 'mouseup')
  31. )
  32. .flatMap(function (event) {
  33. return Rx.Observable.return(event.type === 'mousedown' ? true : false);
  34. })
  35. .debounce(50)
  36. .subscribe(mousePushed);
  37.  
  38. var loop = Rx.Observable.interval(1000)
  39. .combineLatest(mousePushed, function (int, mouse) {
  40. return { a: int, b: mouse };
  41. })
  42. .subscribe(state);
  43.  
  44. state
  45. .scan((d) => { console.log(Rx.Observable.fromArray(d).flatMap((d) => d)) })
  46. .subscribe((e) => { /*console.log('------'); console.log(e);*/ });
  47.  
  48.  
  49. // var username = new Rx.BehaviorSubject('username');
  50. // var password = new Rx.BehaviorSubject('password');
  51. // // Bind these subjects to DOM, e.g., using RxJS-jQuery
  52. // btn.onClick(function () { // On click handler for button
  53. // username.combineLatest(password, function(uname, pword) {
  54. // return {
  55. // username: uname,
  56. // password: pword
  57. // };
  58. // }).subscribe(function (creds) {
  59. // // Perform ajax queries using creds.username and creds.password
  60. // });
  61. // });
  62.  
  63. // var source = new Rx.BehaviorSubject();
  64. // source
  65. // .merge(
  66. // Rx.Observable.fromEvent(document, 'mousedown'),
  67. // Rx.Observable.fromEvent(document, 'mouseup')
  68. // )
  69. // // .expand(function (d) {
  70. // // return Rx.Observable.return(d);
  71. // // })
  72. // .flatMap(function (event) {
  73. // return Rx.Observable.return(event.type);
  74. // })
  75. // .debounce(1000)
  76.  
  77. // var repeater = Rx.Observable.repeat()
  78.  
  79. // .expand(function (d) { return Rx.Observable.return(d); })
  80. // .throttle(1000)
  81. // .takeUntil(mouseUp);
  82.  
  83. // subscribe and do something with the received data
  84. // source.subscribe(function (d) {
  85. // console.log(d);
  86. // });
  87.  
  88. // setInterval(function () {
  89. // console.log('inside timeout');
  90. // source.last(function (x, idx, obs) { console.log(arguments); return x; });
  91. // }, 2000);
  92.  
  93. })();
  94. </script>
  95. </body>
  96. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement