From: Alan Knowles Date: Fri, 5 Feb 2021 08:06:30 +0000 (+0800) Subject: fix layout height calc X-Git-Url: http://git.roojs.org/?p=roojs1;a=commitdiff_plain;h=f0c24857d3fade101dcf96c446de04d079f43b05 fix layout height calc --- diff --git a/Roo/bootstrap/layout/Border.js b/Roo/bootstrap/layout/Border.js index 9418c48c8d..cc4d8b144e 100644 --- a/Roo/bootstrap/layout/Border.js +++ b/Roo/bootstrap/layout/Border.js @@ -38,7 +38,7 @@ Roo.bootstrap.layout.Border = function(config){ }; -Roo.bootstrap.layout.Border.regions = ["north","south","east","west","center"]; +Roo.bootstrap.layout.Border.regions = ["center", "north","south","east","west"]; Roo.extend(Roo.bootstrap.layout.Border, Roo.bootstrap.layout.Manager, { diff --git a/Roo/bootstrap/layout/East.js b/Roo/bootstrap/layout/East.js index dadf04478a..cf201c8587 100644 --- a/Roo/bootstrap/layout/East.js +++ b/Roo/bootstrap/layout/East.js @@ -8,13 +8,21 @@ Roo.bootstrap.layout.East = function(config){ 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.East, Roo.bootstrap.layout.Split, { orientation: Roo.bootstrap.SplitBar.HORIZONTAL, + + onRender : function(ctr, pos) + { + Roo.bootstrap.layout.Split.prototype.onRender.call(this, ctr, pos); + var size = this.config.initialSize || this.config.width; + if(this.el && typeof size != "undefined"){ + this.el.setWidth(size); + } + + }, + getBox : function(){ if(this.collapsed){ return this.collapsedEl.getBox(); diff --git a/Roo/bootstrap/layout/North.js b/Roo/bootstrap/layout/North.js index fc9fdf19c7..f9c284d38b 100644 --- a/Roo/bootstrap/layout/North.js +++ b/Roo/bootstrap/layout/North.js @@ -16,16 +16,25 @@ Roo.bootstrap.layout.North = function(config) this.split.orientation = Roo.bootstrap.SplitBar.VERTICAL; this.split.el.addClass("roo-layout-split-v"); } - var size = config.initialSize || config.height; - if(typeof size != "undefined"){ - this.el.setHeight(size); - } + //var size = config.initialSize || config.height; + //if(this.el && typeof size != "undefined"){ + // this.el.setHeight(size); + //} }; Roo.extend(Roo.bootstrap.layout.North, Roo.bootstrap.layout.Split, { orientation: Roo.bootstrap.SplitBar.VERTICAL, + + + onRender : function(ctr, pos) + { + Roo.bootstrap.layout.Split.prototype.onRender.call(this, ctr, pos); + var size = this.config.initialSize || this.config.height; + if(this.el && typeof size != "undefined"){ + this.el.setHeight(size); + } - + }, getBox : function(){ if(this.collapsed){ diff --git a/Roo/bootstrap/layout/South.js b/Roo/bootstrap/layout/South.js index 0bfb80a47a..aa23cf1d13 100644 --- a/Roo/bootstrap/layout/South.js +++ b/Roo/bootstrap/layout/South.js @@ -11,14 +11,22 @@ Roo.bootstrap.layout.South = function(config){ this.split.orientation = Roo.bootstrap.SplitBar.VERTICAL; this.split.el.addClass("roo-layout-split-v"); } - var size = config.initialSize || config.height; - if(typeof size != "undefined"){ - this.el.setHeight(size); - } + }; Roo.extend(Roo.bootstrap.layout.South, Roo.bootstrap.layout.Split, { orientation: Roo.bootstrap.SplitBar.VERTICAL, + + onRender : function(ctr, pos) + { + Roo.bootstrap.layout.Split.prototype.onRender.call(this, ctr, pos); + var size = this.config.initialSize || this.config.height; + if(this.el && typeof size != "undefined"){ + this.el.setHeight(size); + } + + }, + getBox : function(){ if(this.collapsed){ return this.collapsedEl.getBox(); diff --git a/roojs-bootstrap-debug.js b/roojs-bootstrap-debug.js index f74105bf97..c032bc9856 100644 --- a/roojs-bootstrap-debug.js +++ b/roojs-bootstrap-debug.js @@ -37338,7 +37338,7 @@ Roo.bootstrap.layout.Border = function(config){ }; -Roo.bootstrap.layout.Border.regions = ["north","south","east","west","center"]; +Roo.bootstrap.layout.Border.regions = ["center", "north","south","east","west"]; Roo.extend(Roo.bootstrap.layout.Border, Roo.bootstrap.layout.Manager, { @@ -39269,16 +39269,25 @@ Roo.bootstrap.layout.North = function(config) this.split.orientation = Roo.bootstrap.SplitBar.VERTICAL; this.split.el.addClass("roo-layout-split-v"); } - var size = config.initialSize || config.height; - if(typeof size != "undefined"){ - this.el.setHeight(size); - } + //var size = config.initialSize || config.height; + //if(this.el && typeof size != "undefined"){ + // this.el.setHeight(size); + //} }; Roo.extend(Roo.bootstrap.layout.North, Roo.bootstrap.layout.Split, { orientation: Roo.bootstrap.SplitBar.VERTICAL, + + + onRender : function(ctr, pos) + { + Roo.bootstrap.layout.Split.prototype.onRender.call(this, ctr, pos); + var size = this.config.initialSize || this.config.height; + if(this.el && typeof size != "undefined"){ + this.el.setHeight(size); + } - + }, getBox : function(){ if(this.collapsed){ @@ -39318,14 +39327,22 @@ Roo.bootstrap.layout.South = function(config){ this.split.orientation = Roo.bootstrap.SplitBar.VERTICAL; this.split.el.addClass("roo-layout-split-v"); } - var size = config.initialSize || config.height; - if(typeof size != "undefined"){ - this.el.setHeight(size); - } + }; Roo.extend(Roo.bootstrap.layout.South, Roo.bootstrap.layout.Split, { orientation: Roo.bootstrap.SplitBar.VERTICAL, + + onRender : function(ctr, pos) + { + Roo.bootstrap.layout.Split.prototype.onRender.call(this, ctr, pos); + var size = this.config.initialSize || this.config.height; + if(this.el && typeof size != "undefined"){ + this.el.setHeight(size); + } + + }, + getBox : function(){ if(this.collapsed){ return this.collapsedEl.getBox(); @@ -39364,13 +39381,21 @@ Roo.bootstrap.layout.East = function(config){ 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.East, Roo.bootstrap.layout.Split, { orientation: Roo.bootstrap.SplitBar.HORIZONTAL, + + onRender : function(ctr, pos) + { + Roo.bootstrap.layout.Split.prototype.onRender.call(this, ctr, pos); + var size = this.config.initialSize || this.config.width; + if(this.el && typeof size != "undefined"){ + this.el.setWidth(size); + } + + }, + getBox : function(){ if(this.collapsed){ return this.collapsedEl.getBox(); diff --git a/roojs-bootstrap.js b/roojs-bootstrap.js index 8c2cd2aa32..4939174687 100644 --- a/roojs-bootstrap.js +++ b/roojs-bootstrap.js @@ -1593,7 +1593,7 @@ this.layout();},onRegionCollapsed:function(A){this.fireEvent("regioncollapsed",A ;}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.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=["center","north","south","east","west"]; Roo.extend(Roo.bootstrap.layout.Border,Roo.bootstrap.layout.Manager,{parent:false,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;}Roo.each(Roo.bootstrap.layout.Border.regions,function(N){if(this.regions[N]&&!this.regions[N].bodyEl){this.regions[N].onRender(this.el)}},this);var A=this.getViewSize();var w=A.width;var h=A.height;var B=w;var C=h; @@ -1677,19 +1677,19 @@ Roo.bootstrap.layout.Center=function(A){A.region="center";Roo.bootstrap.layout.R ,show:function(){},getMinWidth:function(){return this.minWidth;},getMinHeight:function(){return this.minHeight;}}); // Roo/bootstrap/layout/North.js Roo.bootstrap.layout.North=function(A){A.region='north';A.cursor='n-resize';Roo.bootstrap.layout.Split.call(this,A);if(this.split){this.split.placement=Roo.bootstrap.SplitBar.TOP;this.split.orientation=Roo.bootstrap.SplitBar.VERTICAL;this.split.el.addClass("roo-layout-split-v"); -}var B=A.initialSize||A.height;if(typeof B!="undefined"){this.el.setHeight(B);}};Roo.extend(Roo.bootstrap.layout.North,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.VERTICAL,getBox:function(){if(this.collapsed){return this.collapsedEl.getBox(); -}var A=this.el.getBox();if(this.split){A.height+=this.split.el.getHeight();}return A;},updateBox:function(A){if(this.split&&!this.collapsed){A.height-=this.split.el.getHeight();this.split.el.setLeft(A.x);this.split.el.setTop(A.y+A.height);this.split.el.setWidth(A.width); -}if(this.collapsed){this.updateBody(A.width,null);}Roo.bootstrap.layout.Region.prototype.updateBox.call(this,A);}}); +}};Roo.extend(Roo.bootstrap.layout.North,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.VERTICAL,onRender:function(A,B){Roo.bootstrap.layout.Split.prototype.onRender.call(this,A,B);var C=this.config.initialSize||this.config.height;if(this.el&&typeof C!="undefined"){this.el.setHeight(C); +}},getBox:function(){if(this.collapsed){return this.collapsedEl.getBox();}var A=this.el.getBox();if(this.split){A.height+=this.split.el.getHeight();}return A;},updateBox:function(A){if(this.split&&!this.collapsed){A.height-=this.split.el.getHeight();this.split.el.setLeft(A.x); +this.split.el.setTop(A.y+A.height);this.split.el.setWidth(A.width);}if(this.collapsed){this.updateBody(A.width,null);}Roo.bootstrap.layout.Region.prototype.updateBox.call(this,A);}}); // Roo/bootstrap/layout/South.js Roo.bootstrap.layout.South=function(A){A.region='south';A.cursor='s-resize';Roo.bootstrap.layout.Split.call(this,A);if(this.split){this.split.placement=Roo.bootstrap.SplitBar.BOTTOM;this.split.orientation=Roo.bootstrap.SplitBar.VERTICAL;this.split.el.addClass("roo-layout-split-v"); -}var B=A.initialSize||A.height;if(typeof B!="undefined"){this.el.setHeight(B);}};Roo.extend(Roo.bootstrap.layout.South,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.VERTICAL,getBox:function(){if(this.collapsed){return this.collapsedEl.getBox(); -}var A=this.el.getBox();if(this.split){var sh=this.split.el.getHeight();A.height+=sh;A.y-=sh;}return A;},updateBox:function(A){if(this.split&&!this.collapsed){var sh=this.split.el.getHeight();A.height-=sh;A.y+=sh;this.split.el.setLeft(A.x);this.split.el.setTop(A.y-sh); -this.split.el.setWidth(A.width);}if(this.collapsed){this.updateBody(A.width,null);}Roo.bootstrap.layout.Region.prototype.updateBox.call(this,A);}}); +}};Roo.extend(Roo.bootstrap.layout.South,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.VERTICAL,onRender:function(A,B){Roo.bootstrap.layout.Split.prototype.onRender.call(this,A,B);var C=this.config.initialSize||this.config.height;if(this.el&&typeof C!="undefined"){this.el.setHeight(C); +}},getBox:function(){if(this.collapsed){return this.collapsedEl.getBox();}var A=this.el.getBox();if(this.split){var sh=this.split.el.getHeight();A.height+=sh;A.y-=sh;}return A;},updateBox:function(A){if(this.split&&!this.collapsed){var sh=this.split.el.getHeight(); +A.height-=sh;A.y+=sh;this.split.el.setLeft(A.x);this.split.el.setTop(A.y-sh);this.split.el.setWidth(A.width);}if(this.collapsed){this.updateBody(A.width,null);}Roo.bootstrap.layout.Region.prototype.updateBox.call(this,A);}}); // Roo/bootstrap/layout/East.js Roo.bootstrap.layout.East=function(A){A.region="east";A.cursor="e-resize";Roo.bootstrap.layout.Split.call(this,A);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.extend(Roo.bootstrap.layout.East,Roo.bootstrap.layout.Split,{orientation:Roo.bootstrap.SplitBar.HORIZONTAL,onRender:function(A,B){Roo.bootstrap.layout.Split.prototype.onRender.call(this,A,B);var C=this.config.initialSize||this.config.width;if(this.el&&typeof C!="undefined"){this.el.setWidth(C); +}},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.js 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"); }};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);