guy 4 years ago
parent
commit
f18ef63de0
  1. 58
      src/core/platform/web/config.js
  2. 1
      src/core/wrapper/layout/adapt/adapt.table.js
  3. 6
      src/core/wrapper/layout/layout.horizontal.js

58
src/core/platform/web/config.js

@ -15,43 +15,17 @@ BI.prepares.push(function () {
}; };
BI.Plugin.configWidget("bi.horizontal", function (ob) { BI.Plugin.configWidget("bi.horizontal", function (ob) {
var isIE = BI.isIE(), supportFlex = isSupportFlex(), isLessIE8 = isIE && BI.getIEVersion() < 8; var isIE = BI.isIE(), supportFlex = isSupportFlex(), isLessIE8 = isIE && BI.getIEVersion() < 8;
// center_adapt if (isLessIE8) {
if (ob.verticalAlign === BI.VerticalAlign.Middle && ob.horizontalAlign === BI.HorizontalAlign.Center) { return ob;
if (isLessIE8) {
return ob;
}
return BI.extend(ob, {type: "bi.table_adapt"});
}
// vertical_adapt
if (ob.verticalAlign === BI.VerticalAlign.Middle && ob.horizontalAlign === BI.HorizontalAlign.Left) {
if (isLessIE8) {
return ob;
}
return BI.extend(ob, {type: "bi.table_adapt"});
}
// horizontal_adapt
if (ob.verticalAlign === BI.VerticalAlign.Top && ob.horizontalAlign === BI.HorizontalAlign.Center) {
if (isLessIE8) {
return ob;
}
return BI.extend(ob, {type: "bi.table_adapt"});
} }
if (!isIE) { if (IE || !supportFlex || (ob.items && ob.items.length > 1)) {
if (supportFlex) {
return BI.extend(ob, {type: "bi.flex_horizontal"});
}
return BI.extend(ob, {type: "bi.table_adapt"}); return BI.extend(ob, {type: "bi.table_adapt"});
} }
return ob; return BI.extend(ob, {type: "bi.flex_horizontal"});
}); });
BI.Plugin.configWidget("bi.center_adapt", function (ob) { BI.Plugin.configWidget("bi.center_adapt", function (ob) {
var isIE = BI.isIE(), supportFlex = isSupportFlex(), justOneItem = (ob.items && ob.items.length <= 1); var isIE = BI.isIE(), supportFlex = isSupportFlex(), justOneItem = (ob.items && ob.items.length <= 1);
if (!isIE && supportFlex && justOneItem) { if (!isIE && supportFlex && justOneItem) {
// 有滚动条的情况下需要用到flex_scrollable_center_adapt布局
if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
// 不是IE用flex_scrollable_center_adapt布局
return BI.extend(ob, {type: "bi.flex_scrollable_center_adapt"});
}
return BI.extend(ob, {type: "bi.flex_center_adapt"}); return BI.extend(ob, {type: "bi.flex_center_adapt"});
} }
// 一个item的情况下inline布局睥睨天下 // 一个item的情况下inline布局睥睨天下
@ -63,60 +37,50 @@ BI.prepares.push(function () {
BI.Plugin.configWidget("bi.vertical_adapt", function (ob) { BI.Plugin.configWidget("bi.vertical_adapt", function (ob) {
var isIE = BI.isIE(), supportFlex = isSupportFlex(); var isIE = BI.isIE(), supportFlex = isSupportFlex();
if (!isIE && supportFlex) { if (!isIE && supportFlex) {
// 有滚动条的情况下需要用到flex_scrollable_center_adapt布局
if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
// 不是IE用flex__scrollable_center_adapt布局
return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical_center_adapt"});
}
return BI.extend(ob, {type: "bi.flex_vertical_center_adapt"}); return BI.extend(ob, {type: "bi.flex_vertical_center_adapt"});
} }
return BI.extend(ob, {type: "bi.inline_vertical_adapt"}); return BI.extend(ob, {type: "bi.inline_vertical_adapt"});
}); });
BI.Plugin.configWidget("bi.horizontal_adapt", function (ob) { BI.Plugin.configWidget("bi.horizontal_adapt", function (ob) {
if (ob.items && ob.items.length <= 1) { if (ob.verticalAlign === BI.VerticalAlign.TOP && ob.items && ob.items.length <= 1) {
return BI.extend(ob, {type: "bi.horizontal_auto"}); return BI.extend(ob, {type: "bi.horizontal_auto"});
} }
return ob; return ob;
}); });
BI.Plugin.configWidget("bi.float_center_adapt", function (ob) { BI.Plugin.configWidget("bi.float_center_adapt", function (ob) {
if (!BI.isIE() && isSupportFlex()) { if (!BI.isIE() && isSupportFlex()) {
// 有滚动条的情况下需要用到flex_scrollable_center_adapt布局
if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
// 不是IE用flex_scrollable_center_adapt布局
return BI.extend({}, ob, {type: "bi.flex_scrollable_center_adapt"});
}
return BI.extend(ob, {type: "bi.flex_center_adapt"}); return BI.extend(ob, {type: "bi.flex_center_adapt"});
} }
return BI.extend(ob, {type: "bi.inline_center_adapt"}); return BI.extend(ob, {type: "bi.inline_center_adapt"});
}); });
BI.Plugin.configWidget("bi.flex_horizontal", function (ob) { BI.Plugin.configWidget("bi.flex_horizontal", function (ob) {
if (ob.scrollable === true || ob.scrolly === true) { if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
return BI.extend({}, ob, {type: "bi.flex_scrollable_horizontal"}); return BI.extend({}, ob, {type: "bi.flex_scrollable_horizontal"});
} }
}); });
BI.Plugin.configWidget("bi.flex_vertical", function (ob) { BI.Plugin.configWidget("bi.flex_vertical", function (ob) {
if (ob.scrollable === true || ob.scrollx === true) { if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical"}); return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical"});
} }
}); });
BI.Plugin.configWidget("bi.flex_horizontal_adapt", function (ob) { BI.Plugin.configWidget("bi.flex_horizontal_adapt", function (ob) {
if (ob.scrollable === true || ob.scrollx === true) { if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
return BI.extend({}, ob, {type: "bi.flex_scrollable_horizontal_adapt"}); return BI.extend({}, ob, {type: "bi.flex_scrollable_horizontal_adapt"});
} }
}); });
BI.Plugin.configWidget("bi.flex_vertical_adapt", function (ob) { BI.Plugin.configWidget("bi.flex_vertical_adapt", function (ob) {
if (ob.scrollable === true || ob.scrolly === true) { if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical_adapt"}); return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical_adapt"});
} }
}); });
BI.Plugin.configWidget("bi.flex_horizontal_center_adapt", function (ob) { BI.Plugin.configWidget("bi.flex_horizontal_center_adapt", function (ob) {
if (ob.scrollable === true || ob.scrollx === true) { if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
return BI.extend({}, ob, {type: "bi.flex_scrollable_horizontal_adapt"}); return BI.extend({}, ob, {type: "bi.flex_scrollable_horizontal_adapt"});
} }
}); });
BI.Plugin.configWidget("bi.flex_vertical_center_adapt", function (ob) { BI.Plugin.configWidget("bi.flex_vertical_center_adapt", function (ob) {
if (ob.scrollable === true || ob.scrolly === true) { if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) {
return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical_adapt"}); return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical_adapt"});
} }
}); });

