Roo.bootstrap.layout.Manager = function(config)
{
Roo.bootstrap.layout.Manager.superclass.constructor.call(this);
- this.el = Roo.get(config.el);
- // ie scrollbar fix
- if(this.el.dom == document.body && Roo.isIE && !config.allowScroll){
- document.body.scroll = "no";
- }else if(this.el.dom != document.body && this.el.getStyle('position') == 'static'){
- this.el.position('relative');
- }
- this.id = this.el.id;
- this.el.addClass("roo-layout-container");
+
+
+
+
/** false to disable window resize monitoring @type Boolean */
this.monitorWindowResize = true;
this.regions = {};
"regionexpanded" : true
});
this.updating = false;
- Roo.EventManager.onWindowResize(this.onWindowResize, this, true);
+
+ if (config.el) {
+ this.el = Roo.get(config.el);
+ this.initEvents();
+ }
+
};
Roo.extend(Roo.bootstrap.layout.Manager, Roo.bootstrap.Component, {
updating : false,
+
+ onRender : function(ct, position)
+ {
+ if(!this.el){
+ this.el = Roo.get(ct);
+ this.initEvents();
+ }
+ },
+
+
+ initEvents: function()
+ {
+
+
+ // ie scrollbar fix
+ if(this.el.dom == document.body && Roo.isIE && !config.allowScroll){
+ document.body.scroll = "no";
+ }else if(this.el.dom != document.body && this.el.getStyle('position') == 'static'){
+ this.el.position('relative');
+ }
+ this.id = this.el.id;
+ this.el.addClass("roo-layout-container");
+ Roo.EventManager.onWindowResize(this.onWindowResize, this, true);
+
+ },
+
/**
* Returns true if this layout is currently being updated
* @return {Boolean}
Roo.bootstrap.layout.Border.regions = ["north","south","east","west","center"];
Roo.extend(Roo.bootstrap.layout.Border, Roo.bootstrap.layout.Manager, {
+
+ onRender : function(ctr, pos)
+ {
+ Roo.bootstrap.layout.Border.superclass.onRender.call(this,ctr,pos);
+ Roo.each(Roo.bootstrap.layout.Border.regions, function(region) {
+ if(this.regions[region]){
+ this.regions[region].onRender(this.el, pos);
+ }
+ },this);
+
+
+ },
+
+
/**
* Creates and adds a new region if it doesn't already exist.
* @param {String} target The target region key (north, south, east, west or center).
*/
Roo.bootstrap.layout.Region = function(config)
{
-
+ this.applyConfig(config);
+
var mgr = config.mgr;
var pos = config.region;
config.skipConfig = true;
Roo.bootstrap.layout.Region.superclass.constructor.call(this, config);
- var dh = Roo.DomHelper;
- /** This region's container element
- * @type Roo.Element */
- this.el = dh.append(mgr.el.dom, {
- tag: "div",
- cls: (config.cls || '') + " roo-layout-region roo-layout-panel roo-layout-panel-" + this.position
- }, true);
- /** This region's title element
- * @type Roo.Element */
-
- this.titleEl = dh.append(this.el.dom,
- {
- tag: "div",
- unselectable: "on",
- cls: "roo-unselectable roo-layout-panel-hd breadcrumb roo-layout-title-" + this.position,
- children:[
- {tag: "span", cls: "roo-unselectable roo-layout-panel-hd-text", unselectable: "on", html: " "},
- {tag: "div", cls: "roo-unselectable roo-layout-panel-hd-tools", unselectable: "on"}
- ]}, true);
-
- this.titleEl.enableDisplayMode();
- /** This region's title text element
- * @type HTMLElement */
- this.titleTextEl = this.titleEl.dom.firstChild;
- this.tools = Roo.get(this.titleEl.dom.childNodes[1], true);
- /*
- this.closeBtn = this.createTool(this.tools.dom, "roo-layout-close");
- this.closeBtn.enableDisplayMode();
- this.closeBtn.on("click", this.closeClicked, this);
- this.closeBtn.hide();
-*/
- this.createBody(config);
+
+ if (mgr.el) {
+ this.onRender(mgr.el);
+ }
+
this.visible = true;
this.collapsed = false;
-
- if(config.hideWhenEmpty){
- this.hide();
- this.on("paneladded", this.validateVisibility, this);
- this.on("panelremoved", this.validateVisibility, this);
- }
- this.applyConfig(config);
};
Roo.extend(Roo.bootstrap.layout.Region, Roo.bootstrap.layout.Basic, {
-
+ position: '', // set by wrapper (eg. north/south etc..)
createBody : function(){
/** This region's body element
});
},
+ onRender: function(ctr, pos)
+ {
+ var dh = Roo.DomHelper;
+ /** This region's container element
+ * @type Roo.Element */
+ this.el = dh.append(ctr.dom, {
+ tag: "div",
+ cls: (this.config.cls || '') + " roo-layout-region roo-layout-panel roo-layout-panel-" + this.position
+ }, true);
+ /** This region's title element
+ * @type Roo.Element */
+
+ this.titleEl = dh.append(this.el.dom,
+ {
+ tag: "div",
+ unselectable: "on",
+ cls: "roo-unselectable roo-layout-panel-hd breadcrumb roo-layout-title-" + this.position,
+ children:[
+ {tag: "span", cls: "roo-unselectable roo-layout-panel-hd-text", unselectable: "on", html: " "},
+ {tag: "div", cls: "roo-unselectable roo-layout-panel-hd-tools", unselectable: "on"}
+ ]}, true);
+
+ this.titleEl.enableDisplayMode();
+ /** This region's title text element
+ * @type HTMLElement */
+ this.titleTextEl = this.titleEl.dom.firstChild;
+ this.tools = Roo.get(this.titleEl.dom.childNodes[1], true);
+ /*
+ this.closeBtn = this.createTool(this.tools.dom, "roo-layout-close");
+ this.closeBtn.enableDisplayMode();
+ this.closeBtn.on("click", this.closeClicked, this);
+ this.closeBtn.hide();
+ */
+ this.createBody(this.config);
+ if(this.config.hideWhenEmpty){
+ this.hide();
+ this.on("paneladded", this.validateVisibility, this);
+ this.on("panelremoved", this.validateVisibility, this);
+ }
+ if(this.autoScroll){
+ this.bodyEl.setStyle("overflow", "auto");
+ }else{
+ this.bodyEl.setStyle("overflow", this.config.overflow || 'hidden');
+ }
+ //if(c.titlebar !== false){
+ if((!this.config.titlebar && !this.config.title) || this.config.titlebar === false){
+ this.titleEl.hide();
+ }else{
+ this.titleEl.show();
+ if(this.config.title){
+ this.titleTextEl.innerHTML = this.config.title;
+ }
+ }
+ //}
+ if(this.config.collapsed){
+ this.collapse(true);
+ }
+ if(this.config.hidden){
+ this.hide();
+ }
+ },
+
applyConfig : function(c)
{
/*
this.autoScroll = c.autoScroll || false;
- if(this.autoScroll){
- this.bodyEl.setStyle("overflow", "auto");
- }else{
- this.bodyEl.setStyle("overflow", c.overflow || 'hidden');
- }
- //if(c.titlebar !== false){
- if((!c.titlebar && !c.title) || c.titlebar === false){
- this.titleEl.hide();
- }else{
- this.titleEl.show();
- if(c.title){
- this.titleTextEl.innerHTML = c.title;
- }
- }
- //}
+
+
this.duration = c.duration || .30;
this.slideDuration = c.slideDuration || .45;
this.config = c;
- if(c.collapsed){
- this.collapse(true);
- }
- if(c.hidden){
- this.hide();
- }
+
},
/**
* Returns true if this region is currently visible.
applyConfig : function(config){
Roo.bootstrap.layout.Split.superclass.applyConfig.call(this, config);
+ },
+
+ onRender : function(ctr,pos) {
- if(config.split){
- if(!this.split){
-
-
- var splitEl = Roo.DomHelper.append(this.mgr.el.dom, {
- tag: "div",
- id: this.el.id + "-split",
- cls: "roo-layout-split roo-layout-split-"+this.position,
- html: " "
- });
- /** The SplitBar for this region
- * @type Roo.SplitBar */
- // does not exist yet...
- Roo.log([this.position, this.orientation]);
-
- this.split = new Roo.bootstrap.SplitBar({
- dragElement : splitEl,
- resizingElement: this.el,
- orientation : this.orientation
- });
-
- this.split.on("moved", this.onSplitMove, this);
- this.split.useShim = config.useShim === true;
- this.split.getMaximumSize = this[this.position == 'north' || this.position == 'south' ? 'getVMaxSize' : 'getHMaxSize'].createDelegate(this);
- if(this.useSplitTips){
- this.split.el.dom.title = config.collapsible ? this.collapsibleSplitTip : this.splitTip;
- }
- //if(config.collapsible){
- // this.split.el.on("dblclick", this.collapse, this);
- //}
- }
- if(typeof config.minSize != "undefined"){
- this.split.minSize = config.minSize;
- }
- if(typeof config.maxSize != "undefined"){
- this.split.maxSize = config.maxSize;
- }
- if(config.hideWhenEmpty || config.hidden || config.collapsed){
- this.hideSplitter();
+ Roo.bootstrap.layout.Split.superclass.onRender.call(this, ctr,pos);
+ if(!this.config.split){
+ return;
+ }
+ if(!this.split){
+
+ var splitEl = Roo.DomHelper.append(ctr.dom, {
+ tag: "div",
+ id: this.el.id + "-split",
+ cls: "roo-layout-split roo-layout-split-"+this.position,
+ html: " "
+ });
+ /** The SplitBar for this region
+ * @type Roo.SplitBar */
+ // does not exist yet...
+ Roo.log([this.position, this.orientation]);
+
+ this.split = new Roo.bootstrap.SplitBar({
+ dragElement : splitEl,
+ resizingElement: this.el,
+ orientation : this.orientation
+ });
+
+ this.split.on("moved", this.onSplitMove, this);
+ this.split.useShim = this.config.useShim === true;
+ this.split.getMaximumSize = this[this.position == 'north' || this.position == 'south' ? 'getVMaxSize' : 'getHMaxSize'].createDelegate(this);
+ if(this.useSplitTips){
+ this.split.el.dom.title = this.config.collapsible ? this.collapsibleSplitTip : this.splitTip;
}
+ //if(config.collapsible){
+ // this.split.el.on("dblclick", this.collapse, this);
+ //}
+ }
+ if(typeof this.config.minSize != "undefined"){
+ this.split.minSize = this.config.minSize;
+ }
+ if(typeof this.config.maxSize != "undefined"){
+ this.split.maxSize = this.config.maxSize;
}
+ if(this.config.hideWhenEmpty || this.config.hidden || this.config.collapsed){
+ this.hideSplitter();
+ }
+
},
getHMaxSize : function(){
config.cursor = 'n-resize';
Roo.bootstrap.layout.Split.call(this, config);
+
+
if(this.split){
this.split.placement = Roo.bootstrap.SplitBar.TOP;
this.split.orientation = Roo.bootstrap.SplitBar.VERTICAL;
Roo.extend(Roo.bootstrap.layout.North, Roo.bootstrap.layout.Split,
{
orientation: Roo.bootstrap.SplitBar.VERTICAL,
+
+
+
getBox : function(){
if(this.collapsed){
return this.collapsedEl.getBox();
this.split.orientation = Roo.bootstrap.SplitBar.HORIZONTAL;
this.split.el.addClass("roo-layout-split-h");
}
- var size = config.initialSize || config.width;
- if(typeof size != "undefined"){
- this.el.setWidth(size);
- }
+
};
Roo.extend(Roo.bootstrap.layout.West, Roo.bootstrap.layout.Split, {
orientation: Roo.bootstrap.SplitBar.HORIZONTAL,
+
+ onRender: function(ctr, pos)
+ {
+ Roo.bootstrap.layout.West.superclass.onRender.call(this, ctr,pos);
+ var size = this.config.initialSize || this.config.width;
+ if(typeof size != "undefined"){
+ this.el.setWidth(size);
+ }
+ },
+
getBox : function(){
if(this.collapsed){
return this.collapsedEl.getBox();
// Roo/bootstrap/layout/layout-ns.js
Roo.namespace("Roo.bootstrap.layout");
// Roo/bootstrap/layout/Manager.js
-Roo.bootstrap.layout.Manager=function(A){Roo.bootstrap.layout.Manager.superclass.constructor.call(this);this.el=Roo.get(A.el);if(this.el.dom==document.body&&Roo.isIE&&!A.allowScroll){document.body.scroll="no";}else if(this.el.dom!=document.body&&this.el.getStyle('position')=='static'){this.el.position('relative');
-}this.id=this.el.id;this.el.addClass("roo-layout-container");this.monitorWindowResize=true;this.regions={};this.addEvents({"layout":true,"regionresized":true,"regioncollapsed":true,"regionexpanded":true});this.updating=false;Roo.EventManager.onWindowResize(this.onWindowResize,this,true);
-};Roo.extend(Roo.bootstrap.layout.Manager,Roo.bootstrap.Component,{regions:null,monitorWindowResize:true,updating:false,isUpdating:function(){return this.updating;},beginUpdate:function(){this.updating=true;},endUpdate:function(A){this.updating=false;if(!A){this.layout();
-}},layout:function(){},onRegionResized:function(A,B){this.fireEvent("regionresized",A,B);this.layout();},onRegionCollapsed:function(A){this.fireEvent("regioncollapsed",A);},onRegionExpanded:function(A){this.fireEvent("regionexpanded",A);},getViewSize:function(){var A;
-if(this.el.dom!=document.body){A=this.el.getSize();}else{A={width:Roo.lib.Dom.getViewWidth(),height:Roo.lib.Dom.getViewHeight()};}A.width-=this.el.getBorderWidth("lr")-this.el.getPadding("lr");A.height-=this.el.getBorderWidth("tb")-this.el.getPadding("tb");
-return A;},getEl:function(){return this.el;},getRegion:function(A){return this.regions[A.toLowerCase()];},onWindowResize:function(){if(this.monitorWindowResize){this.layout();}}});
+Roo.bootstrap.layout.Manager=function(A){Roo.bootstrap.layout.Manager.superclass.constructor.call(this);this.monitorWindowResize=true;this.regions={};this.addEvents({"layout":true,"regionresized":true,"regioncollapsed":true,"regionexpanded":true});this.updating=false;
+if(A.el){this.el=Roo.get(A.el);this.initEvents();}};Roo.extend(Roo.bootstrap.layout.Manager,Roo.bootstrap.Component,{regions:null,monitorWindowResize:true,updating:false,onRender:function(ct,A){if(!this.el){this.el=Roo.get(ct);this.initEvents();}},initEvents:function(){if(this.el.dom==document.body&&Roo.isIE&&!config.allowScroll){document.body.scroll="no";
+}else if(this.el.dom!=document.body&&this.el.getStyle('position')=='static'){this.el.position('relative');}this.id=this.el.id;this.el.addClass("roo-layout-container");Roo.EventManager.onWindowResize(this.onWindowResize,this,true);},isUpdating:function(){return this.updating;
+},beginUpdate:function(){this.updating=true;},endUpdate:function(A){this.updating=false;if(!A){this.layout();}},layout:function(){},onRegionResized:function(A,B){this.fireEvent("regionresized",A,B);this.layout();},onRegionCollapsed:function(A){this.fireEvent("regioncollapsed",A);
+},onRegionExpanded:function(A){this.fireEvent("regionexpanded",A);},getViewSize:function(){var A;if(this.el.dom!=document.body){A=this.el.getSize();}else{A={width:Roo.lib.Dom.getViewWidth(),height:Roo.lib.Dom.getViewHeight()};}A.width-=this.el.getBorderWidth("lr")-this.el.getPadding("lr");
+A.height-=this.el.getBorderWidth("tb")-this.el.getPadding("tb");return A;},getEl:function(){return this.el;},getRegion:function(A){return this.regions[A.toLowerCase()];},onWindowResize:function(){if(this.monitorWindowResize){this.layout();}}});
// Roo/bootstrap/layout/Border.js
Roo.bootstrap.layout.Border=function(A){A=A||{};Roo.bootstrap.layout.Border.superclass.constructor.call(this,A);Roo.each(Roo.bootstrap.layout.Border.regions,function(B){if(A[B]){A[B].region=B;this.addRegion(A[B]);}},this);};Roo.bootstrap.layout.Border.regions=["north","south","east","west","center"];
-Roo.extend(Roo.bootstrap.layout.Border,Roo.bootstrap.layout.Manager,{addRegion:function(A){if(!this.regions[A.region]){var r=this.factory(A);this.bindRegion(r);}return this.regions[A.region];},bindRegion:function(r){this.regions[r.config.region]=r;r.on("visibilitychange",this.layout,this);
-r.on("paneladded",this.layout,this);r.on("panelremoved",this.layout,this);r.on("invalidated",this.layout,this);r.on("resized",this.onRegionResized,this);r.on("collapsed",this.onRegionCollapsed,this);r.on("expanded",this.onRegionExpanded,this);},layout:function(){if(this.updating){return;
-}var A=this.getViewSize();var w=A.width;var h=A.height;var B=w;var C=h;var D=0;var E=0;var rs=this.regions;var F=rs["north"];var G=rs["south"];var H=rs["west"];var I=rs["east"];var J=rs["center"];if(F&&F.isVisible()){var b=F.getBox();var m=F.getMargins();
-b.width=w-(m.left+m.right);b.x=m.left;b.y=m.top;D=b.height+b.y+m.bottom;C-=D;F.updateBox(this.safeBox(b));}if(G&&G.isVisible()){var b=G.getBox();var m=G.getMargins();b.width=w-(m.left+m.right);b.x=m.left;var K=(b.height+m.top+m.bottom);b.y=h-K+m.top;C-=K;
-G.updateBox(this.safeBox(b));}if(H&&H.isVisible()){var b=H.getBox();var m=H.getMargins();b.height=C-(m.top+m.bottom);b.x=m.left;b.y=D+m.top;var L=(b.width+m.left+m.right);E+=L;B-=L;H.updateBox(this.safeBox(b));}if(I&&I.isVisible()){var b=I.getBox();var m=I.getMargins();
-b.height=C-(m.top+m.bottom);var L=(b.width+m.left+m.right);b.x=w-L+m.left;b.y=D+m.top;B-=L;I.updateBox(this.safeBox(b));}if(J){var m=J.getMargins();var M={x:E+m.left,y:D+m.top,width:B-(m.left+m.right),height:C-(m.top+m.bottom)};J.updateBox(this.safeBox(M));
-}this.el.repaint();this.fireEvent("layout",this);},safeBox:function(A){A.width=Math.max(0,A.width);A.height=Math.max(0,A.height);return A;},add:function(A,B){A=A.toLowerCase();return this.regions[A].add(B);},remove:function(A,B){A=A.toLowerCase();return this.regions[A].remove(B);
-},findPanel:function(A){var rs=this.regions;for(var B in rs){if(typeof rs[B]!="function"){var p=rs[B].getPanel(A);if(p){return p;}}}return null;},showPanel:function(A){var rs=this.regions;for(var B in rs){var r=rs[B];if(typeof r!="function"){if(r.hasPanel(A)){return r.showPanel(A);
-}}}return null;},addxtype:function(A){var B=false;if(typeof(A.region)=='undefined'){Roo.log("Failed to add Panel, region was not set");Roo.log(A);return false;}var C=A.region;delete A.region;var D=[];if(A.items){D=A.items;delete A.items;}var nb=false;switch(A.xtype){case 'Content':case 'Scroll':case 'View':A.autoCreate=true;
+Roo.extend(Roo.bootstrap.layout.Border,Roo.bootstrap.layout.Manager,{onRender:function(A,B){Roo.bootstrap.layout.Border.superclass.onRender.call(this,A,B);Roo.each(Roo.bootstrap.layout.Border.regions,function(C){if(this.regions[C]){this.regions[C].onRender(this.el,B);
+}},this);},addRegion:function(A){if(!this.regions[A.region]){var r=this.factory(A);this.bindRegion(r);}return this.regions[A.region];},bindRegion:function(r){this.regions[r.config.region]=r;r.on("visibilitychange",this.layout,this);r.on("paneladded",this.layout,this);
+r.on("panelremoved",this.layout,this);r.on("invalidated",this.layout,this);r.on("resized",this.onRegionResized,this);r.on("collapsed",this.onRegionCollapsed,this);r.on("expanded",this.onRegionExpanded,this);},layout:function(){if(this.updating){return;}var A=this.getViewSize();
+var w=A.width;var h=A.height;var B=w;var C=h;var D=0;var E=0;var rs=this.regions;var F=rs["north"];var G=rs["south"];var H=rs["west"];var I=rs["east"];var J=rs["center"];if(F&&F.isVisible()){var b=F.getBox();var m=F.getMargins();b.width=w-(m.left+m.right);
+b.x=m.left;b.y=m.top;D=b.height+b.y+m.bottom;C-=D;F.updateBox(this.safeBox(b));}if(G&&G.isVisible()){var b=G.getBox();var m=G.getMargins();b.width=w-(m.left+m.right);b.x=m.left;var K=(b.height+m.top+m.bottom);b.y=h-K+m.top;C-=K;G.updateBox(this.safeBox(b));
+}if(H&&H.isVisible()){var b=H.getBox();var m=H.getMargins();b.height=C-(m.top+m.bottom);b.x=m.left;b.y=D+m.top;var L=(b.width+m.left+m.right);E+=L;B-=L;H.updateBox(this.safeBox(b));}if(I&&I.isVisible()){var b=I.getBox();var m=I.getMargins();b.height=C-(m.top+m.bottom);
+var L=(b.width+m.left+m.right);b.x=w-L+m.left;b.y=D+m.top;B-=L;I.updateBox(this.safeBox(b));}if(J){var m=J.getMargins();var M={x:E+m.left,y:D+m.top,width:B-(m.left+m.right),height:C-(m.top+m.bottom)};J.updateBox(this.safeBox(M));}this.el.repaint();this.fireEvent("layout",this);
+},safeBox:function(A){A.width=Math.max(0,A.width);A.height=Math.max(0,A.height);return A;},add:function(A,B){A=A.toLowerCase();return this.regions[A].add(B);},remove:function(A,B){A=A.toLowerCase();return this.regions[A].remove(B);},findPanel:function(A){var rs=this.regions;
+for(var B in rs){if(typeof rs[B]!="function"){var p=rs[B].getPanel(A);if(p){return p;}}}return null;},showPanel:function(A){var rs=this.regions;for(var B in rs){var r=rs[B];if(typeof r!="function"){if(r.hasPanel(A)){return r.showPanel(A);}}}return null;},addxtype:function(A){var B=false;
+if(typeof(A.region)=='undefined'){Roo.log("Failed to add Panel, region was not set");Roo.log(A);return false;}var C=A.region;delete A.region;var D=[];if(A.items){D=A.items;delete A.items;}var nb=false;switch(A.xtype){case 'Content':case 'Scroll':case 'View':A.autoCreate=true;
B=new A.xns[A.xtype](A);this.add(C,B);break;case 'Nest':var E=A.layout;E.el=this.el.createChild();E.items=E.items||[];delete A.layout;D=E.items;if(C=='center'&&this.active&&this.getRegion('center').panels.length<1){A.background=false;}A.layout=new Roo.bootstrap.layout.Border(E);
B=new A.xns[A.xtype](A);this.add(C,B);nb={};break;case 'Grid':var el=this.el.createChild();A.grid.container=el;A.grid.scrollBody=true;A.grid=new A.grid.xns[A.grid.xtype](A.grid);if(C=='center'&&this.active){A.background=false;}B=new A.xns[A.xtype](A);this.add(C,B);
if(A.background){B.on('activate',function(gp){if(!gp.grid.rendered){gp.grid.render(gp.grid.getGridEl());}});}else{A.grid.render(A.grid.getGridEl());}break;case 'Border':B=this;break;default:Roo.log(A);throw "Can not add '"+A.xtype+"' to Border";return null;
},remove:function(A,B){A=this.getPanel(A);if(!A){return null;}var e={};this.fireEvent("beforeremove",this,A,e);if(e.cancel===true){return null;}var C=A.getId();this.panels.removeKey(C);return A;},getPanel:function(id){if(typeof id=="object"){return id;}return this.panels.get(id);
},getPosition:function(){return this.position;}});
// Roo/bootstrap/layout/Region.js
-Roo.bootstrap.layout.Region=function(A){var B=A.mgr;var C=A.region;A.skipConfig=true;Roo.bootstrap.layout.Region.superclass.constructor.call(this,A);var dh=Roo.DomHelper;this.el=dh.append(B.el.dom,{tag:"div",cls:(A.cls||'')+" roo-layout-region roo-layout-panel roo-layout-panel-"+this.position}
-,true);this.titleEl=dh.append(this.el.dom,{tag:"div",unselectable:"on",cls:"roo-unselectable roo-layout-panel-hd breadcrumb roo-layout-title-"+this.position,children:[{tag:"span",cls:"roo-unselectable roo-layout-panel-hd-text",unselectable:"on",html:" "}
-,{tag:"div",cls:"roo-unselectable roo-layout-panel-hd-tools",unselectable:"on"}]},true);this.titleEl.enableDisplayMode();this.titleTextEl=this.titleEl.dom.firstChild;this.tools=Roo.get(this.titleEl.dom.childNodes[1],true);this.createBody(A);this.visible=true;
-this.collapsed=false;if(A.hideWhenEmpty){this.hide();this.on("paneladded",this.validateVisibility,this);this.on("panelremoved",this.validateVisibility,this);}this.applyConfig(A);};Roo.extend(Roo.bootstrap.layout.Region,Roo.bootstrap.layout.Basic,{createBody:function(){this.bodyEl=this.el.createChild({tag:"div",cls:"roo-layout-panel-body tab-content"}
-);},applyConfig:function(c){this.margins=c.margins||this.margins||{top:0,left:0,right:0,bottom:0};this.bottomTabs=c.tabPosition!="top";this.autoScroll=c.autoScroll||false;if(this.autoScroll){this.bodyEl.setStyle("overflow","auto");}else{this.bodyEl.setStyle("overflow",c.overflow||'hidden');
-}if((!c.titlebar&&!c.title)||c.titlebar===false){this.titleEl.hide();}else{this.titleEl.show();if(c.title){this.titleTextEl.innerHTML=c.title;}}this.duration=c.duration||.30;this.slideDuration=c.slideDuration||.45;this.config=c;if(c.collapsed){this.collapse(true);
-}if(c.hidden){this.hide();}},isVisible:function(){return this.visible;},getBox:function(){var b;b=this.el.getBox(false,true);return b;},getMargins:function(){return this.margins;},updateBox:function(A){this.box=A;if(!this.collapsed){this.el.dom.style.left=A.x+"px";
-this.el.dom.style.top=A.y+"px";this.updateBody(A.width,A.height);}else{this.collapsedEl.dom.style.left=A.x+"px";this.collapsedEl.dom.style.top=A.y+"px";this.collapsedEl.setSize(A.width,A.height);}if(this.tabs){this.tabs.autoSizeTabs();}},updateBody:function(w,h){if(w!==null){this.el.setWidth(w);
-w-=this.el.getBorderWidth("rl");if(this.config.adjustments){w+=this.config.adjustments[0];}}if(h!==null){this.el.setHeight(h);h=this.titleEl&&this.titleEl.isDisplayed()?h-(this.titleEl.getHeight()||0):h;h-=this.el.getBorderWidth("tb");if(this.config.adjustments){h+=this.config.adjustments[1];
-}this.bodyEl.setHeight(h);if(this.tabs){h=this.tabs.syncHeight(h);}}if(this.panelSize){w=w!==null?w:this.panelSize.width;h=h!==null?h:this.panelSize.height;}if(this.activePanel){var el=this.activePanel.getEl();w=w!==null?w:el.getWidth();h=h!==null?h:el.getHeight();
-this.panelSize={width:w,height:h};this.activePanel.setSize(w,h);}if(Roo.isIE&&this.tabs){this.tabs.el.repaint();}},getEl:function(){return this.el;},hide:function(){this.el.dom.style.left="-2000px";this.el.hide();this.visible=false;this.fireEvent("visibilitychange",this,false);
-},show:function(){this.el.show();this.visible=true;this.fireEvent("visibilitychange",this,true);},animateCollapse:function(){},animateExpand:function(){},initTabs:function(){this.bodyEl.setStyle("overflow","hidden");var ts=new Roo.bootstrap.panel.Tabs({el:this.bodyEl.dom,tabPosition:this.bottomTabs?'bottom':'top',disableTooltips:this.config.disableTabTips,toolbar:this.config.toolbar}
+Roo.bootstrap.layout.Region=function(A){this.applyConfig(A);var B=A.mgr;var C=A.region;A.skipConfig=true;Roo.bootstrap.layout.Region.superclass.constructor.call(this,A);if(B.el){this.onRender(B.el);}this.visible=true;this.collapsed=false;};Roo.extend(Roo.bootstrap.layout.Region,Roo.bootstrap.layout.Basic,{position:'',createBody:function(){this.bodyEl=this.el.createChild({tag:"div",cls:"roo-layout-panel-body tab-content"}
+);},onRender:function(A,B){var dh=Roo.DomHelper;this.el=dh.append(A.dom,{tag:"div",cls:(this.config.cls||'')+" roo-layout-region roo-layout-panel roo-layout-panel-"+this.position},true);this.titleEl=dh.append(this.el.dom,{tag:"div",unselectable:"on",cls:"roo-unselectable roo-layout-panel-hd breadcrumb roo-layout-title-"+this.position,children:[{tag:"span",cls:"roo-unselectable roo-layout-panel-hd-text",unselectable:"on",html:" "}
+,{tag:"div",cls:"roo-unselectable roo-layout-panel-hd-tools",unselectable:"on"}]},true);this.titleEl.enableDisplayMode();this.titleTextEl=this.titleEl.dom.firstChild;this.tools=Roo.get(this.titleEl.dom.childNodes[1],true);this.createBody(this.config);if(this.config.hideWhenEmpty){this.hide();
+this.on("paneladded",this.validateVisibility,this);this.on("panelremoved",this.validateVisibility,this);}if(this.autoScroll){this.bodyEl.setStyle("overflow","auto");}else{this.bodyEl.setStyle("overflow",this.config.overflow||'hidden');}if((!this.config.titlebar&&!this.config.title)||this.config.titlebar===false){this.titleEl.hide();
+}else{this.titleEl.show();if(this.config.title){this.titleTextEl.innerHTML=this.config.title;}}if(this.config.collapsed){this.collapse(true);}if(this.config.hidden){this.hide();}},applyConfig:function(c){this.margins=c.margins||this.margins||{top:0,left:0,right:0,bottom:0}
+;this.bottomTabs=c.tabPosition!="top";this.autoScroll=c.autoScroll||false;this.duration=c.duration||.30;this.slideDuration=c.slideDuration||.45;this.config=c;},isVisible:function(){return this.visible;},getBox:function(){var b;b=this.el.getBox(false,true);
+return b;},getMargins:function(){return this.margins;},updateBox:function(A){this.box=A;if(!this.collapsed){this.el.dom.style.left=A.x+"px";this.el.dom.style.top=A.y+"px";this.updateBody(A.width,A.height);}else{this.collapsedEl.dom.style.left=A.x+"px";this.collapsedEl.dom.style.top=A.y+"px";
+this.collapsedEl.setSize(A.width,A.height);}if(this.tabs){this.tabs.autoSizeTabs();}},updateBody:function(w,h){if(w!==null){this.el.setWidth(w);w-=this.el.getBorderWidth("rl");if(this.config.adjustments){w+=this.config.adjustments[0];}}if(h!==null){this.el.setHeight(h);
+h=this.titleEl&&this.titleEl.isDisplayed()?h-(this.titleEl.getHeight()||0):h;h-=this.el.getBorderWidth("tb");if(this.config.adjustments){h+=this.config.adjustments[1];}this.bodyEl.setHeight(h);if(this.tabs){h=this.tabs.syncHeight(h);}}if(this.panelSize){w=w!==null?w:this.panelSize.width;
+h=h!==null?h:this.panelSize.height;}if(this.activePanel){var el=this.activePanel.getEl();w=w!==null?w:el.getWidth();h=h!==null?h:el.getHeight();this.panelSize={width:w,height:h};this.activePanel.setSize(w,h);}if(Roo.isIE&&this.tabs){this.tabs.el.repaint();
+}},getEl:function(){return this.el;},hide:function(){this.el.dom.style.left="-2000px";this.el.hide();this.visible=false;this.fireEvent("visibilitychange",this,false);},show:function(){this.el.show();this.visible=true;this.fireEvent("visibilitychange",this,true);
+},animateCollapse:function(){},animateExpand:function(){},initTabs:function(){this.bodyEl.setStyle("overflow","hidden");var ts=new Roo.bootstrap.panel.Tabs({el:this.bodyEl.dom,tabPosition:this.bottomTabs?'bottom':'top',disableTooltips:this.config.disableTabTips,toolbar:this.config.toolbar}
);if(this.config.hideTabs){ts.stripWrap.setDisplayed(false);}this.tabs=ts;ts.resizeTabs=this.config.resizeTabs===true;ts.minTabWidth=this.config.minTabWidth||40;ts.maxTabWidth=this.config.maxTabWidth||250;ts.preferredTabWidth=this.config.preferredTabWidth||150;
ts.monitorResize=false;ts.bodyEl.setStyle("overflow",this.config.autoScroll?"auto":"hidden");ts.bodyEl.addClass('roo-layout-tabs-body');this.panels.each(this.initPanelAsTab,this);},initPanelAsTab:function(A){var ti=this.tabs.addTab(A.getEl().id,A.getTitle(),null,this.config.closeOnTab&&A.isClosable());
if(A.tabTip!==undefined){ti.setTooltip(A.tabTip);}ti.on("activate",function(){this.setActivePanel(A);},this);if(this.config.closeOnTab){ti.on("beforeclose",function(t,e){e.cancel=true;this.remove(A);},this);}return ti;},updatePanelTitle:function(A,B){if(this.activePanel==A){this.updateTitle(B);
]},true);C.addClassOnOver("roo-layout-tools-button-over");return C;}});
// Roo/bootstrap/layout/Split.js
Roo.bootstrap.layout.Split=function(A){this.cursor=A.cursor;Roo.bootstrap.layout.Split.superclass.constructor.call(this,A);};Roo.extend(Roo.bootstrap.layout.Split,Roo.bootstrap.layout.Region,{splitTip:"Drag to resize.",collapsibleSplitTip:"Drag to resize. Double click to hide.",useSplitTips:false,applyConfig:function(A){Roo.bootstrap.layout.Split.superclass.applyConfig.call(this,A);
-if(A.split){if(!this.split){var B=Roo.DomHelper.append(this.mgr.el.dom,{tag:"div",id:this.el.id+"-split",cls:"roo-layout-split roo-layout-split-"+this.position,html:" "});Roo.log([this.position,this.orientation]);this.split=new Roo.bootstrap.SplitBar({dragElement:B,resizingElement:this.el,orientation:this.orientation}
-);this.split.on("moved",this.onSplitMove,this);this.split.useShim=A.useShim===true;this.split.getMaximumSize=this[this.position=='north'||this.position=='south'?'getVMaxSize':'getHMaxSize'].createDelegate(this);if(this.useSplitTips){this.split.el.dom.title=A.collapsible?this.collapsibleSplitTip:this.splitTip;
-}}if(typeof A.minSize!="undefined"){this.split.minSize=A.minSize;}if(typeof A.maxSize!="undefined"){this.split.maxSize=A.maxSize;}if(A.hideWhenEmpty||A.hidden||A.collapsed){this.hideSplitter();}}},getHMaxSize:function(){var A=this.config.maxSize||10000;var B=this.mgr.getRegion("center");
-return Math.min(A,(this.el.getWidth()+B.getEl().getWidth())-B.getMinWidth());},getVMaxSize:function(){var A=this.config.maxSize||10000;var B=this.mgr.getRegion("center");return Math.min(A,(this.el.getHeight()+B.getEl().getHeight())-B.getMinHeight());},onSplitMove:function(A,B){this.fireEvent("resized",this,B);
-},getSplitBar:function(){return this.split;},hide:function(){this.hideSplitter();Roo.bootstrap.layout.Split.superclass.hide.call(this);},hideSplitter:function(){if(this.split){this.split.el.setLocation(-2000,-2000);this.split.el.hide();}},show:function(){if(this.split){this.split.el.show();
-}Roo.bootstrap.layout.Split.superclass.show.call(this);},beforeSlide:function(){if(Roo.isGecko){this.bodyEl.clip();if(this.tabs){this.tabs.bodyEl.clip();}if(this.activePanel){this.activePanel.getEl().clip();if(this.activePanel.beforeSlide){this.activePanel.beforeSlide();
-}}}},afterSlide:function(){if(Roo.isGecko){this.bodyEl.unclip();if(this.tabs){this.tabs.bodyEl.unclip();}if(this.activePanel){this.activePanel.getEl().unclip();if(this.activePanel.afterSlide){this.activePanel.afterSlide();}}}},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var st=new Roo.util.DelayedTask(this.slideIn,this);
+},onRender:function(A,B){Roo.bootstrap.layout.Split.superclass.onRender.call(this,A,B);if(!this.config.split){return;}if(!this.split){var C=Roo.DomHelper.append(A.dom,{tag:"div",id:this.el.id+"-split",cls:"roo-layout-split roo-layout-split-"+this.position,html:" "}
+);Roo.log([this.position,this.orientation]);this.split=new Roo.bootstrap.SplitBar({dragElement:C,resizingElement:this.el,orientation:this.orientation});this.split.on("moved",this.onSplitMove,this);this.split.useShim=this.config.useShim===true;this.split.getMaximumSize=this[this.position=='north'||this.position=='south'?'getVMaxSize':'getHMaxSize'].createDelegate(this);
+if(this.useSplitTips){this.split.el.dom.title=this.config.collapsible?this.collapsibleSplitTip:this.splitTip;}}if(typeof this.config.minSize!="undefined"){this.split.minSize=this.config.minSize;}if(typeof this.config.maxSize!="undefined"){this.split.maxSize=this.config.maxSize;
+}if(this.config.hideWhenEmpty||this.config.hidden||this.config.collapsed){this.hideSplitter();}},getHMaxSize:function(){var A=this.config.maxSize||10000;var B=this.mgr.getRegion("center");return Math.min(A,(this.el.getWidth()+B.getEl().getWidth())-B.getMinWidth());
+},getVMaxSize:function(){var A=this.config.maxSize||10000;var B=this.mgr.getRegion("center");return Math.min(A,(this.el.getHeight()+B.getEl().getHeight())-B.getMinHeight());},onSplitMove:function(A,B){this.fireEvent("resized",this,B);},getSplitBar:function(){return this.split;
+},hide:function(){this.hideSplitter();Roo.bootstrap.layout.Split.superclass.hide.call(this);},hideSplitter:function(){if(this.split){this.split.el.setLocation(-2000,-2000);this.split.el.hide();}},show:function(){if(this.split){this.split.el.show();}Roo.bootstrap.layout.Split.superclass.show.call(this);
+},beforeSlide:function(){if(Roo.isGecko){this.bodyEl.clip();if(this.tabs){this.tabs.bodyEl.clip();}if(this.activePanel){this.activePanel.getEl().clip();if(this.activePanel.beforeSlide){this.activePanel.beforeSlide();}}}},afterSlide:function(){if(Roo.isGecko){this.bodyEl.unclip();
+if(this.tabs){this.tabs.bodyEl.unclip();}if(this.activePanel){this.activePanel.getEl().unclip();if(this.activePanel.afterSlide){this.activePanel.afterSlide();}}}},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var st=new Roo.util.DelayedTask(this.slideIn,this);
this.autoHideHd={"mouseout":function(e){if(!e.within(this.el,true)){st.delay(500);}},"mouseover":function(e){st.cancel();},scope:this};}this.el.on(this.autoHideHd);}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);
this.el.un("mouseover",this.autoHideHd.mouseover);}},clearMonitor:function(){Roo.get(document).un("click",this.slideInIf,this);},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return;}this.isSlid=true;if(this.collapseBtn){this.collapseBtn.hide();
}this.closeBtnState=this.closeBtn.getStyle('display');this.closeBtn.hide();if(this.stickBtn){this.stickBtn.show();}this.el.show();this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());this.beforeSlide();this.el.setStyle("z-index",10001);this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();
if(this.split){this.split.placement=Roo.bootstrap.SplitBar.RIGHT;this.split.orientation=Roo.bootstrap.SplitBar.HORIZONTAL;this.split.el.addClass("roo-layout-split-h");}var B=A.initialSize||A.width;if(typeof B!="undefined"){this.el.setWidth(B);}};Roo.extend(Roo.bootstrap.layout.East,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.HORIZONTAL,getBox:function(){if(this.collapsed){return this.collapsedEl.getBox();
}var A=this.el.getBox();if(this.split){var sw=this.split.el.getWidth();A.width+=sw;A.x-=sw;}return A;},updateBox:function(A){if(this.split&&!this.collapsed){var sw=this.split.el.getWidth();A.width-=sw;this.split.el.setLeft(A.x);this.split.el.setTop(A.y);this.split.el.setHeight(A.height);
A.x+=sw;}if(this.collapsed){this.updateBody(null,A.height);}Roo.bootstrap.layout.Region.prototype.updateBox.call(this,A);}});Roo.bootstrap.layout.West=function(A){A.region="west";A.cursor="w-resize";Roo.bootstrap.layout.Split.call(this,A);if(this.split){this.split.placement=Roo.bootstrap.SplitBar.LEFT;
-this.split.orientation=Roo.bootstrap.SplitBar.HORIZONTAL;this.split.el.addClass("roo-layout-split-h");}var B=A.initialSize||A.width;if(typeof B!="undefined"){this.el.setWidth(B);}};Roo.extend(Roo.bootstrap.layout.West,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.HORIZONTAL,getBox:function(){if(this.collapsed){return this.collapsedEl.getBox();
-}var A=this.el.getBox();if(this.split){A.width+=this.split.el.getWidth();}return A;},updateBox:function(A){if(this.split&&!this.collapsed){var sw=this.split.el.getWidth();A.width-=sw;this.split.el.setLeft(A.x+A.width);this.split.el.setTop(A.y);this.split.el.setHeight(A.height);
-}if(this.collapsed){this.updateBody(null,A.height);}Roo.bootstrap.layout.Region.prototype.updateBox.call(this,A);}});
+this.split.orientation=Roo.bootstrap.SplitBar.HORIZONTAL;this.split.el.addClass("roo-layout-split-h");}};Roo.extend(Roo.bootstrap.layout.West,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.HORIZONTAL,onRender:function(A,B){Roo.bootstrap.layout.West.superclass.onRender.call(this,A,B);
+var C=this.config.initialSize||this.config.width;if(typeof C!="undefined"){this.el.setWidth(C);}},getBox:function(){if(this.collapsed){return this.collapsedEl.getBox();}var A=this.el.getBox();if(this.split){A.width+=this.split.el.getWidth();}return A;},updateBox:function(A){if(this.split&&!this.collapsed){var sw=this.split.el.getWidth();
+A.width-=sw;this.split.el.setLeft(A.x+A.width);this.split.el.setTop(A.y);this.split.el.setHeight(A.height);}if(this.collapsed){this.updateBody(null,A.height);}Roo.bootstrap.layout.Region.prototype.updateBox.call(this,A);}});
// Roo/bootstrap/panel/panel-ns.js
Roo.namespace("Roo.bootstrap.panel");
// Roo/bootstrap/panel/Content.js