Browse Source

Pull request #1761: 无JIRA任务 bugfix

Merge in VISUAL/fineui from ~GUY/fineui:master to master

* commit 'b8f73d7731388f47da6c8d42e0058b0143e4fb87':
  bugfix
  bugfix
es6
guy 4 years ago
parent
commit
dcd5499fe0
  1. 44
      src/core/platform/web/config.js
  2. 4
      src/core/shortcut.js
  3. 31
      src/less/core/wrapper/flex.wrapper.horizontal.less
  4. 31
      src/less/core/wrapper/flex.wrapper.vertical.less

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

@ -21,10 +21,10 @@ BI.prepares.push(function () {
// 在横向自适应场景下我们需要使用table的自适应撑出滚动条的特性(flex处理不了这种情况) // 在横向自适应场景下我们需要使用table的自适应撑出滚动条的特性(flex处理不了这种情况)
// 主要出现在center_adapt或者horizontal_adapt的场景,或者主动设置horizontalAlign的场景 // 主要出现在center_adapt或者horizontal_adapt的场景,或者主动设置horizontalAlign的场景
if (ob.horizontalAlign === BI.HorizontalAlign.Center || ob.horizontalAlign === BI.HorizontalAlign.Stretch) { if (ob.horizontalAlign === BI.HorizontalAlign.Center || ob.horizontalAlign === BI.HorizontalAlign.Stretch) {
return BI.extend(ob, {type: "bi.table_adapt"}); return BI.extend({}, ob, {type: "bi.table_adapt"});
} }
if (!isIE && supportFlex) { if (!isIE && supportFlex) {
return BI.extend(ob, {type: "bi.flex_horizontal"}); return BI.extend({}, ob, {type: "bi.flex_horizontal"});
} }
// 解决使用inline_vertical_adapt的顺序问题 // 解决使用inline_vertical_adapt的顺序问题
// 从右往左放置时,为了兼容,我们统一采用从右到左的放置方式 // 从右往左放置时,为了兼容,我们统一采用从右到左的放置方式
@ -34,19 +34,19 @@ BI.prepares.push(function () {
items: ob.items && ob.items.reverse() items: ob.items && ob.items.reverse()
}); });
} }
return BI.extend(ob, {type: "bi.table_adapt"}); return BI.extend({}, ob, {type: "bi.table_adapt"});
}); });
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);
var isAdapt = !ob.horizontalAlign || ob.horizontalAlign === BI.HorizontalAlign.Center || ob.horizontalAlign === BI.HorizontalAlign.Stretch; var isAdapt = !ob.horizontalAlign || ob.horizontalAlign === BI.HorizontalAlign.Center || ob.horizontalAlign === BI.HorizontalAlign.Stretch;
if (!isAdapt || justOneItem) { if (!isAdapt || justOneItem) {
if (!isIE && supportFlex) { if (!isIE && supportFlex) {
return BI.extend(ob, {type: "bi.flex_center_adapt"}); return BI.extend({}, ob, {type: "bi.flex_center_adapt"});
} }
if (ob.horizontalAlign === BI.HorizontalAlign.Right) { if (ob.horizontalAlign === BI.HorizontalAlign.Right) {
return BI.extend(ob, {type: "bi.inline_center_adapt", items: ob.items && ob.items.reverse()}); return BI.extend({}, ob, {type: "bi.inline_center_adapt", items: ob.items && ob.items.reverse()});
} }
return BI.extend(ob, {type: "bi.inline_center_adapt"}); return BI.extend({}, ob, {type: "bi.inline_center_adapt"});
} }
return ob; return ob;
}); });
@ -55,12 +55,12 @@ BI.prepares.push(function () {
var isAdapt = ob.horizontalAlign === BI.HorizontalAlign.Center || ob.horizontalAlign === BI.HorizontalAlign.Stretch; var isAdapt = ob.horizontalAlign === BI.HorizontalAlign.Center || ob.horizontalAlign === BI.HorizontalAlign.Stretch;
if (!isAdapt || justOneItem) { if (!isAdapt || justOneItem) {
if (!isIE && supportFlex) { if (!isIE && supportFlex) {
return BI.extend(ob, {type: "bi.flex_vertical_center_adapt"}); return BI.extend({}, ob, {type: "bi.flex_vertical_center_adapt"});
} }
if (ob.horizontalAlign === BI.HorizontalAlign.Right) { if (ob.horizontalAlign === BI.HorizontalAlign.Right) {
return BI.extend(ob, {type: "bi.inline_vertical_adapt", items: ob.items && ob.items.reverse()}); return BI.extend({}, ob, {type: "bi.inline_vertical_adapt", items: ob.items && ob.items.reverse()});
} }
return BI.extend(ob, {type: "bi.inline_vertical_adapt"}); return BI.extend({}, ob, {type: "bi.inline_vertical_adapt"});
} }
return ob; return ob;
}); });
@ -68,64 +68,64 @@ BI.prepares.push(function () {
var justOneItem = (ob.items && ob.items.length <= 1); var justOneItem = (ob.items && ob.items.length <= 1);
if (!ob.verticalAlign || ob.verticalAlign === BI.VerticalAlign.TOP) { if (!ob.verticalAlign || ob.verticalAlign === BI.VerticalAlign.TOP) {
if (justOneItem) { if (justOneItem) {
return BI.extend(ob, {type: "bi.horizontal_auto"}); return BI.extend({}, ob, {type: "bi.horizontal_auto"});
} }
} }
return ob; return ob;
}); });
BI.Plugin.configWidget("bi.horizontal_float", function (ob) { BI.Plugin.configWidget("bi.horizontal_float", function (ob) {
if (!BI.isIE() && isSupportFlex()) { if (!BI.isIE() && isSupportFlex()) {
return BI.extend(ob, {type: "bi.flex_horizontal_adapt"}); return BI.extend({}, ob, {type: "bi.flex_horizontal_adapt"});
} }
return BI.extend(ob, {type: "bi.inline_horizontal_adapt"}); return BI.extend({}, ob, {type: "bi.inline_horizontal_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.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) {
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) {
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.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) {
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.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_center_adapt", function (ob) { BI.Plugin.configWidget("bi.flex_center_adapt", function (ob) {
if (ob.scrollable === true || ob.scrolly === true || ob.scrollx === true) { if (ob.scrollable === true || ob.scrolly === true || ob.scrollx === true) {
return BI.extend(ob, {type: "bi.flex_scrollable_center_adapt"}); return BI.extend({}, ob, {type: "bi.flex_scrollable_center_adapt"});
} }
}); });
BI.Plugin.configWidget("bi.radio", function (ob) { BI.Plugin.configWidget("bi.radio", function (ob) {
if (BI.isIE() && BI.getIEVersion() <= 9) { if (BI.isIE() && BI.getIEVersion() <= 9) {
return BI.extend(ob, {type: "bi.image_radio"}); return BI.extend({}, ob, {type: "bi.image_radio"});
} }
return ob; return ob;
}); });
BI.Plugin.configWidget("bi.checkbox", function (ob) { BI.Plugin.configWidget("bi.checkbox", function (ob) {
if (BI.isIE() && BI.getIEVersion() <= 9) { if (BI.isIE() && BI.getIEVersion() <= 9) {
return BI.extend(ob, {type: "bi.image_checkbox"}); return BI.extend({}, ob, {type: "bi.image_checkbox"});
} }
return ob; return ob;
}); });
@ -134,6 +134,6 @@ BI.prepares.push(function () {
if (BI.isIE() && BI.getIEVersion() < 9) { if (BI.isIE() && BI.getIEVersion() < 9) {
return ob; return ob;
} }
return BI.extend(ob, {type: "bi.half_button"}); return BI.extend({}, ob, {type: "bi.half_button"});
}); });
}); });

