| Current File : /home/jvzmxxx/wiki1/extensions/MobileFrontend/resources/mobile.startup/rlModuleLoader.js |
( function ( M ) {
var loader,
LoadingOverlay = M.require( 'mobile.startup/LoadingOverlay' );
/**
* Utility library for looking up details on the current user
* @class loader
* @singleton
*/
loader = {
/**
* Loads a module via ResourceLoader, displays a full screen LoadingOverlay during load time.
* @method
* @param {string} name ResourceLoader module name to load asynchronously.
* @param {boolean} delegateHide if true the caller is responsible for hiding the intermediate loader.
* @param {boolean} [showLoadingOverlay] if false a loading overlay will be hidden while
* loading the module. Defaults to true.
* @return {jQuery.Deferred}
*/
loadModule: function ( name, delegateHide, showLoadingOverlay ) {
var loadingOverlay = new LoadingOverlay();
showLoadingOverlay = ( showLoadingOverlay !== undefined ) ? showLoadingOverlay : true;
if ( showLoadingOverlay ) {
loadingOverlay.show();
}
return mw.loader.using( name ).then( function () {
return loadingOverlay;
} ).always( function () {
if ( !delegateHide && showLoadingOverlay ) {
loadingOverlay.hide();
}
} );
}
};
M.define( 'mobile.startup/rlModuleLoader', loader )
.deprecate( 'mobile.overlays/moduleLoader' );
}( mw.mobileFrontend ) );