RCFilters UI: Check that filter exists before changing its state
authorMoriel Schottlender <moriel@gmail.com>
Fri, 7 Apr 2017 18:15:17 +0000 (11:15 -0700)
committerMoriel Schottlender <moriel@gmail.com>
Fri, 7 Apr 2017 18:15:17 +0000 (11:15 -0700)
Bug: T162417
Change-Id: I53bdd8106f5072f70f2618f2b6e6c9da37675fc9

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

index b5b768f..669420c 100644 (file)
        mw.rcfilters.Controller.prototype.toggleFilterSelect = function ( filterName, isSelected ) {
                var filterItem = this.filtersModel.getItemByName( filterName );
 
        mw.rcfilters.Controller.prototype.toggleFilterSelect = function ( filterName, isSelected ) {
                var filterItem = this.filtersModel.getItemByName( filterName );
 
+               if ( !filterItem ) {
+                       // If no filter was found, break
+                       return;
+               }
+
                isSelected = isSelected === undefined ? !filterItem.isSelected() : isSelected;
 
                if ( filterItem.isSelected() !== isSelected ) {
                isSelected = isSelected === undefined ? !filterItem.isSelected() : isSelected;
 
                if ( filterItem.isSelected() !== isSelected ) {
index c81b685..e17d028 100644 (file)
                var filter = this.filterPopup.getSelectedFilter();
 
                // Toggle the filter
                var filter = this.filterPopup.getSelectedFilter();
 
                // Toggle the filter
-               this.controller.toggleFilterSelect( filter );
+               if ( filter ) {
+                       this.controller.toggleFilterSelect( filter );
+               }
        };
 
        /**
        };
 
        /**