Преглед на файлове

debounce messages from notes -> main window, fixes #3147

hakimel преди 3 години
родител
ревизия
2a239aedca
променени са 8 файла, в които са добавени 10 реда и са изтрити 2 реда
  1. 0 0
      dist/reveal.esm.js
  2. 0 0
      dist/reveal.esm.js.map
  3. 0 0
      dist/reveal.js
  4. 0 0
      dist/reveal.js.map
  5. 1 1
      js/controllers/location.js
  6. 0 0
      plugin/notes/notes.esm.js
  7. 0 0
      plugin/notes/notes.js
  8. 9 1
      plugin/notes/speaker-view.html

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/reveal.esm.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/reveal.esm.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/reveal.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/reveal.js.map


+ 1 - 1
js/controllers/location.js

@@ -5,7 +5,7 @@ export default class Location {
 
 	// The minimum number of milliseconds that must pass between
 	// calls to history.replaceState
-	MAX_REPLACE_STATE_FREQUENCY = 250
+	MAX_REPLACE_STATE_FREQUENCY = 1000
 
 	constructor( Reveal ) {
 

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
plugin/notes/notes.esm.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
plugin/notes/notes.js


+ 9 - 1
plugin/notes/speaker-view.html

@@ -403,13 +403,21 @@
 						}
 						else if( /slidechanged|fragmentshown|fragmenthidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {
 
-							window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ]} ), '*' );
+							dispatchStateToMainWindow( data.state );
 
 						}
 					}
 
 				} );
 
+				/**
+				 * Updates the presentation in the main window to match the state
+				 * of the presentation in the notes window.
+				 */
+				const dispatchStateToMainWindow = debounce(( state ) => {
+					window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' );
+				}, 500);
+
 				/**
 				 * Asynchronously calls the Reveal.js API of the main frame.
 				 */

Някои файлове не бяха показани, защото твърде много файлове са промени