X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.rcfilters%2Fdm%2Fmw.rcfilters.dm.SavedQueriesModel.js;h=a7f3d2312f907f23b5f4953aba9b2117ebd1fd5d;hp=efccc11053afa8f83f0077dc52534b7156d02795;hb=fb79f30319b9ad2a7eb0f5f4d1668143ec8f963e;hpb=25d765c4735346f5207037c6f939709509013601 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 efccc11053..a7f3d2312f 100644 --- a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js +++ b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js @@ -2,6 +2,7 @@ /** * View model for saved queries * + * @class * @mixins OO.EventEmitter * @mixins OO.EmitterList * @@ -65,13 +66,16 @@ * the above structure. * @param {Object} [baseState] An object representing the base state * so we can normalize the data + * @param {string[]} [ignoreFilters] Filters to ignore and remove from + * the data * @fires initialize */ - mw.rcfilters.dm.SavedQueriesModel.prototype.initialize = function ( savedQueries, baseState ) { + mw.rcfilters.dm.SavedQueriesModel.prototype.initialize = function ( savedQueries, baseState, ignoreFilters ) { var items = [], defaultItem = null; savedQueries = savedQueries || {}; + ignoreFilters = ignoreFilters || {}; this.baseState = baseState; @@ -90,6 +94,11 @@ // for existing users, who are only betalabs users at the moment. normalizedData.highlights.highlight = !!Number( normalizedData.highlights.highlight ); + // Backwards-compat fix: Remove sticky parameters from the 'ignoreFilters' list + ignoreFilters.forEach( function ( name ) { + delete normalizedData.filters[ name ]; + } ); + item = new mw.rcfilters.dm.SavedQueryItemModel( id, obj.label, @@ -118,6 +127,7 @@ * * @param {string} label Label for the new query * @param {Object} data Data for the new query + * @return {string} ID of the newly added query */ mw.rcfilters.dm.SavedQueriesModel.prototype.addNewQuery = function ( label, data ) { var randomID = ( new Date() ).getTime(), @@ -131,6 +141,8 @@ normalizedData ) ] ); + + return randomID; }; /** @@ -145,10 +157,10 @@ // Check if this item was the default if ( String( this.getDefault() ) === String( queryID ) ) { // Nulify the default - this.savedQueriesModel.setDefault( null ); + this.setDefault( null ); } - this.savedQueriesModel.removeItems( [ query ] ); + this.removeItems( [ query ] ); } };