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 ) {
mw.rcfilters.Controller.prototype.toggleHighlight = function () {
this.filtersModel.toggleHighlight();
this.updateURL();
+
+ if ( this.filtersModel.isHighlightEnabled() ) {
+ mw.hook( 'RcFilters.highlight.enable' ).fire();
+ }
};
/**
* @param {array|object|string} filters
*/
mw.rcfilters.Controller.prototype.trackHighlight = function ( action, filters ) {
- filters = $.type( filters ) === 'string' ? { name: filters } : filters;
- filters = $.type( filters ) === 'object' ? [ filters ] : filters;
+ filters = typeof filters === 'string' ? { name: filters } : filters;
+ filters = !Array.isArray( filters ) ? [ filters ] : filters;
mw.track(
'event.ChangesListHighlights',
{