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