From: Bartosz DziewoƄski Date: Tue, 30 Aug 2016 16:18:39 +0000 (+0200) Subject: mw.api.messages: Allow passing extra parameters for the API call X-Git-Tag: 1.31.0-rc.0~5783^2~1 X-Git-Url: https://git.cyclocoop.org/admin/%7B%24plugin.url%7Cescape%7D?a=commitdiff_plain;h=49398f125028c35e1efbb34370dec5615a1371ed;p=lhc%2Fweb%2Fwiklou.git mw.api.messages: Allow passing extra parameters for the API call Mostly I want to pass `amenableparser: true`. Bug: T144237 Change-Id: I7e1a52a59a25befe4edb7b4f531d60a2615e8f90 --- diff --git a/resources/src/mediawiki/api/messages.js b/resources/src/mediawiki/api/messages.js index 077e84df08..a1a499960f 100644 --- a/resources/src/mediawiki/api/messages.js +++ b/resources/src/mediawiki/api/messages.js @@ -14,16 +14,18 @@ * Get a set of messages. * * @param {Array} messages Messages to retrieve + * @param {Object} [options] Additional parameters for the API call * @return {jQuery.Promise} */ - getMessages: function ( messages ) { - return this.get( { + getMessages: function ( messages, options ) { + options = options || {}; + return this.get( $.extend( { action: 'query', meta: 'allmessages', ammessages: messages, amlang: mw.config.get( 'wgUserLanguage' ), formatversion: 2 - } ).then( function ( data ) { + }, options ) ).then( function ( data ) { var result = {}; $.each( data.query.allmessages, function ( i, obj ) { @@ -40,10 +42,11 @@ * Loads a set of messages and add them to mw.messages. * * @param {Array} messages Messages to retrieve + * @param {Object} [options] Additional parameters for the API call * @return {jQuery.Promise} */ - loadMessages: function ( messages ) { - return this.getMessages( messages ).then( $.proxy( mw.messages, 'set' ) ); + loadMessages: function ( messages, options ) { + return this.getMessages( messages, options ).then( $.proxy( mw.messages, 'set' ) ); }, /** @@ -51,9 +54,10 @@ * are loaded. If all messages are known, the returned promise is resolved immediately. * * @param {Array} messages Messages to retrieve + * @param {Object} [options] Additional parameters for the API call * @return {jQuery.Promise} */ - loadMessagesIfMissing: function ( messages ) { + loadMessagesIfMissing: function ( messages, options ) { var missing = messages.filter( function ( msg ) { return !mw.message( msg ).exists(); } ); @@ -62,7 +66,7 @@ return $.Deferred().resolve(); } - return this.getMessages( missing ).then( $.proxy( mw.messages, 'set' ) ); + return this.getMessages( missing, options ).then( $.proxy( mw.messages, 'set' ) ); } } );