|
@@ -1,12 +1,13 @@
|
|
|
(function() {
|
|
|
// don't emit events from inside the previews themselves
|
|
|
- if ( window.location.search.match( /receiver/gi ) ) { return; }
|
|
|
+ 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);
|
|
|
+ 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 ) {
|
|
@@ -23,16 +24,17 @@
|
|
|
fragment : 'previous',
|
|
|
socketId : socketId
|
|
|
};
|
|
|
- socket.emit('fragmentchanged', fragmentData);
|
|
|
+ socket.emit( 'fragmentchanged', fragmentData );
|
|
|
} );
|
|
|
|
|
|
// Fires when slide is changed
|
|
|
Reveal.addEventListener( 'slidechanged', function( event ) {
|
|
|
- var nextindexh;
|
|
|
- var nextindexv;
|
|
|
- var slideElement = event.currentSlide;
|
|
|
+ var nextindexh,
|
|
|
+ nextindexv,
|
|
|
+ slideElement = event.currentSlide,
|
|
|
+ notesElement = slideElement.querySelector( 'aside.notes' );
|
|
|
|
|
|
- if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') {
|
|
|
+ if( slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION' ) {
|
|
|
nextindexh = event.indexh;
|
|
|
nextindexv = event.indexv + 1;
|
|
|
} else {
|
|
@@ -40,18 +42,27 @@
|
|
|
nextindexv = 0;
|
|
|
}
|
|
|
|
|
|
- var notes = slideElement.querySelector('aside.notes');
|
|
|
- var slideData = {
|
|
|
- notes : notes ? notes.innerHTML : '',
|
|
|
+ var messageData = {
|
|
|
+ notes : '',
|
|
|
indexh : event.indexh,
|
|
|
indexv : event.indexv,
|
|
|
nextindexh : nextindexh,
|
|
|
nextindexv : nextindexv,
|
|
|
socketId : socketId,
|
|
|
- markdown : notes ? typeof notes.getAttribute('data-markdown') === 'string' : false
|
|
|
-
|
|
|
+ markdown : false
|
|
|
};
|
|
|
|
|
|
- socket.emit('slidechanged', slideData);
|
|
|
+ // 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 );
|
|
|
} );
|
|
|
}());
|