X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22brouteur%22%2C%28%24id_rubrique%20?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.rcfilters%2Fui%2Fmw.rcfilters.ui.FilterTagMultiselectWidget.js;h=b1f152d93c3c768784ba0356179b7ddf9538b3f9;hb=0e07110d8f0e8fff9f06dca513abf6209ff0d0a2;hp=4bee31e701e854b2b493aa61aed72fb6742bd179;hpb=e0f53bfb8dd461f52dbfe1339323704e7cac55fe;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js index 4bee31e701..b1f152d93c 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js @@ -2,6 +2,7 @@ /** * List displaying all filter groups * + * @class * @extends OO.ui.MenuTagMultiselectWidget * @mixins OO.ui.mixin.PendingElement * @@ -47,7 +48,6 @@ footers: [ { name: 'viewSelect', - disabled: !mw.config.get( 'wgStructuredChangeFiltersEnableExperimentalViews' ), sticky: false, // View select menu, appears on default view only $element: $( '
' ) @@ -141,47 +141,47 @@ ); } - if ( mw.config.get( 'wgStructuredChangeFiltersEnableExperimentalViews' ) ) { - // Add a selector at the right of the input - this.viewsSelectWidget = new OO.ui.ButtonSelectWidget( { - classes: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget' ], - items: [ - new OO.ui.ButtonOptionWidget( { - data: 'namespaces', - icon: 'article', - title: mw.msg( 'rcfilters-view-namespaces-tooltip' ) - } ), - new OO.ui.ButtonOptionWidget( { - data: 'tags', - icon: 'tag', - title: mw.msg( 'rcfilters-view-tags-tooltip' ) - } ) - ] - } ); + // Add a selector at the right of the input + this.viewsSelectWidget = new OO.ui.ButtonSelectWidget( { + classes: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget' ], + items: [ + new OO.ui.ButtonOptionWidget( { + framed: false, + data: 'namespaces', + icon: 'article', + title: mw.msg( 'rcfilters-view-namespaces-tooltip' ) + } ), + new OO.ui.ButtonOptionWidget( { + framed: false, + data: 'tags', + icon: 'tag', + title: mw.msg( 'rcfilters-view-tags-tooltip' ) + } ) + ] + } ); - // Rearrange the UI so the select widget is at the right of the input - this.$element.append( - $( '
' ) - .addClass( 'mw-rcfilters-ui-table' ) - .append( - $( '
' ) - .addClass( 'mw-rcfilters-ui-row' ) - .append( - $( '
' ) - .addClass( 'mw-rcfilters-ui-cell' ) - .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views-input' ) - .append( this.input.$element ), - $( '
' ) - .addClass( 'mw-rcfilters-ui-cell' ) - .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views-select' ) - .append( this.viewsSelectWidget.$element ) - ) - ) - ); + // Rearrange the UI so the select widget is at the right of the input + this.$element.append( + $( '
' ) + .addClass( 'mw-rcfilters-ui-table' ) + .append( + $( '
' ) + .addClass( 'mw-rcfilters-ui-row' ) + .append( + $( '
' ) + .addClass( 'mw-rcfilters-ui-cell' ) + .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views-input' ) + .append( this.input.$element ), + $( '
' ) + .addClass( 'mw-rcfilters-ui-cell' ) + .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views-select' ) + .append( this.viewsSelectWidget.$element ) + ) + ) + ); - // Event - this.viewsSelectWidget.connect( this, { choose: 'onViewsSelectWidgetChoose' } ); - } + // Event + this.viewsSelectWidget.connect( this, { choose: 'onViewsSelectWidgetChoose' } ); rcFiltersRow.append( $( '
' ) @@ -288,6 +288,9 @@ // Clear the input this.input.setValue( '' ); } + + // Log filter grouping + this.controller.trackFilterGroupings( 'filtermenu' ); } this.input.setIcon( isVisible ? 'search' : 'menu' ); @@ -316,7 +319,7 @@ }; /** - * @inheridoc + * @inheritdoc */ mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.onChangeTags = function () { // Parent method @@ -376,6 +379,10 @@ !this.isEmpty() && !this.matchingQuery ); + + if ( this.matchingQuery ) { + this.emphasize(); + } } }; @@ -385,6 +392,10 @@ * @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() || ( @@ -586,6 +597,26 @@ } }; + 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 *