Browse Source

Merge pull request #740 in VISUAL/fineui from ~WINDY/fineui:master to master

* commit '8f1251b2693d61368d4481de1aa883a3c87f803a':
  update
  update
  BI-34288 horizontal配置vertical_adapt/horizontal_adapt/center_adapt与demo
  update
  update
  BI-34288 alert用popover实现
es6
windy 6 years ago
parent
commit
9f5c543b75
  1. 85
      demo/js/core/layout/demo.horizontal.js
  2. 135
      dist/base.js
  3. 470
      dist/bundle.ie.js
  4. 60
      dist/bundle.ie.min.js
  5. 470
      dist/bundle.js
  6. 60
      dist/bundle.min.js
  7. 335
      dist/core.js
  8. 110
      dist/demo.js
  9. 470
      dist/fineui.ie.js
  10. 60
      dist/fineui.ie.min.js
  11. 470
      dist/fineui.js
  12. 60
      dist/fineui.min.js
  13. 470
      dist/fineui_without_jquery_polyfill.js
  14. 2
      dist/utils.min.js
  15. 135
      src/base/foundation/message.js
  16. 96
      src/core/wrapper/layout/adapt/adapt.center.js
  17. 134
      src/core/wrapper/layout/adapt/adapt.leftrightvertical.js
  18. 99
      src/core/wrapper/layout/adapt/adapt.vertical.js
  19. 6
      src/core/wrapper/layout/layout.horizontal.js

85
demo/js/core/layout/demo.horizontal.js