4
src/core/shortcut.js

@ -60,7 +60,7 @@
BI.Plugin.getObject(el.type, this); BI.Plugin.getObject(el.type, this);
} }
}]); }]);
return w.type === el.type ? createWidget(w, context, lazy) : BI.createWidget(BI.extend({}, item, {type: w.type}), options, context, lazy); return w.type === el.type ? createWidget(w, context, lazy) : BI.createWidget(BI.extend({/**important**/}, el, {type: w.type}), options, context, lazy);
} }
if (item.el && (item.el.type || options.type)) { if (item.el && (item.el.type || options.type)) {
el = BI.extend({}, options, item.el); el = BI.extend({}, options, item.el);
@ -71,7 +71,7 @@
BI.Plugin.getObject(el.type, this); BI.Plugin.getObject(el.type, this);
} }
}]); }]);
return w.type === el.type ? createWidget(w, context, lazy) : BI.createWidget(BI.extend({}, item, {type: w.type}), options, context, lazy); return w.type === el.type ? createWidget(w, context, lazy) : BI.createWidget(BI.extend({/**important**/}, el, {type: w.type}), options, context, lazy);
} }
if (BI.isWidget(item.el)) { if (BI.isWidget(item.el)) {
return item.el; return item.el;

31
src/less/core/wrapper/flex.wrapper.horizontal.less

@ -54,6 +54,11 @@
-ms-align-items: center; -ms-align-items: center;
-o-align-items: center; -o-align-items: center;
align-items: center; align-items: center;
&.h-center {
min-width: 100%;
float: left;
}
} }
&.v-bottom { &.v-bottom {
@ -101,13 +106,14 @@
&.h-stretch { &.h-stretch {
/* 09版 */ /* 09版 */
-webkit-box-orient: vertical; -webkit-box-align: stretch;
/* 12版 */ /* 12版 */
-webkit-flex-direction: column; -webkit-align-items: stretch;
-moz-flex-direction: column; -moz-align-items: stretch;
-ms-flex-direction: column; -ms-align-items: stretch;
-o-flex-direction: column; -ms-flex-align: stretch;
flex-direction: column; -o-align-items: stretch;
align-items: stretch;
&.v-middle { &.v-middle {
/* 09版 */ /* 09版 */
@ -132,19 +138,6 @@
-o-justify-content: flex-end; -o-justify-content: flex-end;
justify-content: flex-end; justify-content: flex-end;
} }
&.v-stretch {
}
/* 09版 */
-webkit-box-align: stretch;
/* 12版 */
-webkit-align-items: stretch;
-moz-align-items: stretch;
-ms-align-items: stretch;
-ms-flex-align: stretch;
-o-align-items: stretch;
align-items: stretch;
} }
} }
} }

