jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/383893 )

Change subject: RCFilters: Don't reload the list if the change was 
highlights-only
......................................................................


RCFilters: Don't reload the list if the change was highlights-only

Bug: T164131
Change-Id: I9952467d0acef84a6445d970977c1265a3ebff95
---
M resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
1 file changed, 31 insertions(+), 12 deletions(-)

Approvals:
  Sbisson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
index 0b2dd8d..8374b48 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
@@ -369,9 +369,10 @@
         * Reset to default filters
         */
        mw.rcfilters.Controller.prototype.resetToDefaults = function () {
-               this.filtersModel.updateStateFromParams( 
this._getDefaultParams() );
-
-               this.updateChangesList();
+               if ( this.applyParamChange( this._getDefaultParams() ) ) {
+                       // Only update the changes list if there was a change 
to actual filters
+                       this.updateChangesList();
+               }
        };
 
        /**
@@ -387,13 +388,13 @@
         * Empty all selected filters
         */
        mw.rcfilters.Controller.prototype.emptyFilters = function () {
-               var highlightedFilterNames = this.filtersModel
-                       .getHighlightedItems()
+               var highlightedFilterNames = 
this.filtersModel.getHighlightedItems()
                        .map( function ( filterItem ) { return { name: 
filterItem.getName() }; } );
 
-               this.filtersModel.updateStateFromParams( {} );
-
-               this.updateChangesList();
+               if ( this.applyParamChange( {} ) ) {
+                       // Only update the changes list if there was a change 
to actual filters
+                       this.updateChangesList();
+               }
 
                if ( highlightedFilterNames ) {
                        this._trackHighlight( 'clearAll', 
highlightedFilterNames );
@@ -677,10 +678,10 @@
                        return;
                }
 
-               // Apply parameters to model
-               this.filtersModel.updateStateFromParams( params );
-
-               this.updateChangesList();
+               if ( this.applyParamChange( params ) ) {
+                       // Update changes list only if there was a difference 
in filter selection
+                       this.updateChangesList();
+               }
 
                // Log filter grouping
                this.trackFilterGroupings( 'savedfilters' );
@@ -1058,6 +1059,24 @@
        };
 
        /**
+        * Apply a change of parameters to the model state, and check whether
+        * the new state is different than the old state.
+        *
+        * @param  {Object} newParamState New parameter state to apply
+        * @return {boolean} New applied model state is different than the 
previous state
+        */
+       mw.rcfilters.Controller.prototype.applyParamChange = function ( 
newParamState ) {
+               var after,
+                       before = this.filtersModel.getSelectedState();
+
+               this.filtersModel.updateStateFromParams( newParamState );
+
+               after = this.filtersModel.getSelectedState();
+
+               return !OO.compare( before, after );
+       };
+
+       /**
         * Mark all changes as seen on Watchlist
         */
        mw.rcfilters.Controller.prototype.markAllChangesAsSeen = function () {

-- 
To view, visit https://gerrit.wikimedia.org/r/383893
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9952467d0acef84a6445d970977c1265a3ebff95
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <[email protected]>
Gerrit-Reviewer: Sbisson <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to