]> git.wh0rd.org - tt-rss.git/blobdiff - lib/dojo/io/script.js
add dijit/dojo stuff; initial ui mockup
[tt-rss.git] / lib / dojo / io / script.js
diff --git a/lib/dojo/io/script.js b/lib/dojo/io/script.js
new file mode 100644 (file)
index 0000000..9a94063
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+       Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
+       Available via Academic Free License >= 2.1 OR the modified BSD license.
+       see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojo.io.script"]){
+dojo._hasResource["dojo.io.script"]=true;
+dojo.provide("dojo.io.script");
+(function(){
+var _1=dojo.isIE?"onreadystatechange":"load",_2=/complete|loaded/;
+dojo.io.script={get:function(_3){
+var _4=this._makeScriptDeferred(_3);
+var _5=_4.ioArgs;
+dojo._ioAddQueryToUrl(_5);
+dojo._ioNotifyStart(_4);
+if(this._canAttach(_5)){
+var _6=this.attach(_5.id,_5.url,_3.frameDoc);
+if(!_5.jsonp&&!_5.args.checkString){
+var _7=dojo.connect(_6,_1,function(_8){
+if(_8.type=="load"||_2.test(_6.readyState)){
+dojo.disconnect(_7);
+_5.scriptLoaded=_8;
+}
+});
+}
+}
+dojo._ioWatch(_4,this._validCheck,this._ioCheck,this._resHandle);
+return _4;
+},attach:function(id,_9,_a){
+var _b=(_a||dojo.doc);
+var _c=_b.createElement("script");
+_c.type="text/javascript";
+_c.src=_9;
+_c.id=id;
+_c.charset="utf-8";
+return _b.getElementsByTagName("head")[0].appendChild(_c);
+},remove:function(id,_d){
+dojo.destroy(dojo.byId(id,_d));
+if(this["jsonp_"+id]){
+delete this["jsonp_"+id];
+}
+},_makeScriptDeferred:function(_e){
+var _f=dojo._ioSetArgs(_e,this._deferredCancel,this._deferredOk,this._deferredError);
+var _10=_f.ioArgs;
+_10.id=dojo._scopeName+"IoScript"+(this._counter++);
+_10.canDelete=false;
+_10.jsonp=_e.callbackParamName||_e.jsonp;
+if(_10.jsonp){
+_10.query=_10.query||"";
+if(_10.query.length>0){
+_10.query+="&";
+}
+_10.query+=_10.jsonp+"="+(_e.frameDoc?"parent.":"")+dojo._scopeName+".io.script.jsonp_"+_10.id+"._jsonpCallback";
+_10.frameDoc=_e.frameDoc;
+_10.canDelete=true;
+_f._jsonpCallback=this._jsonpCallback;
+this["jsonp_"+_10.id]=_f;
+}
+return _f;
+},_deferredCancel:function(dfd){
+dfd.canceled=true;
+if(dfd.ioArgs.canDelete){
+dojo.io.script._addDeadScript(dfd.ioArgs);
+}
+},_deferredOk:function(dfd){
+var _11=dfd.ioArgs;
+if(_11.canDelete){
+dojo.io.script._addDeadScript(_11);
+}
+return _11.json||_11.scriptLoaded||_11;
+},_deferredError:function(_12,dfd){
+if(dfd.ioArgs.canDelete){
+if(_12.dojoType=="timeout"){
+dojo.io.script.remove(dfd.ioArgs.id,dfd.ioArgs.frameDoc);
+}else{
+dojo.io.script._addDeadScript(dfd.ioArgs);
+}
+}
+return _12;
+},_deadScripts:[],_counter:1,_addDeadScript:function(_13){
+dojo.io.script._deadScripts.push({id:_13.id,frameDoc:_13.frameDoc});
+_13.frameDoc=null;
+},_validCheck:function(dfd){
+var _14=dojo.io.script;
+var _15=_14._deadScripts;
+if(_15&&_15.length>0){
+for(var i=0;i<_15.length;i++){
+_14.remove(_15[i].id,_15[i].frameDoc);
+_15[i].frameDoc=null;
+}
+dojo.io.script._deadScripts=[];
+}
+return true;
+},_ioCheck:function(dfd){
+var _16=dfd.ioArgs;
+if(_16.json||(_16.scriptLoaded&&!_16.args.checkString)){
+return true;
+}
+var _17=_16.args.checkString;
+if(_17&&eval("typeof("+_17+") != 'undefined'")){
+return true;
+}
+return false;
+},_resHandle:function(dfd){
+if(dojo.io.script._ioCheck(dfd)){
+dfd.callback(dfd);
+}else{
+dfd.errback(new Error("inconceivable dojo.io.script._resHandle error"));
+}
+},_canAttach:function(_18){
+return true;
+},_jsonpCallback:function(_19){
+this.ioArgs.json=_19;
+}};
+})();
+}