X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.rcfilters%2Fui%2Fmw.rcfilters.ui.FilterTagMultiselectWidget.js;h=3aa716111c4eb160558f8fd738386a3637de3fd4;hp=89c6f271d3b281d0bdb24fecf580289bd9c9346d;hb=4838f88d844056d475967a96d592f1271cc987bf;hpb=fe067574483b15b500f06262aa37a0c4c57544ed 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 89c6f271d3..3aa716111c 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js @@ -15,7 +15,6 @@ */ mw.rcfilters.ui.FilterTagMultiselectWidget = function MwRcfiltersUiFilterTagMultiselectWidget( controller, model, savedQueriesModel, config ) { var rcFiltersRow, - areSavedQueriesEnabled = mw.config.get( 'wgStructuredChangeFiltersEnableSaving' ), title = new OO.ui.LabelWidget( { label: mw.msg( 'rcfilters-activefilters' ), classes: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title' ] @@ -30,7 +29,7 @@ this.queriesModel = savedQueriesModel; this.$overlay = config.$overlay || this.$element; this.matchingQuery = null; - this.areSavedQueriesEnabled = areSavedQueriesEnabled; + this.currentView = this.model.getCurrentView(); // Parent mw.rcfilters.ui.FilterTagMultiselectWidget.parent.call( this, $.extend( true, { @@ -86,19 +85,17 @@ classes: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-resetButton' ] } ); - if ( areSavedQueriesEnabled ) { - this.saveQueryButton = new mw.rcfilters.ui.SaveFiltersPopupButtonWidget( - this.controller, - this.queriesModel - ); + this.saveQueryButton = new mw.rcfilters.ui.SaveFiltersPopupButtonWidget( + this.controller, + this.queriesModel + ); - this.saveQueryButton.$element.on( 'mousedown', function ( e ) { e.stopPropagation(); } ); + this.saveQueryButton.$element.on( 'mousedown', function ( e ) { e.stopPropagation(); } ); - this.saveQueryButton.connect( this, { - click: 'onSaveQueryButtonClick', - saveCurrent: 'setSavedQueryVisibility' - } ); - } + this.saveQueryButton.connect( this, { + click: 'onSaveQueryButtonClick', + saveCurrent: 'setSavedQueryVisibility' + } ); this.emptyFilterMessage = new OO.ui.LabelWidget( { label: mw.msg( 'rcfilters-empty-filter' ), @@ -132,19 +129,24 @@ .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-filters' ) ); - if ( areSavedQueriesEnabled ) { - rcFiltersRow.append( - $( '
' ) - .addClass( 'mw-rcfilters-ui-cell' ) - .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-save' ) - .append( this.saveQueryButton.$element ) - ); - } + rcFiltersRow.append( + $( '
' ) + .addClass( 'mw-rcfilters-ui-cell' ) + .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-save' ) + .append( this.saveQueryButton.$element ) + ); // 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: '', + disabled: true, + classes: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget-label' ], + label: mw.msg( 'rcfilters-view-advanced-filters-label' ) + } ), new OO.ui.ButtonOptionWidget( { framed: false, data: 'namespaces', @@ -366,27 +368,30 @@ // Update input this.input.setValue( inputValue ); + + if ( this.currentView !== view ) { + this.scrollToTop( this.$element ); + this.currentView = view; + } }; /** * Set the visibility of the saved query button */ mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.setSavedQueryVisibility = function () { - if ( this.areSavedQueriesEnabled ) { - this.matchingQuery = this.controller.findQueryMatchingCurrentState(); + this.matchingQuery = this.controller.findQueryMatchingCurrentState(); - this.savedQueryTitle.setLabel( - this.matchingQuery ? this.matchingQuery.getLabel() : '' - ); - this.savedQueryTitle.toggle( !!this.matchingQuery ); - this.saveQueryButton.toggle( - !this.isEmpty() && - !this.matchingQuery - ); + this.savedQueryTitle.setLabel( + this.matchingQuery ? this.matchingQuery.getLabel() : '' + ); + this.savedQueryTitle.toggle( !!this.matchingQuery ); + this.saveQueryButton.toggle( + !this.isEmpty() && + !this.matchingQuery + ); - if ( this.matchingQuery ) { - this.emphasize(); - } + if ( this.matchingQuery ) { + this.emphasize(); } };