123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- (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);
-
- console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId);
- window.open(window.location.origin + '/notes/' + socketId, 'notes-' + socketId);
- // Fires when a fragment is shown
- Reveal.addEventListener( 'fragmentshown', function( event ) {
- var fragmentData = {
- fragment : 'next',
- socketId : socketId
- };
- socket.emit('fragmentchanged', fragmentData);
- } );
- // Fires when a fragment is hidden
- Reveal.addEventListener( 'fragmenthidden', function( event ) {
- var fragmentData = {
- fragment : 'previous',
- socketId : socketId
- };
- socket.emit('fragmentchanged', fragmentData);
- } );
- // Fires when slide is changed
- 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,
- markdown : notes ? typeof notes.getAttribute('data-markdown') === 'string' : false
- };
- socket.emit('slidechanged', slideData);
- } );
- }());
|