Merge "Pager class for filtering by date range"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 12 May 2017 13:16:58 +0000 (13:16 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 12 May 2017 13:16:58 +0000 (13:16 +0000)
resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.js

index 1dd0f83..f3fee74 100644 (file)
                        highlightedItems[ item.getName() ] = highlightEnabled ?
                                item.getHighlightColor() : null;
                } );
-               highlightedItems.highlights = this.filtersModel.isHighlightEnabled();
+               highlightedItems.highlight = this.filtersModel.isHighlightEnabled();
 
                // Add item
                this.savedQueriesModel.addNewQuery(
                        data = queryItem.getData();
                        highlights = data.highlights;
 
+                       // Backwards compatibility; initial version mispelled 'highlight' with 'highlights'
+                       highlights.highlight = highlights.highlights || highlights.highlight;
+
                        // Update model state from filters
                        this.filtersModel.toggleFiltersSelected( data.filters );
 
                        // Update highlight state
-                       this.filtersModel.toggleHighlight( !!highlights.highlights );
+                       this.filtersModel.toggleHighlight( !!highlights.highlight );
                        this.filtersModel.getItems().forEach( function ( filterItem ) {
                                var color = highlights[ filterItem.getName() ];
                                if ( color ) {
                this.filtersModel.getItemsSupportingHighlights().forEach( function ( item ) {
                        highlightedItems[ item.getName() ] = item.getHighlightColor();
                } );
-               highlightedItems.highlights = this.filtersModel.isHighlightEnabled();
+               highlightedItems.highlight = this.filtersModel.isHighlightEnabled();
 
                return this.savedQueriesModel.findMatchingQuery(
                        {
                this.filtersModel.getItemsSupportingHighlights().forEach( function ( item ) {
                        highlightedItems[ item.getName() ] = null;
                } );
-               highlightedItems.highlights = false;
+               highlightedItems.highlight = false;
 
                this.baseState = {
                        filters: this.filtersModel.getFiltersFromParameters( defaultParams ),
                );
 
                // Update highlight state
-               this.filtersModel.toggleHighlight( !!parameters.highlights );
+               this.filtersModel.toggleHighlight( !!parameters.highlight );
                this.filtersModel.getItems().forEach( function ( filterItem ) {
                        var color = parameters[ filterItem.getName() + '_color' ];
                        if ( color ) {
                        savedParams = this.filtersModel.getParametersFromFilters( data.filters || {} );
 
                        // Translate highlights to parameters
-                       savedHighlights.highlights = queryHighlights.highlights;
+                       savedHighlights.highlight = queryHighlights.highlight;
                        $.each( queryHighlights, function ( filterName, color ) {
                                if ( filterName !== 'highlights' ) {
                                        savedHighlights[ filterName + '_color' ] = color;
                uri.extend( this.filtersModel.getParametersFromFilters() );
 
                // highlight params
+               uri.query.highlight = Number( this.filtersModel.isHighlightEnabled() );
                Object.keys( highlightParams ).forEach( function ( paramName ) {
                        if ( highlightParams[ paramName ] ) {
                                uri.query[ paramName ] = highlightParams[ paramName ];
index 9b7a2fb..3f920f0 100644 (file)
@@ -39,7 +39,7 @@
                this.popup.$head.prepend( ( new OO.ui.IconWidget( { icon: 'clip' } ) ).$element );
 
                this.input = new OO.ui.TextInputWidget( {
-                       validate: 'non-empty'
+                       validate: /\S/
                } );
                layout = new OO.ui.FieldLayout( this.input, {
                        label: mw.msg( 'rcfilters-savedqueries-new-name-label' ),
                                widget.controller.saveCurrentQuery( label );
                                widget.input.setValue( this.input, '' );
                                widget.emit( 'saveCurrent' );
-                       } )
-                       .always( function () {
                                widget.popup.toggle( false );
                        } );
        };