phpldapadmin/application/media/js/dojo-release-1.7.2/dijit/layout/StackContainer.js
2013-03-19 15:55:33 +11:00

155 lines
4.0 KiB
JavaScript

//>>built
define("dijit/layout/StackContainer",["dojo/_base/array","dojo/cookie","dojo/_base/declare","dojo/dom-class","dojo/_base/kernel","dojo/_base/lang","dojo/ready","dojo/topic","../registry","../_WidgetBase","./_LayoutWidget","dojo/i18n!../nls/common"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b){
if(!_5.isAsync){
_7(0,function(){
var _c=["dijit/layout/StackController"];
require(_c);
});
}
_6.extend(_a,{selected:false,closable:false,iconClass:"dijitNoIcon",showTitle:true});
return _3("dijit.layout.StackContainer",_b,{doLayout:true,persist:false,baseClass:"dijitStackContainer",buildRendering:function(){
this.inherited(arguments);
_4.add(this.domNode,"dijitLayoutContainer");
this.containerNode.setAttribute("role","tabpanel");
},postCreate:function(){
this.inherited(arguments);
this.connect(this.domNode,"onkeypress",this._onKeyPress);
},startup:function(){
if(this._started){
return;
}
var _d=this.getChildren();
_1.forEach(_d,this._setupChild,this);
if(this.persist){
this.selectedChildWidget=_9.byId(_2(this.id+"_selectedChild"));
}else{
_1.some(_d,function(_e){
if(_e.selected){
this.selectedChildWidget=_e;
}
return _e.selected;
},this);
}
var _f=this.selectedChildWidget;
if(!_f&&_d[0]){
_f=this.selectedChildWidget=_d[0];
_f.selected=true;
}
_8.publish(this.id+"-startup",{children:_d,selected:_f});
this.inherited(arguments);
},resize:function(){
if(!this._hasBeenShown){
this._hasBeenShown=true;
var _10=this.selectedChildWidget;
if(_10){
this._showChild(_10);
}
}
this.inherited(arguments);
},_setupChild:function(_11){
this.inherited(arguments);
_4.replace(_11.domNode,"dijitHidden","dijitVisible");
_11.domNode.title="";
},addChild:function(_12,_13){
this.inherited(arguments);
if(this._started){
_8.publish(this.id+"-addChild",_12,_13);
this.layout();
if(!this.selectedChildWidget){
this.selectChild(_12);
}
}
},removeChild:function(_14){
this.inherited(arguments);
if(this._started){
_8.publish(this.id+"-removeChild",_14);
}
if(this._descendantsBeingDestroyed){
return;
}
if(this.selectedChildWidget===_14){
this.selectedChildWidget=undefined;
if(this._started){
var _15=this.getChildren();
if(_15.length){
this.selectChild(_15[0]);
}
}
}
if(this._started){
this.layout();
}
},selectChild:function(_16,_17){
_16=_9.byId(_16);
if(this.selectedChildWidget!=_16){
var d=this._transition(_16,this.selectedChildWidget,_17);
this._set("selectedChildWidget",_16);
_8.publish(this.id+"-selectChild",_16);
if(this.persist){
_2(this.id+"_selectedChild",this.selectedChildWidget.id);
}
}
return d;
},_transition:function(_18,_19){
if(_19){
this._hideChild(_19);
}
var d=this._showChild(_18);
if(_18.resize){
if(this.doLayout){
_18.resize(this._containerContentBox||this._contentBox);
}else{
_18.resize();
}
}
return d;
},_adjacent:function(_1a){
var _1b=this.getChildren();
var _1c=_1.indexOf(_1b,this.selectedChildWidget);
_1c+=_1a?1:_1b.length-1;
return _1b[_1c%_1b.length];
},forward:function(){
return this.selectChild(this._adjacent(true),true);
},back:function(){
return this.selectChild(this._adjacent(false),true);
},_onKeyPress:function(e){
_8.publish(this.id+"-containerKeyPress",{e:e,page:this});
},layout:function(){
var _1d=this.selectedChildWidget;
if(_1d&&_1d.resize){
if(this.doLayout){
_1d.resize(this._containerContentBox||this._contentBox);
}else{
_1d.resize();
}
}
},_showChild:function(_1e){
var _1f=this.getChildren();
_1e.isFirstChild=(_1e==_1f[0]);
_1e.isLastChild=(_1e==_1f[_1f.length-1]);
_1e._set("selected",true);
_4.replace(_1e.domNode,"dijitVisible","dijitHidden");
return (_1e._onShow&&_1e._onShow())||true;
},_hideChild:function(_20){
_20._set("selected",false);
_4.replace(_20.domNode,"dijitHidden","dijitVisible");
_20.onHide&&_20.onHide();
},closeChild:function(_21){
var _22=_21.onClose(this,_21);
if(_22){
this.removeChild(_21);
_21.destroyRecursive();
}
},destroyDescendants:function(_23){
this._descendantsBeingDestroyed=true;
this.selectedChildWidget=undefined;
_1.forEach(this.getChildren(),function(_24){
if(!_23){
this.removeChild(_24);
}
_24.destroyRecursive(_23);
},this);
this._descendantsBeingDestroyed=false;
}});
});