this.clearItems();
$.each( savedQueries.queries || {}, function ( id, obj ) {
var normalizedData = $.extend( true, {}, baseState, obj.data );
+
+ // Backwards-compat fix: We stored the 'highlight' state with
+ // "1" and "0" instead of true/false; for already-stored states,
+ // we need to fix that.
+ // NOTE: Since this feature is only available in beta, we should
+ // not need this line when we release this to the general wikis.
+ // This method will automatically fix all saved queries anyways
+ // for existing users, who are only betalabs users at the moment.
+ normalizedData.highlights.highlight = !!Number( normalizedData.highlight );
+
items.push(
new mw.rcfilters.dm.SavedQueryItemModel(
id,
highlightedItems[ item.getName() ] = highlightEnabled ?
item.getHighlightColor() : null;
} );
- // Stored as a string '0' or '1'
- highlightedItems.highlight = String( Number( this.filtersModel.isHighlightEnabled() ) );
+ // These are filter states; highlight is stored as boolean
+ highlightedItems.highlight = this.filtersModel.isHighlightEnabled();
// Add item
this.savedQueriesModel.addNewQuery(
this.filtersModel.toggleFiltersSelected( data.filters );
// Update highlight state
- this.filtersModel.toggleHighlight( !!highlights.highlight );
+ this.filtersModel.toggleHighlight( !!Number( highlights.highlight ) );
this.filtersModel.getItems().forEach( function ( filterItem ) {
var color = highlights[ filterItem.getName() ];
if ( color ) {
);
// Update highlight state
- this.filtersModel.toggleHighlight( !!parameters.highlight );
+ this.filtersModel.toggleHighlight( !!Number( 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.highlight = queryHighlights.highlight;
+ savedHighlights.highlight = String( Number( queryHighlights.highlight ) );
$.each( queryHighlights, function ( filterName, color ) {
if ( filterName !== 'highlights' ) {
savedHighlights[ filterName + '_color' ] = color;