forked from fanruan/fineui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.4 KiB
89 lines
2.4 KiB
/** |
|
* title提示 |
|
* |
|
* Created by GUY on 2015/9/7. |
|
* @class BI.Tooltip |
|
* @extends BI.Tip |
|
*/ |
|
BI.Tooltip = BI.inherit(BI.Tip, { |
|
_const: { |
|
hgap: 8, |
|
vgap: 4, |
|
}, |
|
|
|
_defaultConfig: function () { |
|
return BI.extend(BI.Tooltip.superclass._defaultConfig.apply(this, arguments), { |
|
extraCls: "bi-tooltip", |
|
text: "", |
|
level: "success", // success或warning |
|
stopEvent: false, |
|
stopPropagation: false, |
|
textAlign: "left", |
|
}); |
|
}, |
|
|
|
render: function () { |
|
var o = this.options; |
|
this.element.addClass("tooltip-" + o.level); |
|
function fn(e) { |
|
o.stopPropagation && e.stopPropagation(); |
|
o.stopEvent && e.stopEvent(); |
|
} |
|
this.element.bind({ |
|
click: fn, |
|
mousedown: fn, |
|
mouseup: fn, |
|
mouseover: fn, |
|
mouseenter: fn, |
|
mouseleave: fn, |
|
mousemove: fn, |
|
}); |
|
|
|
var texts = (o.text + "").split("\n"); |
|
if (texts.length > 1) { |
|
BI.createWidget({ |
|
type: "bi.vertical", |
|
element: this, |
|
hgap: this._const.hgap, |
|
innerVgap: this._const.vgap, |
|
items: BI.map(texts, function (i, text) { |
|
return { |
|
type: "bi.label", |
|
textAlign: o.textAlign, |
|
whiteSpace: "normal", |
|
text: text, |
|
textHeight: 18, |
|
title: null, |
|
}; |
|
}), |
|
}); |
|
} else { |
|
this.text = BI.createWidget({ |
|
type: "bi.label", |
|
element: this, |
|
textAlign: o.textAlign, |
|
whiteSpace: "normal", |
|
text: o.text, |
|
title: null, |
|
textHeight: 18, |
|
hgap: this._const.hgap, |
|
vgap: this._const.vgap, |
|
}); |
|
} |
|
}, |
|
|
|
setWidth: function (width) { |
|
this.element.width(BI.pixFormat(width - 2 * this._const.hgap)); |
|
}, |
|
|
|
setText: function (text) { |
|
this.text && this.text.setText(text); |
|
}, |
|
|
|
setLevel: function (level) { |
|
this.element.removeClass("tooltip-success").removeClass("tooltip-warning"); |
|
this.element.addClass("tooltip-" + level); |
|
}, |
|
}); |
|
|
|
BI.shortcut("bi.tooltip", BI.Tooltip);
|
|
|