Merge "RCFilters: Don't reload when removing highlighted item"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 13 Oct 2017 15:11:45 +0000 (15:11 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 13 Oct 2017 15:11:45 +0000 (15:11 +0000)
1  2 
resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js

                this._deleteExcludedValuesFromFilterState( defaultFilters );
  
                if ( Object.keys( defaultParams ).some( function ( paramName ) {
 -                      return paramName.endsWith( '_color' ) && defaultParams[ paramName ] !== null;
 +                      return paramName.match( /_color$/ ) && defaultParams[ paramName ] !== null;
                } ) ) {
                        // There are highlights in the defaults, they're definitely
                        // not empty
         */
        mw.rcfilters.Controller.prototype.clearFilter = function ( filterName ) {
                var filterItem = this.filtersModel.getItemByName( filterName ),
-                       isHighlighted = filterItem.isHighlighted();
+                       isHighlighted = filterItem.isHighlighted(),
+                       isSelected = filterItem.isSelected();
  
-               if ( filterItem.isSelected() || isHighlighted ) {
+               if ( isSelected || isHighlighted ) {
                        this.filtersModel.clearHighlightColor( filterName );
                        this.filtersModel.toggleFilterSelected( filterName, false );
-                       this.updateChangesList();
+                       if ( isSelected ) {
+                               // Only update the changes list if the filter changed
+                               // its selection state. If it only changed its highlight
+                               // then don't reload
+                               this.updateChangesList();
+                       }
                        this.filtersModel.reassessFilterInteractions( filterItem );
  
                        // Log filter grouping