server notes sync slide changes both ways, fixes #1425

edit
Hakim El Hattab 2015-11-09 16:23:57 +01:00
parent 4be55f860e
commit 215617740d
3 changed files with 16 additions and 0 deletions

View File

@ -45,6 +45,11 @@
post(); post();
} ); } );
// When the state changes from inside of the speaker view
socket.on( 'statechanged-speaker', function( data ) {
Reveal.setState( data.state );
} );
// Monitor events that trigger a change in state // Monitor events that trigger a change in state
Reveal.addEventListener( 'slidechanged', post ); Reveal.addEventListener( 'slidechanged', post );
Reveal.addEventListener( 'fragmentshown', post ); Reveal.addEventListener( 'fragmentshown', post );

View File

@ -26,6 +26,10 @@ io.on( 'connection', function( socket ) {
socket.broadcast.emit( 'statechanged', data ); socket.broadcast.emit( 'statechanged', data );
}); });
socket.on( 'statechanged-speaker', function( data ) {
socket.broadcast.emit( 'statechanged-speaker', data );
});
}); });
[ 'css', 'js', 'images', 'plugin', 'lib' ].forEach( function( dir ) { [ 'css', 'js', 'images', 'plugin', 'lib' ].forEach( function( dir ) {

View File

@ -221,6 +221,13 @@
} }
} }
// Messages sent by reveal.js inside of the current slide preview
if( data && data.namespace === 'reveal' ) {
if( /slidechanged|fragmentshown|fragmenthidden|overviewshown|overviewhidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {
socket.emit( 'statechanged-speaker', { state: data.state } );
}
}
} ); } );
/** /**