mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-14 07:55:56 +00:00
upgrade dojo to 1.8.3 (refs #570)
This commit is contained in:
136
lib/dojo/ready.js.uncompressed.js
Normal file
136
lib/dojo/ready.js.uncompressed.js
Normal file
@@ -0,0 +1,136 @@
|
||||
define("dojo/ready", ["./_base/kernel", "./has", "require", "./domReady", "./_base/lang"], function(dojo, has, require, domReady, lang){
|
||||
// module:
|
||||
// dojo/ready
|
||||
// note:
|
||||
// This module should be unnecessary in dojo 2.0
|
||||
|
||||
var
|
||||
// truthy if DOMContentLoaded or better (e.g., window.onload fired) has been achieved
|
||||
isDomReady = 0,
|
||||
|
||||
// a function to call to cause onLoad to be called when all requested modules have been loaded
|
||||
requestCompleteSignal,
|
||||
|
||||
// The queue of functions waiting to execute as soon as dojo.ready conditions satisfied
|
||||
loadQ = [],
|
||||
|
||||
// prevent recursion in onLoad
|
||||
onLoadRecursiveGuard = 0,
|
||||
|
||||
handleDomReady = function(){
|
||||
isDomReady = 1;
|
||||
dojo._postLoad = dojo.config.afterOnLoad = true;
|
||||
if(loadQ.length){
|
||||
requestCompleteSignal(onLoad);
|
||||
}
|
||||
},
|
||||
|
||||
// run the next function queued with dojo.ready
|
||||
onLoad = function(){
|
||||
if(isDomReady && !onLoadRecursiveGuard && loadQ.length){
|
||||
//guard against recursions into this function
|
||||
onLoadRecursiveGuard = 1;
|
||||
var f = loadQ.shift();
|
||||
try{
|
||||
f();
|
||||
}
|
||||
// FIXME: signal the error via require.on
|
||||
finally{
|
||||
onLoadRecursiveGuard = 0;
|
||||
}
|
||||
onLoadRecursiveGuard = 0;
|
||||
if(loadQ.length){
|
||||
requestCompleteSignal(onLoad);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
require.on("idle", onLoad);
|
||||
requestCompleteSignal = function(){
|
||||
if(require.idle()){
|
||||
onLoad();
|
||||
} // else do nothing, onLoad will be called with the next idle signal
|
||||
};
|
||||
|
||||
var ready = dojo.ready = dojo.addOnLoad = function(priority, context, callback){
|
||||
// summary:
|
||||
// Add a function to execute on DOM content loaded and all requested modules have arrived and been evaluated.
|
||||
// In most cases, the `domReady` plug-in should suffice and this method should not be needed.
|
||||
// priority: Integer?
|
||||
// The order in which to exec this callback relative to other callbacks, defaults to 1000
|
||||
// context: Object?|Function
|
||||
// The context in which to run execute callback, or a callback if not using context
|
||||
// callback: Function?
|
||||
// The function to execute.
|
||||
//
|
||||
// example:
|
||||
// Simple DOM and Modules ready syntax
|
||||
// | require(["dojo/ready"], function(ready){
|
||||
// | ready(function(){ alert("Dom ready!"); });
|
||||
// | });
|
||||
//
|
||||
// example:
|
||||
// Using a priority
|
||||
// | require(["dojo/ready"], function(ready){
|
||||
// | ready(2, function(){ alert("low priority ready!"); })
|
||||
// | });
|
||||
//
|
||||
// example:
|
||||
// Using context
|
||||
// | require(["dojo/ready"], function(ready){
|
||||
// | ready(foo, function(){
|
||||
// | // in here, this == foo
|
||||
// | });
|
||||
// | });
|
||||
//
|
||||
// example:
|
||||
// Using dojo/hitch style args:
|
||||
// | require(["dojo/ready"], function(ready){
|
||||
// | var foo = { dojoReady: function(){ console.warn(this, "dojo dom and modules ready."); } };
|
||||
// | ready(foo, "dojoReady");
|
||||
// | });
|
||||
|
||||
var hitchArgs = lang._toArray(arguments);
|
||||
if(typeof priority != "number"){
|
||||
callback = context;
|
||||
context = priority;
|
||||
priority = 1000;
|
||||
}else{
|
||||
hitchArgs.shift();
|
||||
}
|
||||
callback = callback ?
|
||||
lang.hitch.apply(dojo, hitchArgs) :
|
||||
function(){
|
||||
context();
|
||||
};
|
||||
callback.priority = priority;
|
||||
for(var i = 0; i < loadQ.length && priority >= loadQ[i].priority; i++){}
|
||||
loadQ.splice(i, 0, callback);
|
||||
requestCompleteSignal();
|
||||
};
|
||||
|
||||
1 || has.add("dojo-config-addOnLoad", 1);
|
||||
if( 1 ){
|
||||
var dca = dojo.config.addOnLoad;
|
||||
if(dca){
|
||||
ready[(lang.isArray(dca) ? "apply" : "call")](dojo, dca);
|
||||
}
|
||||
}
|
||||
|
||||
if( 1 && dojo.config.parseOnLoad && !dojo.isAsync){
|
||||
ready(99, function(){
|
||||
if(!dojo.parser){
|
||||
dojo.deprecated("Add explicit require(['dojo/parser']);", "", "2.0");
|
||||
require(["dojo/parser"]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if( 1 ){
|
||||
domReady(handleDomReady);
|
||||
}else{
|
||||
handleDomReady();
|
||||
}
|
||||
|
||||
return ready;
|
||||
});
|
||||
Reference in New Issue
Block a user