From 0e8640094301889e5c848dcf92084678778f0a19 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Wed, 4 Jul 2012 14:18:09 -0400 Subject: conditional loading of socket.io and the notes client js based on window host --- js/reveal.slidenotes.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 js/reveal.slidenotes.js (limited to 'js') diff --git a/js/reveal.slidenotes.js b/js/reveal.slidenotes.js new file mode 100644 index 0000000..b686ec9 --- /dev/null +++ b/js/reveal.slidenotes.js @@ -0,0 +1,35 @@ +(function() { + // don't emit events from inside the previews themselves + var qs = window.location.href.split('?'); + if (qs.length > 1 && qs[1].match('receiver')) { return; } + + var socket = io.connect(window.location.origin); + var socketId = Math.random().toString().slice(2); + console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId); + + 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 notes = slideElement.querySelector('aside.notes'); + var slideData = { + notes : notes ? notes.innerHTML : '', + indexh : event.indexh, + indexv : event.indexv, + nextindexh : nextindexh, + nextindexv : nextindexv, + socketId : socketId + }; + + socket.emit('slidechanged', slideData); + } ); +}()); -- cgit v1.2.3