X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.rcfilters%2Fmw.rcfilters.init.js;h=da11973a26a225b4d4bd0fba3dc0ea08ef95927e;hp=0819351fd30e2e77c198832e8caecc6507461d18;hb=be08b7aa186d15c341c8e59d49d6b80a11369c87;hpb=b6b8526a04c072ed8a4b283f2c4ece8f4edda861 diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js index 0819351fd3..da11973a26 100644 --- a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js +++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js @@ -29,9 +29,7 @@ savedLinksListWidget = new mw.rcfilters.ui.SavedLinksListWidget( controller, savedQueriesModel, { $overlay: $overlay } ), - currentPage = mw.config.get( 'wgCanonicalNamespace' ) + - ':' + - mw.config.get( 'wgCanonicalSpecialPageName' ); + specialPage = mw.config.get( 'wgCanonicalSpecialPageName' ); // TODO: The changesListWrapperWidget should be able to initialize // after the model is ready. @@ -39,6 +37,11 @@ new mw.rcfilters.ui.ChangesListWrapperWidget( filtersModel, changesListModel, controller, $( '.mw-changeslist, .mw-changeslist-empty' ) ); + // Remove the -loading class that may have been added on the server side. + // If we are in fact going to load a default saved query, this .initialize() + // call will do that and add the -loading class right back. + $( 'body' ).removeClass( 'mw-rcfilters-ui-loading' ); + controller.initialize( mw.config.get( 'wgStructuredChangeFilters' ), mw.config.get( 'wgFormattedNamespaces' ), @@ -50,8 +53,9 @@ filtersModel, changesListModel, controller, $( 'fieldset.cloptions' ) ); $( '.rcfilters-container' ).append( filtersWidget.$element ); - $( 'body' ).append( $overlay ); - $( '.rcfilters-head' ).addClass( 'mw-rcfilters-ui-ready' ); + $( 'body' ) + .append( $overlay ) + .addClass( 'mw-rcfilters-ui-initialized' ); $( 'a.mw-helplink' ).attr( 'href', @@ -60,7 +64,8 @@ controller.replaceUrl(); - if ( currentPage === 'Special:Recentchanges' ) { + if ( specialPage === 'Recentchanges' || + specialPage === 'Recentchangeslinked' ) { $topLinks = $( '.mw-recentchanges-toplinks' ).detach(); rcTopSection = new mw.rcfilters.ui.RcTopSectionWidget( @@ -69,7 +74,7 @@ filtersWidget.setTopSection( rcTopSection.$element ); } // end Special:RC - if ( currentPage === 'Special:Watchlist' ) { + if ( specialPage === 'Watchlist' ) { $( '#contentSub, form#mw-watchlist-resetbutton' ).detach(); $watchlistDetails = $( '.watchlistDetails' ).detach().contents(); @@ -78,10 +83,23 @@ ); filtersWidget.setTopSection( wlTopSection.$element ); } // end Special:WL + + /** + * Fired when initialization of the filtering interface for changes list is complete. + * + * @event structuredChangeFilters_ui_initialized + * @member mw.hook + */ + mw.hook( 'structuredChangeFilters.ui.initialized' ).fire(); } }; - $( rcfilters.init ); + // Early execute of init + if ( document.readyState === 'interactive' || document.readyState === 'complete' ) { + rcfilters.init(); + } else { + $( rcfilters.init ); + } module.exports = rcfilters;