From: Timo Tijhof Date: Sat, 9 Jun 2012 15:47:41 +0000 (+0200) Subject: mw.language: Document ability to set multiple values at once. X-Git-Tag: 1.31.0-rc.0~23357^2 X-Git-Url: https://git.cyclocoop.org/%28%28?a=commitdiff_plain;h=1f5925f395a332642fa96a6acfe2a3bdab4d9116;p=lhc%2Fweb%2Fwiklou.git mw.language: Document ability to set multiple values at once. * ResourceLoaderLanguageDataModule uses this but it looked a bit like an error when looking at the function signature of setData. This is the power of mw.Map. * Fixed indention as well. * Added missing semi colon. Change-Id: I1e9e8254862ae08e9a11e55dd42d7e851a56a3cc --- diff --git a/includes/resourceloader/ResourceLoaderLanguageDataModule.php b/includes/resourceloader/ResourceLoaderLanguageDataModule.php index 49047353dd..b823f1d25b 100644 --- a/includes/resourceloader/ResourceLoaderLanguageDataModule.php +++ b/includes/resourceloader/ResourceLoaderLanguageDataModule.php @@ -46,7 +46,9 @@ class ResourceLoaderLanguageDataModule extends ResourceLoaderModule { return Xml::encodeJsCall( 'mw.language.setData', array( $wgContLang->getCode(), - array( 'grammarForms' => $this->getSiteLangGrammarForms() ) + array( + 'grammarForms' => $this->getSiteLangGrammarForms() + ) ) ); } diff --git a/resources/mediawiki.language/mediawiki.language.init.js b/resources/mediawiki.language/mediawiki.language.init.js index 20ed711b34..b49823c842 100644 --- a/resources/mediawiki.language/mediawiki.language.init.js +++ b/resources/mediawiki.language/mediawiki.language.init.js @@ -4,53 +4,58 @@ */ ( function( $, mw ) { -var language = { - /** - * @var data {Object} Language related data (keyed by language, - * contains instances of mw.Map). - * @example Set data - * - * // Override, extend or create the language data object of 'nl' - * mw.language.setData( 'nl', 'myKey', 'My value' ); - * - * @example Get GrammarForms data for language 'nl': - * - * var grammarForms = mw.language.getData( 'nl', 'grammarForms' ); - * - */ - data: {}, + var language = { + /** + * @var data {Object} Language related data (keyed by language, + * contains instances of mw.Map). + * @example Set data + * + * // Override, extend or create the language data object of 'nl' + * mw.language.setData( 'nl', 'myKey', 'My value' ); + * + * // Set multiple values at once + * mw.language.setData( 'nl', { 'foo': 'X', 'bar': 'Y' } ); + * + * @example Get GrammarForms data for language 'nl': + * + * var grammarForms = mw.language.getData( 'nl', 'grammarForms' ); + * + */ + data: {}, - /** - * Convenience method for retreiving language data by language code and data key, - * covering for the potential inexistance of a data object for this langiage. - * @param langCode {String} - * @param dataKey {String} - * @return {mixed} Value stored in the mw.Map (or undefined if there is no map for - the specified langCode). - */ - getData: function ( langCode, dataKey ) { - var langData = language.data; - if ( langData[langCode] instanceof mw.Map ) { - return langData[langCode].get( dataKey ); - } - return undefined; - }, + /** + * Convenience method for retreiving language data by language code and data key, + * covering for the potential inexistance of a data object for this langiage. + * @param langCode {String} + * @param dataKey {String} + * @return {mixed} Value stored in the mw.Map (or undefined if there is no map for + the specified langCode). + */ + getData: function ( langCode, dataKey ) { + var langData = language.data; + if ( langData[langCode] instanceof mw.Map ) { + return langData[langCode].get( dataKey ); + } + return undefined; + }, - /** - * Convenience method for setting language data by language code and data key. - * Creates a data object if there isn't one for the specified language already. - * @param langCode {String} - * @param dataKey {String} - * @param value {mixed} - */ - setData: function ( langCode, dataKey, value ) { - var langData = language.data; - if ( !( langData[langCode] instanceof mw.Map ) ) { - langData[langCode] = new mw.Map(); + /** + * Convenience method for setting language data by language code and data key. + * Creates the data mw.Map if there isn't one for the specified language already. + * + * @param langCode {String} + * @param dataKey {String|Object} Key or object of key/values. + * @param value {mixed} Value for dataKey, ignored if dataKey is an object. + */ + setData: function ( langCode, dataKey, value ) { + var langData = language.data; + if ( !( langData[langCode] instanceof mw.Map ) ) { + langData[langCode] = new mw.Map(); + } + langData[langCode].set( dataKey, value ); } - langData[langCode].set( dataKey, value ); - } -} -mw.language = language; + }; + + mw.language = language; } )( jQuery, mediaWiki );