/*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
*/\r
CKEDITOR.scriptLoader = (function()\r
{\r
- var uniqueScripts = {};\r
- var waitingList = {};\r
+ var uniqueScripts = {},\r
+ waitingList = {};\r
\r
return /** @lends CKEDITOR.scriptLoader */ {\r
/**\r
* ones.\r
* @param {Object} [scope] The scope ("this" reference) to be used for\r
* the callback call. Default to {@link CKEDITOR}.\r
- * @param {Boolean} [noCheck] Indicates that the script must be loaded\r
- * anyway, not checking if it has already loaded.\r
+ * @param {Boolean} [showBusy] Changes the cursor of the document while\r
++ * the script is loaded.\r
* @example\r
* CKEDITOR.scriptLoader.load( '/myscript.js' );\r
* @example\r
* alert( 'Number of failures: ' + failed.length );\r
* });\r
*/\r
- load : function( scriptUrl, callback, scope, noCheck )\r
+ load : function( scriptUrl, callback, scope, showBusy )\r
{\r
var isString = ( typeof scriptUrl == 'string' );\r
\r
( success ? completed : failed ).push( url );\r
\r
if ( --scriptCount <= 0 )\r
+ {\r
+ showBusy && CKEDITOR.document.getDocumentElement().removeStyle( 'cursor' );\r
doCallback( success );\r
+ }\r
};\r
\r
var onLoad = function( url, success )\r
\r
var loadScript = function( url )\r
{\r
- if ( noCheck !== true && uniqueScripts[ url ] )\r
+ if ( uniqueScripts[ url ] )\r
{\r
checkLoaded( url, true );\r
return;\r
CKEDITOR.fire( 'download', url ); // @Packager.RemoveLine\r
};\r
\r
+ showBusy && CKEDITOR.document.getDocumentElement().setStyle( 'cursor', 'wait' );\r
for ( var i = 0 ; i < scriptCount ; i++ )\r
{\r
loadScript( scriptUrl[ i ] );\r
}\r
- },\r
-\r
- /**\r
- * Executes a JavaScript code into the current document.\r
- * @param {String} code The code to be executed.\r
- * @example\r
- * CKEDITOR.scriptLoader.loadCode( 'var x = 10;' );\r
- * alert( x ); // "10"\r
- */\r
- loadCode : function( code )\r
- {\r
- // Create the <script> element.\r
- var script = new CKEDITOR.dom.element( 'script' );\r
- script.setAttribute( 'type', 'text/javascript' );\r
- script.appendText( code );\r
-\r
- // Append it to <head>.\r
- script.appendTo( CKEDITOR.document.getHead() );\r
}\r
};\r
})();\r