diff options
author | Hakim El Hattab | 2013-03-08 18:49:28 -0500 |
---|---|---|
committer | Hakim El Hattab | 2013-03-08 18:49:28 -0500 |
commit | 2bd5e8b65b5e015c7c7ceffeff845e41811007ed (patch) | |
tree | 93cd402c11465003c2b669f0ac2a8162337e649f /plugin/multiplex/master.js | |
parent | 16f9749db5f1e3294b574fd0acddf52280c4bb1d (diff) | |
parent | 4963f15ab31406cf1ee53dc4d116eb8f630f2b1a (diff) |
merge in multiplex (#98)
Diffstat (limited to 'plugin/multiplex/master.js')
-rw-r--r-- | plugin/multiplex/master.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/plugin/multiplex/master.js b/plugin/multiplex/master.js new file mode 100644 index 0000000..5c18390 --- /dev/null +++ b/plugin/multiplex/master.js @@ -0,0 +1,32 @@ +(function() { + // don't emit events from inside the previews themselves + if ( window.location.search.match( /receiver/gi ) ) { return; } + var multiplex = window.globals.multiplex; + + var socket = io.connect(multiplex.url); + + Reveal.addEventListener( 'slidechanged', function( event ) { + var nextindexh; + var nextindexv; + var slideElement = event.currentSlide; + + if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') { + nextindexh = event.indexh; + nextindexv = event.indexv + 1; + } else { + nextindexh = event.indexh + 1; + nextindexv = 0; + } + + var slideData = { + indexh : event.indexh, + indexv : event.indexv, + nextindexh : nextindexh, + nextindexv : nextindexv, + secret: multiplex.secret, + socketId : multiplex.id + }; + + if( typeof event.origin === 'undefined' && event.origin !== 'remote' ) socket.emit('slidechanged', slideData); + } ); +}()); |