a:23:{s:9:"#provides";s:20:"dojox.widget.Standby";s:9:"#resource";s:17:"widget/Standby.js";s:9:"#requires";a:3:{i:0;a:3:{i:0;s:6:"common";i:1;s:13:"dijit._Widget";i:2;s:5:"dijit";}i:1;a:3:{i:0;s:6:"common";i:1;s:16:"dijit._Templated";i:2;s:5:"dijit";}i:2;a:3:{i:0;s:6:"common";i:1;s:7:"dojo.fx";i:2;s:4:"dojo";}}s:20:"dojox.widget.Standby";a:5:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:13:"dijit._Widget";}s:4:"call";a:2:{i:0;s:13:"dijit._Widget";i:1;s:16:"dijit._Templated";}}s:6:"mixins";a:1:{s:9:"prototype";a:1:{i:0;s:26:"dijit._Templated.prototype";}}s:7:"summary";s:223:"A widget designed to act as a Standby/Busy/Disable/Blocking widget to indicate a particular DOM node is processing and cannot be clicked on at this time. This widget uses absolute positioning to apply the overlay and image.";s:9:"classlike";b:1;}s:33:"dojox.widget.Standby.templatePath";a:2:{s:9:"prototype";s:20:"dojox.widget.Standby";s:7:"summary";s:0:"";}s:34:"dojox.widget.Standby._underlayNode";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:31:"dojox.widget.Standby._imageNode";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:26:"dojox.widget.Standby.image";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:1:"A";s:7:"summary";s:87:"URL to an image to center within the blocking overlay. The default is a basic spinner.";}s:30:"dojox.widget.Standby.imageText";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:4:"Text";s:7:"summary";s:68:"to set on the ALT tag of the image. The default is 'Please wait...'";}s:31:"dojox.widget.Standby._displayed";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:8:"instance";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:33:"dojox.widget.Standby._resizeCheck";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:8:"instance";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:27:"dojox.widget.Standby.target";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:8:"instance";s:20:"dojox.widget.Standby";s:7:"summary";s:0:"";}s:26:"dojox.widget.Standby.color";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:3:"The";s:7:"summary";s:87:"color to use for the translucent overlay. Text string such as: darkblue, #FE02FD, etc.";}s:28:"dojox.widget.Standby.startup";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:809:" if(typeof this.target === "string"){ var w = dijit.byId(this.target); if(w){ this.target = w.domNode; }else{ this.target = dojo.byId(this.target); } } dojo.style(this._underlayNode, "display", "none"); dojo.style(this._imageNode, "display", "none"); dojo.style(this._underlayNode, "backgroundColor", this.color); dojo.attr(this._imageNode, "src", this.image); dojo.attr(this._imageNode, "alt", this.imageText); this.connect(this._underlayNode, "onclick", "_ignore"); //Last thing to do is move the widgets parent, if any, to the current document body. Avoids having to deal with //parent relative/absolute mess. Otherwise positioning goes goofy. if(this.domNode.parentNode && this.domNode.parentNode != dojo.body()){ dojo.body().appendChild(this.domNode); } ";s:7:"summary";s:102:"Over-ride of the basic widget startup function. Configures the target node and sets the image to use.";}s:25:"dojox.widget.Standby.show";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:90:" if(!this._displayed){ this._displayed = true; this._size(); this._fadeIn(); }";s:7:"summary";s:61:"Function to display the blocking overlay and busy/status icon";}s:25:"dojox.widget.Standby.hide";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:201:" if(this._displayed){ this._size(); this._fadeOut(); this._displayed = false; if (this._resizeCheck !== null) { clearInterval(this._resizeCheck); this._resizeCheck = null; } }";s:7:"summary";s:54:"Function to hide the blocking overlay and status icon.";}s:26:"dojox.widget.Standby._size";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:3256:" if(this._displayed){ //Show the image and make sure the zIndex is set high. var curStyle = dojo.style(this._imageNode, "display"); dojo.style(this._imageNode, "display", "block"); var box = dojo.coords(this.target); var img = dojo.marginBox(this._imageNode); dojo.style(this._imageNode, "display", curStyle); dojo.style(this._imageNode, "zIndex", "10000"); //Need scroll positions as it needs to alter ABS positioning. var sVal = dojo._docScroll(); if(!sVal){ sVal = {x:0,y:0}; } //Address margins as they shift the position.. var marginLeft = dojo.style(this.target, "marginLeft"); if(dojo.isWebKit && marginLeft){ //Webkit works differently here. Needs to be doubled. //Don't ask me why. :) marginLeft = marginLeft*2; } if(marginLeft){ box.w = box.w - marginLeft; } if (!dojo.isWebKit) { //Webkit and others work differently here. var marginRight = dojo.style(this.target, "marginRight"); if(marginRight){ box.w = box.w - marginRight; } } var marginTop = dojo.style(this.target, "marginTop"); if(marginTop){ box.h = box.h - marginTop; } var marginBottom = dojo.style(this.target, "marginBottom"); if(marginBottom){ box.h = box.h - marginBottom; } if(box.h > 0 && box.w > 0){ //Set position and size of the blocking div overlay. dojo.style(this._underlayNode, "width", box.w + "px"); dojo.style(this._underlayNode, "height", box.h + "px"); dojo.style(this._underlayNode, "top", (box.y + sVal.y) + "px"); dojo.style(this._underlayNode, "left", (box.x + sVal.x) + "px"); //Apply curving styles if present. var cloneStyles = function(list, scope){ dojo.forEach(list, function(style){ dojo.style(this._underlayNode,style,dojo.style(this.target,style)); }, scope); }; var styles = ["borderRadius", "borderTopLeftRadius", "borderTopRightRadius","borderBottomLeftRadius", "borderBottomRightRadius"]; cloneStyles(styles, this); if(!dojo.isIE){ //Browser specific styles to try and clone if non-IE. styles = ["MozBorderRadius", "MozBorderRadiusTopleft", "MozBorderRadiusTopright","MozBorderRadiusBottomleft", "MozBorderRadiusBottomright", "WebkitBorderRadius", "WebkitBorderTopLeftRadius", "WebkitBorderTopRightRadius", "WebkitBorderBottomLeftRadius","WebkitBorderBottomRightRadius" ]; cloneStyles(styles, this); } var imgTop = (box.h/2) - (img.h/2); var imgLeft = (box.w/2) - (img.w/2); dojo.style(this._imageNode, "top", (imgTop + box.y + sVal.y) + "px"); dojo.style(this._imageNode, "left", (imgLeft + box.x + sVal.x) + "px"); dojo.style(this._underlayNode, "display", "block"); dojo.style(this._imageNode, "display", "block"); }else{ //Target has no size, display nothing on it! dojo.style(this._underlayNode, "display", "none"); dojo.style(this._imageNode, "display", "none"); } if (this._resizeCheck === null) { //Set an interval timer that checks the target size and scales as needed. //Checking every 10th of a second seems to generate a fairly smooth update. var self = this; this._resizeCheck = setInterval(function(){self._size();}, 100); } }";s:7:"summary";s:98:"Internal function that handles resizing the overlay and centering of the image on window resizing.";s:7:"private";b:1;}s:28:"dojox.widget.Standby._fadeIn";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:303:" var underlayNodeAnim = dojo.animateProperty({node: this._underlayNode, properties: {opacity: {start: 0, end: 0.75}}}); var imageAnim = dojo.animateProperty({node: this._imageNode, properties: {opacity: {start: 0, end: 1}}}); var anim = dojo.fx.combine([underlayNodeAnim,imageAnim]); anim.play();";s:7:"summary";s:64:"Internal function that does the opacity style fade in animation.";s:7:"private";b:1;}s:29:"dojox.widget.Standby._fadeOut";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:509:" var self = this; var underlayNodeAnim = dojo.animateProperty({ node: this._underlayNode, properties: {opacity: {start: 0.75, end: 0}}, onEnd: function() { dojo.style(self._underlayNode, "display", "none"); } }); var imageAnim = dojo.animateProperty({ node: this._imageNode, properties: {opacity: {start: 1, end: 0}}, onEnd: function() { dojo.style(self._imageNode, "display", "none"); } }); var anim = dojo.fx.combine([underlayNodeAnim,imageAnim]); anim.play();";s:7:"summary";s:65:"Internal function that does the opacity style fade out animation.";s:7:"private";b:1;}s:28:"dojox.widget.Standby._ignore";a:6:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:5:"event";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:75:" if(event){ event.preventDefault(); event.stopPropagation(); }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:33:"dojox.widget.Standby.uninitialize";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:14:" this.hide();";s:7:"summary";s:69:"Over-ride to hide the widget, which clears intervals, before cleanup.";}s:12:"dojox.widget";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}