diff --git a/src/core/wrapper/layout/adapt/adapt.leftrightvertical.js b/src/core/wrapper/layout/adapt/adapt.leftrightvertical.js index 6eb755ece..575f1397c 100644 --- a/src/core/wrapper/layout/adapt/adapt.leftrightvertical.js +++ b/src/core/wrapper/layout/adapt/adapt.leftrightvertical.js @@ -80,16 +80,6 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, { this.right.stroke(this.options.items.right); }, - update: function (opt) { - this.left.update({ - items: opt.items.left - }); - this.right.update({ - items: opt.items.right - }); - return true; - }, - addItem: function () { // do nothing throw new Error("不能添加子组件"); @@ -143,10 +133,6 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, { this.layout.resize(); }, - update: function (opt) { - return this.layout.update(opt); - }, - addItem: function () { // do nothing throw new Error("不能添加子组件"); diff --git a/src/core/wrapper/layout/adapt/adapt.table.js b/src/core/wrapper/layout/adapt/adapt.table.js index 8ea7025a8..dcec1b19a 100644 --- a/src/core/wrapper/layout/adapt/adapt.table.js +++ b/src/core/wrapper/layout/adapt/adapt.table.js @@ -24,13 +24,25 @@ BI.TableAdaptLayout = BI.inherit(BI.Layout, { this.$table = BI.Widget._renderEngine.createElement("
").css({ position: "relative", display: "table", - width: (o.horizontalAlign === BI.HorizontalAlign.Center || o.horizontalAlign === BI.HorizontalAlign.Stretch) ? "100%" : "auto", + width: (o.horizontalAlign === BI.HorizontalAlign.Center || o.horizontalAlign === BI.HorizontalAlign.Stretch || this._hasFill()) ? "100%" : "auto", height: (o.verticalAlign !== BI.VerticalAlign.Top) ? "100%" : "auto", "white-space": "nowrap" }); this.populate(this.options.items); }, + _hasFill: function () { + var o = this.options; + if (o.columnSize.length > 0) { + return o.columnSize.indexOf("fill") >= 0; + } + return BI.some(o.items, function (i, item) { + if (item.width === "fill") { + return true; + } + }); + }, + _addElement: function (i, item) { var o = this.options; var td, width = ""; @@ -40,17 +52,7 @@ BI.TableAdaptLayout = BI.inherit(BI.Layout, { ((columnSize * 100).toFixed(1) + "%") : (columnSize + (i === 0 ? o.hgap : 0) + o.hgap + o.lgap + o.rgap); } - function hasFill() { - if (o.columnSize.length > 0) { - return o.columnSize.indexOf("fill") >= 0; - } - return BI.some(o.items, function (i, item) { - if (item.width === "fill") { - return true; - } - }); - } - if ((BI.isNull(columnSize) || columnSize === "") && hasFill()) { + if ((BI.isNull(columnSize) || columnSize === "") && this._hasFill()) { width = 2; } if (!this.hasWidget(this._getChildName(i))) { diff --git a/src/core/wrapper/layout/fill/float.fill.horizontal.js b/src/core/wrapper/layout/fill/float.fill.horizontal.js index abcbbca57..16aee27ef 100644 --- a/src/core/wrapper/layout/fill/float.fill.horizontal.js +++ b/src/core/wrapper/layout/fill/float.fill.horizontal.js @@ -76,7 +76,7 @@ BI.FloatHorizontalFillLayout = BI.inherit(BI.Layout, { } var top = o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0), bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); - if (BI.isNull(item.height)) { + if (o.verticalAlign === BI.VerticalAlign.Stretch && BI.isNull(item.height)) { w.element.css({ height: "calc(100% - " + ((top + bottom) / BI.pixRatio + BI.pixUnit) + ")" }); diff --git a/src/core/wrapper/layout/layout.inline.js b/src/core/wrapper/layout/layout.inline.js index 9759c8751..8376d9827 100644 --- a/src/core/wrapper/layout/layout.inline.js +++ b/src/core/wrapper/layout/layout.inline.js @@ -48,7 +48,9 @@ BI.InlineLayout = BI.inherit(BI.Layout, { } w.element.css({ position: "relative", - "vertical-align": o.verticalAlign + "vertical-align": o.verticalAlign, + "min-width": "auto", + "max-width": "auto" }); w.element.addClass("i-item"); if (columnSize === "fill" || columnSize === "") { @@ -77,7 +79,7 @@ BI.InlineLayout = BI.inherit(BI.Layout, { } } this._handleGap(w, item, i); - if (o.verticalAlign === BI.VerticalAlign.Stretch) { + if (o.verticalAlign === BI.VerticalAlign.Stretch && BI.isNull(item.height)) { var top = o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0), bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css("height", "calc(100% - " + ((top + bottom) / BI.pixRatio + BI.pixUnit) + ")");