//>>built define("dojox/mobile/View",["dojo/_base/array","dojo/_base/config","dojo/_base/connect","dojo/_base/declare","dojo/_base/lang","dojo/_base/sniff","dojo/_base/window","dojo/_base/Deferred","dojo/dom","dojo/dom-class","dojo/dom-construct","dojo/dom-geometry","dojo/dom-style","dijit/registry","dijit/_Contained","dijit/_Container","dijit/_WidgetBase","./ViewController","./common","./transition","./viewRegistry"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10,_11,_12,_13,_14,_15){ var dm=_5.getObject("dojox.mobile",true); return _4("dojox.mobile.View",[_11,_10,_f],{selected:false,keepScrollPos:true,tag:"div",baseClass:"mblView",constructor:function(_16,_17){ if(_17){ _9.byId(_17).style.visibility="hidden"; } },destroy:function(){ _15.remove(this.id); this.inherited(arguments); },buildRendering:function(){ this.domNode=this.containerNode=this.srcNodeRef||_b.create(this.tag); this._animEndHandle=this.connect(this.domNode,"webkitAnimationEnd","onAnimationEnd"); this._animStartHandle=this.connect(this.domNode,"webkitAnimationStart","onAnimationStart"); if(!_2["mblCSS3Transition"]){ this._transEndHandle=this.connect(this.domNode,"webkitTransitionEnd","onAnimationEnd"); } if(_6("mblAndroid3Workaround")){ _d.set(this.domNode,"webkitTransformStyle","preserve-3d"); } _15.add(this); this.inherited(arguments); },startup:function(){ if(this._started){ return; } if(this._visible===undefined){ var _18=this.getSiblingViews(); var ids=location.hash&&location.hash.substring(1).split(/,/); var _19,_1a,_1b; _1.forEach(_18,function(v,i){ if(_1.indexOf(ids,v.id)!==-1){ _19=v; } if(i==0){ _1b=v; } if(v.selected){ _1a=v; } v._visible=false; },this); (_19||_1a||_1b)._visible=true; } if(this._visible){ this.show(true,true); this.defer(function(){ this.onStartView(); _3.publish("/dojox/mobile/startView",[this]); }); } if(this.domNode.style.visibility!="visible"){ this.domNode.style.visibility="visible"; } this.inherited(arguments); var _1c=this.getParent(); if(!_1c||!_1c.resize){ this.resize(); } if(!this._visible){ this.hide(); } },resize:function(){ _1.forEach(this.getChildren(),function(_1d){ if(_1d.resize){ _1d.resize(); } }); },onStartView:function(){ },onBeforeTransitionIn:function(_1e,dir,_1f,_20,_21){ },onAfterTransitionIn:function(_22,dir,_23,_24,_25){ },onBeforeTransitionOut:function(_26,dir,_27,_28,_29){ },onAfterTransitionOut:function(_2a,dir,_2b,_2c,_2d){ },_clearClasses:function(_2e){ if(!_2e){ return; } var _2f=[]; _1.forEach(_5.trim(_2e.className||"").split(/\s+/),function(c){ if(c.match(/^mbl\w*View$/)||c.indexOf("mbl")===-1){ _2f.push(c); } },this); _2e.className=_2f.join(" "); },_fixViewState:function(_30){ var _31=this.domNode.parentNode.childNodes; for(var i=0;i<_31.length;i++){ var n=_31[i]; if(n.nodeType===1&&_a.contains(n,"mblView")){ this._clearClasses(n); } } this._clearClasses(_30); var _32=_e.byNode(_30); if(_32){ _32._inProgress=false; } },convertToId:function(_33){ if(typeof (_33)=="string"){ return _33.replace(/^#?([^&?]+).*/,"$1"); } return _33; },_isBookmarkable:function(_34){ return _34.moveTo&&(_2["mblForceBookmarkable"]||_34.moveTo.charAt(0)==="#")&&!_34.hashchange; },performTransition:function(_35,_36,_37,_38,_39){ if(this._inProgress){ return; } this._inProgress=true; var _3a,_3b; if(_35&&typeof (_35)==="object"){ _3a=_35; _3b=_36; }else{ _3a={moveTo:_35,transitionDir:_36,transition:_37,context:_38,method:_39}; _3b=[]; for(var i=5;i1||_41!==0){ _3d.style.top=_41-_40+"px"; if(_2["mblHideAddressBar"]!==false){ setTimeout(function(){ _7.global.scrollTo(0,(_41||1)); },0); } } }else{ _3c.style.top="0px"; } _3f.onBeforeTransitionIn.apply(_3f,this._arguments); _3.publish("/dojox/mobile/beforeTransitionIn",[_3f].concat(_5._toArray(this._arguments))); } _3c.style.display="none"; _3c.style.visibility="visible"; _13.fromView=this; _13.toView=_3f; this._doTransition(_3d,_3c,_3a.transition,_3a.transitionDir); },_toCls:function(s){ return "mbl"+s.charAt(0).toUpperCase()+s.substring(1); },_doTransition:function(_42,_43,_44,_45){ var rev=(_45==-1)?" mblReverse":""; _43.style.display=""; if(!_44||_44=="none"){ this.domNode.style.display="none"; this.invokeCallback(); }else{ if(_2["mblCSS3Transition"]){ _8.when(_14,_5.hitch(this,function(_46){ var _47=_d.get(_43,"position"); _d.set(_43,"position","absolute"); _8.when(_46(_42,_43,{transition:_44,reverse:(_45===-1)?true:false}),_5.hitch(this,function(){ _d.set(_43,"position",_47); this.invokeCallback(); })); })); }else{ if(_44.indexOf("cube")!=-1){ if(_6("ipad")){ _d.set(_43.parentNode,{webkitPerspective:1600}); }else{ if(_6("iphone")){ _d.set(_43.parentNode,{webkitPerspective:800}); } } } var s=this._toCls(_44); if(_6("mblAndroidWorkaround")){ setTimeout(function(){ _a.add(_42,s+" mblOut"+rev); _a.add(_43,s+" mblIn"+rev); _a.remove(_43,"mblAndroidWorkaround"); setTimeout(function(){ _a.add(_42,"mblTransition"); _a.add(_43,"mblTransition"); },30); },70); }else{ _a.add(_42,s+" mblOut"+rev); _a.add(_43,s+" mblIn"+rev); setTimeout(function(){ _a.add(_42,"mblTransition"); _a.add(_43,"mblTransition"); },100); } var _48="50% 50%"; var _49="50% 50%"; var _4a,_4b,_4c; if(_44.indexOf("swirl")!=-1||_44.indexOf("zoom")!=-1){ if(this.keepScrollPos&&!this.getParent()){ _4a=_7.body().scrollTop||_7.doc.documentElement.scrollTop||_7.global.pageYOffset||0; }else{ _4a=-_c.position(_42,true).y; } _4c=_7.global.innerHeight/2+_4a; _48="50% "+_4c+"px"; _49="50% "+_4c+"px"; }else{ if(_44.indexOf("scale")!=-1){ var _4d=_c.position(_42,true); _4b=((this.clickedPosX!==undefined)?this.clickedPosX:_7.global.innerWidth/2)-_4d.x; if(this.keepScrollPos&&!this.getParent()){ _4a=_7.body().scrollTop||_7.doc.documentElement.scrollTop||_7.global.pageYOffset||0; }else{ _4a=-_4d.y; } _4c=((this.clickedPosY!==undefined)?this.clickedPosY:_7.global.innerHeight/2)+_4a; _48=_4b+"px "+_4c+"px"; _49=_4b+"px "+_4c+"px"; } } _d.set(_42,{webkitTransformOrigin:_48}); _d.set(_43,{webkitTransformOrigin:_49}); } } },onAnimationStart:function(e){ },onAnimationEnd:function(e){ var _4e=e.animationName||e.target.className; if(_4e.indexOf("Out")===-1&&_4e.indexOf("In")===-1&&_4e.indexOf("Shrink")===-1){ return; } var _4f=false; if(_a.contains(this.domNode,"mblOut")){ _4f=true; this.domNode.style.display="none"; _a.remove(this.domNode,[this._toCls(this._detail.transition),"mblIn","mblOut","mblReverse"]); }else{ this.containerNode.style.paddingTop=""; } _d.set(this.domNode,{webkitTransformOrigin:""}); if(_4e.indexOf("Shrink")!==-1){ var li=e.target; li.style.display="none"; _a.remove(li,"mblCloseContent"); var p=_15.getEnclosingScrollable(this.domNode); p&&p.onTouchEnd(); } if(_4f){ this.invokeCallback(); } this._clearClasses(this.domNode); this.clickedPosX=this.clickedPosY=undefined; if(_4e.indexOf("Cube")!==-1&&_4e.indexOf("In")!==-1&&_6("iphone")){ this.domNode.parentNode.style.webkitPerspective=""; } },invokeCallback:function(){ this.onAfterTransitionOut.apply(this,this._arguments); _3.publish("/dojox/mobile/afterTransitionOut",[this].concat(this._arguments)); var _50=_e.byNode(this.toNode); if(_50){ _50.onAfterTransitionIn.apply(_50,this._arguments); _3.publish("/dojox/mobile/afterTransitionIn",[_50].concat(this._arguments)); _50.movedFrom=undefined; if(this.setFragIds&&this._isBookmarkable(this._detail)){ this.setFragIds(_50); } } if(_6("mblAndroidWorkaround")){ setTimeout(_5.hitch(this,function(){ if(_50){ _d.set(this.toNode,"webkitTransformStyle",""); } _d.set(this.domNode,"webkitTransformStyle",""); }),0); } var c=this._detail.context,m=this._detail.method; if(c||m){ if(!m){ m=c; c=null; } c=c||_7.global; if(typeof (m)=="string"){ c[m].apply(c,this._optArgs); }else{ if(typeof (m)=="function"){ m.apply(c,this._optArgs); } } } this._detail=this._optArgs=this._arguments=undefined; this._inProgress=false; },isVisible:function(_51){ var _52=function(_53){ return _d.get(_53,"display")!=="none"; }; if(_51){ for(var n=this.domNode;n.tagName!=="BODY";n=n.parentNode){ if(!_52(n)){ return false; } } return true; }else{ return _52(this.domNode); } },getShowingView:function(){ var _54=this.domNode.parentNode.childNodes; for(var i=0;i<_54.length;i++){ var n=_54[i]; if(n.nodeType===1&&_a.contains(n,"mblView")&&n.style.display!=="none"){ return _e.byNode(n); } } return null; },getSiblingViews:function(){ if(!this.domNode.parentNode){ return [this]; } return _1.map(_1.filter(this.domNode.parentNode.childNodes,function(n){ return n.nodeType===1&&_a.contains(n,"mblView"); }),function(n){ return _e.byNode(n); }); },show:function(_55,_56){ var out=this.getShowingView(); if(!_55){ if(out){ out.onBeforeTransitionOut(out.id); _3.publish("/dojox/mobile/beforeTransitionOut",[out,out.id]); } this.onBeforeTransitionIn(this.id); _3.publish("/dojox/mobile/beforeTransitionIn",[this,this.id]); } if(_56){ this.domNode.style.display=""; }else{ _1.forEach(this.getSiblingViews(),function(v){ v.domNode.style.display=(v===this)?"":"none"; },this); } this.load&&this.load(); if(!_55){ if(out){ out.onAfterTransitionOut(out.id); _3.publish("/dojox/mobile/afterTransitionOut",[out,out.id]); } this.onAfterTransitionIn(this.id); _3.publish("/dojox/mobile/afterTransitionIn",[this,this.id]); } },hide:function(){ this.domNode.style.display="none"; }}); });