// 工程配置 BI.prepares.push(function () { // 注册布局 var _isSupprtFlex; var isSupportFlex = function () { if (_isSupprtFlex == null) { _isSupprtFlex = !!(BI.isSupportCss3 && BI.isSupportCss3("flex")); } return _isSupprtFlex; }; BI.Plugin.registerWidget("bi.horizontal", function (ob) { // center_adapt if (ob.verticalAlign === BI.VerticalAlign.Middle && ob.horizontalAlign === BI.HorizontalAlign.Center) { return ob; } // vertical_adapt if (ob.verticalAlign === BI.VerticalAlign.Middle && ob.horizontalAlign === BI.HorizontalAlign.Left) { return ob; } // horizontal_adapt if (ob.verticalAlign === BI.VerticalAlign.Top && ob.horizontalAlign === BI.HorizontalAlign.Center) { return ob; } if (!BI.isIE() && isSupportFlex()) { return BI.extend(ob, {type: "bi.flex_horizontal"}); } return ob; }); BI.Plugin.registerWidget("bi.center_adapt", function (ob) { if (!BI.isIE() && isSupportFlex() && ob.items && ob.items.length <= 1) { // 有滚动条的情况下需要用到flex_wrapper_center布局 if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) { // 不是IE用flex_wrapper_center布局 return BI.extend(ob, {type: "bi.flex_wrapper_center"}); } return BI.extend(ob, {type: "bi.flex_center"}); } return ob; }); BI.Plugin.registerWidget("bi.vertical_adapt", function (ob) { if (!BI.isIE() && isSupportFlex()) { // 有滚动条的情况下需要用到flex_wrapper_center布局 if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) { // 不是IE用flex_wrapper_center布局 return BI.extend({}, ob, {type: "bi.flex_wrapper_vertical_center"}); } return BI.extend(ob, {type: "bi.flex_vertical_center"}); } return ob; }); BI.Plugin.registerWidget("bi.horizontal_adapt", function (ob) { if (ob.items && ob.items.length <= 1) { return BI.extend(ob, {type: "bi.horizontal_auto"}); } return ob; }); BI.Plugin.registerWidget("bi.float_center_adapt", function (ob) { if (!BI.isIE() && isSupportFlex()) { // 有滚动条的情况下需要用到flex_wrapper_center布局 if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) { // 不是IE用flex_wrapper_center布局 return BI.extend({}, ob, {type: "bi.flex_wrapper_center"}); } return BI.extend(ob, {type: "bi.flex_center"}); } return BI.extend(ob, {type: "bi.inline_center_adapt"}); }); });