31
src/less/core/wrapper/flex.wrapper.vertical.less

@ -55,6 +55,11 @@
-ms-flex-align: center; -ms-flex-align: center;
-o-align-items: center; -o-align-items: center;
align-items: center; align-items: center;
&.v-middle {
min-height: 100%;
float: left;
}
} }
&.h-right { &.h-right {
@ -104,13 +109,14 @@
&.v-stretch { &.v-stretch {
/* 09版 */ /* 09版 */
-webkit-box-orient: horizontal; -webkit-box-align: stretch;
/* 12版 */ /* 12版 */
-webkit-flex-direction: row; -webkit-align-items: stretch;
-moz-flex-direction: row; -moz-align-items: stretch;
-ms-flex-direction: row; -ms-align-items: stretch;
-o-flex-direction: row; -ms-flex-align: stretch;
flex-direction: row; -o-align-items: stretch;
align-items: stretch;
&.h-center { &.h-center {
/* 09版 */ /* 09版 */
@ -135,19 +141,6 @@
-o-justify-content: flex-end; -o-justify-content: flex-end;
justify-content: flex-end; justify-content: flex-end;
} }
&.h-stretch {
}
/* 09版 */
-webkit-box-align: stretch;
/* 12版 */
-webkit-align-items: stretch;
-moz-align-items: stretch;
-ms-align-items: stretch;
-ms-flex-align: stretch;
-o-align-items: stretch;
align-items: stretch;
} }
} }
} }

Loading…
Cancel
Save