1
src/core/wrapper/layout/adapt/adapt.table.js

@ -33,7 +33,6 @@ BI.TableAdaptLayout = BI.inherit(BI.Layout, {
}, },
_addElement: function (i, item) { _addElement: function (i, item) {
var o = this.options; var o = this.options;
var td; var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i]; var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];

6
src/core/wrapper/layout/layout.horizontal.js

@ -25,8 +25,8 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({
position: "relative", position: "relative",
"white-space": "nowrap", "white-space": "nowrap",
height: o.verticalAlign === BI.VerticalAlign.Middle ? "100%" : "auto",
width: (o.horizontalAlign === BI.HorizontalAlign.Center || o.horizontalAlign === BI.HorizontalAlign.Stretch) ? "100%" : "auto", width: (o.horizontalAlign === BI.HorizontalAlign.Center || o.horizontalAlign === BI.HorizontalAlign.Stretch) ? "100%" : "auto",
height: (o.verticalAlign === BI.VerticalAlign.Middle || o.verticalAlign === BI.VerticalAlign.Stretch) ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -79,7 +79,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
} }
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({ w.element.css({
"margin-left": (i === 0 ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0) +"px" "margin-left": (i === 0 ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0) + "px"
}); });
} }
if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) {
@ -175,4 +175,4 @@ BI.HorizontalCellLayout = BI.inherit(BI.Layout, {
this._mount(); this._mount();
} }
}); });
BI.shortcut("bi.horizontal_cell", BI.HorizontalCellLayout); BI.shortcut("bi.horizontal_cell", BI.HorizontalCellLayout);

Loading…
Cancel
Save