Merge "RCFilters: Actually read/write highlight parameter"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 12 May 2017 13:15:47 +0000 (13:15 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 12 May 2017 13:15:48 +0000 (13:15 +0000)
resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.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 ];