Merge "Adjust print styles for thumb"
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / mw.rcfilters.init.js
index 04a3fda..12a83cd 100644 (file)
@@ -8,7 +8,11 @@
                 * @private
                 */
                init: function () {
-                       var filtersModel = new mw.rcfilters.dm.FiltersViewModel(),
+                       var toplinksTitle,
+                               topLinksCookieName = 'rcfilters-toplinks-collapsed-state',
+                               topLinksCookie = mw.cookie.get( topLinksCookieName ),
+                               topLinksCookieValue = topLinksCookie || 'collapsed',
+                               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.replaceUrl();
+
+                       toplinksTitle = new OO.ui.ButtonWidget( {
+                               framed: false,
+                               indicator: topLinksCookieValue === 'collapsed' ? 'down' : 'up',
+                               flags: [ 'progressive' ],
+                               label: $( '<span>' ).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' );
                }
        };