All Downloads are FREE. Search and download functionalities are using the official Maven repository.

template.js.base.jquery.ui.tooltip.min.js Maven / Gradle / Ivy

There is a newer version: 5.0.3
Show newest version
/*! jQuery UI - v1.10.4 - 2014-04-02
 * http://jqueryui.com
 * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */

(function (t) {
    function e(e, i) {
        var s = (e.attr("aria-describedby") || "").split(/\s+/);
        s.push(i), e.data("ui-tooltip-id", i).attr("aria-describedby", t.trim(s.join(" ")))
    }

    function i(e) {
        var i = e.data("ui-tooltip-id"), s = (e.attr("aria-describedby") || "").split(/\s+/), n = t.inArray(i, s);
        -1 !== n && s.splice(n, 1), e.removeData("ui-tooltip-id"), s = t.trim(s.join(" ")), s ? e.attr("aria-describedby", s) : e.removeAttr("aria-describedby")
    }

    var s = 0;
    t.widget("ui.tooltip", {version: "1.10.4", options: {content: function () {
        var e = t(this).attr("title") || "";
        return t("").text(e).html()
    }, hide: !0, items: "[title]:not([disabled])", position: {my: "left top+15", at: "left bottom", collision: "flipfit flip"}, show: !0, tooltipClass: null, track: !1, close: null, open: null}, _create: function () {
        this._on({mouseover: "open", focusin: "open"}), this.tooltips = {}, this.parents = {}, this.options.disabled && this._disable()
    }, _setOption: function (e, i) {
        var s = this;
        return"disabled" === e ? (this[i ? "_disable" : "_enable"](), this.options[e] = i, void 0) : (this._super(e, i), "content" === e && t.each(this.tooltips, function (t, e) {
            s._updateContent(e)
        }), void 0)
    }, _disable: function () {
        var e = this;
        t.each(this.tooltips, function (i, s) {
            var n = t.Event("blur");
            n.target = n.currentTarget = s[0], e.close(n, !0)
        }), this.element.find(this.options.items).addBack().each(function () {
            var e = t(this);
            e.is("[title]") && e.data("ui-tooltip-title", e.attr("title")).attr("title", "")
        })
    }, _enable: function () {
        this.element.find(this.options.items).addBack().each(function () {
            var e = t(this);
            e.data("ui-tooltip-title") && e.attr("title", e.data("ui-tooltip-title"))
        })
    }, open: function (e) {
        var i = this, s = t(e ? e.target : this.element).closest(this.options.items);
        s.length && !s.data("ui-tooltip-id") && (s.attr("title") && s.data("ui-tooltip-title", s.attr("title")), s.data("ui-tooltip-open", !0), e && "mouseover" === e.type && s.parents().each(function () {
            var e, s = t(this);
            s.data("ui-tooltip-open") && (e = t.Event("blur"), e.target = e.currentTarget = this, i.close(e, !0)), s.attr("title") && (s.uniqueId(), i.parents[this.id] = {element: this, title: s.attr("title")}, s.attr("title", ""))
        }), this._updateContent(s, e))
    }, _updateContent: function (t, e) {
        var i, s = this.options.content, n = this, o = e ? e.type : null;
        return"string" == typeof s ? this._open(e, t, s) : (i = s.call(t[0], function (i) {
            t.data("ui-tooltip-open") && n._delay(function () {
                e && (e.type = o), this._open(e, t, i)
            })
        }), i && this._open(e, t, i), void 0)
    }, _open: function (i, s, n) {
        function o(t) {
            l.of = t, a.is(":hidden") || a.position(l)
        }

        var a, r, h, l = t.extend({}, this.options.position);
        if (n) {
            if (a = this._find(s), a.length)return a.find(".ui-tooltip-content").html(n), void 0;
            s.is("[title]") && (i && "mouseover" === i.type ? s.attr("title", "") : s.removeAttr("title")), a = this._tooltip(s), e(s, a.attr("id")), a.find(".ui-tooltip-content").html(n), this.options.track && i && /^mouse/.test(i.type) ? (this._on(this.document, {mousemove: o}), o(i)) : a.position(t.extend({of: s}, this.options.position)), a.hide(), this._show(a, this.options.show), this.options.show && this.options.show.delay && (h = this.delayedShow = setInterval(function () {
                a.is(":visible") && (o(l.of), clearInterval(h))
            }, t.fx.interval)), this._trigger("open", i, {tooltip: a}), r = {keyup: function (e) {
                if (e.keyCode === t.ui.keyCode.ESCAPE) {
                    var i = t.Event(e);
                    i.currentTarget = s[0], this.close(i, !0)
                }
            }, remove: function () {
                this._removeTooltip(a)
            }}, i && "mouseover" !== i.type || (r.mouseleave = "close"), i && "focusin" !== i.type || (r.focusout = "close"), this._on(!0, s, r)
        }
    }, close: function (e) {
        var s = this, n = t(e ? e.currentTarget : this.element), o = this._find(n);
        this.closing || (clearInterval(this.delayedShow), n.data("ui-tooltip-title") && n.attr("title", n.data("ui-tooltip-title")), i(n), o.stop(!0), this._hide(o, this.options.hide, function () {
            s._removeTooltip(t(this))
        }), n.removeData("ui-tooltip-open"), this._off(n, "mouseleave focusout keyup"), n[0] !== this.element[0] && this._off(n, "remove"), this._off(this.document, "mousemove"), e && "mouseleave" === e.type && t.each(this.parents, function (e, i) {
            t(i.element).attr("title", i.title), delete s.parents[e]
        }), this.closing = !0, this._trigger("close", e, {tooltip: o}), this.closing = !1)
    }, _tooltip: function (e) {
        var i = "ui-tooltip-" + s++, n = t("
").attr({id: i, role: "tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content " + (this.options.tooltipClass || "")); return t("
").addClass("ui-tooltip-content").appendTo(n), n.appendTo(this.document[0].body), this.tooltips[i] = e, n }, _find: function (e) { var i = e.data("ui-tooltip-id"); return i ? t("#" + i) : t() }, _removeTooltip: function (t) { t.remove(), delete this.tooltips[t.attr("id")] }, _destroy: function () { var e = this; t.each(this.tooltips, function (i, s) { var n = t.Event("blur"); n.target = n.currentTarget = s[0], e.close(n, !0), t("#" + i).remove(), s.data("ui-tooltip-title") && (s.attr("title", s.data("ui-tooltip-title")), s.removeData("ui-tooltip-title")) }) }}) })(jQuery);




© 2015 - 2024 Weber Informatics LLC | Privacy Policy