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 } };