RCFilters: Respect ?enhanced=0 url regardless of preference
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / ui / mw.rcfilters.ui.ChangesListWrapperWidget.js
index c7e6961..843acce 100644 (file)
                        update: 'onModelUpdate'
                } );
 
-               this.$element.addClass( 'mw-rcfilters-ui-changesListWrapperWidget' );
+               this.$element
+                       .addClass( 'mw-rcfilters-ui-changesListWrapperWidget' )
+                       // We handle our own display/hide of the empty results message
+                       .removeClass( 'mw-changeslist-empty' );
 
                // Set up highlight containers
                this.setupHighlightContainers( this.$element );
@@ -92,7 +95,6 @@
                        isEmpty = $changesListContent === 'NO_RESULTS';
 
                this.$element.toggleClass( 'mw-changeslist', !isEmpty );
-               this.$element.toggleClass( 'mw-changeslist-empty', isEmpty );
                if ( isEmpty ) {
                        this.$changesListContent = null;
                        this.$element.empty();
         * @param {jQuery|string} $content The content of the updated changes list
         */
        mw.rcfilters.ui.ChangesListWrapperWidget.prototype.setupHighlightContainers = function ( $content ) {
-               var $highlights = $( '<div>' )
+               var uri = new mw.Uri(),
+                       $highlights = $( '<div>' )
                                .addClass( 'mw-rcfilters-ui-changesListWrapperWidget-highlights' )
                                .append(
                                        $( '<div>' )
                                                .prop( 'data-color', 'none' )
                                );
 
+               if ( $( '.mw-rcfilters-ui-changesListWrapperWidget-highlights' ).length ) {
+                       // Already set up
+                       return;
+               }
+
                mw.rcfilters.HighlightColors.forEach( function ( color ) {
                        $highlights.append(
                                $( '<div>' )
                        );
                } );
 
-               if ( Number( mw.user.options.get( 'usenewrc' ) ) ) {
+               if (
+                       ( uri.query.enhanced !== undefined && Number( uri.query.enhanced ) ) ||
+                       ( uri.query.enhanced === undefined && Number( mw.user.options.get( 'usenewrc' ) ) )
+               ) {
                        // Enhanced RC
                        $content.find( 'td.mw-enhanced-rc' )
                                .parent()