RCFilters: Ignore sticky filters when emptying all filters
authorMoriel Schottlender <moriel@gmail.com>
Mon, 21 Aug 2017 21:03:29 +0000 (14:03 -0700)
committerMoriel Schottlender <moriel@gmail.com>
Mon, 21 Aug 2017 21:03:29 +0000 (14:03 -0700)
Also, as a bonus, actually connect the 'update' event to the already
existing method that was supposed to respond to an update event on
the 'enhanced' filter.

Bug: T172580
Change-Id: I4db5689d1d2ef627bbb5ec34f8af772157d1ff09

resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitPopupWidget.js

index cf226da..a8ee06b 100644 (file)
         */
        mw.rcfilters.dm.FiltersViewModel.prototype.emptyAllFilters = function () {
                this.getItems().forEach( function ( filterItem ) {
-                       this.toggleFilterSelected( filterItem.getName(), false );
+                       if ( !filterItem.getGroupModel().isSticky() ) {
+                               this.toggleFilterSelected( filterItem.getName(), false );
+                       }
                }.bind( this ) );
        };
 
index a8c6c28..7248bd7 100644 (file)
@@ -32,6 +32,7 @@
                // Events
                this.valuePicker.connect( this, { choose: [ 'emit', 'limit' ] } );
                this.groupByPageCheckbox.connect( this, { change: [ 'emit', 'groupByPage' ] } );
+               this.groupByPageItemModel.connect( this, { update: 'onGroupByPageModelUpdate' } );
 
                // Initialize
                this.$element