X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.base%2Fmediawiki.base.js;h=00a74fe468f6f94b65dce0118fcd06c407cb04fc;hp=107ab33fb6bc77e8aee4baed4bf7790ac3d199f6;hb=04d1aa3033f40a38d721f7f0e88b5bac440d2869;hpb=d55fb0791b2bb8a2ea9f34347f565efe730152d4 diff --git a/resources/src/mediawiki.base/mediawiki.base.js b/resources/src/mediawiki.base/mediawiki.base.js index 107ab33fb6..00a74fe468 100644 --- a/resources/src/mediawiki.base/mediawiki.base.js +++ b/resources/src/mediawiki.base/mediawiki.base.js @@ -103,11 +103,12 @@ * @return {string} Parsed message */ parser: function () { - var text; - if ( mw.config.get( 'wgUserLanguage' ) === 'qqx' ) { + var text = this.map.get( this.key ); + if ( + mw.config.get( 'wgUserLanguage' ) === 'qqx' && + ( !text || text === '(' + this.key + ')' ) + ) { text = '(' + this.key + '$*)'; - } else { - text = this.map.get( this.key ); } return mw.format.apply( null, [ text ].concat( this.parameters ) ); }, @@ -644,7 +645,7 @@ var deferred = $.Deferred(); // Allow calling with a single dependency as a string - if ( typeof dependencies === 'string' ) { + if ( !Array.isArray( dependencies ) ) { dependencies = [ dependencies ]; } @@ -662,13 +663,42 @@ return deferred.reject( e ).promise(); } - mw.loader.enqueue( dependencies, function () { - deferred.resolve( mw.loader.require ); - }, deferred.reject ); + mw.loader.enqueue( + dependencies, + function () { deferred.resolve( mw.loader.require ); }, + deferred.reject + ); return deferred.promise(); }; + /** + * Load a script by URL. + * + * Example: + * + * mw.loader.getScript( + * 'https://example.org/x-1.0.0.js' + * ) + * .then( function () { + * // Script succeeded. You can use X now. + * }, function ( e ) { + * // Script failed. X is not avaiable + * mw.log.error( e.message ); // => "Failed to load script" + * } ); + * } ); + * + * @member mw.loader + * @param {string} url Script URL + * @return {jQuery.Promise} Resolved when the script is loaded + */ + mw.loader.getScript = function ( url ) { + return $.ajax( url, { dataType: 'script', cache: true } ) + .catch( function () { + throw new Error( 'Failed to load script' ); + } ); + }; + // Alias $j to jQuery for backwards compatibility // @deprecated since 1.23 Use $ or jQuery instead mw.log.deprecate( window, '$j', $, 'Use $ or jQuery instead.' );