root / trunk / web / dojo / dojox / widget / Loader.js @ 13
History | View | Annotate | Download (2.05 KB)
1 |
/*
|
---|---|
2 |
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
3 |
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
4 |
see: http://dojotoolkit.org/license for details
|
5 |
*/
|
6 |
|
7 |
|
8 |
if(!dojo._hasResource["dojox.widget.Loader"]){ |
9 |
dojo._hasResource["dojox.widget.Loader"]=true; |
10 |
dojo.provide("dojox.widget.Loader");
|
11 |
dojo.deprecated("dojox.widget.Loader","","2.0"); |
12 |
dojo.require("dijit._Widget");
|
13 |
dojo.require("dijit._Templated");
|
14 |
dojo.declare("dojox.widget.Loader",[dijit._Widget,dijit._Templated],{loadIcon:dojo.moduleUrl("dojox.widget.Loader","icons/loading.gif"),loadMessage:"Loading ...",hasVisuals:true,attachToPointer:true,duration:125,_offset:16,_pointerConnect:null,_xhrStart:null,_xhrEnd:null,templateString:"<div dojoAttachPoint=\"loadNode\" class=\"dojoxLoader\">"+"<img src=\"${loadIcon}\" class=\"dojoxLoaderIcon\"> <span dojoAttachPoint=\"loadMessageNode\" class=\"dojoxLoaderMessage\"></span>"+"</div>",postCreate:function(){ |
15 |
if(!this.hasVisuals){ |
16 |
this.loadNode.style.display="none"; |
17 |
}else{
|
18 |
if(this.attachToPointer){ |
19 |
dojo.removeClass(this.loadNode,"dojoxLoader"); |
20 |
dojo.addClass(this.loadNode,"dojoxLoaderPointer"); |
21 |
} |
22 |
this._hide();
|
23 |
} |
24 |
this._setMessage(this.loadMessage); |
25 |
this._xhrStart=this.connect(dojo,"_ioSetArgs","_show"); |
26 |
this._xhrEnd=this.connect(dojo.Deferred.prototype,"_fire","_hide"); |
27 |
},_setMessage:function(_1){ |
28 |
this.loadMessageNode.innerHTML=_1;
|
29 |
},_putLoader:function(e){ |
30 |
dijit.placeOnScreen(this.loadNode,{x:e.clientX+this._offset,y:e.clientY+this._offset},["TL","BR"]); |
31 |
},_show:function(){ |
32 |
dojo.publish("Loader",[{message:"started"}]); |
33 |
if(this.hasVisuals){ |
34 |
if(this.attachToPointer){ |
35 |
this._pointerConnect=this.connect(document,"onmousemove","_putLoader"); |
36 |
} |
37 |
dojo.style(this.loadNode,{opacity:0,display:""}); |
38 |
dojo.fadeIn({node:this.loadNode,duration:this.duration}).play(); |
39 |
} |
40 |
},_hide:function(){ |
41 |
dojo.publish("Loader",[{message:"ended"}]); |
42 |
if(this.hasVisuals){ |
43 |
if(this.attachToPointer){ |
44 |
this.disconnect(this._pointerConnect); |
45 |
} |
46 |
dojo.fadeOut({node:this.loadNode,duration:this.duration,onEnd:dojo.partial(dojo.style,this.loadNode,"display","none")}).play(); |
47 |
} |
48 |
}}); |
49 |
} |