|
|
|
@ -19586,7 +19586,7 @@ _.extend(BI, {
|
|
|
|
|
if(!_global.navigator) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
return /safari/i.test(navigator.userAgent.toLowerCase()); |
|
|
|
|
return /safari/i.test(navigator.userAgent.toLowerCase()) && !/chrome/i.test(navigator.userAgent.toLowerCase()); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
isKhtml: function () { |
|
|
|
@ -31244,6 +31244,105 @@ BI.InlineVerticalAdaptLayout = BI.inherit(BI.Layout, {
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
BI.shortcut("bi.inline_vertical_adapt", BI.InlineVerticalAdaptLayout);/** |
|
|
|
|
* 自适应水平和垂直方向都居中容器 |
|
|
|
|
* @class BI.TableCenterAdaptLayout |
|
|
|
|
* @extends BI.Layout |
|
|
|
|
*/ |
|
|
|
|
BI.TableCenterAdaptLayout = BI.inherit(BI.Layout, { |
|
|
|
|
props: function () { |
|
|
|
|
return BI.extend(BI.TableCenterAdaptLayout.superclass.props.apply(this, arguments), { |
|
|
|
|
baseCls: "bi-table-center-adapt-layout", |
|
|
|
|
columnSize: [], |
|
|
|
|
hgap: 0, |
|
|
|
|
vgap: 0, |
|
|
|
|
lgap: 0, |
|
|
|
|
rgap: 0, |
|
|
|
|
tgap: 0, |
|
|
|
|
bgap: 0 |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
render: function () { |
|
|
|
|
BI.TableCenterAdaptLayout.superclass.render.apply(this, arguments); |
|
|
|
|
this.$table = BI.Widget._renderEngine.createElement("<div>").css({ |
|
|
|
|
position: "relative", |
|
|
|
|
display: "table", |
|
|
|
|
width: "100%", |
|
|
|
|
height: "100%", |
|
|
|
|
"white-space": "nowrap" |
|
|
|
|
}); |
|
|
|
|
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", |
|
|
|
|
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", |
|
|
|
|
display: "table-cell", |
|
|
|
|
"vertical-align": "middle", |
|
|
|
|
margin: "0", |
|
|
|
|
padding: "0", |
|
|
|
|
height: "100%" |
|
|
|
|
}); |
|
|
|
|
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.$table.append(frag); |
|
|
|
|
this.element.append(this.$table); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
resize: function () { |
|
|
|
|
// console.log("center_adapt布局不需要resize");
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
populate: function (items) { |
|
|
|
|
BI.TableCenterAdaptLayout.superclass.populate.apply(this, arguments); |
|
|
|
|
this._mount(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
BI.shortcut("bi.table_center_adapt", BI.TableCenterAdaptLayout);/** |
|
|
|
|
*自适应水平和垂直方向都居中容器 |
|
|
|
|
* Created by GUY on 2016/12/2. |
|
|
|
|
* |
|
|
|
@ -41143,6 +41242,9 @@ BI.Popover = BI.inherit(BI.Widget, {
|
|
|
|
|
// width: 600,
|
|
|
|
|
// height: 500,
|
|
|
|
|
size: "normal", // small, normal, big
|
|
|
|
|
logic: { |
|
|
|
|
dynamic: false |
|
|
|
|
}, |
|
|
|
|
header: null, |
|
|
|
|
body: null, |
|
|
|
|
footer: null |
|
|
|
@ -41158,68 +41260,77 @@ BI.Popover = BI.inherit(BI.Widget, {
|
|
|
|
|
self.startX += deltaX; |
|
|
|
|
self.startY += deltaY; |
|
|
|
|
self.element.css({ |
|
|
|
|
left: BI.clamp(self.startX, 0, W - size.width) + "px", |
|
|
|
|
top: BI.clamp(self.startY, 0, H - size.height) + "px" |
|
|
|
|
left: BI.clamp(self.startX, 0, W - self.element.width()) + "px", |
|
|
|
|
top: BI.clamp(self.startY, 0, H - self.element.height()) + "px" |
|
|
|
|
}); |
|
|
|
|
// BI-12134 没有什么特别好的方法
|
|
|
|
|
BI.Resizers._resize(); |
|
|
|
|
}, function () { |
|
|
|
|
self.tracker.releaseMouseMoves(); |
|
|
|
|
}, _global); |
|
|
|
|
var items = { |
|
|
|
|
north: { |
|
|
|
|
el: { |
|
|
|
|
type: "bi.htape", |
|
|
|
|
cls: "bi-message-title bi-header-background", |
|
|
|
|
ref: function (_ref) { |
|
|
|
|
self.dragger = _ref; |
|
|
|
|
}, |
|
|
|
|
items: [{ |
|
|
|
|
type: "bi.absolute", |
|
|
|
|
items: [{ |
|
|
|
|
el: BI.isPlainObject(o.header) ? BI.createWidget(o.header, { |
|
|
|
|
extraCls: "bi-font-bold" |
|
|
|
|
}) : { |
|
|
|
|
type: "bi.label", |
|
|
|
|
cls: "bi-font-bold", |
|
|
|
|
height: this._constant.HEADER_HEIGHT, |
|
|
|
|
text: o.header, |
|
|
|
|
textAlign: "left" |
|
|
|
|
}, |
|
|
|
|
left: 20, |
|
|
|
|
top: 0, |
|
|
|
|
right: 0, |
|
|
|
|
bottom: 0 |
|
|
|
|
}] |
|
|
|
|
}, { |
|
|
|
|
el: { |
|
|
|
|
type: "bi.icon_button", |
|
|
|
|
cls: "bi-message-close close-font", |
|
|
|
|
height: this._constant.HEADER_HEIGHT, |
|
|
|
|
handler: function () { |
|
|
|
|
self.close(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
width: 56 |
|
|
|
|
}] |
|
|
|
|
var items = [{ |
|
|
|
|
el: { |
|
|
|
|
type: "bi.htape", |
|
|
|
|
cls: "bi-message-title bi-header-background", |
|
|
|
|
ref: function (_ref) { |
|
|
|
|
self.dragger = _ref; |
|
|
|
|
}, |
|
|
|
|
height: this._constant.HEADER_HEIGHT |
|
|
|
|
}, |
|
|
|
|
center: { |
|
|
|
|
el: { |
|
|
|
|
items: [{ |
|
|
|
|
type: "bi.absolute", |
|
|
|
|
items: [{ |
|
|
|
|
el: BI.createWidget(o.body), |
|
|
|
|
el: BI.isPlainObject(o.header) ? BI.createWidget(o.header, { |
|
|
|
|
extraCls: "bi-font-bold" |
|
|
|
|
}) : { |
|
|
|
|
type: "bi.label", |
|
|
|
|
cls: "bi-font-bold", |
|
|
|
|
height: this._constant.HEADER_HEIGHT, |
|
|
|
|
text: o.header, |
|
|
|
|
textAlign: "left" |
|
|
|
|
}, |
|
|
|
|
left: 20, |
|
|
|
|
top: 10, |
|
|
|
|
right: 20, |
|
|
|
|
top: 0, |
|
|
|
|
right: 0, |
|
|
|
|
bottom: 0 |
|
|
|
|
}] |
|
|
|
|
} |
|
|
|
|
}, { |
|
|
|
|
el: { |
|
|
|
|
type: "bi.icon_button", |
|
|
|
|
cls: "bi-message-close close-font", |
|
|
|
|
height: this._constant.HEADER_HEIGHT, |
|
|
|
|
handler: function () { |
|
|
|
|
self.close(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
width: 56 |
|
|
|
|
}], |
|
|
|
|
height: this._constant.HEADER_HEIGHT |
|
|
|
|
}, |
|
|
|
|
height: this._constant.HEADER_HEIGHT |
|
|
|
|
}, { |
|
|
|
|
el: o.logic.dynamic ? { |
|
|
|
|
type: "bi.vertical", |
|
|
|
|
cls: "popover-body", |
|
|
|
|
ref: function () { |
|
|
|
|
self.body = this; |
|
|
|
|
}, |
|
|
|
|
hgap: 20, |
|
|
|
|
tgap: 10, |
|
|
|
|
items: [{ |
|
|
|
|
el: BI.createWidget(o.body) |
|
|
|
|
}] |
|
|
|
|
} : { |
|
|
|
|
type: "bi.absolute", |
|
|
|
|
items: [{ |
|
|
|
|
el: BI.createWidget(o.body), |
|
|
|
|
left: 20, |
|
|
|
|
top: 10, |
|
|
|
|
right: 20, |
|
|
|
|
bottom: 0 |
|
|
|
|
}] |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}]; |
|
|
|
|
if (o.footer) { |
|
|
|
|
items.south = { |
|
|
|
|
items.push({ |
|
|
|
|
el: { |
|
|
|
|
type: "bi.absolute", |
|
|
|
|
items: [{ |
|
|
|
@ -41228,30 +41339,41 @@ BI.Popover = BI.inherit(BI.Widget, {
|
|
|
|
|
top: 0, |
|
|
|
|
right: 20, |
|
|
|
|
bottom: 0 |
|
|
|
|
}] |
|
|
|
|
}], |
|
|
|
|
height: 44 |
|
|
|
|
}, |
|
|
|
|
height: 44 |
|
|
|
|
}; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var size = this._calculateSize(); |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
type: "bi.border", |
|
|
|
|
return BI.extend({ |
|
|
|
|
type: o.logic.dynamic ? "bi.vertical" : "bi.vtape", |
|
|
|
|
items: items, |
|
|
|
|
width: size.width, |
|
|
|
|
width: size.width |
|
|
|
|
}, o.logic.dynamic ? { |
|
|
|
|
type: "bi.vertical", |
|
|
|
|
scrolly: false |
|
|
|
|
} : { |
|
|
|
|
type: "bi.vtape", |
|
|
|
|
height: size.height |
|
|
|
|
}; |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
mounted: function () { |
|
|
|
|
var self = this; |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
this.dragger.element.mousedown(function (e) { |
|
|
|
|
var pos = self.element.offset(); |
|
|
|
|
self.startX = pos.left; |
|
|
|
|
self.startY = pos.top; |
|
|
|
|
self.tracker.captureMouseMoves(e); |
|
|
|
|
}); |
|
|
|
|
if (o.logic.dynamic) { |
|
|
|
|
var height = this.element.height(); |
|
|
|
|
var compareHeight = BI.clamp(height, 200, 600) - (o.footer ? 84 : 44); |
|
|
|
|
this.body.element.height(compareHeight); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
_calculateSize: function () { |
|
|
|
|