Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
template.js.base.jquery.ui.menu.min.js Maven / Gradle / Ivy
/*! jQuery UI - v1.10.4 - 2014-04-02
* http://jqueryui.com
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
(function (t) {
t.widget("ui.menu", {version: "1.10.4", defaultElement: "", delay: 300, options: {icons: {submenu: "ui-icon-carat-1-e"}, menus: "ul", position: {my: "left top", at: "right top"}, role: "menu", blur: null, focus: null, select: null}, _create: function () {
this.activeMenu = this.element, this.mouseHandled = !1, this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons", !!this.element.find(".ui-icon").length).attr({role: this.options.role, tabIndex: 0}).bind("click" + this.eventNamespace, t.proxy(function (t) {
this.options.disabled && t.preventDefault()
}, this)), this.options.disabled && this.element.addClass("ui-state-disabled").attr("aria-disabled", "true"), this._on({"mousedown .ui-menu-item > a": function (t) {
t.preventDefault()
}, "click .ui-state-disabled > a": function (t) {
t.preventDefault()
}, "click .ui-menu-item:has(a)": function (e) {
var i = t(e.target).closest(".ui-menu-item");
!this.mouseHandled && i.not(".ui-state-disabled").length && (this.select(e), e.isPropagationStopped() || (this.mouseHandled = !0), i.has(".ui-menu").length ? this.expand(e) : !this.element.is(":focus") && t(this.document[0].activeElement).closest(".ui-menu").length && (this.element.trigger("focus", [!0]), this.active && 1 === this.active.parents(".ui-menu").length && clearTimeout(this.timer)))
}, "mouseenter .ui-menu-item": function (e) {
var i = t(e.currentTarget);
i.siblings().children(".ui-state-active").removeClass("ui-state-active"), this.focus(e, i)
}, mouseleave: "collapseAll", "mouseleave .ui-menu": "collapseAll", focus: function (t, e) {
var i = this.active || this.element.children(".ui-menu-item").eq(0);
e || this.focus(t, i)
}, blur: function (e) {
this._delay(function () {
t.contains(this.element[0], this.document[0].activeElement) || this.collapseAll(e)
})
}, keydown: "_keydown"}), this.refresh(), this._on(this.document, {click: function (e) {
t(e.target).closest(".ui-menu").length || this.collapseAll(e), this.mouseHandled = !1
}})
}, _destroy: function () {
this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(), this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function () {
var e = t(this);
e.data("ui-menu-submenu-carat") && e.remove()
}), this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")
}, _keydown: function (e) {
function i(t) {
return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
}
var s, n, a, o, r, l = !0;
switch (e.keyCode) {
case t.ui.keyCode.PAGE_UP:
this.previousPage(e);
break;
case t.ui.keyCode.PAGE_DOWN:
this.nextPage(e);
break;
case t.ui.keyCode.HOME:
this._move("first", "first", e);
break;
case t.ui.keyCode.END:
this._move("last", "last", e);
break;
case t.ui.keyCode.UP:
this.previous(e);
break;
case t.ui.keyCode.DOWN:
this.next(e);
break;
case t.ui.keyCode.LEFT:
this.collapse(e);
break;
case t.ui.keyCode.RIGHT:
this.active && !this.active.is(".ui-state-disabled") && this.expand(e);
break;
case t.ui.keyCode.ENTER:
case t.ui.keyCode.SPACE:
this._activate(e);
break;
case t.ui.keyCode.ESCAPE:
this.collapse(e);
break;
default:
l = !1, n = this.previousFilter || "", a = String.fromCharCode(e.keyCode), o = !1, clearTimeout(this.filterTimer), a === n ? o = !0 : a = n + a, r = RegExp("^" + i(a), "i"), s = this.activeMenu.children(".ui-menu-item").filter(function () {
return r.test(t(this).children("a").text())
}), s = o && -1 !== s.index(this.active.next()) ? this.active.nextAll(".ui-menu-item") : s, s.length || (a = String.fromCharCode(e.keyCode), r = RegExp("^" + i(a), "i"), s = this.activeMenu.children(".ui-menu-item").filter(function () {
return r.test(t(this).children("a").text())
})), s.length ? (this.focus(e, s), s.length > 1 ? (this.previousFilter = a, this.filterTimer = this._delay(function () {
delete this.previousFilter
}, 1e3)) : delete this.previousFilter) : delete this.previousFilter
}
l && e.preventDefault()
}, _activate: function (t) {
this.active.is(".ui-state-disabled") || (this.active.children("a[aria-haspopup='true']").length ? this.expand(t) : this.select(t))
}, refresh: function () {
var e, i = this.options.icons.submenu, s = this.element.find(this.options.menus);
this.element.toggleClass("ui-menu-icons", !!this.element.find(".ui-icon").length), s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role: this.options.role, "aria-hidden": "true", "aria-expanded": "false"}).each(function () {
var e = t(this), s = e.prev("a"), n = t("").addClass("ui-menu-icon ui-icon " + i).data("ui-menu-submenu-carat", !0);
s.attr("aria-haspopup", "true").prepend(n), e.attr("aria-labelledby", s.attr("id"))
}), e = s.add(this.element), e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role", "presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex: -1, role: this._itemRole()}), e.children(":not(.ui-menu-item)").each(function () {
var e = t(this);
/[^\-\u2014\u2013\s]/.test(e.text()) || e.addClass("ui-widget-content ui-menu-divider")
}), e.children(".ui-state-disabled").attr("aria-disabled", "true"), this.active && !t.contains(this.element[0], this.active[0]) && this.blur()
}, _itemRole: function () {
return{menu: "menuitem", listbox: "option"}[this.options.role]
}, _setOption: function (t, e) {
"icons" === t && this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu), this._super(t, e)
}, focus: function (t, e) {
var i, s;
this.blur(t, t && "focus" === t.type), this._scrollIntoView(e), this.active = e.first(), s = this.active.children("a").addClass("ui-state-focus"), this.options.role && this.element.attr("aria-activedescendant", s.attr("id")), this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"), t && "keydown" === t.type ? this._close() : this.timer = this._delay(function () {
this._close()
}, this.delay), i = e.children(".ui-menu"), i.length && t && /^mouse/.test(t.type) && this._startOpening(i), this.activeMenu = e.parent(), this._trigger("focus", t, {item: e})
}, _scrollIntoView: function (e) {
var i, s, n, a, o, r;
this._hasScroll() && (i = parseFloat(t.css(this.activeMenu[0], "borderTopWidth")) || 0, s = parseFloat(t.css(this.activeMenu[0], "paddingTop")) || 0, n = e.offset().top - this.activeMenu.offset().top - i - s, a = this.activeMenu.scrollTop(), o = this.activeMenu.height(), r = e.height(), 0 > n ? this.activeMenu.scrollTop(a + n) : n + r > o && this.activeMenu.scrollTop(a + n - o + r))
}, blur: function (t, e) {
e || clearTimeout(this.timer), this.active && (this.active.children("a").removeClass("ui-state-focus"), this.active = null, this._trigger("blur", t, {item: this.active}))
}, _startOpening: function (t) {
clearTimeout(this.timer), "true" === t.attr("aria-hidden") && (this.timer = this._delay(function () {
this._close(), this._open(t)
}, this.delay))
}, _open: function (e) {
var i = t.extend({of: this.active}, this.options.position);
clearTimeout(this.timer), this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden", "true"), e.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(i)
}, collapseAll: function (e, i) {
clearTimeout(this.timer), this.timer = this._delay(function () {
var s = i ? this.element : t(e && e.target).closest(this.element.find(".ui-menu"));
s.length || (s = this.element), this._close(s), this.blur(e), this.activeMenu = s
}, this.delay)
}, _close: function (t) {
t || (t = this.active ? this.active.parent() : this.element), t.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false").end().find("a.ui-state-active").removeClass("ui-state-active")
}, collapse: function (t) {
var e = this.active && this.active.parent().closest(".ui-menu-item", this.element);
e && e.length && (this._close(), this.focus(t, e))
}, expand: function (t) {
var e = this.active && this.active.children(".ui-menu ").children(".ui-menu-item").first();
e && e.length && (this._open(e.parent()), this._delay(function () {
this.focus(t, e)
}))
}, next: function (t) {
this._move("next", "first", t)
}, previous: function (t) {
this._move("prev", "last", t)
}, isFirstItem: function () {
return this.active && !this.active.prevAll(".ui-menu-item").length
}, isLastItem: function () {
return this.active && !this.active.nextAll(".ui-menu-item").length
}, _move: function (t, e, i) {
var s;
this.active && (s = "first" === t || "last" === t ? this.active["first" === t ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1) : this.active[t + "All"](".ui-menu-item").eq(0)), s && s.length && this.active || (s = this.activeMenu.children(".ui-menu-item")[e]()), this.focus(i, s)
}, nextPage: function (e) {
var i, s, n;
return this.active ? (this.isLastItem() || (this._hasScroll() ? (s = this.active.offset().top, n = this.element.height(), this.active.nextAll(".ui-menu-item").each(function () {
return i = t(this), 0 > i.offset().top - s - n
}), this.focus(e, i)) : this.focus(e, this.activeMenu.children(".ui-menu-item")[this.active ? "last" : "first"]())), undefined) : (this.next(e), undefined)
}, previousPage: function (e) {
var i, s, n;
return this.active ? (this.isFirstItem() || (this._hasScroll() ? (s = this.active.offset().top, n = this.element.height(), this.active.prevAll(".ui-menu-item").each(function () {
return i = t(this), i.offset().top - s + n > 0
}), this.focus(e, i)) : this.focus(e, this.activeMenu.children(".ui-menu-item").first())), undefined) : (this.next(e), undefined)
}, _hasScroll: function () {
return this.element.outerHeight() < this.element.prop("scrollHeight")
}, select: function (e) {
this.active = this.active || t(e.target).closest(".ui-menu-item");
var i = {item: this.active};
this.active.has(".ui-menu").length || this.collapseAll(e, !0), this._trigger("select", e, i)
}})
})(jQuery);