/**
|
* jQuery EasyUI 1.3.6
|
*
|
* Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
|
*
|
* Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
|
* To use it on other terms please contact us at info@jeasyui.com
|
*
|
*/
|
(function ($) {
|
function _1(_2) {
|
$(_2).addClass("tooltip-f");
|
};
|
function _3(_4) {
|
var _5 = $.data(_4, "tooltip").options;
|
$(_4).unbind(".tooltip").bind(_5.showEvent + ".tooltip", function (e) {
|
_10(_4, e);
|
}).bind(_5.hideEvent + ".tooltip", function (e) {
|
_17(_4, e);
|
}).bind("mousemove.tooltip", function (e) {
|
if (_5.trackMouse) {
|
_5.trackMouseX = e.pageX;
|
_5.trackMouseY = e.pageY;
|
_6(_4);
|
}
|
});
|
};
|
function _7(_8) {
|
var _9 = $.data(_8, "tooltip");
|
if (_9.showTimer) {
|
clearTimeout(_9.showTimer);
|
_9.showTimer = null;
|
}
|
if (_9.hideTimer) {
|
clearTimeout(_9.hideTimer);
|
_9.hideTimer = null;
|
}
|
};
|
function _6(_a) {
|
var _b = $.data(_a, "tooltip");
|
if (!_b || !_b.tip) {
|
return;
|
}
|
var _c = _b.options;
|
var _d = _b.tip;
|
if (_c.trackMouse) {
|
t = $();
|
var _e = _c.trackMouseX + _c.deltaX;
|
var _f = _c.trackMouseY + _c.deltaY;
|
} else {
|
var t = $(_a);
|
var _e = t.offset().left + _c.deltaX;
|
var _f = t.offset().top + _c.deltaY;
|
}
|
switch (_c.position) {
|
case "right":
|
_e += t._outerWidth() + 12 + (_c.trackMouse ? 12 : 0);
|
_f -= (_d._outerHeight() - t._outerHeight()) / 2;
|
break;
|
case "left":
|
_e -= _d._outerWidth() + 12 + (_c.trackMouse ? 12 : 0);
|
_f -= (_d._outerHeight() - t._outerHeight()) / 2;
|
break;
|
case "top":
|
_e -= (_d._outerWidth() - t._outerWidth()) / 2;
|
_f -= _d._outerHeight() + 12 + (_c.trackMouse ? 12 : 0);
|
break;
|
case "bottom":
|
_e -= (_d._outerWidth() - t._outerWidth()) / 2;
|
_f += t._outerHeight() + 12 + (_c.trackMouse ? 12 : 0);
|
break;
|
}
|
if (!$(_a).is(":visible")) {
|
_e = -100000;
|
_f = -100000;
|
}
|
_d.css({ left: _e, top: _f, zIndex: (_c.zIndex != undefined ? _c.zIndex : ($.fn.window ? $.fn.window.defaults.zIndex++ : "")) });
|
_c.onPosition.call(_a, _e, _f);
|
};
|
function _10(_11, e) {
|
var _12 = $.data(_11, "tooltip");
|
var _13 = _12.options;
|
var tip = _12.tip;
|
if (!tip) {
|
tip = $("<div tabindex=\"-1\" class=\"tooltip\">" + "<div class=\"tooltip-content\"></div>" + "<div class=\"tooltip-arrow-outer\"></div>" + "<div class=\"tooltip-arrow\"></div>" + "</div>").appendTo("body");
|
_12.tip = tip;
|
_14(_11);
|
}
|
tip.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-" + _13.position);
|
_7(_11);
|
_12.showTimer = setTimeout(function () {
|
_6(_11);
|
tip.show();
|
_13.onShow.call(_11, e);
|
var _15 = tip.children(".tooltip-arrow-outer");
|
var _16 = tip.children(".tooltip-arrow");
|
var bc = "border-" + _13.position + "-color";
|
_15.add(_16).css({ borderTopColor: "", borderBottomColor: "", borderLeftColor: "", borderRightColor: "" });
|
_15.css(bc, tip.css(bc));
|
_16.css(bc, tip.css("backgroundColor"));
|
}, _13.showDelay);
|
};
|
function _17(_18, e) {
|
var _19 = $.data(_18, "tooltip");
|
if (_19 && _19.tip) {
|
_7(_18);
|
_19.hideTimer = setTimeout(function () {
|
_19.tip.hide();
|
_19.options.onHide.call(_18, e);
|
}, _19.options.hideDelay);
|
}
|
};
|
function _14(_1a, _1b) {
|
var _1c = $.data(_1a, "tooltip");
|
var _1d = _1c.options;
|
if (_1b) {
|
_1d.content = _1b;
|
}
|
if (!_1c.tip) {
|
return;
|
}
|
var cc = typeof _1d.content == "function" ? _1d.content.call(_1a) : _1d.content;
|
_1c.tip.children(".tooltip-content").html(cc);
|
_1d.onUpdate.call(_1a, cc);
|
};
|
function _1e(_1f) {
|
var _20 = $.data(_1f, "tooltip");
|
if (_20) {
|
_7(_1f);
|
var _21 = _20.options;
|
if (_20.tip) {
|
_20.tip.remove();
|
}
|
if (_21._title) {
|
$(_1f).attr("title", _21._title);
|
}
|
$.removeData(_1f, "tooltip");
|
$(_1f).unbind(".tooltip").removeClass("tooltip-f");
|
_21.onDestroy.call(_1f);
|
}
|
};
|
$.fn.tooltip = function (_22, _23) {
|
if (typeof _22 == "string") {
|
return $.fn.tooltip.methods[_22](this, _23);
|
}
|
_22 = _22 || {};
|
return this.each(function () {
|
var _24 = $.data(this, "tooltip");
|
if (_24) {
|
$.extend(_24.options, _22);
|
} else {
|
$.data(this, "tooltip", { options: $.extend({}, $.fn.tooltip.defaults, $.fn.tooltip.parseOptions(this), _22) });
|
_1(this);
|
}
|
_3(this);
|
_14(this);
|
});
|
};
|
$.fn.tooltip.methods = {
|
options: function (jq) {
|
return $.data(jq[0], "tooltip").options;
|
}, tip: function (jq) {
|
return $.data(jq[0], "tooltip").tip;
|
}, arrow: function (jq) {
|
return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow");
|
}, show: function (jq, e) {
|
return jq.each(function () {
|
_10(this, e);
|
});
|
}, hide: function (jq, e) {
|
return jq.each(function () {
|
_17(this, e);
|
});
|
}, update: function (jq, _25) {
|
return jq.each(function () {
|
_14(this, _25);
|
});
|
}, reposition: function (jq) {
|
return jq.each(function () {
|
_6(this);
|
});
|
}, destroy: function (jq) {
|
return jq.each(function () {
|
_1e(this);
|
});
|
}
|
};
|
$.fn.tooltip.parseOptions = function (_26) {
|
var t = $(_26);
|
var _27 = $.extend({}, $.parser.parseOptions(_26, [
|
"position", "showEvent", "hideEvent", "content",
|
{ deltaX: "number", deltaY: "number", showDelay: "number", hideDelay: "number" }
|
]), { _title: t.attr("title") });
|
t.attr("title", "");
|
if (!_27.content) {
|
_27.content = _27._title;
|
}
|
return _27;
|
};
|
$.fn.tooltip.defaults = {
|
position: "bottom", content: null, trackMouse: false, deltaX: 0, deltaY: 0,
|
showEvent: "mouseenter", hideEvent: "mouseleave",
|
showDelay: 200, hideDelay: 100,
|
onShow: function (e) {
|
}, onHide: function (e) {
|
}, onUpdate: function (_28) {
|
}, onPosition: function (_29, top) {
|
}, onDestroy: function () {
|
}
|
};
|
})(jQuery);
|