@@ -716,10 +716,23 @@ const inject = {
716716 }
717717 }
718718
719- $el . on (
720- "pat-ajax-success.pat-inject" ,
721- this . _onInjectSuccess . bind ( this , $el , cfgs )
722- ) ;
719+ $el . on ( "pat-ajax-success.pat-inject" , async ( e ) => {
720+ this . _onInjectSuccess ( $el , cfgs , e ) ;
721+
722+ // Wait for the next tick to ensure that the close-panel listener
723+ // is called before this one, even for non-async local injects.
724+ await utils . timeout ( 1 ) ;
725+ // Remove the close-panel event listener.
726+ events . remove_event_listener ( $el [ 0 ] , "pat-inject--close-panel" ) ;
727+ // Only close the panel if a close-panel event was catched previously.
728+ if ( do_close_panel ) {
729+ do_close_panel = false ;
730+ // Re-trigger close-panel event if it was caught while injection was in progress.
731+ $el [ 0 ] . dispatchEvent (
732+ new Event ( "close-panel" , { bubbles : true , cancelable : true } )
733+ ) ;
734+ }
735+ } ) ;
723736 $el . on ( "pat-ajax-error.pat-inject" , this . _onInjectError . bind ( this , $el , cfgs ) ) ;
724737 $el . on ( "pat-ajax-success.pat-inject pat-ajax-error.pat-inject" , ( ) =>
725738 $el . removeData ( "pat-inject-triggered" )
@@ -737,21 +750,6 @@ const inject = {
737750 do_close_panel = true ;
738751 }
739752 ) ;
740- $el . on ( "pat-ajax-success.pat-inject" , async ( ) => {
741- // Wait for the next tick to ensure that the close-panel listener
742- // is called before this one, even for non-async local injects.
743- await utils . timeout ( 1 ) ;
744- // Remove the close-panel event listener.
745- events . remove_event_listener ( $el [ 0 ] , "pat-inject--close-panel" ) ;
746- // Only close the panel if a close-panel event was catched previously.
747- if ( do_close_panel ) {
748- do_close_panel = false ;
749- // Re-trigger close-panel event if it was caught while injection was in progress.
750- $el [ 0 ] . dispatchEvent (
751- new Event ( "close-panel" , { bubbles : true , cancelable : true } )
752- ) ;
753- }
754- } ) ;
755753
756754 if ( cfgs [ 0 ] . url . length ) {
757755 ajax . request ( $el , {
0 commit comments