/**
* List displaying all filter groups
*
+ * @class
* @extends OO.ui.MenuTagMultiselectWidget
* @mixins OO.ui.mixin.PendingElement
*
// Clear the input
this.input.setValue( '' );
}
+
+ // Log filter grouping
+ this.controller.trackFilterGroupings( 'filtermenu' );
}
this.input.setIcon( isVisible ? 'search' : 'menu' );
};
/**
- * @inheridoc
+ * @inheritdoc
*/
mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.onChangeTags = function () {
// Parent method
!this.isEmpty() &&
!this.matchingQuery
);
+
+ if ( this.matchingQuery ) {
+ this.emphasize();
+ }
}
};
* @param {mw.rcfilters.dm.FilterItem} item Filter item model
*/
mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.onModelItemUpdate = function ( item ) {
+ if ( item.getGroupModel().isHidden() ) {
+ return;
+ }
+
if (
item.isSelected() ||
(
}
};
+ mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.emphasize = function () {
+ if (
+ !this.$handle.hasClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' )
+ ) {
+ this.$handle
+ .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-emphasize' )
+ .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' );
+
+ setTimeout( function () {
+ this.$handle
+ .removeClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-emphasize' );
+
+ setTimeout( function () {
+ this.$handle
+ .removeClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' );
+ }.bind( this ), 1000 );
+ }.bind( this ), 500 );
+
+ }
+ };
/**
* Scroll the element to top within its container
*