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=85365702ea555bd0fd7f515d4ed9ed8aa4410f80;hb=e7720b8f8e09287384ddee271641d1b1721318bb;hpb=fdd7397465a1b2451185db2f9168d17b1269cfd0 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 85365702ea..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; }; /**