1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- (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,
- nextindexv,
- slideElement = event.currentSlide,
- notesElement = slideElement.querySelector( 'aside.notes' );
- if( slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION' ) {
- nextindexh = event.indexh;
- nextindexv = event.indexv + 1;
- } else {
- nextindexh = event.indexh + 1;
- nextindexv = 0;
- }
- var messageData = {
- notes : '',
- indexh : event.indexh,
- indexv : event.indexv,
- nextindexh : nextindexh,
- nextindexv : nextindexv,
- socketId : socketId,
- markdown : false
- };
- // Look for notes defined in a slide attribute
- if( slideElement.hasAttribute( 'data-notes' ) ) {
- messageData.notes = slideElement.getAttribute( 'data-notes' );
- }
- // Look for notes defined in an aside element
- if( notesElement ) {
- messageData.notes = notesElement.innerHTML;
- messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string';
- }
- socket.emit( 'slidechanged', messageData );
- } );
- }());
|