//>>built define("dojox/widget/Toaster",["dojo/_base/declare","dojo/_base/lang","dojo/_base/connect","dojo/_base/fx","dojo/dom-style","dojo/dom-class","dojo/dom-geometry","dijit/registry","dijit/_WidgetBase","dijit/_TemplatedMixin","dijit/BackgroundIframe","dojo/fx","dojo/has","dojo/_base/window","dojo/window"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f){ _2.getObject("dojox.widget",true); var _10=function(w){ return w.substring(0,1).toUpperCase()+w.substring(1); }; return _1("dojox.widget.Toaster",[_9,_a],{templateString:"
",messageTopic:"",messageTypes:{MESSAGE:"message",WARNING:"warning",ERROR:"error",FATAL:"fatal"},defaultType:"message",positionDirection:"br-up",positionDirectionTypes:["br-up","br-left","bl-up","bl-right","tr-down","tr-left","tl-down","tl-right"],duration:2000,slideDuration:500,separator:"
",postCreate:function(){ this.inherited(arguments); this.hide(); _e.body().appendChild(this.domNode); if(this.messageTopic){ _3.subscribe(this.messageTopic,this,"_handleMessage"); } },_handleMessage:function(_11){ if(_2.isString(_11)){ this.setContent(_11); }else{ this.setContent(_11.message,_11.type,_11.duration); } },setContent:function(_12,_13,_14){ _14=_14||this.duration; if(this.slideAnim){ if(this.slideAnim.status()!="playing"){ this.slideAnim.stop(); } if(this.slideAnim.status()=="playing"||(this.fadeAnim&&this.fadeAnim.status()=="playing")){ setTimeout(_2.hitch(this,function(){ this.setContent(_12,_13,_14); }),50); return; } } for(var _15 in this.messageTypes){ _6.remove(this.containerNode,"dijitToaster"+_10(this.messageTypes[_15])); } _5.set(this.containerNode,"opacity",1); this._setContent(_12); _6.add(this.containerNode,"dijitToaster"+_10(_13||this.defaultType)); this.show(); var _16=_7.getMarginBox(this.containerNode); this._cancelHideTimer(); if(this.isVisible){ this._placeClip(); if(!this._stickyMessage){ this._setHideTimer(_14); } }else{ var _17=this.containerNode.style; var pd=this.positionDirection; if(pd.indexOf("-up")>=0){ _17.left=0+"px"; _17.top=_16.h+10+"px"; }else{ if(pd.indexOf("-left")>=0){ _17.left=_16.w+10+"px"; _17.top=0+"px"; }else{ if(pd.indexOf("-right")>=0){ _17.left=0-_16.w-10+"px"; _17.top=0+"px"; }else{ if(pd.indexOf("-down")>=0){ _17.left=0+"px"; _17.top=0-_16.h-10+"px"; }else{ throw new Error(this.id+".positionDirection is invalid: "+pd); } } } } this.slideAnim=_c.slideTo({node:this.containerNode,top:0,left:0,duration:this.slideDuration}); this.connect(this.slideAnim,"onEnd",function(_18,_19){ this.fadeAnim=_4.fadeOut({node:this.containerNode,duration:1000}); this.connect(this.fadeAnim,"onEnd",function(evt){ this.isVisible=false; this.hide(); }); this._setHideTimer(_14); this.connect(this,"onSelect",function(evt){ this._cancelHideTimer(); this._stickyMessage=false; this.fadeAnim.play(); }); this.isVisible=true; }); this.slideAnim.play(); } },_setContent:function(_1a){ if(_2.isFunction(_1a)){ _1a(this); return; } if(_1a&&this.isVisible){ _1a=this.contentNode.innerHTML+this.separator+_1a; } this.contentNode.innerHTML=_1a; },_cancelHideTimer:function(){ if(this._hideTimer){ clearTimeout(this._hideTimer); this._hideTimer=null; } },_setHideTimer:function(_1b){ this._cancelHideTimer(); if(_1b>0){ this._cancelHideTimer(); this._hideTimer=setTimeout(_2.hitch(this,function(evt){ if(this.bgIframe&&this.bgIframe.iframe){ this.bgIframe.iframe.style.display="none"; } this._hideTimer=null; this._stickyMessage=false; this.fadeAnim.play(); }),_1b); }else{ this._stickyMessage=true; } },_placeClip:function(){ var _1c=_f.getBox(); var _1d=_7.getMarginBox(this.containerNode); var _1e=this.clipNode.style; _1e.height=_1d.h+"px"; _1e.width=_1d.w+"px"; var pd=this.positionDirection; if(pd.match(/^t/)){ _1e.top=_1c.t+"px"; }else{ if(pd.match(/^b/)){ _1e.top=(_1c.h-_1d.h-2+_1c.t)+"px"; } } if(pd.match(/^[tb]r-/)){ _1e.left=(_1c.w-_1d.w-1-_1c.l)+"px"; }else{ if(pd.match(/^[tb]l-/)){ _1e.left=0+"px"; } } _1e.clip="rect(0px, "+_1d.w+"px, "+_1d.h+"px, 0px)"; if(_d("ie")){ if(!this.bgIframe){ this.clipNode.id=_8.getUniqueId("dojox_widget_Toaster_clipNode"); this.bgIframe=new _b(this.clipNode); } var _1f=this.bgIframe.iframe; if(_1f){ _1f.style.display="block"; } } },onSelect:function(e){ },show:function(){ _5.set(this.domNode,"display","block"); this._placeClip(); if(!this._scrollConnected){ this._scrollConnected=_3.connect(_f,"onscroll",this,this._placeClip); } },hide:function(){ _5.set(this.domNode,"display","none"); if(this._scrollConnected){ _3.disconnect(this._scrollConnected); this._scrollConnected=false; } _5.set(this.containerNode,"opacity",1); }}); });