RCFilters: Don't reload when removing highlighted item
authorMoriel Schottlender <moriel@gmail.com>
Thu, 12 Oct 2017 00:05:03 +0000 (17:05 -0700)
committerMoriel Schottlender <moriel@gmail.com>
Thu, 12 Oct 2017 00:05:03 +0000 (17:05 -0700)
Bug: T164131
Change-Id: I1f50276a60b8aae3034409664dd77f6ba1d5d87c

resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js

index 6da8119..f74dc3b 100644 (file)
         */
        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