Don't suppress the whole event, just add context metadata
authorDavid Banham <david.banham@gmail.com>
Mon, 6 Aug 2012 01:20:08 +0000 (11:20 +1000)
committerDavid Banham <david.banham@gmail.com>
Mon, 6 Aug 2012 01:20:08 +0000 (11:20 +1000)
js/reveal.js
plugin/multiplex/client.js
plugin/multiplex/master.js

index 7d72652004f973cd83416d905c1a7d0c399874c5..d8209439afbbad576e3dc1e4a7d74d52c65985b2 100644 (file)
@@ -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() {
index 5e6b5562d07d81e7708e2bd3f57f0163036ca652..6fc0d4dbadb1f75c29f20a1d60ef62b49dcdafa9 100644 (file)
@@ -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');
        });
 }());
index cf629d9612b0f3401fc762d38651caf05a837c1a..3704fa46610f0db3cb70947c7d9717bffbc709a6 100644 (file)
@@ -27,6 +27,6 @@
                        socketId : multiplex.id
                };
 
-               socket.emit('slidechanged', slideData);
+               if( event.origin !== 'remote') socket.emit('slidechanged', slideData);
        } );
 }());