X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.rcfilters%2Fmw.rcfilters.init.js;h=67edb4fe710f4afb0dbc08ef54a7fb33e838c244;hb=f0bef2cf6994c49031d89425b3b3c56fd0e89a65;hp=701e61d1b26322509c35952ee8147b8c3c09ff4b;hpb=89539f2aa1b158fdcc703ad053e2580cb97a6385;p=lhc%2Fweb%2Fwiklou.git
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
index 701e61d1b2..67edb4fe71 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
@@ -8,18 +8,30 @@
* @private
*/
init: function () {
- var toplinksTitle,
- topLinksCookieName = 'rcfilters-toplinks-collapsed-state',
- topLinksCookie = mw.cookie.get( topLinksCookieName ),
- topLinksCookieValue = topLinksCookie || 'collapsed',
+ var $topLinks,
+ rcTopSection,
+ $watchlistDetails,
+ wlTopSection,
+ savedQueriesPreferenceName = mw.config.get( 'wgStructuredChangeFiltersSavedQueriesPreferenceName' ),
filtersModel = new mw.rcfilters.dm.FiltersViewModel(),
changesListModel = new mw.rcfilters.dm.ChangesListViewModel(),
savedQueriesModel = new mw.rcfilters.dm.SavedQueriesModel(),
- controller = new mw.rcfilters.Controller( filtersModel, changesListModel, savedQueriesModel ),
+ controller = new mw.rcfilters.Controller(
+ filtersModel, changesListModel, savedQueriesModel,
+ {
+ savedQueriesPreferenceName: savedQueriesPreferenceName
+ }
+ ),
$overlay = $( '
' )
.addClass( 'mw-rcfilters-ui-overlay' ),
filtersWidget = new mw.rcfilters.ui.FilterWrapperWidget(
- controller, filtersModel, savedQueriesModel, changesListModel, { $overlay: $overlay } );
+ controller, filtersModel, savedQueriesModel, changesListModel, { $overlay: $overlay } ),
+ savedLinksListWidget = new mw.rcfilters.ui.SavedLinksListWidget(
+ controller, savedQueriesModel, { $overlay: $overlay }
+ ),
+ currentPage = mw.config.get( 'wgCanonicalNamespace' ) +
+ ':' +
+ mw.config.get( 'wgCanonicalSpecialPageName' );
// TODO: The changesListWrapperWidget should be able to initialize
// after the model is ready.
@@ -35,7 +47,7 @@
// eslint-disable-next-line no-new
new mw.rcfilters.ui.FormWrapperWidget(
- filtersModel, changesListModel, controller, $( 'fieldset.rcoptions' ) );
+ filtersModel, changesListModel, controller, $( 'fieldset.cloptions' ) );
$( '.rcfilters-container' ).append( filtersWidget.$element );
$( 'body' ).append( $overlay );
@@ -48,30 +60,25 @@
controller.replaceUrl();
- toplinksTitle = new OO.ui.ButtonWidget( {
- framed: false,
- indicator: topLinksCookieValue === 'collapsed' ? 'down' : 'up',
- flags: [ 'progressive' ],
- label: $( '' ).append( mw.message( 'rcfilters-other-review-tools' ).parse() ).contents()
- } );
- $( '.mw-recentchanges-toplinks-title' ).replaceWith( toplinksTitle.$element );
- // Move the top links to a designated area so it's near the
- // 'saved filters' button and make it collapsible
- $( '.mw-recentchanges-toplinks' )
- .addClass( 'mw-rcfilters-ui-ready' )
- .makeCollapsible( {
- collapsed: topLinksCookieValue === 'collapsed',
- $customTogglers: toplinksTitle.$element
- } )
- .on( 'beforeExpand.mw-collapsible', function () {
- mw.cookie.set( topLinksCookieName, 'expanded' );
- toplinksTitle.setIndicator( 'up' );
- } )
- .on( 'beforeCollapse.mw-collapsible', function () {
- mw.cookie.set( topLinksCookieName, 'collapsed' );
- toplinksTitle.setIndicator( 'down' );
- } )
- .appendTo( '.mw-rcfilters-ui-filterWrapperWidget-top-placeholder' );
+ if ( currentPage === 'Special:Recentchanges' ||
+ currentPage === 'Special:Recentchangeslinked' ) {
+ $topLinks = $( '.mw-recentchanges-toplinks' ).detach();
+
+ rcTopSection = new mw.rcfilters.ui.RcTopSectionWidget(
+ savedLinksListWidget, $topLinks
+ );
+ filtersWidget.setTopSection( rcTopSection.$element );
+ } // end Special:RC
+
+ if ( currentPage === 'Special:Watchlist' ) {
+ $( '#contentSub, form#mw-watchlist-resetbutton' ).detach();
+ $watchlistDetails = $( '.watchlistDetails' ).detach().contents();
+
+ wlTopSection = new mw.rcfilters.ui.WatchlistTopSectionWidget(
+ controller, changesListModel, savedLinksListWidget, $watchlistDetails
+ );
+ filtersWidget.setTopSection( wlTopSection.$element );
+ } // end Special:WL
}
};