@ -7,7 +7,11 @@ Demo.Horizontal = BI.inherit(BI.Widget, {
}, },
render: function () { render: function () {
return { return {
type: "bi.vertical",
vgap: 10,
items: [{
type: "bi.horizontal", type: "bi.horizontal",
height: 150,
hgap: 10, hgap: 10,
items: [{ items: [{
type: "bi.label", type: "bi.label",
@ -35,6 +39,87 @@ Demo.Horizontal = BI.inherit(BI.Widget, {
width: 300, width: 300,
height: 30 height: 30
}] }]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.horizontal",
height: 150,
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
vgap: 10,
items: [{
type: "bi.label",
text: "以horizontal实现的vertical_adapt垂直居中",
cls: "layout-bg1",
width: 300,
height: 30
}, {
type: "bi.label",
text: "以horizontal实现的vertical_adapt垂直居中",
cls: "layout-bg2",
width: 300,
height: 30
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.horizontal",
height: 150,
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Center,
items: [{
type: "bi.label",
text: "以horizontal代替horizontal_adapt实现的水平居中(单元素)",
cls: "layout-bg1",
width: 300,
height: 30
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.horizontal",
height: 150,
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Center,
columnSize: [300, "fill"],
items: [{
type: "bi.label",
text: "以horizontal代替horizontal_adapt实现的用于水平适应布局",
cls: "layout-bg1",
height: 30
}, {
type: "bi.label",
text: "以horizontal代替horizontal_adapt实现的水平自适应列",
cls: "layout-bg2",
height: 30
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.center_adapt",
height: 150,
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Center,
items: [{
type: "bi.label",
text: "以horizontal代替center_adapt实现的水平垂直居中",
width: 300,
height: 100,
cls: "layout-bg1"
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}]
}; };
} }
}); });

135
dist/base.js vendored

@ -5181,132 +5181,57 @@ BI.Msg = function () {
}, 5000); }, 5000);
}, },
_show: function (hasCancel, title, message, callback) { _show: function (hasCancel, title, message, callback) {
$mask = BI.Widget._renderEngine.createElement("<div class=\"bi-z-index-mask\">").css({ var name = BI.UUID();
position: "absolute", BI.Popovers.create(name, {
zIndex: BI.zIndex_tip - 2, type: "bi.bar_popover",
top: 0, header: title,
left: 0, body: {
right: 0, type: "bi.center_adapt",
bottom: 0, items: [{
opacity: 0.5 type: "bi.label",
}).appendTo("body"); text: message
$pop = BI.Widget._renderEngine.createElement("<div class=\"bi-message-depend\">").css({ }]
position: "absolute", },
zIndex: BI.zIndex_tip - 1, footer: hasCancel ? {
top: 0, type: "bi.right_vertical_adapt",
left: 0, lgap: 10,
right: 0, items: [{
bottom: 0
}).appendTo("body");
var close = function () {
messageShow.destroy();
$mask.remove();
};
var controlItems = [];
if (hasCancel === true) {
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"), text: BI.i18nText("BI-Basic_Cancel"),
level: "ignore", level: "ignore",
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
} }, {
});
}
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_OK"), text: BI.i18nText("BI-Basic_Sure"),
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [true]); callback.apply(null, [true]);
} }
} }
} }]
}); } : {
var conf = { type: "bi.right_vertical_adapt",
element: $pop, lgap: 10,
type: "bi.center_adapt", items: [{
items: [ type: "bi.button",
{ text: BI.i18nText("BI-Basic_Cancel"),
type: "bi.border", level: "ignore",
cls: "bi-message-content bi-card",
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.label",
text: title || BI.i18nText("BI-Basic_Prompt"),
textAlign: "left",
hgap: 20,
height: 50
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
// height: 50,
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
},
width: 60
}
}
},
height: 50
},
center: {
el: {
type: "bi.text",
cls: "bi-message-text",
tgap: 60,
hgap: 20,
lineHeight: 30,
whiteSpace: "normal",
text: message
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: {
type: "bi.right_vertical_adapt",
hgap: 5,
items: controlItems
},
top: 0,
left: 20,
right: 20,
bottom: 0
}] }]
},
height: 60
}
}, },
width: 400, size: "small"
height: 300 }).open(name);
}
]
};
messageShow = BI.createWidget(conf);
} }
}; };
}();/** }();/**

470
dist/bundle.ie.js vendored

@ -30415,6 +30415,7 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-center-adapt-layout", baseCls: "bi-center-adapt-layout",
columnSize: [], columnSize: [],
scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -30424,92 +30425,33 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.CenterAdaptLayout.superclass.render.apply(this, arguments); BI.CenterAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ return {
position: "relative", type: "bi.horizontal",
width: "100%", verticalAlign: BI.VerticalAlign.Middle,
height: "100%", horizontalAlign: BI.HorizontalAlign.Center,
"white-space": "nowrap", columnSize: o.columnSize,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", items: o.items,
"border-collapse": "separate" ref: function (_ref) {
}); self.layout = _ref;
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
},
_addElement: function (i, item) {
var o = this.options;
var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];
if (!this.hasWidget(this._getChildName(i))) {
var w = BI.createWidget(item);
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
td.element.css({"max-width": o.columnSize[i]});
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
}, },
hgap: o.hgap,
appendFragment: function (frag) { vgap: o.vgap,
this.$tr.append(frag); lgap: o.lgap,
this.element.append(this.$table); rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
// console.log("center_adapt布局不需要resize"); // console.log("center_adapt布局不需要resize");
}, },
_getWrapper: function () {
return this.$tr;
},
populate: function (items) { populate: function (items) {
BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/** BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/**
@ -30641,51 +30583,49 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); var layoutArray = [];
}, if ("left" in o.items) {
layoutArray.push({
resize: function () { type: "bi.left",
// console.log("left_right_vertical_adapt布局不需要resize"); items: [{
}, el: {
addItem: function () {
// do nothing
throw new Error("cannot be added");
},
stroke: function (items) {
var o = this.options;
if ("left" in items) {
var left = BI.createWidget({
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.left, height: "100%",
items: o.items.left,
hgap: o.lhgap, hgap: o.lhgap,
lgap: o.llgap, lgap: o.llgap,
rgap: o.lrgap rgap: o.lrgap
}); }
left.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
}); });
} }
if ("right" in items) { if ("right" in o.items) {
var right = BI.createWidget({ layoutArray.push({
type: "bi.right",
items: [{
el: {
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.right, height: "100%",
items: o.items.right,
hgap: o.rhgap, hgap: o.rhgap,
lgap: o.rlgap, lgap: o.rlgap,
rgap: o.rrgap rgap: o.rrgap
}); }
right.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
}); });
} }
return layoutArray;
},
resize: function () {
// console.log("left_right_vertical_adapt布局不需要resize");
},
addItem: function () {
// do nothing
throw new Error("cannot be added");
}, },
populate: function (items) { populate: function (items) {
@ -30707,8 +30647,22 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.left",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30720,26 +30674,8 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var left = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
left.element.css("height", "100%");
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
});
},
populate: function (items) { populate: function (items) {
BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout); BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout);
@ -30755,8 +30691,22 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.right",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30768,37 +30718,21 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var right = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
right.element.css("height", "100%");
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
});
},
populate: function (items) { populate: function (items) {
BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/** BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/**
* 垂直方向居中容器 * 使用display:table和display:table-cell实现的horizontal布局
* @class BI.VerticalAdaptLayout * @class BI.TableAdaptLayout
* @extends BI.Layout * @extends BI.Layout
*/ */
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, { BI.TableAdaptLayout = BI.inherit(BI.Layout, {
props: { props: function () {
baseCls: "bi-vertical-adapt-layout", return BI.extend(BI.TableAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-table-center-adapt-layout",
columnSize: [], columnSize: [],
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left, horizontalAlign: BI.HorizontalAlign.Left,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
@ -30806,25 +30740,23 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
rgap: 0, rgap: 0,
tgap: 0, tgap: 0,
bgap: 0 bgap: 0
});
}, },
render: function () { render: function () {
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
var o = this.options; var o = this.options;
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ BI.TableAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<div>").css({
position: "relative", position: "relative",
width: o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", display: "table",
height: "100%", height: o.verticalAlign === BI.VerticalAlign.Middle ? "100%" : "auto",
"white-space": "nowrap", width: o.horizontalAlign === BI.HorizontalAlign.Center ? "100%" : "auto",
"border-spacing": "0px", "white-space": "nowrap"
border: "none",
"border-collapse": "separate"
}); });
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items); this.populate(this.options.items);
}, },
_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];
@ -30833,28 +30765,25 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({ td = BI.createWidget({
type: "bi.default", type: "bi.default",
tagName: "td", width: width,
attributes: {
width: width
},
items: [w] items: [w]
}); });
this.addWidget(this._getChildName(i), td); this.addWidget(this._getChildName(i), td);
} else { } else {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.width(width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
td.element.css({ td.element.css({
position: "relative", position: "relative",
height: "100%", display: "table-cell",
"vertical-align": "middle", "vertical-align": "middle",
margin: "0", margin: "0",
padding: "0", padding: "0",
border: "none" height: "100%"
}); });
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({ w.element.css({
@ -30863,7 +30792,7 @@ BI.VerticalAdaptLayout = 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) {
@ -30880,12 +30809,57 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
appendFragment: function (frag) { appendFragment: function (frag) {
this.$tr.append(frag); this.$table.append(frag);
this.element.append(this.$table); this.element.append(this.$table);
}, },
_getWrapper: function () { resize: function () {
return this.$tr; // console.log("center_adapt布局不需要resize");
},
populate: function (items) {
BI.TableAdaptLayout.superclass.populate.apply(this, arguments);
this._mount();
}
});
BI.shortcut("bi.table_adapt", BI.TableAdaptLayout);/**
* 垂直方向居中容器
* @class BI.VerticalAdaptLayout
* @extends BI.Layout
*/
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
props: {
baseCls: "bi-vertical-adapt-layout",
columnSize: [],
scrollx: false,
hgap: 0,
vgap: 0,
lgap: 0,
rgap: 0,
tgap: 0,
bgap: 0
},
render: function () {
var self = this, o = this.options;
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
return {
type: "bi.horizontal",
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: o.columnSize,
items: o.items,
scrollx: o.scrollx,
ref: function (_ref) {
self.layout = _ref;
},
hgap: o.hgap,
vgap: o.vgap,
lgap: o.lgap,
rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
@ -30893,8 +30867,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
populate: function (items) { populate: function (items) {
BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/** BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/**
@ -32651,6 +32624,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-horizontal-layout", baseCls: "bi-horizontal-layout",
verticalAlign: BI.VerticalAlign.Top, verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: [], columnSize: [],
scrollx: true, scrollx: true,
hgap: 0, hgap: 0,
@ -32662,10 +32636,13 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options;
BI.HorizontalLayout.superclass.render.apply(this, arguments); BI.HorizontalLayout.superclass.render.apply(this, arguments);
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 ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -32695,7 +32672,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.attr("width", width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
@ -40230,132 +40207,57 @@ BI.Msg = function () {
}, 5000); }, 5000);
}, },
_show: function (hasCancel, title, message, callback) { _show: function (hasCancel, title, message, callback) {
$mask = BI.Widget._renderEngine.createElement("<div class=\"bi-z-index-mask\">").css({ var name = BI.UUID();
position: "absolute", BI.Popovers.create(name, {
zIndex: BI.zIndex_tip - 2, type: "bi.bar_popover",
top: 0, header: title,
left: 0, body: {
right: 0, type: "bi.center_adapt",
bottom: 0, items: [{
opacity: 0.5 type: "bi.label",
}).appendTo("body"); text: message
$pop = BI.Widget._renderEngine.createElement("<div class=\"bi-message-depend\">").css({ }]
position: "absolute", },
zIndex: BI.zIndex_tip - 1, footer: hasCancel ? {
top: 0, type: "bi.right_vertical_adapt",
left: 0, lgap: 10,
right: 0, items: [{
bottom: 0
}).appendTo("body");
var close = function () {
messageShow.destroy();
$mask.remove();
};
var controlItems = [];
if (hasCancel === true) {
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"), text: BI.i18nText("BI-Basic_Cancel"),
level: "ignore", level: "ignore",
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
} }, {
});
}
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_OK"), text: BI.i18nText("BI-Basic_Sure"),
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [true]); callback.apply(null, [true]);
} }
} }
} }]
}); } : {
var conf = { type: "bi.right_vertical_adapt",
element: $pop, lgap: 10,
type: "bi.center_adapt", items: [{
items: [ type: "bi.button",
{ text: BI.i18nText("BI-Basic_Cancel"),
type: "bi.border", level: "ignore",
cls: "bi-message-content bi-card",
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.label",
text: title || BI.i18nText("BI-Basic_Prompt"),
textAlign: "left",
hgap: 20,
height: 50
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
// height: 50,
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
},
width: 60
}
}
},
height: 50
},
center: {
el: {
type: "bi.text",
cls: "bi-message-text",
tgap: 60,
hgap: 20,
lineHeight: 30,
whiteSpace: "normal",
text: message
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: {
type: "bi.right_vertical_adapt",
hgap: 5,
items: controlItems
},
top: 0,
left: 20,
right: 20,
bottom: 0
}] }]
}, },
height: 60 size: "small"
} }).open(name);
},
width: 400,
height: 300
}
]
};
messageShow = BI.createWidget(conf);
} }
}; };
}();/** }();/**

60
dist/bundle.ie.min.js vendored

File diff suppressed because one or more lines are too long

470
dist/bundle.js vendored

@ -30415,6 +30415,7 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-center-adapt-layout", baseCls: "bi-center-adapt-layout",
columnSize: [], columnSize: [],
scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -30424,92 +30425,33 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.CenterAdaptLayout.superclass.render.apply(this, arguments); BI.CenterAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ return {
position: "relative", type: "bi.horizontal",
width: "100%", verticalAlign: BI.VerticalAlign.Middle,
height: "100%", horizontalAlign: BI.HorizontalAlign.Center,
"white-space": "nowrap", columnSize: o.columnSize,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", items: o.items,
"border-collapse": "separate" ref: function (_ref) {
}); self.layout = _ref;
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
},
_addElement: function (i, item) {
var o = this.options;
var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];
if (!this.hasWidget(this._getChildName(i))) {
var w = BI.createWidget(item);
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
td.element.css({"max-width": o.columnSize[i]});
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
}, },
hgap: o.hgap,
appendFragment: function (frag) { vgap: o.vgap,
this.$tr.append(frag); lgap: o.lgap,
this.element.append(this.$table); rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
// console.log("center_adapt布局不需要resize"); // console.log("center_adapt布局不需要resize");
}, },
_getWrapper: function () {
return this.$tr;
},
populate: function (items) { populate: function (items) {
BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/** BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/**
@ -30641,51 +30583,49 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); var layoutArray = [];
}, if ("left" in o.items) {
layoutArray.push({
resize: function () { type: "bi.left",
// console.log("left_right_vertical_adapt布局不需要resize"); items: [{
}, el: {
addItem: function () {
// do nothing
throw new Error("cannot be added");
},
stroke: function (items) {
var o = this.options;
if ("left" in items) {
var left = BI.createWidget({
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.left, height: "100%",
items: o.items.left,
hgap: o.lhgap, hgap: o.lhgap,
lgap: o.llgap, lgap: o.llgap,
rgap: o.lrgap rgap: o.lrgap
}); }
left.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
}); });
} }
if ("right" in items) { if ("right" in o.items) {
var right = BI.createWidget({ layoutArray.push({
type: "bi.right",
items: [{
el: {
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.right, height: "100%",
items: o.items.right,
hgap: o.rhgap, hgap: o.rhgap,
lgap: o.rlgap, lgap: o.rlgap,
rgap: o.rrgap rgap: o.rrgap
}); }
right.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
}); });
} }
return layoutArray;
},
resize: function () {
// console.log("left_right_vertical_adapt布局不需要resize");
},
addItem: function () {
// do nothing
throw new Error("cannot be added");
}, },
populate: function (items) { populate: function (items) {
@ -30707,8 +30647,22 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.left",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30720,26 +30674,8 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var left = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
left.element.css("height", "100%");
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
});
},
populate: function (items) { populate: function (items) {
BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout); BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout);
@ -30755,8 +30691,22 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.right",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30768,37 +30718,21 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var right = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
right.element.css("height", "100%");
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
});
},
populate: function (items) { populate: function (items) {
BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/** BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/**
* 垂直方向居中容器 * 使用display:table和display:table-cell实现的horizontal布局
* @class BI.VerticalAdaptLayout * @class BI.TableAdaptLayout
* @extends BI.Layout * @extends BI.Layout
*/ */
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, { BI.TableAdaptLayout = BI.inherit(BI.Layout, {
props: { props: function () {
baseCls: "bi-vertical-adapt-layout", return BI.extend(BI.TableAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-table-center-adapt-layout",
columnSize: [], columnSize: [],
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left, horizontalAlign: BI.HorizontalAlign.Left,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
@ -30806,25 +30740,23 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
rgap: 0, rgap: 0,
tgap: 0, tgap: 0,
bgap: 0 bgap: 0
});
}, },
render: function () { render: function () {
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
var o = this.options; var o = this.options;
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ BI.TableAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<div>").css({
position: "relative", position: "relative",
width: o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", display: "table",
height: "100%", height: o.verticalAlign === BI.VerticalAlign.Middle ? "100%" : "auto",
"white-space": "nowrap", width: o.horizontalAlign === BI.HorizontalAlign.Center ? "100%" : "auto",
"border-spacing": "0px", "white-space": "nowrap"
border: "none",
"border-collapse": "separate"
}); });
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items); this.populate(this.options.items);
}, },
_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];
@ -30833,28 +30765,25 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({ td = BI.createWidget({
type: "bi.default", type: "bi.default",
tagName: "td", width: width,
attributes: {
width: width
},
items: [w] items: [w]
}); });
this.addWidget(this._getChildName(i), td); this.addWidget(this._getChildName(i), td);
} else { } else {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.width(width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
td.element.css({ td.element.css({
position: "relative", position: "relative",
height: "100%", display: "table-cell",
"vertical-align": "middle", "vertical-align": "middle",
margin: "0", margin: "0",
padding: "0", padding: "0",
border: "none" height: "100%"
}); });
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({ w.element.css({
@ -30863,7 +30792,7 @@ BI.VerticalAdaptLayout = 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) {
@ -30880,12 +30809,57 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
appendFragment: function (frag) { appendFragment: function (frag) {
this.$tr.append(frag); this.$table.append(frag);
this.element.append(this.$table); this.element.append(this.$table);
}, },
_getWrapper: function () { resize: function () {
return this.$tr; // console.log("center_adapt布局不需要resize");
},
populate: function (items) {
BI.TableAdaptLayout.superclass.populate.apply(this, arguments);
this._mount();
}
});
BI.shortcut("bi.table_adapt", BI.TableAdaptLayout);/**
* 垂直方向居中容器
* @class BI.VerticalAdaptLayout
* @extends BI.Layout
*/
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
props: {
baseCls: "bi-vertical-adapt-layout",
columnSize: [],
scrollx: false,
hgap: 0,
vgap: 0,
lgap: 0,
rgap: 0,
tgap: 0,
bgap: 0
},
render: function () {
var self = this, o = this.options;
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
return {
type: "bi.horizontal",
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: o.columnSize,
items: o.items,
scrollx: o.scrollx,
ref: function (_ref) {
self.layout = _ref;
},
hgap: o.hgap,
vgap: o.vgap,
lgap: o.lgap,
rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
@ -30893,8 +30867,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
populate: function (items) { populate: function (items) {
BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/** BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/**
@ -32651,6 +32624,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-horizontal-layout", baseCls: "bi-horizontal-layout",
verticalAlign: BI.VerticalAlign.Top, verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: [], columnSize: [],
scrollx: true, scrollx: true,
hgap: 0, hgap: 0,
@ -32662,10 +32636,13 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options;
BI.HorizontalLayout.superclass.render.apply(this, arguments); BI.HorizontalLayout.superclass.render.apply(this, arguments);
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 ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -32695,7 +32672,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.attr("width", width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
@ -40634,132 +40611,57 @@ BI.Msg = function () {
}, 5000); }, 5000);
}, },
_show: function (hasCancel, title, message, callback) { _show: function (hasCancel, title, message, callback) {
$mask = BI.Widget._renderEngine.createElement("<div class=\"bi-z-index-mask\">").css({ var name = BI.UUID();
position: "absolute", BI.Popovers.create(name, {
zIndex: BI.zIndex_tip - 2, type: "bi.bar_popover",
top: 0, header: title,
left: 0, body: {
right: 0, type: "bi.center_adapt",
bottom: 0, items: [{
opacity: 0.5 type: "bi.label",
}).appendTo("body"); text: message
$pop = BI.Widget._renderEngine.createElement("<div class=\"bi-message-depend\">").css({ }]
position: "absolute", },
zIndex: BI.zIndex_tip - 1, footer: hasCancel ? {
top: 0, type: "bi.right_vertical_adapt",
left: 0, lgap: 10,
right: 0, items: [{
bottom: 0
}).appendTo("body");
var close = function () {
messageShow.destroy();
$mask.remove();
};
var controlItems = [];
if (hasCancel === true) {
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"), text: BI.i18nText("BI-Basic_Cancel"),
level: "ignore", level: "ignore",
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
} }, {
});
}
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_OK"), text: BI.i18nText("BI-Basic_Sure"),
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [true]); callback.apply(null, [true]);
} }
} }
} }]
}); } : {
var conf = { type: "bi.right_vertical_adapt",
element: $pop, lgap: 10,
type: "bi.center_adapt", items: [{
items: [ type: "bi.button",
{ text: BI.i18nText("BI-Basic_Cancel"),
type: "bi.border", level: "ignore",
cls: "bi-message-content bi-card",
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.label",
text: title || BI.i18nText("BI-Basic_Prompt"),
textAlign: "left",
hgap: 20,
height: 50
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
// height: 50,
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
},
width: 60
}
}
},
height: 50
},
center: {
el: {
type: "bi.text",
cls: "bi-message-text",
tgap: 60,
hgap: 20,
lineHeight: 30,
whiteSpace: "normal",
text: message
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: {
type: "bi.right_vertical_adapt",
hgap: 5,
items: controlItems
},
top: 0,
left: 20,
right: 20,
bottom: 0
}] }]
}, },
height: 60 size: "small"
} }).open(name);
},
width: 400,
height: 300
}
]
};
messageShow = BI.createWidget(conf);
} }
}; };
}();/** }();/**

60
dist/bundle.min.js vendored

File diff suppressed because one or more lines are too long

335
dist/core.js vendored

@ -30415,6 +30415,7 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-center-adapt-layout", baseCls: "bi-center-adapt-layout",
columnSize: [], columnSize: [],
scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -30424,92 +30425,33 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.CenterAdaptLayout.superclass.render.apply(this, arguments); BI.CenterAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ return {
position: "relative", type: "bi.horizontal",
width: "100%", verticalAlign: BI.VerticalAlign.Middle,
height: "100%", horizontalAlign: BI.HorizontalAlign.Center,
"white-space": "nowrap", columnSize: o.columnSize,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", items: o.items,
"border-collapse": "separate" ref: function (_ref) {
}); self.layout = _ref;
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
},
_addElement: function (i, item) {
var o = this.options;
var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];
if (!this.hasWidget(this._getChildName(i))) {
var w = BI.createWidget(item);
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
td.element.css({"max-width": o.columnSize[i]});
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
}, },
hgap: o.hgap,
appendFragment: function (frag) { vgap: o.vgap,
this.$tr.append(frag); lgap: o.lgap,
this.element.append(this.$table); rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
// console.log("center_adapt布局不需要resize"); // console.log("center_adapt布局不需要resize");
}, },
_getWrapper: function () {
return this.$tr;
},
populate: function (items) { populate: function (items) {
BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/** BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/**
@ -30641,51 +30583,49 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); var layoutArray = [];
}, if ("left" in o.items) {
layoutArray.push({
resize: function () { type: "bi.left",
// console.log("left_right_vertical_adapt布局不需要resize"); items: [{
}, el: {
addItem: function () {
// do nothing
throw new Error("cannot be added");
},
stroke: function (items) {
var o = this.options;
if ("left" in items) {
var left = BI.createWidget({
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.left, height: "100%",
items: o.items.left,
hgap: o.lhgap, hgap: o.lhgap,
lgap: o.llgap, lgap: o.llgap,
rgap: o.lrgap rgap: o.lrgap
}); }
left.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
}); });
} }
if ("right" in items) { if ("right" in o.items) {
var right = BI.createWidget({ layoutArray.push({
type: "bi.right",
items: [{
el: {
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.right, height: "100%",
items: o.items.right,
hgap: o.rhgap, hgap: o.rhgap,
lgap: o.rlgap, lgap: o.rlgap,
rgap: o.rrgap rgap: o.rrgap
}); }
right.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
}); });
} }
return layoutArray;
},
resize: function () {
// console.log("left_right_vertical_adapt布局不需要resize");
},
addItem: function () {
// do nothing
throw new Error("cannot be added");
}, },
populate: function (items) { populate: function (items) {
@ -30707,8 +30647,22 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.left",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30720,26 +30674,8 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var left = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
left.element.css("height", "100%");
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
});
},
populate: function (items) { populate: function (items) {
BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout); BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout);
@ -30755,8 +30691,22 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.right",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30768,37 +30718,21 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var right = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
right.element.css("height", "100%");
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
});
},
populate: function (items) { populate: function (items) {
BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/** BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/**
* 垂直方向居中容器 * 使用display:table和display:table-cell实现的horizontal布局
* @class BI.VerticalAdaptLayout * @class BI.TableAdaptLayout
* @extends BI.Layout * @extends BI.Layout
*/ */
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, { BI.TableAdaptLayout = BI.inherit(BI.Layout, {
props: { props: function () {
baseCls: "bi-vertical-adapt-layout", return BI.extend(BI.TableAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-table-center-adapt-layout",
columnSize: [], columnSize: [],
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left, horizontalAlign: BI.HorizontalAlign.Left,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
@ -30806,25 +30740,23 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
rgap: 0, rgap: 0,
tgap: 0, tgap: 0,
bgap: 0 bgap: 0
});
}, },
render: function () { render: function () {
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
var o = this.options; var o = this.options;
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ BI.TableAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<div>").css({
position: "relative", position: "relative",
width: o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", display: "table",
height: "100%", height: o.verticalAlign === BI.VerticalAlign.Middle ? "100%" : "auto",
"white-space": "nowrap", width: o.horizontalAlign === BI.HorizontalAlign.Center ? "100%" : "auto",
"border-spacing": "0px", "white-space": "nowrap"
border: "none",
"border-collapse": "separate"
}); });
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items); this.populate(this.options.items);
}, },
_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];
@ -30833,28 +30765,25 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({ td = BI.createWidget({
type: "bi.default", type: "bi.default",
tagName: "td", width: width,
attributes: {
width: width
},
items: [w] items: [w]
}); });
this.addWidget(this._getChildName(i), td); this.addWidget(this._getChildName(i), td);
} else { } else {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.width(width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
td.element.css({ td.element.css({
position: "relative", position: "relative",
height: "100%", display: "table-cell",
"vertical-align": "middle", "vertical-align": "middle",
margin: "0", margin: "0",
padding: "0", padding: "0",
border: "none" height: "100%"
}); });
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({ w.element.css({
@ -30863,7 +30792,7 @@ BI.VerticalAdaptLayout = 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) {
@ -30880,12 +30809,57 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
appendFragment: function (frag) { appendFragment: function (frag) {
this.$tr.append(frag); this.$table.append(frag);
this.element.append(this.$table); this.element.append(this.$table);
}, },
_getWrapper: function () { resize: function () {
return this.$tr; // console.log("center_adapt布局不需要resize");
},
populate: function (items) {
BI.TableAdaptLayout.superclass.populate.apply(this, arguments);
this._mount();
}
});
BI.shortcut("bi.table_adapt", BI.TableAdaptLayout);/**
* 垂直方向居中容器
* @class BI.VerticalAdaptLayout
* @extends BI.Layout
*/
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
props: {
baseCls: "bi-vertical-adapt-layout",
columnSize: [],
scrollx: false,
hgap: 0,
vgap: 0,
lgap: 0,
rgap: 0,
tgap: 0,
bgap: 0
},
render: function () {
var self = this, o = this.options;
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
return {
type: "bi.horizontal",
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: o.columnSize,
items: o.items,
scrollx: o.scrollx,
ref: function (_ref) {
self.layout = _ref;
},
hgap: o.hgap,
vgap: o.vgap,
lgap: o.lgap,
rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
@ -30893,8 +30867,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
populate: function (items) { populate: function (items) {
BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/** BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/**
@ -32651,6 +32624,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-horizontal-layout", baseCls: "bi-horizontal-layout",
verticalAlign: BI.VerticalAlign.Top, verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: [], columnSize: [],
scrollx: true, scrollx: true,
hgap: 0, hgap: 0,
@ -32662,10 +32636,13 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options;
BI.HorizontalLayout.superclass.render.apply(this, arguments); BI.HorizontalLayout.superclass.render.apply(this, arguments);
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 ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -32695,7 +32672,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.attr("width", width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }

110
dist/demo.js vendored

@ -5973,7 +5973,11 @@ Demo.Horizontal = BI.inherit(BI.Widget, {
}, },
render: function () { render: function () {
return { return {
type: "bi.vertical",
vgap: 10,
items: [{
type: "bi.horizontal", type: "bi.horizontal",
height: 150,
hgap: 10, hgap: 10,
items: [{ items: [{
type: "bi.label", type: "bi.label",
@ -6001,6 +6005,87 @@ Demo.Horizontal = BI.inherit(BI.Widget, {
width: 300, width: 300,
height: 30 height: 30
}] }]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.horizontal",
height: 150,
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
vgap: 10,
items: [{
type: "bi.label",
text: "以horizontal实现的vertical_adapt垂直居中",
cls: "layout-bg1",
width: 300,
height: 30
}, {
type: "bi.label",
text: "以horizontal实现的vertical_adapt垂直居中",
cls: "layout-bg2",
width: 300,
height: 30
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.horizontal",
height: 150,
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Center,
items: [{
type: "bi.label",
text: "以horizontal代替horizontal_adapt实现的水平居中(单元素)",
cls: "layout-bg1",
width: 300,
height: 30
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.horizontal",
height: 150,
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Center,
columnSize: [300, "fill"],
items: [{
type: "bi.label",
text: "以horizontal代替horizontal_adapt实现的用于水平适应布局",
cls: "layout-bg1",
height: 30
}, {
type: "bi.label",
text: "以horizontal代替horizontal_adapt实现的水平自适应列",
cls: "layout-bg2",
height: 30
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}, {
type: "bi.center_adapt",
height: 150,
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Center,
items: [{
type: "bi.label",
text: "以horizontal代替center_adapt实现的水平垂直居中",
width: 300,
height: 100,
cls: "layout-bg1"
}]
}, {
type: "bi.layout",
height: 1,
cls: "bi-border-bottom bi-high-light-border"
}]
}; };
} }
}); });
@ -6041,7 +6126,30 @@ Demo.HtapeLayout = BI.inherit(BI.Widget, {
}; };
} }
}); });
BI.shortcut("demo.htape", Demo.HtapeLayout);/** BI.shortcut("demo.htape", Demo.HtapeLayout);Demo.InlineVerticalLayout = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-absolute"
},
render: function () {
return {
type: "bi.inline_vertical_adapt",
items: [{
type: "bi.label",
text: "绝对布局",
cls: "layout-bg1",
width: 300,
height: 200
}, {
type: "bi.label",
text: "绝对布局",
cls: "layout-bg1",
width: 300,
height: 100
}]
};
}
});
BI.shortcut("demo.inline_vertical", Demo.InlineVerticalLayout);/**
* Created by User on 2017/3/22. * Created by User on 2017/3/22.
*/ */
Demo.LeftRightVerticalAdaptLayout = BI.inherit(BI.Widget, { Demo.LeftRightVerticalAdaptLayout = BI.inherit(BI.Widget, {

470
dist/fineui.ie.js vendored

@ -30657,6 +30657,7 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-center-adapt-layout", baseCls: "bi-center-adapt-layout",
columnSize: [], columnSize: [],
scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -30666,92 +30667,33 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.CenterAdaptLayout.superclass.render.apply(this, arguments); BI.CenterAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ return {
position: "relative", type: "bi.horizontal",
width: "100%", verticalAlign: BI.VerticalAlign.Middle,
height: "100%", horizontalAlign: BI.HorizontalAlign.Center,
"white-space": "nowrap", columnSize: o.columnSize,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", items: o.items,
"border-collapse": "separate" ref: function (_ref) {
}); self.layout = _ref;
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
},
_addElement: function (i, item) {
var o = this.options;
var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];
if (!this.hasWidget(this._getChildName(i))) {
var w = BI.createWidget(item);
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
td.element.css({"max-width": o.columnSize[i]});
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
}, },
hgap: o.hgap,
appendFragment: function (frag) { vgap: o.vgap,
this.$tr.append(frag); lgap: o.lgap,
this.element.append(this.$table); rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
// console.log("center_adapt布局不需要resize"); // console.log("center_adapt布局不需要resize");
}, },
_getWrapper: function () {
return this.$tr;
},
populate: function (items) { populate: function (items) {
BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/** BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/**
@ -30883,51 +30825,49 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); var layoutArray = [];
}, if ("left" in o.items) {
layoutArray.push({
resize: function () { type: "bi.left",
// console.log("left_right_vertical_adapt布局不需要resize"); items: [{
}, el: {
addItem: function () {
// do nothing
throw new Error("cannot be added");
},
stroke: function (items) {
var o = this.options;
if ("left" in items) {
var left = BI.createWidget({
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.left, height: "100%",
items: o.items.left,
hgap: o.lhgap, hgap: o.lhgap,
lgap: o.llgap, lgap: o.llgap,
rgap: o.lrgap rgap: o.lrgap
}); }
left.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
}); });
} }
if ("right" in items) { if ("right" in o.items) {
var right = BI.createWidget({ layoutArray.push({
type: "bi.right",
items: [{
el: {
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.right, height: "100%",
items: o.items.right,
hgap: o.rhgap, hgap: o.rhgap,
lgap: o.rlgap, lgap: o.rlgap,
rgap: o.rrgap rgap: o.rrgap
}); }
right.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
}); });
} }
return layoutArray;
},
resize: function () {
// console.log("left_right_vertical_adapt布局不需要resize");
},
addItem: function () {
// do nothing
throw new Error("cannot be added");
}, },
populate: function (items) { populate: function (items) {
@ -30949,8 +30889,22 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.left",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30962,26 +30916,8 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var left = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
left.element.css("height", "100%");
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
});
},
populate: function (items) { populate: function (items) {
BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout); BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout);
@ -30997,8 +30933,22 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.right",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -31010,37 +30960,21 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var right = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
right.element.css("height", "100%");
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
});
},
populate: function (items) { populate: function (items) {
BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/** BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/**
* 垂直方向居中容器 * 使用display:table和display:table-cell实现的horizontal布局
* @class BI.VerticalAdaptLayout * @class BI.TableAdaptLayout
* @extends BI.Layout * @extends BI.Layout
*/ */
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, { BI.TableAdaptLayout = BI.inherit(BI.Layout, {
props: { props: function () {
baseCls: "bi-vertical-adapt-layout", return BI.extend(BI.TableAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-table-center-adapt-layout",
columnSize: [], columnSize: [],
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left, horizontalAlign: BI.HorizontalAlign.Left,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
@ -31048,25 +30982,23 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
rgap: 0, rgap: 0,
tgap: 0, tgap: 0,
bgap: 0 bgap: 0
});
}, },
render: function () { render: function () {
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
var o = this.options; var o = this.options;
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ BI.TableAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<div>").css({
position: "relative", position: "relative",
width: o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", display: "table",
height: "100%", height: o.verticalAlign === BI.VerticalAlign.Middle ? "100%" : "auto",
"white-space": "nowrap", width: o.horizontalAlign === BI.HorizontalAlign.Center ? "100%" : "auto",
"border-spacing": "0px", "white-space": "nowrap"
border: "none",
"border-collapse": "separate"
}); });
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items); this.populate(this.options.items);
}, },
_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];
@ -31075,28 +31007,25 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({ td = BI.createWidget({
type: "bi.default", type: "bi.default",
tagName: "td", width: width,
attributes: {
width: width
},
items: [w] items: [w]
}); });
this.addWidget(this._getChildName(i), td); this.addWidget(this._getChildName(i), td);
} else { } else {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.width(width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
td.element.css({ td.element.css({
position: "relative", position: "relative",
height: "100%", display: "table-cell",
"vertical-align": "middle", "vertical-align": "middle",
margin: "0", margin: "0",
padding: "0", padding: "0",
border: "none" height: "100%"
}); });
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({ w.element.css({
@ -31105,7 +31034,7 @@ BI.VerticalAdaptLayout = 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) {
@ -31122,12 +31051,57 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
appendFragment: function (frag) { appendFragment: function (frag) {
this.$tr.append(frag); this.$table.append(frag);
this.element.append(this.$table); this.element.append(this.$table);
}, },
_getWrapper: function () { resize: function () {
return this.$tr; // console.log("center_adapt布局不需要resize");
},
populate: function (items) {
BI.TableAdaptLayout.superclass.populate.apply(this, arguments);
this._mount();
}
});
BI.shortcut("bi.table_adapt", BI.TableAdaptLayout);/**
* 垂直方向居中容器
* @class BI.VerticalAdaptLayout
* @extends BI.Layout
*/
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
props: {
baseCls: "bi-vertical-adapt-layout",
columnSize: [],
scrollx: false,
hgap: 0,
vgap: 0,
lgap: 0,
rgap: 0,
tgap: 0,
bgap: 0
},
render: function () {
var self = this, o = this.options;
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
return {
type: "bi.horizontal",
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: o.columnSize,
items: o.items,
scrollx: o.scrollx,
ref: function (_ref) {
self.layout = _ref;
},
hgap: o.hgap,
vgap: o.vgap,
lgap: o.lgap,
rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
@ -31135,8 +31109,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
populate: function (items) { populate: function (items) {
BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/** BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/**
@ -32893,6 +32866,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-horizontal-layout", baseCls: "bi-horizontal-layout",
verticalAlign: BI.VerticalAlign.Top, verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: [], columnSize: [],
scrollx: true, scrollx: true,
hgap: 0, hgap: 0,
@ -32904,10 +32878,13 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options;
BI.HorizontalLayout.superclass.render.apply(this, arguments); BI.HorizontalLayout.superclass.render.apply(this, arguments);
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 ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -32937,7 +32914,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.attr("width", width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
@ -40472,132 +40449,57 @@ BI.Msg = function () {
}, 5000); }, 5000);
}, },
_show: function (hasCancel, title, message, callback) { _show: function (hasCancel, title, message, callback) {
$mask = BI.Widget._renderEngine.createElement("<div class=\"bi-z-index-mask\">").css({ var name = BI.UUID();
position: "absolute", BI.Popovers.create(name, {
zIndex: BI.zIndex_tip - 2, type: "bi.bar_popover",
top: 0, header: title,
left: 0, body: {
right: 0, type: "bi.center_adapt",
bottom: 0, items: [{
opacity: 0.5 type: "bi.label",
}).appendTo("body"); text: message
$pop = BI.Widget._renderEngine.createElement("<div class=\"bi-message-depend\">").css({ }]
position: "absolute", },
zIndex: BI.zIndex_tip - 1, footer: hasCancel ? {
top: 0, type: "bi.right_vertical_adapt",
left: 0, lgap: 10,
right: 0, items: [{
bottom: 0
}).appendTo("body");
var close = function () {
messageShow.destroy();
$mask.remove();
};
var controlItems = [];
if (hasCancel === true) {
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"), text: BI.i18nText("BI-Basic_Cancel"),
level: "ignore", level: "ignore",
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
} }, {
});
}
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_OK"), text: BI.i18nText("BI-Basic_Sure"),
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [true]); callback.apply(null, [true]);
} }
} }
} }]
}); } : {
var conf = { type: "bi.right_vertical_adapt",
element: $pop, lgap: 10,
type: "bi.center_adapt", items: [{
items: [ type: "bi.button",
{ text: BI.i18nText("BI-Basic_Cancel"),
type: "bi.border", level: "ignore",
cls: "bi-message-content bi-card",
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.label",
text: title || BI.i18nText("BI-Basic_Prompt"),
textAlign: "left",
hgap: 20,
height: 50
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
// height: 50,
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
},
width: 60
}
}
},
height: 50
},
center: {
el: {
type: "bi.text",
cls: "bi-message-text",
tgap: 60,
hgap: 20,
lineHeight: 30,
whiteSpace: "normal",
text: message
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: {
type: "bi.right_vertical_adapt",
hgap: 5,
items: controlItems
},
top: 0,
left: 20,
right: 20,
bottom: 0
}] }]
}, },
height: 60 size: "small"
} }).open(name);
},
width: 400,
height: 300
}
]
};
messageShow = BI.createWidget(conf);
} }
}; };
}();/** }();/**

60
dist/fineui.ie.min.js vendored

File diff suppressed because one or more lines are too long

470
dist/fineui.js vendored

@ -30657,6 +30657,7 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-center-adapt-layout", baseCls: "bi-center-adapt-layout",
columnSize: [], columnSize: [],
scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -30666,92 +30667,33 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.CenterAdaptLayout.superclass.render.apply(this, arguments); BI.CenterAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ return {
position: "relative", type: "bi.horizontal",
width: "100%", verticalAlign: BI.VerticalAlign.Middle,
height: "100%", horizontalAlign: BI.HorizontalAlign.Center,
"white-space": "nowrap", columnSize: o.columnSize,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", items: o.items,
"border-collapse": "separate" ref: function (_ref) {
}); self.layout = _ref;
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
},
_addElement: function (i, item) {
var o = this.options;
var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];
if (!this.hasWidget(this._getChildName(i))) {
var w = BI.createWidget(item);
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
td.element.css({"max-width": o.columnSize[i]});
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
}, },
hgap: o.hgap,
appendFragment: function (frag) { vgap: o.vgap,
this.$tr.append(frag); lgap: o.lgap,
this.element.append(this.$table); rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
// console.log("center_adapt布局不需要resize"); // console.log("center_adapt布局不需要resize");
}, },
_getWrapper: function () {
return this.$tr;
},
populate: function (items) { populate: function (items) {
BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/** BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/**
@ -30883,51 +30825,49 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); var layoutArray = [];
}, if ("left" in o.items) {
layoutArray.push({
resize: function () { type: "bi.left",
// console.log("left_right_vertical_adapt布局不需要resize"); items: [{
}, el: {
addItem: function () {
// do nothing
throw new Error("cannot be added");
},
stroke: function (items) {
var o = this.options;
if ("left" in items) {
var left = BI.createWidget({
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.left, height: "100%",
items: o.items.left,
hgap: o.lhgap, hgap: o.lhgap,
lgap: o.llgap, lgap: o.llgap,
rgap: o.lrgap rgap: o.lrgap
}); }
left.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
}); });
} }
if ("right" in items) { if ("right" in o.items) {
var right = BI.createWidget({ layoutArray.push({
type: "bi.right",
items: [{
el: {
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.right, height: "100%",
items: o.items.right,
hgap: o.rhgap, hgap: o.rhgap,
lgap: o.rlgap, lgap: o.rlgap,
rgap: o.rrgap rgap: o.rrgap
}); }
right.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
}); });
} }
return layoutArray;
},
resize: function () {
// console.log("left_right_vertical_adapt布局不需要resize");
},
addItem: function () {
// do nothing
throw new Error("cannot be added");
}, },
populate: function (items) { populate: function (items) {
@ -30949,8 +30889,22 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.left",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -30962,26 +30916,8 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var left = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
left.element.css("height", "100%");
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
});
},
populate: function (items) { populate: function (items) {
BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout); BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout);
@ -30997,8 +30933,22 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.right",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -31010,37 +30960,21 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var right = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
right.element.css("height", "100%");
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
});
},
populate: function (items) { populate: function (items) {
BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/** BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/**
* 垂直方向居中容器 * 使用display:table和display:table-cell实现的horizontal布局
* @class BI.VerticalAdaptLayout * @class BI.TableAdaptLayout
* @extends BI.Layout * @extends BI.Layout
*/ */
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, { BI.TableAdaptLayout = BI.inherit(BI.Layout, {
props: { props: function () {
baseCls: "bi-vertical-adapt-layout", return BI.extend(BI.TableAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-table-center-adapt-layout",
columnSize: [], columnSize: [],
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left, horizontalAlign: BI.HorizontalAlign.Left,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
@ -31048,25 +30982,23 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
rgap: 0, rgap: 0,
tgap: 0, tgap: 0,
bgap: 0 bgap: 0
});
}, },
render: function () { render: function () {
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
var o = this.options; var o = this.options;
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ BI.TableAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<div>").css({
position: "relative", position: "relative",
width: o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", display: "table",
height: "100%", height: o.verticalAlign === BI.VerticalAlign.Middle ? "100%" : "auto",
"white-space": "nowrap", width: o.horizontalAlign === BI.HorizontalAlign.Center ? "100%" : "auto",
"border-spacing": "0px", "white-space": "nowrap"
border: "none",
"border-collapse": "separate"
}); });
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items); this.populate(this.options.items);
}, },
_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];
@ -31075,28 +31007,25 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({ td = BI.createWidget({
type: "bi.default", type: "bi.default",
tagName: "td", width: width,
attributes: {
width: width
},
items: [w] items: [w]
}); });
this.addWidget(this._getChildName(i), td); this.addWidget(this._getChildName(i), td);
} else { } else {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.width(width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
td.element.css({ td.element.css({
position: "relative", position: "relative",
height: "100%", display: "table-cell",
"vertical-align": "middle", "vertical-align": "middle",
margin: "0", margin: "0",
padding: "0", padding: "0",
border: "none" height: "100%"
}); });
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({ w.element.css({
@ -31105,7 +31034,7 @@ BI.VerticalAdaptLayout = 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) {
@ -31122,12 +31051,57 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
appendFragment: function (frag) { appendFragment: function (frag) {
this.$tr.append(frag); this.$table.append(frag);
this.element.append(this.$table); this.element.append(this.$table);
}, },
_getWrapper: function () { resize: function () {
return this.$tr; // console.log("center_adapt布局不需要resize");
},
populate: function (items) {
BI.TableAdaptLayout.superclass.populate.apply(this, arguments);
this._mount();
}
});
BI.shortcut("bi.table_adapt", BI.TableAdaptLayout);/**
* 垂直方向居中容器
* @class BI.VerticalAdaptLayout
* @extends BI.Layout
*/
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
props: {
baseCls: "bi-vertical-adapt-layout",
columnSize: [],
scrollx: false,
hgap: 0,
vgap: 0,
lgap: 0,
rgap: 0,
tgap: 0,
bgap: 0
},
render: function () {
var self = this, o = this.options;
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
return {
type: "bi.horizontal",
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: o.columnSize,
items: o.items,
scrollx: o.scrollx,
ref: function (_ref) {
self.layout = _ref;
},
hgap: o.hgap,
vgap: o.vgap,
lgap: o.lgap,
rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
@ -31135,8 +31109,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
populate: function (items) { populate: function (items) {
BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/** BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/**
@ -32893,6 +32866,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-horizontal-layout", baseCls: "bi-horizontal-layout",
verticalAlign: BI.VerticalAlign.Top, verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: [], columnSize: [],
scrollx: true, scrollx: true,
hgap: 0, hgap: 0,
@ -32904,10 +32878,13 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options;
BI.HorizontalLayout.superclass.render.apply(this, arguments); BI.HorizontalLayout.superclass.render.apply(this, arguments);
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 ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -32937,7 +32914,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.attr("width", width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
@ -40876,132 +40853,57 @@ BI.Msg = function () {
}, 5000); }, 5000);
}, },
_show: function (hasCancel, title, message, callback) { _show: function (hasCancel, title, message, callback) {
$mask = BI.Widget._renderEngine.createElement("<div class=\"bi-z-index-mask\">").css({ var name = BI.UUID();
position: "absolute", BI.Popovers.create(name, {
zIndex: BI.zIndex_tip - 2, type: "bi.bar_popover",
top: 0, header: title,
left: 0, body: {
right: 0, type: "bi.center_adapt",
bottom: 0, items: [{
opacity: 0.5 type: "bi.label",
}).appendTo("body"); text: message
$pop = BI.Widget._renderEngine.createElement("<div class=\"bi-message-depend\">").css({ }]
position: "absolute", },
zIndex: BI.zIndex_tip - 1, footer: hasCancel ? {
top: 0, type: "bi.right_vertical_adapt",
left: 0, lgap: 10,
right: 0, items: [{
bottom: 0
}).appendTo("body");
var close = function () {
messageShow.destroy();
$mask.remove();
};
var controlItems = [];
if (hasCancel === true) {
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"), text: BI.i18nText("BI-Basic_Cancel"),
level: "ignore", level: "ignore",
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
} }, {
});
}
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_OK"), text: BI.i18nText("BI-Basic_Sure"),
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [true]); callback.apply(null, [true]);
} }
} }
} }]
}); } : {
var conf = { type: "bi.right_vertical_adapt",
element: $pop, lgap: 10,
type: "bi.center_adapt", items: [{
items: [ type: "bi.button",
{ text: BI.i18nText("BI-Basic_Cancel"),
type: "bi.border", level: "ignore",
cls: "bi-message-content bi-card",
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.label",
text: title || BI.i18nText("BI-Basic_Prompt"),
textAlign: "left",
hgap: 20,
height: 50
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
// height: 50,
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
},
width: 60
}
}
},
height: 50
},
center: {
el: {
type: "bi.text",
cls: "bi-message-text",
tgap: 60,
hgap: 20,
lineHeight: 30,
whiteSpace: "normal",
text: message
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: {
type: "bi.right_vertical_adapt",
hgap: 5,
items: controlItems
},
top: 0,
left: 20,
right: 20,
bottom: 0
}] }]
}, },
height: 60 size: "small"
} }).open(name);
},
width: 400,
height: 300
}
]
};
messageShow = BI.createWidget(conf);
} }
}; };
}();/** }();/**

60
dist/fineui.min.js vendored

File diff suppressed because one or more lines are too long

470
dist/fineui_without_jquery_polyfill.js vendored

@ -19426,6 +19426,7 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-center-adapt-layout", baseCls: "bi-center-adapt-layout",
columnSize: [], columnSize: [],
scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -19435,92 +19436,33 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.CenterAdaptLayout.superclass.render.apply(this, arguments); BI.CenterAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ return {
position: "relative", type: "bi.horizontal",
width: "100%", verticalAlign: BI.VerticalAlign.Middle,
height: "100%", horizontalAlign: BI.HorizontalAlign.Center,
"white-space": "nowrap", columnSize: o.columnSize,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", items: o.items,
"border-collapse": "separate" ref: function (_ref) {
}); self.layout = _ref;
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
},
_addElement: function (i, item) {
var o = this.options;
var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];
if (!this.hasWidget(this._getChildName(i))) {
var w = BI.createWidget(item);
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
td.element.css({"max-width": o.columnSize[i]});
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
}, },
hgap: o.hgap,
appendFragment: function (frag) { vgap: o.vgap,
this.$tr.append(frag); lgap: o.lgap,
this.element.append(this.$table); rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
// console.log("center_adapt布局不需要resize"); // console.log("center_adapt布局不需要resize");
}, },
_getWrapper: function () {
return this.$tr;
},
populate: function (items) { populate: function (items) {
BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/** BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);/**
@ -19652,51 +19594,49 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); var layoutArray = [];
}, if ("left" in o.items) {
layoutArray.push({
resize: function () { type: "bi.left",
// console.log("left_right_vertical_adapt布局不需要resize"); items: [{
}, el: {
addItem: function () {
// do nothing
throw new Error("cannot be added");
},
stroke: function (items) {
var o = this.options;
if ("left" in items) {
var left = BI.createWidget({
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.left, height: "100%",
items: o.items.left,
hgap: o.lhgap, hgap: o.lhgap,
lgap: o.llgap, lgap: o.llgap,
rgap: o.lrgap rgap: o.lrgap
}); }
left.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
}); });
} }
if ("right" in items) { if ("right" in o.items) {
var right = BI.createWidget({ layoutArray.push({
type: "bi.right",
items: [{
el: {
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.right, height: "100%",
items: o.items.right,
hgap: o.rhgap, hgap: o.rhgap,
lgap: o.rlgap, lgap: o.rlgap,
rgap: o.rrgap rgap: o.rrgap
}); }
right.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
}); });
} }
return layoutArray;
},
resize: function () {
// console.log("left_right_vertical_adapt布局不需要resize");
},
addItem: function () {
// do nothing
throw new Error("cannot be added");
}, },
populate: function (items) { populate: function (items) {
@ -19718,8 +19658,22 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.left",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -19731,26 +19685,8 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var left = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
left.element.css("height", "100%");
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
});
},
populate: function (items) { populate: function (items) {
BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout); BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout);
@ -19766,8 +19702,22 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.right",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -19779,37 +19729,21 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var right = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
right.element.css("height", "100%");
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
});
},
populate: function (items) { populate: function (items) {
BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/** BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);/**
* 垂直方向居中容器 * 使用display:table和display:table-cell实现的horizontal布局
* @class BI.VerticalAdaptLayout * @class BI.TableAdaptLayout
* @extends BI.Layout * @extends BI.Layout
*/ */
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, { BI.TableAdaptLayout = BI.inherit(BI.Layout, {
props: { props: function () {
baseCls: "bi-vertical-adapt-layout", return BI.extend(BI.TableAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-table-center-adapt-layout",
columnSize: [], columnSize: [],
verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left, horizontalAlign: BI.HorizontalAlign.Left,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
@ -19817,25 +19751,23 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
rgap: 0, rgap: 0,
tgap: 0, tgap: 0,
bgap: 0 bgap: 0
});
}, },
render: function () { render: function () {
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
var o = this.options; var o = this.options;
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ BI.TableAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<div>").css({
position: "relative", position: "relative",
width: o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", display: "table",
height: "100%", height: o.verticalAlign === BI.VerticalAlign.Middle ? "100%" : "auto",
"white-space": "nowrap", width: o.horizontalAlign === BI.HorizontalAlign.Center ? "100%" : "auto",
"border-spacing": "0px", "white-space": "nowrap"
border: "none",
"border-collapse": "separate"
}); });
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items); this.populate(this.options.items);
}, },
_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];
@ -19844,28 +19776,25 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({ td = BI.createWidget({
type: "bi.default", type: "bi.default",
tagName: "td", width: width,
attributes: {
width: width
},
items: [w] items: [w]
}); });
this.addWidget(this._getChildName(i), td); this.addWidget(this._getChildName(i), td);
} else { } else {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.width(width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
td.element.css({ td.element.css({
position: "relative", position: "relative",
height: "100%", display: "table-cell",
"vertical-align": "middle", "vertical-align": "middle",
margin: "0", margin: "0",
padding: "0", padding: "0",
border: "none" height: "100%"
}); });
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({ w.element.css({
@ -19874,7 +19803,7 @@ BI.VerticalAdaptLayout = 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) {
@ -19891,12 +19820,57 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
appendFragment: function (frag) { appendFragment: function (frag) {
this.$tr.append(frag); this.$table.append(frag);
this.element.append(this.$table); this.element.append(this.$table);
}, },
_getWrapper: function () { resize: function () {
return this.$tr; // console.log("center_adapt布局不需要resize");
},
populate: function (items) {
BI.TableAdaptLayout.superclass.populate.apply(this, arguments);
this._mount();
}
});
BI.shortcut("bi.table_adapt", BI.TableAdaptLayout);/**
* 垂直方向居中容器
* @class BI.VerticalAdaptLayout
* @extends BI.Layout
*/
BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
props: {
baseCls: "bi-vertical-adapt-layout",
columnSize: [],
scrollx: false,
hgap: 0,
vgap: 0,
lgap: 0,
rgap: 0,
tgap: 0,
bgap: 0
},
render: function () {
var self = this, o = this.options;
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
return {
type: "bi.horizontal",
verticalAlign: BI.VerticalAlign.Middle,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: o.columnSize,
items: o.items,
scrollx: o.scrollx,
ref: function (_ref) {
self.layout = _ref;
},
hgap: o.hgap,
vgap: o.vgap,
lgap: o.lgap,
rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
@ -19904,8 +19878,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
populate: function (items) { populate: function (items) {
BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/** BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);/**
@ -21662,6 +21635,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-horizontal-layout", baseCls: "bi-horizontal-layout",
verticalAlign: BI.VerticalAlign.Top, verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: [], columnSize: [],
scrollx: true, scrollx: true,
hgap: 0, hgap: 0,
@ -21673,10 +21647,13 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options;
BI.HorizontalLayout.superclass.render.apply(this, arguments); BI.HorizontalLayout.superclass.render.apply(this, arguments);
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 ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -21706,7 +21683,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.attr("width", width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }
@ -28543,132 +28520,57 @@ BI.Msg = function () {
}, 5000); }, 5000);
}, },
_show: function (hasCancel, title, message, callback) { _show: function (hasCancel, title, message, callback) {
$mask = BI.Widget._renderEngine.createElement("<div class=\"bi-z-index-mask\">").css({ var name = BI.UUID();
position: "absolute", BI.Popovers.create(name, {
zIndex: BI.zIndex_tip - 2, type: "bi.bar_popover",
top: 0, header: title,
left: 0, body: {
right: 0, type: "bi.center_adapt",
bottom: 0, items: [{
opacity: 0.5 type: "bi.label",
}).appendTo("body"); text: message
$pop = BI.Widget._renderEngine.createElement("<div class=\"bi-message-depend\">").css({ }]
position: "absolute", },
zIndex: BI.zIndex_tip - 1, footer: hasCancel ? {
top: 0, type: "bi.right_vertical_adapt",
left: 0, lgap: 10,
right: 0, items: [{
bottom: 0
}).appendTo("body");
var close = function () {
messageShow.destroy();
$mask.remove();
};
var controlItems = [];
if (hasCancel === true) {
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"), text: BI.i18nText("BI-Basic_Cancel"),
level: "ignore", level: "ignore",
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
} }, {
});
}
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_OK"), text: BI.i18nText("BI-Basic_Sure"),
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [true]); callback.apply(null, [true]);
} }
} }
} }]
}); } : {
var conf = { type: "bi.right_vertical_adapt",
element: $pop, lgap: 10,
type: "bi.center_adapt", items: [{
items: [ type: "bi.button",
{ text: BI.i18nText("BI-Basic_Cancel"),
type: "bi.border", level: "ignore",
cls: "bi-message-content bi-card",
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.label",
text: title || BI.i18nText("BI-Basic_Prompt"),
textAlign: "left",
hgap: 20,
height: 50
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
// height: 50,
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
},
width: 60
}
}
},
height: 50
},
center: {
el: {
type: "bi.text",
cls: "bi-message-text",
tgap: 60,
hgap: 20,
lineHeight: 30,
whiteSpace: "normal",
text: message
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: {
type: "bi.right_vertical_adapt",
hgap: 5,
items: controlItems
},
top: 0,
left: 20,
right: 20,
bottom: 0
}] }]
}, },
height: 60 size: "small"
} }).open(name);
},
width: 400,
height: 300
}
]
};
messageShow = BI.createWidget(conf);
} }
}; };
}();/** }();/**

2
dist/utils.min.js vendored

File diff suppressed because one or more lines are too long

135
src/base/foundation/message.js

@ -49,132 +49,57 @@ BI.Msg = function () {
}, 5000); }, 5000);
}, },
_show: function (hasCancel, title, message, callback) { _show: function (hasCancel, title, message, callback) {
$mask = BI.Widget._renderEngine.createElement("<div class=\"bi-z-index-mask\">").css({ var name = BI.UUID();
position: "absolute", BI.Popovers.create(name, {
zIndex: BI.zIndex_tip - 2, type: "bi.bar_popover",
top: 0, header: title,
left: 0, body: {
right: 0, type: "bi.center_adapt",
bottom: 0, items: [{
opacity: 0.5 type: "bi.label",
}).appendTo("body"); text: message
$pop = BI.Widget._renderEngine.createElement("<div class=\"bi-message-depend\">").css({ }]
position: "absolute", },
zIndex: BI.zIndex_tip - 1, footer: hasCancel ? {
top: 0, type: "bi.right_vertical_adapt",
left: 0, lgap: 10,
right: 0, items: [{
bottom: 0
}).appendTo("body");
var close = function () {
messageShow.destroy();
$mask.remove();
};
var controlItems = [];
if (hasCancel === true) {
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"), text: BI.i18nText("BI-Basic_Cancel"),
level: "ignore", level: "ignore",
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
} }, {
});
}
controlItems.push({
el: {
type: "bi.button", type: "bi.button",
text: BI.i18nText("BI-Basic_OK"), text: BI.i18nText("BI-Basic_Sure"),
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [true]); callback.apply(null, [true]);
} }
} }
} }]
}); } : {
var conf = { type: "bi.right_vertical_adapt",
element: $pop, lgap: 10,
type: "bi.center_adapt", items: [{
items: [ type: "bi.button",
{ text: BI.i18nText("BI-Basic_Cancel"),
type: "bi.border", level: "ignore",
cls: "bi-message-content bi-card",
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.label",
text: title || BI.i18nText("BI-Basic_Prompt"),
textAlign: "left",
hgap: 20,
height: 50
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
// height: 50,
handler: function () { handler: function () {
close(); BI.Popovers.remove(name);
if (BI.isFunction(callback)) { if (BI.isFunction(callback)) {
callback.apply(null, [false]); callback.apply(null, [false]);
} }
} }
},
width: 60
}
}
},
height: 50
},
center: {
el: {
type: "bi.text",
cls: "bi-message-text",
tgap: 60,
hgap: 20,
lineHeight: 30,
whiteSpace: "normal",
text: message
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: {
type: "bi.right_vertical_adapt",
hgap: 5,
items: controlItems
},
top: 0,
left: 20,
right: 20,
bottom: 0
}] }]
}, },
height: 60 size: "small"
} }).open(name);
},
width: 400,
height: 300
}
]
};
messageShow = BI.createWidget(conf);
} }
}; };
}(); }();

96
src/core/wrapper/layout/adapt/adapt.center.js

@ -8,6 +8,7 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-center-adapt-layout", baseCls: "bi-center-adapt-layout",
columnSize: [], columnSize: [],
scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -17,92 +18,33 @@ BI.CenterAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.CenterAdaptLayout.superclass.render.apply(this, arguments); BI.CenterAdaptLayout.superclass.render.apply(this, arguments);
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ return {
position: "relative", type: "bi.horizontal",
width: "100%", verticalAlign: BI.VerticalAlign.Middle,
height: "100%", horizontalAlign: BI.HorizontalAlign.Center,
"white-space": "nowrap", columnSize: o.columnSize,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", items: o.items,
"border-collapse": "separate" ref: function (_ref) {
}); self.layout = _ref;
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
}, },
hgap: o.hgap,
_addElement: function (i, item) { vgap: o.vgap,
var o = this.options; lgap: o.lgap,
var td; rgap: o.rgap,
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i]; tgap: o.tgap,
if (!this.hasWidget(this._getChildName(i))) { bgap: o.bgap
var w = BI.createWidget(item); };
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
td.element.css({"max-width": o.columnSize[i]});
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
},
appendFragment: function (frag) {
this.$tr.append(frag);
this.element.append(this.$table);
}, },
resize: function () { resize: function () {
// console.log("center_adapt布局不需要resize"); // console.log("center_adapt布局不需要resize");
}, },
_getWrapper: function () {
return this.$tr;
},
populate: function (items) { populate: function (items) {
BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout); BI.shortcut("bi.center_adapt", BI.CenterAdaptLayout);

134
src/core/wrapper/layout/adapt/adapt.leftrightvertical.js

@ -21,51 +21,49 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); var layoutArray = [];
}, if ("left" in o.items) {
layoutArray.push({
resize: function () { type: "bi.left",
// console.log("left_right_vertical_adapt布局不需要resize"); items: [{
}, el: {
addItem: function () {
// do nothing
throw new Error("cannot be added");
},
stroke: function (items) {
var o = this.options;
if ("left" in items) {
var left = BI.createWidget({
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.left, height: "100%",
items: o.items.left,
hgap: o.lhgap, hgap: o.lhgap,
lgap: o.llgap, lgap: o.llgap,
rgap: o.lrgap rgap: o.lrgap
}); }
left.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
}); });
} }
if ("right" in items) { if ("right" in o.items) {
var right = BI.createWidget({ layoutArray.push({
type: "bi.right",
items: [{
el: {
type: "bi.vertical_adapt", type: "bi.vertical_adapt",
items: items.right, height: "100%",
items: o.items.right,
hgap: o.rhgap, hgap: o.rhgap,
lgap: o.rlgap, lgap: o.rlgap,
rgap: o.rrgap rgap: o.rrgap
}); }
right.element.css("height", "100%"); }]
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
}); });
} }
return layoutArray;
},
resize: function () {
// console.log("left_right_vertical_adapt布局不需要resize");
},
addItem: function () {
// do nothing
throw new Error("cannot be added");
}, },
populate: function (items) { populate: function (items) {
@ -87,8 +85,22 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.left",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -100,26 +112,8 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var left = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
left.element.css("height", "100%");
BI.createWidget({
type: "bi.left",
element: this,
items: [left]
});
},
populate: function (items) { populate: function (items) {
BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout); BI.shortcut("bi.left_vertical_adapt", BI.LeftVerticalAdaptLayout);
@ -135,8 +129,22 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options, self = this;
BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments);
this.populate(this.options.items); return {
type: "bi.right",
ref: function (_ref) {
self.layout = _ref;
},
items: [{
type: "bi.vertical_adapt",
height: "100%",
items: o.items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
}]
};
}, },
resize: function () { resize: function () {
@ -148,26 +156,8 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
throw new Error("cannot be added"); throw new Error("cannot be added");
}, },
stroke: function (items) {
var o = this.options;
var right = BI.createWidget({
type: "bi.vertical_adapt",
items: items,
lgap: o.lgap,
hgap: o.hgap,
rgap: o.rgap
});
right.element.css("height", "100%");
BI.createWidget({
type: "bi.right",
element: this,
items: [right]
});
},
populate: function (items) { populate: function (items) {
BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout); BI.shortcut("bi.right_vertical_adapt", BI.RightVerticalAdaptLayout);

99
src/core/wrapper/layout/adapt/adapt.vertical.js

@ -7,7 +7,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
props: { props: {
baseCls: "bi-vertical-adapt-layout", baseCls: "bi-vertical-adapt-layout",
columnSize: [], columnSize: [],
horizontalAlign: BI.HorizontalAlign.Left, scrollx: false,
hgap: 0, hgap: 0,
vgap: 0, vgap: 0,
lgap: 0, lgap: 0,
@ -15,85 +15,27 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
tgap: 0, tgap: 0,
bgap: 0 bgap: 0
}, },
render: function () { render: function () {
var self = this, o = this.options;
BI.VerticalAdaptLayout.superclass.render.apply(this, arguments); BI.VerticalAdaptLayout.superclass.render.apply(this, arguments);
var o = this.options; return {
this.$table = BI.Widget._renderEngine.createElement("<table>").attr({cellspacing: 0, cellpadding: 0}).css({ type: "bi.horizontal",
position: "relative", verticalAlign: BI.VerticalAlign.Middle,
width: o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", horizontalAlign: BI.HorizontalAlign.Left,
height: "100%", columnSize: o.columnSize,
"white-space": "nowrap", items: o.items,
"border-spacing": "0px", scrollx: o.scrollx,
border: "none", ref: function (_ref) {
"border-collapse": "separate" self.layout = _ref;
});
this.$tr = BI.Widget._renderEngine.createElement("<tr>");
this.$tr.appendTo(this.$table);
this.populate(this.options.items);
},
_addElement: function (i, item) {
var o = this.options;
var td;
var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i];
if (!this.hasWidget(this._getChildName(i))) {
var w = BI.createWidget(item);
w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"});
td = BI.createWidget({
type: "bi.default",
tagName: "td",
attributes: {
width: width
},
items: [w]
});
this.addWidget(this._getChildName(i), td);
} else {
td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width);
}
if (i === 0) {
td.element.addClass("first-element");
}
td.element.css({
position: "relative",
height: "100%",
"vertical-align": "middle",
margin: "0",
padding: "0",
border: "none"
});
if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-top": o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) + "px"
});
}
if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) {
w.element.css({
"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) {
w.element.css({
"margin-right": o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) + "px"
});
}
if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) {
w.element.css({
"margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) + "px"
});
}
return td;
},
appendFragment: function (frag) {
this.$tr.append(frag);
this.element.append(this.$table);
}, },
hgap: o.hgap,
_getWrapper: function () { vgap: o.vgap,
return this.$tr; lgap: o.lgap,
rgap: o.rgap,
tgap: o.tgap,
bgap: o.bgap
};
}, },
resize: function () { resize: function () {
@ -101,8 +43,7 @@ BI.VerticalAdaptLayout = BI.inherit(BI.Layout, {
}, },
populate: function (items) { populate: function (items) {
BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); this.layout.populate.apply(this, arguments);
this._mount();
} }
}); });
BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout); BI.shortcut("bi.vertical_adapt", BI.VerticalAdaptLayout);

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

@ -8,6 +8,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), {
baseCls: "bi-horizontal-layout", baseCls: "bi-horizontal-layout",
verticalAlign: BI.VerticalAlign.Top, verticalAlign: BI.VerticalAlign.Top,
horizontalAlign: BI.HorizontalAlign.Left,
columnSize: [], columnSize: [],
scrollx: true, scrollx: true,
hgap: 0, hgap: 0,
@ -19,10 +20,13 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
}); });
}, },
render: function () { render: function () {
var o = this.options;
BI.HorizontalLayout.superclass.render.apply(this, arguments); BI.HorizontalLayout.superclass.render.apply(this, arguments);
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 ? "100%" : "auto",
"border-spacing": "0px", "border-spacing": "0px",
border: "none", border: "none",
"border-collapse": "separate" "border-collapse": "separate"
@ -52,7 +56,7 @@ BI.HorizontalLayout = BI.inherit(BI.Layout, {
td = this.getWidgetByName(this._getChildName(i)); td = this.getWidgetByName(this._getChildName(i));
td.element.attr("width", width); td.element.attr("width", width);
} }
td.element.css({"max-width": o.columnSize[i] + "px"});
if (i === 0) { if (i === 0) {
td.element.addClass("first-element"); td.element.addClass("first-element");
} }

Loading…
Cancel
Save