Procházet zdrojové kódy

Don't suppress the whole event, just add context metadata

David Banham před 12 roky
rodič
revize
a2e021ccdb
3 změnil soubory, kde provedl 12 přidání a 13 odebrání
  1. 10 11
      js/reveal.js
  2. 1 1
      plugin/multiplex/client.js
  3. 1 1
      plugin/multiplex/master.js

+ 10 - 11
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() {

+ 1 - 1
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');
 	});
 }());

+ 1 - 1
plugin/multiplex/master.js

@@ -27,6 +27,6 @@
 			socketId : multiplex.id
 		};
 
-		socket.emit('slidechanged', slideData);
+		if( event.origin !== 'remote') socket.emit('slidechanged', slideData);
 	} );
 }());