infra/plugin/speakernotes/client.js
Josh Nichols 77d338f93a Open notes in new window, instead of printing to console
It can be tedious to load up the speaker notes, with the whole having to
open the javascript console, and clicking on the link.

This simplifies it by automatically opening the notes in a new window.
Most browsers will warn that it's trying to open a pop-up, but it's easy
enough to allow it.
2012-09-08 21:53:43 -04:00

35 lines
1,002 B
JavaScript

(function() {
// don't emit events from inside the previews themselves
if ( window.location.search.match( /receiver/gi ) ) { return; }
var socket = io.connect(window.location.origin);
var socketId = Math.random().toString().slice(2);
window.open(window.location.origin + '/notes/' + socketId, '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);
} );
}());