From a2e021ccdb9d6acfc9cfa92d334430fbc1d1366a Mon Sep 17 00:00:00 2001 From: David Banham Date: Mon, 6 Aug 2012 11:20:08 +1000 Subject: [PATCH] Don't suppress the whole event, just add context metadata --- js/reveal.js | 21 ++++++++++----------- plugin/multiplex/client.js | 2 +- plugin/multiplex/master.js | 2 +- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index 7d726520..d8209439 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -653,7 +653,7 @@ var Reveal = (function(){ * Updates the visual slides to represent the currently * set indices. */ - function slide( h, v, fireEvent ) { + function slide( h, v, origin ) { // Remember where we were at before previousSlide = currentSlide; @@ -720,14 +720,13 @@ var Reveal = (function(){ // Dispatch an event if the slide changed if( indexh !== indexhBefore || indexv !== indexvBefore ) { - if( fireEvent !== false ) { - dispatchEvent( 'slidechanged', { - 'indexh': indexh, - 'indexv': indexv, - 'previousSlide': previousSlide, - 'currentSlide': currentSlide - } ); - } + dispatchEvent( 'slidechanged', { + 'origin': origin, + 'indexh': indexh, + 'indexv': indexv, + 'previousSlide': previousSlide, + 'currentSlide': currentSlide + } ); } else { // Ensure that the previous slide is never the same as the current @@ -903,8 +902,8 @@ var Reveal = (function(){ * @param {Number} h The horizontal index of the slide to show * @param {Number} v The vertical index of the slide to show */ - function navigateTo( h, v, fireEvent ) { - slide( h, v, fireEvent ); + function navigateTo( h, v, origin ) { + slide( h, v, origin ); } function navigateLeft() { diff --git a/plugin/multiplex/client.js b/plugin/multiplex/client.js index 5e6b5562..6fc0d4db 100644 --- a/plugin/multiplex/client.js +++ b/plugin/multiplex/client.js @@ -7,6 +7,6 @@ if (data.socketId !== socketId) { return; } if( window.location.host === 'localhost:1947' ) return; - Reveal.navigateTo(data.indexh, data.indexv, false); + Reveal.navigateTo(data.indexh, data.indexv, 'remote'); }); }()); diff --git a/plugin/multiplex/master.js b/plugin/multiplex/master.js index cf629d96..3704fa46 100644 --- a/plugin/multiplex/master.js +++ b/plugin/multiplex/master.js @@ -27,6 +27,6 @@ socketId : multiplex.id }; - socket.emit('slidechanged', slideData); + if( event.origin !== 'remote') socket.emit('slidechanged', slideData); } ); }());