From 49398f125028c35e1efbb34370dec5615a1371ed Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Tue, 30 Aug 2016 18:18:39 +0200 Subject: [PATCH] mw.api.messages: Allow passing extra parameters for the API call Mostly I want to pass `amenableparser: true`. Bug: T144237 Change-Id: I7e1a52a59a25befe4edb7b4f531d60a2615e8f90 --- resources/src/mediawiki/api/messages.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) 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' ) ); } } ); -- 2.20.1