/** * 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);