From c61403d57ad4603a45117d893e99877d58530604 Mon Sep 17 00:00:00 2001 From: Will Soares Date: Thu, 25 Apr 2019 07:41:50 -0300 Subject: [PATCH] Trigger event on substep enter (#730) --- js/impress.js | 12 +++++++++--- src/plugins/autoplay/autoplay.js | 2 +- src/plugins/substep/substep.js | 10 ++++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/js/impress.js b/js/impress.js index 47c8f9d..3f88832 100644 --- a/js/impress.js +++ b/js/impress.js @@ -1331,7 +1331,7 @@ reloadTimeout( event ); }, false ); - document.addEventListener( "impress:substep:stepleaveaborted", function( event ) { + document.addEventListener( "impress:substep:enter", function( event ) { reloadTimeout( event ); }, false ); @@ -3957,10 +3957,13 @@ if ( el ) { // Send a message to others, that we aborted a stepleave event. - // Autoplay will reload itself from this, as there won't be a stepenter event now. triggerEvent( step, "impress:substep:stepleaveaborted", { reason: "next", substep: el } ); + // Autoplay uses this for reloading itself + triggerEvent( step, "impress:substep:enter", + { reason: "next", substep: el } ); + // Returning false aborts the stepleave event return false; } @@ -3970,6 +3973,10 @@ if ( el ) { triggerEvent( step, "impress:substep:stepleaveaborted", { reason: "prev", substep: el } ); + + triggerEvent( step, "impress:substep:leave", + { reason: "prev", substep: el } ); + return false; } } @@ -4032,7 +4039,6 @@ } )( document, window ); - /** * Support for swipe and tap on touch devices * diff --git a/src/plugins/autoplay/autoplay.js b/src/plugins/autoplay/autoplay.js index d45b070..1d4eadb 100644 --- a/src/plugins/autoplay/autoplay.js +++ b/src/plugins/autoplay/autoplay.js @@ -75,7 +75,7 @@ reloadTimeout( event ); }, false ); - document.addEventListener( "impress:substep:stepleaveaborted", function( event ) { + document.addEventListener( "impress:substep:enter", function( event ) { reloadTimeout( event ); }, false ); diff --git a/src/plugins/substep/substep.js b/src/plugins/substep/substep.js index d5a6465..04370ad 100644 --- a/src/plugins/substep/substep.js +++ b/src/plugins/substep/substep.js @@ -34,10 +34,13 @@ if ( el ) { // Send a message to others, that we aborted a stepleave event. - // Autoplay will reload itself from this, as there won't be a stepenter event now. triggerEvent( step, "impress:substep:stepleaveaborted", { reason: "next", substep: el } ); + // Autoplay uses this for reloading itself + triggerEvent( step, "impress:substep:enter", + { reason: "next", substep: el } ); + // Returning false aborts the stepleave event return false; } @@ -47,6 +50,10 @@ if ( el ) { triggerEvent( step, "impress:substep:stepleaveaborted", { reason: "prev", substep: el } ); + + triggerEvent( step, "impress:substep:leave", + { reason: "prev", substep: el } ); + return false; } } @@ -108,4 +115,3 @@ }, false ); } )( document, window ); -