From 2f01fe57a8d37767827d6db42850aef86a767c53 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 15 Nov 2010 10:39:52 +0300 Subject: add dijit/dojo stuff; initial ui mockup --- lib/dojo/io/script.js | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 lib/dojo/io/script.js (limited to 'lib/dojo/io/script.js') diff --git a/lib/dojo/io/script.js b/lib/dojo/io/script.js new file mode 100644 index 000000000..9a940634d --- /dev/null +++ b/lib/dojo/io/script.js @@ -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; +}}; +})(); +} -- cgit v1.2.3