From cf56f1bf8b6d3cd4f48198135a427d2141d817e2 Mon Sep 17 00:00:00 2001 From: Stephane Bisson Date: Fri, 6 Oct 2017 14:52:36 -0400 Subject: [PATCH] RCFilters: Store invert as a standard filter/parameter Change-Id: Ie623dac923cc2feb30f406c48accdadfd8d80753 --- .../dm/mw.rcfilters.dm.FiltersViewModel.js | 30 ++++------------ .../dm/mw.rcfilters.dm.ItemModel.js | 35 +++---------------- .../dm/mw.rcfilters.dm.SavedQueriesModel.js | 5 ++- .../mw.rcfilters.Controller.js | 18 ++++++---- .../mw.rcfilters.UriProcessor.js | 10 ++---- .../mw.rcfilters.ui.FilterMenuHeaderWidget.js | 35 ++++++++++--------- .../mw.rcfilters.ui.FilterMenuOptionWidget.js | 8 +++-- .../ui/mw.rcfilters.ui.FilterTagItemWidget.js | 5 +-- ...rcfilters.ui.FilterTagMultiselectWidget.js | 29 ++++++++------- .../mw.rcfilters.ui.ItemMenuOptionWidget.js | 9 +++-- .../ui/mw.rcfilters.ui.MenuSelectWidget.js | 1 + .../ui/mw.rcfilters.ui.TagItemWidget.js | 17 ++++----- .../mediawiki.rcfilters/UriProcessor.test.js | 10 ------ .../dm.SavedQueriesModel.test.js | 9 ++--- 14 files changed, 85 insertions(+), 136 deletions(-) diff --git a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js index 772ed9271e..0d65466d2a 100644 --- a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js +++ b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js @@ -16,7 +16,6 @@ this.defaultParams = {}; this.defaultFiltersEmpty = null; this.highlightEnabled = false; - this.invertedNamespaces = false; this.parameterMap = {}; this.views = {}; @@ -60,13 +59,6 @@ * Highlight feature has been toggled enabled or disabled */ - /** - * @event invertChange - * @param {boolean} isInverted Namespace selected is inverted - * - * Namespace selection is inverted or straight forward - */ - /* Methods */ /** @@ -1096,28 +1088,18 @@ * Propagate the change to namespace filter items. * * @param {boolean} enable Inverted property is enabled - * @fires invertChange */ mw.rcfilters.dm.FiltersViewModel.prototype.toggleInvertedNamespaces = function ( enable ) { - enable = enable === undefined ? !this.invertedNamespaces : enable; - - if ( this.invertedNamespaces !== enable ) { - this.invertedNamespaces = enable; - - this.getFiltersByView( 'namespaces' ).forEach( function ( filterItem ) { - filterItem.toggleInverted( this.invertedNamespaces ); - }.bind( this ) ); - - this.emit( 'invertChange', this.invertedNamespaces ); - } + this.toggleFilterSelected( this.getInvertModel().getName(), enable ); }; /** - * Check if the namespaces selection is set to be inverted - * @return {boolean} + * Get the model object that represents the 'invert' filter + * + * @return {mw.rcfilters.dm.FilterItem} */ - mw.rcfilters.dm.FiltersViewModel.prototype.areNamespacesInverted = function () { - return !!this.invertedNamespaces; + mw.rcfilters.dm.FiltersViewModel.prototype.getInvertModel = function () { + return this.getGroup( 'invertGroup' ).getItemByParamName( 'invert' ); }; /** diff --git a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js index 9c56f09517..4a8869a17d 100644 --- a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js +++ b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js @@ -14,8 +14,6 @@ * with 'default' and 'inverted' as keys. * @cfg {boolean} [active=true] The filter is active and affecting the result * @cfg {boolean} [selected] The item is selected - * @cfg {boolean} [inverted] The item is inverted, meaning the search is excluding - * this parameter. * @cfg {string} [namePrefix='item_'] A prefix to add to the param name to act as a unique * identifier * @cfg {string} [cssClass] The class identifying the results that match this filter @@ -38,7 +36,6 @@ this.description = config.description || ''; this.selected = !!config.selected; - this.inverted = !!config.inverted; this.identifiers = config.identifiers || []; // Highlight @@ -69,8 +66,7 @@ */ mw.rcfilters.dm.ItemModel.prototype.getState = function () { return { - selected: this.isSelected(), - inverted: this.isInverted() + selected: this.isSelected() }; }; @@ -86,9 +82,10 @@ /** * Get a prefixed label * + * @param {boolean} inverted This item should be considered inverted * @return {string} Prefixed label */ - mw.rcfilters.dm.ItemModel.prototype.getPrefixedLabel = function () { + mw.rcfilters.dm.ItemModel.prototype.getPrefixedLabel = function ( inverted ) { if ( this.labelPrefixKey ) { if ( typeof this.labelPrefixKey === 'string' ) { return mw.message( this.labelPrefixKey, this.getLabel() ).parse(); @@ -97,7 +94,7 @@ this.labelPrefixKey[ // Only use inverted-prefix if the item is selected // Highlight-only an inverted item makes no sense - this.isInverted() && this.isSelected() ? + inverted && this.isSelected() ? 'inverted' : 'default' ], this.getLabel() @@ -178,30 +175,6 @@ } }; - /** - * Get the inverted state of this item - * - * @return {boolean} Item is inverted - */ - mw.rcfilters.dm.ItemModel.prototype.isInverted = function () { - return this.inverted; - }; - - /** - * Toggle the inverted state of the item - * - * @param {boolean} [isInverted] Item is inverted - * @fires update - */ - mw.rcfilters.dm.ItemModel.prototype.toggleInverted = function ( isInverted ) { - isInverted = isInverted === undefined ? !this.inverted : isInverted; - - if ( this.inverted !== isInverted ) { - this.inverted = isInverted; - this.emit( 'update' ); - } - }; - /** * Set the highlight color * diff --git a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js index 2b17897b04..edb9644843 100644 --- a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js +++ b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js @@ -161,9 +161,8 @@ newData.highlights[ highlightedFilterName + '_color' ] = data.highlights[ highlightedFilterName ]; } ); - // Add highlight and invert toggles to params + // Add highlight newData.params.highlight = String( Number( highlightEnabled || 0 ) ); - newData.params.invert = String( Number( data.invert || 0 ) ); return newData; }; @@ -209,7 +208,7 @@ } ); this.baseParamState = { - params: $.extend( true, { invert: '0', highlight: '0' }, allParams ), + params: $.extend( true, { highlight: '0' }, allParams ), highlights: highlightedItems }; } diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js index 3e7172930a..6da8119517 100644 --- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js +++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js @@ -79,6 +79,15 @@ separator: ';', fullCoverage: true, filters: items + }, + { + name: 'invertGroup', + type: 'boolean', + hidden: true, + filters: [ { + name: 'invert', + 'default': '0' + } ] } ] }; } @@ -631,7 +640,6 @@ params: $.extend( true, { - invert: String( Number( this.filtersModel.areNamespacesInverted() ) ), highlight: String( Number( this.filtersModel.isHighlightEnabled() ) ) }, this.filtersModel.getParametersFromFilters( selectedState ) @@ -715,9 +723,6 @@ ) ); - // Update namespace inverted property - this.filtersModel.toggleInvertedNamespaces( !!Number( data.params.invert ) ); - // Update highlight state this.filtersModel.toggleHighlight( !!Number( data.params.highlight ) ); this.filtersModel.getItems().forEach( function ( filterItem ) { @@ -763,8 +768,7 @@ params: $.extend( true, { - highlight: String( Number( this.filtersModel.isHighlightEnabled() ) ), - invert: String( Number( this.filtersModel.areNamespacesInverted() ) ) + highlight: String( Number( this.filtersModel.isHighlightEnabled() ) ) }, this.filtersModel.getParametersFromFilters( selectedState ) ), @@ -998,7 +1002,7 @@ return $.extend( true, {}, this.filtersModel.getParametersFromFilters( savedFilters ), data.highlights, - { highlight: data.params.highlight, invert: data.params.invert } + { highlight: data.params.highlight } ); } return this.filtersModel.getDefaultParams(); diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js b/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js index c9436f42a7..0450639812 100644 --- a/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js +++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js @@ -107,8 +107,6 @@ ) ); - this.filtersModel.toggleInvertedNamespaces( !!Number( parameters.invert ) ); - // Update highlight state this.filtersModel.getItems().forEach( function ( filterItem ) { var color = parameters[ filterItem.getName() + '_color' ]; @@ -136,8 +134,7 @@ this.filtersModel.getParametersFromFilters(), this.filtersModel.getHighlightParameters(), { - highlight: String( Number( this.filtersModel.isHighlightEnabled() ) ), - invert: String( Number( this.filtersModel.areNamespacesInverted() ) ) + highlight: String( Number( this.filtersModel.isHighlightEnabled() ) ) } ); }; @@ -158,8 +155,7 @@ this.filtersModel.getParametersFromFilters( filterRepresentation ), this.filtersModel.extractHighlightValues( uriQuery ), { - highlight: String( Number( uriQuery.highlight ) ), - invert: String( Number( uriQuery.invert ) ) + highlight: String( Number( uriQuery.highlight ) ) } ); }; @@ -307,7 +303,7 @@ {}, emptyParams, emptyHighlights, - { highlight: '0', invert: '0' } + { highlight: '0' } ); }; }( mediaWiki, jQuery ) ); diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js index 1a0c5ff51c..a000696353 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js @@ -59,7 +59,6 @@ classes: [ 'mw-rcfilters-ui-filterMenuHeaderWidget-invertNamespacesButton' ] } ); this.invertNamespacesButton.toggle( this.model.getCurrentView() === 'namespaces' ); - this.updateInvertButton( this.model.areNamespacesInverted() ); // Events this.backButton.connect( this, { click: 'onBackButtonClick' } ); @@ -69,8 +68,8 @@ .connect( this, { click: 'onInvertNamespacesButtonClick' } ); this.model.connect( this, { highlightChange: 'onModelHighlightChange', - invertChange: 'onModelInvertChange', - update: 'onModelUpdate' + update: 'onModelUpdate', + initialize: 'onModelInitialize' } ); // Initialize @@ -112,6 +111,19 @@ /* Methods */ + /** + * Respond to model initialization event + * + * Note: need to wait for initialization before getting the invertModel + * and registering its update event. Creating all the models before the UI + * would help with that. + */ + mw.rcfilters.ui.FilterMenuHeaderWidget.prototype.onModelInitialize = function () { + this.invertModel = this.model.getInvertModel(); + this.updateInvertButton(); + this.invertModel.connect( this, { update: 'updateInvertButton' } ); + }; + /** * Respond to model update event */ @@ -134,24 +146,13 @@ this.highlightButton.setActive( highlightEnabled ); }; - /** - * Respond to model invert change event - * - * @param {boolean} isInverted Namespaces selection is inverted - */ - mw.rcfilters.ui.FilterMenuHeaderWidget.prototype.onModelInvertChange = function ( isInverted ) { - this.updateInvertButton( isInverted ); - }; - /** * Update the state of the invert button - * - * @param {boolean} isInverted Namespaces selection is inverted */ - mw.rcfilters.ui.FilterMenuHeaderWidget.prototype.updateInvertButton = function ( isInverted ) { - this.invertNamespacesButton.setActive( isInverted ); + mw.rcfilters.ui.FilterMenuHeaderWidget.prototype.updateInvertButton = function () { + this.invertNamespacesButton.setActive( this.invertModel.isSelected() ); this.invertNamespacesButton.setLabel( - isInverted ? + this.invertModel.isSelected() ? mw.msg( 'rcfilters-exclude-button-on' ) : mw.msg( 'rcfilters-exclude-button-off' ) ); diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuOptionWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuOptionWidget.js index 5198c699b0..1292901bf0 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuOptionWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuOptionWidget.js @@ -6,17 +6,19 @@ * * @constructor * @param {mw.rcfilters.Controller} controller RCFilters controller + * @param {mw.rcfilters.dm.FilterItem} invertModel * @param {mw.rcfilters.dm.FilterItem} model Filter item model * @param {Object} config Configuration object */ - mw.rcfilters.ui.FilterMenuOptionWidget = function MwRcfiltersUiFilterMenuOptionWidget( controller, model, config ) { + mw.rcfilters.ui.FilterMenuOptionWidget = function MwRcfiltersUiFilterMenuOptionWidget( controller, invertModel, model, config ) { config = config || {}; this.controller = controller; + this.invertModel = invertModel; this.model = model; // Parent - mw.rcfilters.ui.FilterMenuOptionWidget.parent.call( this, controller, model, config ); + mw.rcfilters.ui.FilterMenuOptionWidget.parent.call( this, controller, this.invertModel, model, config ); // Event this.model.getGroupModel().connect( this, { update: 'onGroupModelUpdate' } ); @@ -58,7 +60,7 @@ mw.rcfilters.ui.FilterMenuOptionWidget.prototype.setCurrentMuteState = function () { if ( this.model.getGroupModel().getView() === 'namespaces' && - this.model.isInverted() + this.invertModel.isSelected() ) { // This is an inverted behavior than the other rules, specifically // for inverted namespaces diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js index 8a36eb4192..43a301f0f9 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js @@ -7,13 +7,14 @@ * * @constructor * @param {mw.rcfilters.Controller} controller + * @param {mw.rcfilters.dm.FilterItem} invertModel * @param {mw.rcfilters.dm.FilterItem} model Item model * @param {Object} config Configuration object */ - mw.rcfilters.ui.FilterTagItemWidget = function MwRcfiltersUiFilterTagItemWidget( controller, model, config ) { + mw.rcfilters.ui.FilterTagItemWidget = function MwRcfiltersUiFilterTagItemWidget( controller, invertModel, model, config ) { config = config || {}; - mw.rcfilters.ui.FilterTagItemWidget.parent.call( this, controller, model, config ); + mw.rcfilters.ui.FilterTagItemWidget.parent.call( this, controller, invertModel, model, config ); this.$element .addClass( 'mw-rcfilters-ui-filterTagItemWidget' ); 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 757a000387..ef95f2f243 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js @@ -420,21 +420,19 @@ * @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() || - ( - this.model.isHighlightEnabled() && - item.isHighlightSupported() && - item.getHighlightColor() - ) - ) { - this.addTag( item.getName(), item.getLabel() ); - } else { - this.removeTagByData( item.getName() ); + if ( !item.getGroupModel().isHidden() ) { + if ( + item.isSelected() || + ( + this.model.isHighlightEnabled() && + item.isHighlightSupported() && + item.getHighlightColor() + ) + ) { + this.addTag( item.getName(), item.getLabel() ); + } else { + this.removeTagByData( item.getName() ); + } } this.setSavedQueryVisibility(); @@ -617,6 +615,7 @@ if ( filterItem ) { return new mw.rcfilters.ui.FilterTagItemWidget( this.controller, + this.model.getInvertModel(), filterItem, { $overlay: this.$overlay diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js index f2e9b1db35..36bc6cb9fe 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js @@ -6,10 +6,11 @@ * * @constructor * @param {mw.rcfilters.Controller} controller RCFilters controller + * @param {mw.rcfilters.dm.ItemModel} invertModel * @param {mw.rcfilters.dm.ItemModel} model Item model * @param {Object} config Configuration object */ - mw.rcfilters.ui.ItemMenuOptionWidget = function MwRcfiltersUiItemMenuOptionWidget( controller, model, config ) { + mw.rcfilters.ui.ItemMenuOptionWidget = function MwRcfiltersUiItemMenuOptionWidget( controller, invertModel, model, config ) { var layout, classes = [], $label = $( '
' ) @@ -18,6 +19,7 @@ config = config || {}; this.controller = controller; + this.invertModel = invertModel; this.model = model; // Parent @@ -59,7 +61,7 @@ this.excludeLabel = new OO.ui.LabelWidget( { label: mw.msg( 'rcfilters-filter-excluded' ) } ); - this.excludeLabel.toggle( this.model.isSelected() && this.model.isInverted() ); + this.excludeLabel.toggle( this.model.isSelected() && this.invertModel.isSelected() ); layout = new OO.ui.FieldLayout( this.checkboxWidget, { label: $label, @@ -67,6 +69,7 @@ } ); // Events + this.invertModel.connect( this, { update: 'onModelUpdate' } ); this.model.connect( this, { update: 'onModelUpdate' } ); // HACK: Prevent defaults on 'click' for the label so it // doesn't steal the focus away from the input. This means @@ -125,7 +128,7 @@ this.checkboxWidget.setSelected( this.model.isSelected() ); this.highlightButton.toggle( this.model.isHighlightEnabled() ); - this.excludeLabel.toggle( this.model.isSelected() && this.model.isInverted() ); + this.excludeLabel.toggle( this.model.isSelected() && this.invertModel.isSelected() ); }; /** diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js index 2aabe685a7..63a563c011 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js @@ -186,6 +186,7 @@ currentItems.push( new mw.rcfilters.ui.FilterMenuOptionWidget( widget.controller, + widget.model.getInvertModel(), filterItem, { $overlay: widget.$overlay diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js index 81889b26ca..cc314ac66a 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js @@ -8,21 +8,22 @@ * * @constructor * @param {mw.rcfilters.Controller} controller + * @param {mw.rcfilters.dm.FilterItem} invertModel * @param {mw.rcfilters.dm.FilterItem} model Item model * @param {Object} config Configuration object * @cfg {jQuery} [$overlay] A jQuery object serving as overlay for popups */ - mw.rcfilters.ui.TagItemWidget = function MwRcfiltersUiTagItemWidget( controller, model, config ) { + mw.rcfilters.ui.TagItemWidget = function MwRcfiltersUiTagItemWidget( controller, invertModel, model, config ) { // Configuration initialization config = config || {}; this.controller = controller; + this.invertModel = invertModel; this.model = model; this.selected = false; mw.rcfilters.ui.TagItemWidget.parent.call( this, $.extend( { - data: this.model.getName(), - label: $( '
' ).html( this.model.getPrefixedLabel() ).contents() + data: this.model.getName() }, config ) ); this.$overlay = config.$overlay || this.$element; @@ -52,7 +53,8 @@ this.closeButton.setTitle( mw.msg( 'rcfilters-tag-remove', this.model.getLabel() ) ); // Events - this.model.connect( this, { update: 'onModelUpdate' } ); + this.invertModel.connect( this, { update: 'updateUiBasedOnState' } ); + this.model.connect( this, { update: 'updateUiBasedOnState' } ); // Initialization this.$overlay.append( this.popup.$element ); @@ -63,8 +65,7 @@ .on( 'mouseenter', this.onMouseEnter.bind( this ) ) .on( 'mouseleave', this.onMouseLeave.bind( this ) ); - this.setCurrentMuteState(); - this.setHighlightColor(); + this.updateUiBasedOnState(); }; /* Initialization */ @@ -77,11 +78,11 @@ /** * Respond to model update event */ - mw.rcfilters.ui.TagItemWidget.prototype.onModelUpdate = function () { + mw.rcfilters.ui.TagItemWidget.prototype.updateUiBasedOnState = function () { this.setCurrentMuteState(); // Update label if needed - this.setLabel( $( '
' ).html( this.model.getPrefixedLabel() ).contents() ); + this.setLabel( $( '
' ).html( this.model.getPrefixedLabel( this.invertModel.isSelected() ) ).contents() ); this.setHighlightColor(); }; diff --git a/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js b/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js index edaaa39f6e..38ade4ddcd 100644 --- a/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js +++ b/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js @@ -59,7 +59,6 @@ filter4: '0', group3: '', highlight: '0', - invert: '0', group1__filter1_color: null, group1__filter2_color: null, group2__filter3_color: null, @@ -101,15 +100,6 @@ } ), 'Highlight parameters in Uri query set highlight state in the model' ); - - uriProcessor.updateModelBasedOnQuery( { invert: '1', urlversion: '2' } ); - assert.deepEqual( - uriProcessor.getUriParametersFromModel(), - $.extend( true, {}, baseParams, { - invert: '1' - } ), - 'Invert parameter in Uri query set invert state in the model' - ); } ); QUnit.test( 'isNewState', function ( assert ) { diff --git a/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js b/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js index 324a652ce4..6a0592069f 100644 --- a/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js +++ b/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js @@ -56,8 +56,7 @@ highlight: true, filter1: 'c5', group3option1: 'c1' - }, - invert: true + } } } } @@ -75,8 +74,7 @@ // Group type string_options group2: 'filter4', // Note - Group3 is sticky, so it won't show in output - // Invert/highlight toggles - invert: '1', + // highlight toggle highlight: '1' }, highlights: { @@ -286,8 +284,7 @@ group2: 'filter5', filter1: '0', filter2: '0', - highlight: '1', - invert: '0' + highlight: '1' }, highlights: { filter1_color: 'c5', -- 2.20.1