2341 lines
117 KiB
JavaScript
2341 lines
117 KiB
JavaScript
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||
!function (n) {
|
||
"function" == typeof define && define.amd ? define(["jquery"], n) : "object" == typeof module && module.exports ? module.exports = function (e, t) {
|
||
return void 0 === t && (t = "undefined" != typeof window ? require("jquery") : require("jquery")(e)), n(t), t
|
||
} : n(jQuery)
|
||
}(function (t) {
|
||
var e, n, s, p, r, o, h, f, g, m, y, v, i, a, _,
|
||
s = ((u = t && t.fn && t.fn.select2 && t.fn.select2.amd ? t.fn.select2.amd : u) && u.requirejs || (u ? n = u : u = {}, g = {}, m = {}, y = {}, v = {}, i = Object.prototype.hasOwnProperty, a = [].slice, _ = /\.js$/, h = function (e, t) {
|
||
var n, s, i = c(e), r = i[0], t = t[1];
|
||
return e = i[1], r && (n = x(r = l(r, t))), r ? e = n && n.normalize ? n.normalize(e, (s = t, function (e) {
|
||
return l(e, s)
|
||
})) : l(e, t) : (r = (i = c(e = l(e, t)))[0], e = i[1], r && (n = x(r))), {
|
||
f: r ? r + "!" + e : e,
|
||
n: e,
|
||
pr: r,
|
||
p: n
|
||
}
|
||
}, f = {
|
||
require: function (e) {
|
||
return w(e)
|
||
}, exports: function (e) {
|
||
var t = g[e];
|
||
return void 0 !== t ? t : g[e] = {}
|
||
}, module: function (e) {
|
||
return {
|
||
id: e, uri: "", exports: g[e], config: (t = e, function () {
|
||
return y && y.config && y.config[t] || {}
|
||
})
|
||
};
|
||
var t
|
||
}
|
||
}, r = function (e, t, n, s) {
|
||
var i, r, o, a, l, c = [], u = typeof n, d = A(s = s || e);
|
||
if ("undefined" == u || "function" == u) {
|
||
for (t = !t.length && n.length ? ["require", "exports", "module"] : t, a = 0; a < t.length; a += 1) if ("require" === (r = (o = h(t[a], d)).f)) c[a] = f.require(e); else if ("exports" === r) c[a] = f.exports(e), l = !0; else if ("module" === r) i = c[a] = f.module(e); else if (b(g, r) || b(m, r) || b(v, r)) c[a] = x(r); else {
|
||
if (!o.p) throw new Error(e + " missing " + r);
|
||
o.p.load(o.n, w(s, !0), function (t) {
|
||
return function (e) {
|
||
g[t] = e
|
||
}
|
||
}(r), {}), c[a] = g[r]
|
||
}
|
||
u = n ? n.apply(g[e], c) : void 0, e && (i && i.exports !== p && i.exports !== g[e] ? g[e] = i.exports : u === p && l || (g[e] = u))
|
||
} else e && (g[e] = n)
|
||
}, e = n = o = function (e, t, n, s, i) {
|
||
if ("string" == typeof e) return f[e] ? f[e](t) : x(h(e, A(t)).f);
|
||
if (!e.splice) {
|
||
if ((y = e).deps && o(y.deps, y.callback), !t) return;
|
||
t.splice ? (e = t, t = n, n = null) : e = p
|
||
}
|
||
return t = t || function () {
|
||
}, "function" == typeof n && (n = s, s = i), s ? r(p, e, t, n) : setTimeout(function () {
|
||
r(p, e, t, n)
|
||
}, 4), o
|
||
}, o.config = function (e) {
|
||
return o(e)
|
||
}, e._defined = g, (s = function (e, t, n) {
|
||
if ("string" != typeof e) throw new Error("See almond README: incorrect module build, no module name");
|
||
t.splice || (n = t, t = []), b(g, e) || b(m, e) || (m[e] = [e, t, n])
|
||
}).amd = {jQuery: !0}, u.requirejs = e, u.require = n, u.define = s), u.define("almond", function () {
|
||
}), u.define("jquery", [], function () {
|
||
var e = t || $;
|
||
return null == e && console && console.error && console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."), e
|
||
}), u.define("select2/utils", ["jquery"], function (r) {
|
||
var s = {};
|
||
|
||
function c(e) {
|
||
var t, n = e.prototype, s = [];
|
||
for (t in n) "function" == typeof n[t] && "constructor" !== t && s.push(t);
|
||
return s
|
||
}
|
||
|
||
s.Extend = function (e, t) {
|
||
var n, s = {}.hasOwnProperty;
|
||
|
||
function i() {
|
||
this.constructor = e
|
||
}
|
||
|
||
for (n in t) s.call(t, n) && (e[n] = t[n]);
|
||
return i.prototype = t.prototype, e.prototype = new i, e.__super__ = t.prototype, e
|
||
}, s.Decorate = function (s, i) {
|
||
var e = c(i), t = c(s);
|
||
|
||
function r() {
|
||
var e = Array.prototype.unshift, t = i.prototype.constructor.length, n = s.prototype.constructor;
|
||
0 < t && (e.call(arguments, s.prototype.constructor), n = i.prototype.constructor), n.apply(this, arguments)
|
||
}
|
||
|
||
i.displayName = s.displayName, r.prototype = new function () {
|
||
this.constructor = r
|
||
};
|
||
for (var n = 0; n < t.length; n++) {
|
||
var o = t[n];
|
||
r.prototype[o] = s.prototype[o]
|
||
}
|
||
for (var a = 0; a < e.length; a++) {
|
||
var l = e[a];
|
||
r.prototype[l] = function (e) {
|
||
var t = function () {
|
||
};
|
||
e in r.prototype && (t = r.prototype[e]);
|
||
var n = i.prototype[e];
|
||
return function () {
|
||
return Array.prototype.unshift.call(arguments, t), n.apply(this, arguments)
|
||
}
|
||
}(l)
|
||
}
|
||
return r
|
||
};
|
||
|
||
function e() {
|
||
this.listeners = {}
|
||
}
|
||
|
||
e.prototype.on = function (e, t) {
|
||
this.listeners = this.listeners || {}, e in this.listeners ? this.listeners[e].push(t) : this.listeners[e] = [t]
|
||
}, e.prototype.trigger = function (e) {
|
||
var t = Array.prototype.slice, n = t.call(arguments, 1);
|
||
this.listeners = this.listeners || {}, 0 === (n = null == n ? [] : n).length && n.push({}), (n[0]._type = e) in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)), "*" in this.listeners && this.invoke(this.listeners["*"], arguments)
|
||
}, e.prototype.invoke = function (e, t) {
|
||
for (var n = 0, s = e.length; n < s; n++) e[n].apply(this, t)
|
||
}, s.Observable = e, s.generateChars = function (e) {
|
||
for (var t = "", n = 0; n < e; n++) t += Math.floor(36 * Math.random()).toString(36);
|
||
return t
|
||
}, s.bind = function (e, t) {
|
||
return function () {
|
||
e.apply(t, arguments)
|
||
}
|
||
}, s._convertData = function (e) {
|
||
for (var t in e) {
|
||
var n = t.split("-"), s = e;
|
||
if (1 !== n.length) {
|
||
for (var i = 0; i < n.length; i++) {
|
||
var r = n[i];
|
||
(r = r.substring(0, 1).toLowerCase() + r.substring(1)) in s || (s[r] = {}), i == n.length - 1 && (s[r] = e[t]), s = s[r]
|
||
}
|
||
delete e[t]
|
||
}
|
||
}
|
||
return e
|
||
}, s.hasScroll = function (e, t) {
|
||
var n = r(t), s = t.style.overflowX, i = t.style.overflowY;
|
||
return (s !== i || "hidden" !== i && "visible" !== i) && ("scroll" === s || "scroll" === i || (n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth))
|
||
}, s.escapeMarkup = function (e) {
|
||
var t = {
|
||
"\\": "\",
|
||
"&": "&",
|
||
"<": "<",
|
||
">": ">",
|
||
'"': """,
|
||
"'": "'",
|
||
"/": "/"
|
||
};
|
||
return "string" != typeof e ? e : String(e).replace(/[&<>"'\/\\]/g, function (e) {
|
||
return t[e]
|
||
})
|
||
}, s.__cache = {};
|
||
var n = 0;
|
||
return s.GetUniqueElementId = function (e) {
|
||
var t = e.getAttribute("data-select2-id");
|
||
return null != t || (t = e.id ? "select2-data-" + e.id : "select2-data-" + (++n).toString() + "-" + s.generateChars(4), e.setAttribute("data-select2-id", t)), t
|
||
}, s.StoreData = function (e, t, n) {
|
||
e = s.GetUniqueElementId(e);
|
||
s.__cache[e] || (s.__cache[e] = {}), s.__cache[e][t] = n
|
||
}, s.GetData = function (e, t) {
|
||
var n = s.GetUniqueElementId(e);
|
||
return t ? s.__cache[n] && null != s.__cache[n][t] ? s.__cache[n][t] : r(e).data(t) : s.__cache[n]
|
||
}, s.RemoveData = function (e) {
|
||
var t = s.GetUniqueElementId(e);
|
||
null != s.__cache[t] && delete s.__cache[t], e.removeAttribute("data-select2-id")
|
||
}, s.copyNonInternalCssClasses = function (e, t) {
|
||
var n = (n = e.getAttribute("class").trim().split(/\s+/)).filter(function (e) {
|
||
return 0 === e.indexOf("select2-")
|
||
}), t = (t = t.getAttribute("class").trim().split(/\s+/)).filter(function (e) {
|
||
return 0 !== e.indexOf("select2-")
|
||
}), t = n.concat(t);
|
||
e.setAttribute("class", t.join(" "))
|
||
}, s
|
||
}), u.define("select2/results", ["jquery", "./utils"], function (d, p) {
|
||
function s(e, t, n) {
|
||
this.$element = e, this.data = n, this.options = t, s.__super__.constructor.call(this)
|
||
}
|
||
|
||
return p.Extend(s, p.Observable), s.prototype.render = function () {
|
||
var e = d('<ul class="select2-results__options" role="listbox"></ul>');
|
||
return this.options.get("multiple") && e.attr("aria-multiselectable", "true"), this.$results = e
|
||
}, s.prototype.clear = function () {
|
||
this.$results.empty()
|
||
}, s.prototype.displayMessage = function (e) {
|
||
var t = this.options.get("escapeMarkup");
|
||
this.clear(), this.hideLoading();
|
||
var n = d('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),
|
||
s = this.options.get("translations").get(e.message);
|
||
n.append(t(s(e.args))), n[0].className += " select2-results__message", this.$results.append(n)
|
||
}, s.prototype.hideMessages = function () {
|
||
this.$results.find(".select2-results__message").remove()
|
||
}, s.prototype.append = function (e) {
|
||
this.hideLoading();
|
||
var t = [];
|
||
if (null != e.results && 0 !== e.results.length) {
|
||
e.results = this.sort(e.results);
|
||
for (var n = 0; n < e.results.length; n++) {
|
||
var s = e.results[n], s = this.option(s);
|
||
t.push(s)
|
||
}
|
||
this.$results.append(t)
|
||
} else 0 === this.$results.children().length && this.trigger("results:message", {message: "noResults"})
|
||
}, s.prototype.position = function (e, t) {
|
||
t.find(".select2-results").append(e)
|
||
}, s.prototype.sort = function (e) {
|
||
return this.options.get("sorter")(e)
|
||
}, s.prototype.highlightFirstItem = function () {
|
||
var e = this.$results.find(".select2-results__option--selectable"),
|
||
t = e.filter(".select2-results__option--selected");
|
||
(0 < t.length ? t : e).first().trigger("mouseenter"), this.ensureHighlightVisible()
|
||
}, s.prototype.setClasses = function () {
|
||
var t = this;
|
||
this.data.current(function (e) {
|
||
var s = e.map(function (e) {
|
||
return e.id.toString()
|
||
});
|
||
t.$results.find(".select2-results__option--selectable").each(function () {
|
||
var e = d(this), t = p.GetData(this, "data"), n = "" + t.id;
|
||
null != t.element && t.element.selected || null == t.element && -1 < s.indexOf(n) ? (this.classList.add("select2-results__option--selected"), e.attr("aria-selected", "true")) : (this.classList.remove("select2-results__option--selected"), e.attr("aria-selected", "false"))
|
||
})
|
||
})
|
||
}, s.prototype.showLoading = function (e) {
|
||
this.hideLoading();
|
||
e = {
|
||
disabled: !0,
|
||
loading: !0,
|
||
text: this.options.get("translations").get("searching")(e)
|
||
}, e = this.option(e);
|
||
e.className += " loading-results", this.$results.prepend(e)
|
||
}, s.prototype.hideLoading = function () {
|
||
this.$results.find(".loading-results").remove()
|
||
}, s.prototype.option = function (e) {
|
||
var t = document.createElement("li");
|
||
t.classList.add("select2-results__option"), t.classList.add("select2-results__option--selectable");
|
||
var n, s = {role: "option"},
|
||
i = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;
|
||
for (n in (null != e.element && i.call(e.element, ":disabled") || null == e.element && e.disabled) && (s["aria-disabled"] = "true", t.classList.remove("select2-results__option--selectable"), t.classList.add("select2-results__option--disabled")), null == e.id && t.classList.remove("select2-results__option--selectable"), null != e._resultId && (t.id = e._resultId), e.title && (t.title = e.title), e.children && (s.role = "group", s["aria-label"] = e.text, t.classList.remove("select2-results__option--selectable"), t.classList.add("select2-results__option--group")), s) {
|
||
var r = s[n];
|
||
t.setAttribute(n, r)
|
||
}
|
||
if (e.children) {
|
||
var o = d(t), a = document.createElement("strong");
|
||
a.className = "select2-results__group", this.template(e, a);
|
||
for (var l = [], c = 0; c < e.children.length; c++) {
|
||
var u = e.children[c], u = this.option(u);
|
||
l.push(u)
|
||
}
|
||
i = d("<ul></ul>", {
|
||
class: "select2-results__options select2-results__options--nested",
|
||
role: "none"
|
||
});
|
||
i.append(l), o.append(a), o.append(i)
|
||
} else this.template(e, t);
|
||
return p.StoreData(t, "data", e), t
|
||
}, s.prototype.bind = function (t, e) {
|
||
var i = this, n = t.id + "-results";
|
||
this.$results.attr("id", n), t.on("results:all", function (e) {
|
||
i.clear(), i.append(e.data), t.isOpen() && (i.setClasses(), i.highlightFirstItem())
|
||
}), t.on("results:append", function (e) {
|
||
i.append(e.data), t.isOpen() && i.setClasses()
|
||
}), t.on("query", function (e) {
|
||
i.hideMessages(), i.showLoading(e)
|
||
}), t.on("select", function () {
|
||
t.isOpen() && (i.setClasses(), i.options.get("scrollAfterSelect") && i.highlightFirstItem())
|
||
}), t.on("unselect", function () {
|
||
t.isOpen() && (i.setClasses(), i.options.get("scrollAfterSelect") && i.highlightFirstItem())
|
||
}), t.on("open", function () {
|
||
i.$results.attr("aria-expanded", "true"), i.$results.attr("aria-hidden", "false"), i.setClasses(), i.ensureHighlightVisible()
|
||
}), t.on("close", function () {
|
||
i.$results.attr("aria-expanded", "false"), i.$results.attr("aria-hidden", "true"), i.$results.removeAttr("aria-activedescendant")
|
||
}), t.on("results:toggle", function () {
|
||
var e = i.getHighlightedResults();
|
||
0 !== e.length && e.trigger("mouseup")
|
||
}), t.on("results:select", function () {
|
||
var e, t = i.getHighlightedResults();
|
||
0 !== t.length && (e = p.GetData(t[0], "data"), t.hasClass("select2-results__option--selected") ? i.trigger("close", {}) : i.trigger("select", {data: e}))
|
||
}), t.on("results:previous", function () {
|
||
var e, t = i.getHighlightedResults(), n = i.$results.find(".select2-results__option--selectable"),
|
||
s = n.index(t);
|
||
s <= 0 || (e = s - 1, 0 === t.length && (e = 0), (s = n.eq(e)).trigger("mouseenter"), t = i.$results.offset().top, n = s.offset().top, s = i.$results.scrollTop() + (n - t), 0 === e ? i.$results.scrollTop(0) : n - t < 0 && i.$results.scrollTop(s))
|
||
}), t.on("results:next", function () {
|
||
var e, t = i.getHighlightedResults(), n = i.$results.find(".select2-results__option--selectable"),
|
||
s = n.index(t) + 1;
|
||
s >= n.length || ((e = n.eq(s)).trigger("mouseenter"), t = i.$results.offset().top + i.$results.outerHeight(!1), n = e.offset().top + e.outerHeight(!1), e = i.$results.scrollTop() + n - t, 0 === s ? i.$results.scrollTop(0) : t < n && i.$results.scrollTop(e))
|
||
}), t.on("results:focus", function (e) {
|
||
e.element[0].classList.add("select2-results__option--highlighted"), e.element[0].setAttribute("aria-selected", "true")
|
||
}), t.on("results:message", function (e) {
|
||
i.displayMessage(e)
|
||
}), d.fn.mousewheel && this.$results.on("mousewheel", function (e) {
|
||
var t = i.$results.scrollTop(), n = i.$results.get(0).scrollHeight - t + e.deltaY,
|
||
t = 0 < e.deltaY && t - e.deltaY <= 0, n = e.deltaY < 0 && n <= i.$results.height();
|
||
t ? (i.$results.scrollTop(0), e.preventDefault(), e.stopPropagation()) : n && (i.$results.scrollTop(i.$results.get(0).scrollHeight - i.$results.height()), e.preventDefault(), e.stopPropagation())
|
||
}), this.$results.on("mouseup", ".select2-results__option--selectable", function (e) {
|
||
var t = d(this), n = p.GetData(this, "data");
|
||
t.hasClass("select2-results__option--selected") ? i.options.get("multiple") ? i.trigger("unselect", {
|
||
originalEvent: e,
|
||
data: n
|
||
}) : i.trigger("close", {}) : i.trigger("select", {originalEvent: e, data: n})
|
||
}), this.$results.on("mouseenter", ".select2-results__option--selectable", function (e) {
|
||
var t = p.GetData(this, "data");
|
||
i.getHighlightedResults().removeClass("select2-results__option--highlighted").attr("aria-selected", "false"), i.trigger("results:focus", {
|
||
data: t,
|
||
element: d(this)
|
||
})
|
||
})
|
||
}, s.prototype.getHighlightedResults = function () {
|
||
return this.$results.find(".select2-results__option--highlighted")
|
||
}, s.prototype.destroy = function () {
|
||
this.$results.remove()
|
||
}, s.prototype.ensureHighlightVisible = function () {
|
||
var e, t, n, s, i = this.getHighlightedResults();
|
||
0 !== i.length && (e = this.$results.find(".select2-results__option--selectable").index(i), s = this.$results.offset().top, t = i.offset().top, n = this.$results.scrollTop() + (t - s), s = t - s, n -= 2 * i.outerHeight(!1), e <= 2 ? this.$results.scrollTop(0) : (s > this.$results.outerHeight() || s < 0) && this.$results.scrollTop(n))
|
||
}, s.prototype.template = function (e, t) {
|
||
var n = this.options.get("templateResult"), s = this.options.get("escapeMarkup"), e = n(e, t);
|
||
null == e ? t.style.display = "none" : "string" == typeof e ? t.innerHTML = s(e) : d(t).append(e)
|
||
}, s
|
||
}), u.define("select2/keys", [], function () {
|
||
return {
|
||
BACKSPACE: 8,
|
||
TAB: 9,
|
||
ENTER: 13,
|
||
SHIFT: 16,
|
||
CTRL: 17,
|
||
ALT: 18,
|
||
ESC: 27,
|
||
SPACE: 32,
|
||
PAGE_UP: 33,
|
||
PAGE_DOWN: 34,
|
||
END: 35,
|
||
HOME: 36,
|
||
LEFT: 37,
|
||
UP: 38,
|
||
RIGHT: 39,
|
||
DOWN: 40,
|
||
DELETE: 46
|
||
}
|
||
}), u.define("select2/selection/base", ["jquery", "../utils", "../keys"], function (n, s, i) {
|
||
function r(e, t) {
|
||
this.$element = e, this.options = t, r.__super__.constructor.call(this)
|
||
}
|
||
|
||
return s.Extend(r, s.Observable), r.prototype.render = function () {
|
||
var e = n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');
|
||
return this._tabindex = 0, null != s.GetData(this.$element[0], "old-tabindex") ? this._tabindex = s.GetData(this.$element[0], "old-tabindex") : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")), e.attr("title", this.$element.attr("title")), e.attr("tabindex", this._tabindex), e.attr("aria-disabled", "false"), this.$selection = e
|
||
}, r.prototype.bind = function (e, t) {
|
||
var n = this, s = e.id + "-results";
|
||
this.container = e, this.$selection.on("focus", function (e) {
|
||
n.trigger("focus", e)
|
||
}), this.$selection.on("blur", function (e) {
|
||
n._handleBlur(e)
|
||
}), this.$selection.on("keydown", function (e) {
|
||
n.trigger("keypress", e), e.which === i.SPACE && e.preventDefault()
|
||
}), e.on("results:focus", function (e) {
|
||
n.$selection.attr("aria-activedescendant", e.data._resultId)
|
||
}), e.on("selection:update", function (e) {
|
||
n.update(e.data)
|
||
}), e.on("open", function () {
|
||
n.$selection.attr("aria-expanded", "true"), n.$selection.attr("aria-owns", s), n._attachCloseHandler(e)
|
||
}), e.on("close", function () {
|
||
n.$selection.attr("aria-expanded", "false"), n.$selection.removeAttr("aria-activedescendant"), n.$selection.removeAttr("aria-owns"), n.$selection.trigger("focus"), n._detachCloseHandler(e)
|
||
}), e.on("enable", function () {
|
||
n.$selection.attr("tabindex", n._tabindex), n.$selection.attr("aria-disabled", "false")
|
||
}), e.on("disable", function () {
|
||
n.$selection.attr("tabindex", "-1"), n.$selection.attr("aria-disabled", "true")
|
||
})
|
||
}, r.prototype._handleBlur = function (e) {
|
||
var t = this;
|
||
window.setTimeout(function () {
|
||
document.activeElement == t.$selection[0] || n.contains(t.$selection[0], document.activeElement) || t.trigger("blur", e)
|
||
}, 1)
|
||
}, r.prototype._attachCloseHandler = function (e) {
|
||
n(document.body).on("mousedown.select2." + e.id, function (e) {
|
||
var t = n(e.target).closest(".select2");
|
||
n(".select2.select2-container--open").each(function () {
|
||
this != t[0] && s.GetData(this, "element").select2("close")
|
||
})
|
||
})
|
||
}, r.prototype._detachCloseHandler = function (e) {
|
||
n(document.body).off("mousedown.select2." + e.id)
|
||
}, r.prototype.position = function (e, t) {
|
||
t.find(".selection").append(e)
|
||
}, r.prototype.destroy = function () {
|
||
this._detachCloseHandler(this.container)
|
||
}, r.prototype.update = function (e) {
|
||
throw new Error("The `update` method must be defined in child classes.")
|
||
}, r.prototype.isEnabled = function () {
|
||
return !this.isDisabled()
|
||
}, r.prototype.isDisabled = function () {
|
||
return this.options.get("disabled")
|
||
}, r
|
||
}), u.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function (e, t, n, s) {
|
||
function i() {
|
||
i.__super__.constructor.apply(this, arguments)
|
||
}
|
||
|
||
return n.Extend(i, t), i.prototype.render = function () {
|
||
var e = i.__super__.render.call(this);
|
||
return e[0].classList.add("select2-selection--single"), e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'), e
|
||
}, i.prototype.bind = function (t, e) {
|
||
var n = this;
|
||
i.__super__.bind.apply(this, arguments);
|
||
var s = t.id + "-container";
|
||
this.$selection.find(".select2-selection__rendered").attr("id", s).attr("role", "textbox").attr("aria-readonly", "true"), this.$selection.attr("aria-labelledby", s), this.$selection.attr("aria-controls", s), this.$selection.on("mousedown", function (e) {
|
||
1 === e.which && n.trigger("toggle", {originalEvent: e})
|
||
}), this.$selection.on("focus", function (e) {
|
||
}), this.$selection.on("blur", function (e) {
|
||
}), t.on("focus", function (e) {
|
||
t.isOpen() || n.$selection.trigger("focus")
|
||
})
|
||
}, i.prototype.clear = function () {
|
||
var e = this.$selection.find(".select2-selection__rendered");
|
||
e.empty(), e.removeAttr("title")
|
||
}, i.prototype.display = function (e, t) {
|
||
var n = this.options.get("templateSelection");
|
||
return this.options.get("escapeMarkup")(n(e, t))
|
||
}, i.prototype.selectionContainer = function () {
|
||
return e("<span></span>")
|
||
}, i.prototype.update = function (e) {
|
||
var t, n;
|
||
0 !== e.length ? (n = e[0], t = this.$selection.find(".select2-selection__rendered"), e = this.display(n, t), t.empty().append(e), (n = n.title || n.text) ? t.attr("title", n) : t.removeAttr("title")) : this.clear()
|
||
}, i
|
||
}), u.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function (i, e, c) {
|
||
function r(e, t) {
|
||
r.__super__.constructor.apply(this, arguments)
|
||
}
|
||
|
||
return c.Extend(r, e), r.prototype.render = function () {
|
||
var e = r.__super__.render.call(this);
|
||
return e[0].classList.add("select2-selection--multiple"), e.html('<ul class="select2-selection__rendered"></ul>'), e
|
||
}, r.prototype.bind = function (e, t) {
|
||
var n = this;
|
||
r.__super__.bind.apply(this, arguments);
|
||
var s = e.id + "-container";
|
||
this.$selection.find(".select2-selection__rendered").attr("id", s), this.$selection.on("click", function (e) {
|
||
n.trigger("toggle", {originalEvent: e})
|
||
}), this.$selection.on("click", ".select2-selection__choice__remove", function (e) {
|
||
var t;
|
||
n.isDisabled() || (t = i(this).parent(), t = c.GetData(t[0], "data"), n.trigger("unselect", {
|
||
originalEvent: e,
|
||
data: t
|
||
}))
|
||
}), this.$selection.on("keydown", ".select2-selection__choice__remove", function (e) {
|
||
n.isDisabled() || e.stopPropagation()
|
||
})
|
||
}, r.prototype.clear = function () {
|
||
var e = this.$selection.find(".select2-selection__rendered");
|
||
e.empty(), e.removeAttr("title")
|
||
}, r.prototype.display = function (e, t) {
|
||
var n = this.options.get("templateSelection");
|
||
return this.options.get("escapeMarkup")(n(e, t))
|
||
}, r.prototype.selectionContainer = function () {
|
||
return i('<li class="select2-selection__choice"><button type="button" class="select2-selection__choice__remove" tabindex="-1"><span aria-hidden="true">×</span></button><span class="select2-selection__choice__display"></span></li>')
|
||
}, r.prototype.update = function (e) {
|
||
if (this.clear(), 0 !== e.length) {
|
||
for (var t = [], n = this.$selection.find(".select2-selection__rendered").attr("id") + "-choice-", s = 0; s < e.length; s++) {
|
||
var i = e[s], r = this.selectionContainer(), o = this.display(i, r),
|
||
a = n + c.generateChars(4) + "-";
|
||
i.id ? a += i.id : a += c.generateChars(4), r.find(".select2-selection__choice__display").append(o).attr("id", a);
|
||
var l = i.title || i.text;
|
||
l && r.attr("title", l);
|
||
o = this.options.get("translations").get("removeItem"), l = r.find(".select2-selection__choice__remove");
|
||
l.attr("title", o()), l.attr("aria-label", o()), l.attr("aria-describedby", a), c.StoreData(r[0], "data", i), t.push(r)
|
||
}
|
||
this.$selection.find(".select2-selection__rendered").append(t)
|
||
}
|
||
}, r
|
||
}), u.define("select2/selection/placeholder", [], function () {
|
||
function e(e, t, n) {
|
||
this.placeholder = this.normalizePlaceholder(n.get("placeholder")), e.call(this, t, n)
|
||
}
|
||
|
||
return e.prototype.normalizePlaceholder = function (e, t) {
|
||
return t = "string" == typeof t ? {id: "", text: t} : t
|
||
}, e.prototype.createPlaceholder = function (e, t) {
|
||
var n = this.selectionContainer();
|
||
n.html(this.display(t)), n[0].classList.add("select2-selection__placeholder"), n[0].classList.remove("select2-selection__choice");
|
||
t = t.title || t.text || n.text();
|
||
return this.$selection.find(".select2-selection__rendered").attr("title", t), n
|
||
}, e.prototype.update = function (e, t) {
|
||
var n = 1 == t.length && t[0].id != this.placeholder.id;
|
||
if (1 < t.length || n) return e.call(this, t);
|
||
this.clear();
|
||
t = this.createPlaceholder(this.placeholder);
|
||
this.$selection.find(".select2-selection__rendered").append(t)
|
||
}, e
|
||
}), u.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function (i, s, a) {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.bind = function (e, t, n) {
|
||
var s = this;
|
||
e.call(this, t, n), null == this.placeholder && this.options.get("debug") && window.console && console.error && console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."), this.$selection.on("mousedown", ".select2-selection__clear", function (e) {
|
||
s._handleClear(e)
|
||
}), t.on("keypress", function (e) {
|
||
s._handleKeyboardClear(e, t)
|
||
})
|
||
}, e.prototype._handleClear = function (e, t) {
|
||
if (!this.isDisabled()) {
|
||
var n = this.$selection.find(".select2-selection__clear");
|
||
if (0 !== n.length) {
|
||
t.stopPropagation();
|
||
var s = a.GetData(n[0], "data"), i = this.$element.val();
|
||
this.$element.val(this.placeholder.id);
|
||
var r = {data: s};
|
||
if (this.trigger("clear", r), r.prevented) this.$element.val(i); else {
|
||
for (var o = 0; o < s.length; o++) if (r = {data: s[o]}, this.trigger("unselect", r), r.prevented) return void this.$element.val(i);
|
||
this.$element.trigger("input").trigger("change"), this.trigger("toggle", {})
|
||
}
|
||
}
|
||
}
|
||
}, e.prototype._handleKeyboardClear = function (e, t, n) {
|
||
n.isOpen() || t.which != s.DELETE && t.which != s.BACKSPACE || this._handleClear(t)
|
||
}, e.prototype.update = function (e, t) {
|
||
var n, s;
|
||
e.call(this, t), this.$selection.find(".select2-selection__clear").remove(), this.$selection[0].classList.remove("select2-selection--clearable"), 0 < this.$selection.find(".select2-selection__placeholder").length || 0 === t.length || (n = this.$selection.find(".select2-selection__rendered").attr("id"), s = this.options.get("translations").get("removeAllItems"), (e = i('<button type="button" class="select2-selection__clear" tabindex="-1"><span aria-hidden="true">×</span></button>')).attr("title", s()), e.attr("aria-label", s()), e.attr("aria-describedby", n), a.StoreData(e[0], "data", t), this.$selection.prepend(e), this.$selection[0].classList.add("select2-selection--clearable"))
|
||
}, e
|
||
}), u.define("select2/selection/search", ["jquery", "../utils", "../keys"], function (s, a, l) {
|
||
function e(e, t, n) {
|
||
e.call(this, t, n)
|
||
}
|
||
|
||
return e.prototype.render = function (e) {
|
||
var t = this.options.get("translations").get("search"),
|
||
n = s('<span class="select2-search select2-search--inline"><textarea class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" ></textarea></span>');
|
||
this.$searchContainer = n, this.$search = n.find("textarea"), this.$search.prop("autocomplete", this.options.get("autocomplete")), this.$search.attr("aria-label", t());
|
||
e = e.call(this);
|
||
return this._transferTabIndex(), e.append(this.$searchContainer), e
|
||
}, e.prototype.bind = function (e, t, n) {
|
||
var s = this, i = t.id + "-results", r = t.id + "-container";
|
||
e.call(this, t, n), s.$search.attr("aria-describedby", r), t.on("open", function () {
|
||
s.$search.attr("aria-controls", i), s.$search.trigger("focus")
|
||
}), t.on("close", function () {
|
||
s.$search.val(""), s.resizeSearch(), s.$search.removeAttr("aria-controls"), s.$search.removeAttr("aria-activedescendant"), s.$search.trigger("focus")
|
||
}), t.on("enable", function () {
|
||
s.$search.prop("disabled", !1), s._transferTabIndex()
|
||
}), t.on("disable", function () {
|
||
s.$search.prop("disabled", !0)
|
||
}), t.on("focus", function (e) {
|
||
s.$search.trigger("focus")
|
||
}), t.on("results:focus", function (e) {
|
||
e.data._resultId ? s.$search.attr("aria-activedescendant", e.data._resultId) : s.$search.removeAttr("aria-activedescendant")
|
||
}), this.$selection.on("focusin", ".select2-search--inline", function (e) {
|
||
s.trigger("focus", e)
|
||
}), this.$selection.on("focusout", ".select2-search--inline", function (e) {
|
||
s._handleBlur(e)
|
||
}), this.$selection.on("keydown", ".select2-search--inline", function (e) {
|
||
var t;
|
||
e.stopPropagation(), s.trigger("keypress", e), s._keyUpPrevented = e.isDefaultPrevented(), e.which !== l.BACKSPACE || "" !== s.$search.val() || 0 < (t = s.$selection.find(".select2-selection__choice").last()).length && (t = a.GetData(t[0], "data"), s.searchRemoveChoice(t), e.preventDefault())
|
||
}), this.$selection.on("click", ".select2-search--inline", function (e) {
|
||
s.$search.val() && e.stopPropagation()
|
||
});
|
||
var t = document.documentMode, o = t && t <= 11;
|
||
this.$selection.on("input.searchcheck", ".select2-search--inline", function (e) {
|
||
o ? s.$selection.off("input.search input.searchcheck") : s.$selection.off("keyup.search")
|
||
}), this.$selection.on("keyup.search input.search", ".select2-search--inline", function (e) {
|
||
var t;
|
||
o && "input" === e.type ? s.$selection.off("input.search input.searchcheck") : (t = e.which) != l.SHIFT && t != l.CTRL && t != l.ALT && t != l.TAB && s.handleSearch(e)
|
||
})
|
||
}, e.prototype._transferTabIndex = function (e) {
|
||
this.$search.attr("tabindex", this.$selection.attr("tabindex")), this.$selection.attr("tabindex", "-1")
|
||
}, e.prototype.createPlaceholder = function (e, t) {
|
||
this.$search.attr("placeholder", t.text)
|
||
}, e.prototype.update = function (e, t) {
|
||
var n = this.$search[0] == document.activeElement;
|
||
this.$search.attr("placeholder", ""), e.call(this, t), this.resizeSearch(), n && this.$search.trigger("focus")
|
||
}, e.prototype.handleSearch = function () {
|
||
var e;
|
||
this.resizeSearch(), this._keyUpPrevented || (e = this.$search.val(), this.trigger("query", {term: e})), this._keyUpPrevented = !1
|
||
}, e.prototype.searchRemoveChoice = function (e, t) {
|
||
this.trigger("unselect", {data: t}), this.$search.val(t.text), this.handleSearch()
|
||
}, e.prototype.resizeSearch = function () {
|
||
this.$search.css("width", "25px");
|
||
var e = "100%";
|
||
"" === this.$search.attr("placeholder") && (e = .75 * (this.$search.val().length + 1) + "em"), this.$search.css("width", e)
|
||
}, e
|
||
}), u.define("select2/selection/selectionCss", ["../utils"], function (n) {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.render = function (e) {
|
||
var t = e.call(this), e = this.options.get("selectionCssClass") || "";
|
||
return -1 !== e.indexOf(":all:") && (e = e.replace(":all:", ""), n.copyNonInternalCssClasses(t[0], this.$element[0])), t.addClass(e), t
|
||
}, e
|
||
}), u.define("select2/selection/eventRelay", ["jquery"], function (o) {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.bind = function (e, t, n) {
|
||
var s = this,
|
||
i = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"],
|
||
r = ["opening", "closing", "selecting", "unselecting", "clearing"];
|
||
e.call(this, t, n), t.on("*", function (e, t) {
|
||
var n;
|
||
-1 !== i.indexOf(e) && (t = t || {}, n = o.Event("select2:" + e, {params: t}), s.$element.trigger(n), -1 !== r.indexOf(e) && (t.prevented = n.isDefaultPrevented()))
|
||
})
|
||
}, e
|
||
}), u.define("select2/translation", ["jquery", "require"], function (t, n) {
|
||
function s(e) {
|
||
this.dict = e || {}
|
||
}
|
||
|
||
return s.prototype.all = function () {
|
||
return this.dict
|
||
}, s.prototype.get = function (e) {
|
||
return this.dict[e]
|
||
}, s.prototype.extend = function (e) {
|
||
this.dict = t.extend({}, e.all(), this.dict)
|
||
}, s._cache = {}, s.loadPath = function (e) {
|
||
var t;
|
||
return e in s._cache || (t = n(e), s._cache[e] = t), new s(s._cache[e])
|
||
}, s
|
||
}), u.define("select2/diacritics", [], function () {
|
||
return {
|
||
"Ⓐ": "A",
|
||
"A": "A",
|
||
"À": "A",
|
||
"Á": "A",
|
||
"Â": "A",
|
||
"Ầ": "A",
|
||
"Ấ": "A",
|
||
"Ẫ": "A",
|
||
"Ẩ": "A",
|
||
"Ã": "A",
|
||
"Ā": "A",
|
||
"Ă": "A",
|
||
"Ằ": "A",
|
||
"Ắ": "A",
|
||
"Ẵ": "A",
|
||
"Ẳ": "A",
|
||
"Ȧ": "A",
|
||
"Ǡ": "A",
|
||
"Ä": "A",
|
||
"Ǟ": "A",
|
||
"Ả": "A",
|
||
"Å": "A",
|
||
"Ǻ": "A",
|
||
"Ǎ": "A",
|
||
"Ȁ": "A",
|
||
"Ȃ": "A",
|
||
"Ạ": "A",
|
||
"Ậ": "A",
|
||
"Ặ": "A",
|
||
"Ḁ": "A",
|
||
"Ą": "A",
|
||
"Ⱥ": "A",
|
||
"Ɐ": "A",
|
||
"Ꜳ": "AA",
|
||
"Æ": "AE",
|
||
"Ǽ": "AE",
|
||
"Ǣ": "AE",
|
||
"Ꜵ": "AO",
|
||
"Ꜷ": "AU",
|
||
"Ꜹ": "AV",
|
||
"Ꜻ": "AV",
|
||
"Ꜽ": "AY",
|
||
"Ⓑ": "B",
|
||
"B": "B",
|
||
"Ḃ": "B",
|
||
"Ḅ": "B",
|
||
"Ḇ": "B",
|
||
"Ƀ": "B",
|
||
"Ƃ": "B",
|
||
"Ɓ": "B",
|
||
"Ⓒ": "C",
|
||
"C": "C",
|
||
"Ć": "C",
|
||
"Ĉ": "C",
|
||
"Ċ": "C",
|
||
"Č": "C",
|
||
"Ç": "C",
|
||
"Ḉ": "C",
|
||
"Ƈ": "C",
|
||
"Ȼ": "C",
|
||
"Ꜿ": "C",
|
||
"Ⓓ": "D",
|
||
"D": "D",
|
||
"Ḋ": "D",
|
||
"Ď": "D",
|
||
"Ḍ": "D",
|
||
"Ḑ": "D",
|
||
"Ḓ": "D",
|
||
"Ḏ": "D",
|
||
"Đ": "D",
|
||
"Ƌ": "D",
|
||
"Ɗ": "D",
|
||
"Ɖ": "D",
|
||
"Ꝺ": "D",
|
||
"DZ": "DZ",
|
||
"DŽ": "DZ",
|
||
"Dz": "Dz",
|
||
"Dž": "Dz",
|
||
"Ⓔ": "E",
|
||
"E": "E",
|
||
"È": "E",
|
||
"É": "E",
|
||
"Ê": "E",
|
||
"Ề": "E",
|
||
"Ế": "E",
|
||
"Ễ": "E",
|
||
"Ể": "E",
|
||
"Ẽ": "E",
|
||
"Ē": "E",
|
||
"Ḕ": "E",
|
||
"Ḗ": "E",
|
||
"Ĕ": "E",
|
||
"Ė": "E",
|
||
"Ë": "E",
|
||
"Ẻ": "E",
|
||
"Ě": "E",
|
||
"Ȅ": "E",
|
||
"Ȇ": "E",
|
||
"Ẹ": "E",
|
||
"Ệ": "E",
|
||
"Ȩ": "E",
|
||
"Ḝ": "E",
|
||
"Ę": "E",
|
||
"Ḙ": "E",
|
||
"Ḛ": "E",
|
||
"Ɛ": "E",
|
||
"Ǝ": "E",
|
||
"Ⓕ": "F",
|
||
"F": "F",
|
||
"Ḟ": "F",
|
||
"Ƒ": "F",
|
||
"Ꝼ": "F",
|
||
"Ⓖ": "G",
|
||
"G": "G",
|
||
"Ǵ": "G",
|
||
"Ĝ": "G",
|
||
"Ḡ": "G",
|
||
"Ğ": "G",
|
||
"Ġ": "G",
|
||
"Ǧ": "G",
|
||
"Ģ": "G",
|
||
"Ǥ": "G",
|
||
"Ɠ": "G",
|
||
"Ꞡ": "G",
|
||
"Ᵹ": "G",
|
||
"Ꝿ": "G",
|
||
"Ⓗ": "H",
|
||
"H": "H",
|
||
"Ĥ": "H",
|
||
"Ḣ": "H",
|
||
"Ḧ": "H",
|
||
"Ȟ": "H",
|
||
"Ḥ": "H",
|
||
"Ḩ": "H",
|
||
"Ḫ": "H",
|
||
"Ħ": "H",
|
||
"Ⱨ": "H",
|
||
"Ⱶ": "H",
|
||
"Ɥ": "H",
|
||
"Ⓘ": "I",
|
||
"I": "I",
|
||
"Ì": "I",
|
||
"Í": "I",
|
||
"Î": "I",
|
||
"Ĩ": "I",
|
||
"Ī": "I",
|
||
"Ĭ": "I",
|
||
"İ": "I",
|
||
"Ï": "I",
|
||
"Ḯ": "I",
|
||
"Ỉ": "I",
|
||
"Ǐ": "I",
|
||
"Ȉ": "I",
|
||
"Ȋ": "I",
|
||
"Ị": "I",
|
||
"Į": "I",
|
||
"Ḭ": "I",
|
||
"Ɨ": "I",
|
||
"Ⓙ": "J",
|
||
"J": "J",
|
||
"Ĵ": "J",
|
||
"Ɉ": "J",
|
||
"Ⓚ": "K",
|
||
"K": "K",
|
||
"Ḱ": "K",
|
||
"Ǩ": "K",
|
||
"Ḳ": "K",
|
||
"Ķ": "K",
|
||
"Ḵ": "K",
|
||
"Ƙ": "K",
|
||
"Ⱪ": "K",
|
||
"Ꝁ": "K",
|
||
"Ꝃ": "K",
|
||
"Ꝅ": "K",
|
||
"Ꞣ": "K",
|
||
"Ⓛ": "L",
|
||
"L": "L",
|
||
"Ŀ": "L",
|
||
"Ĺ": "L",
|
||
"Ľ": "L",
|
||
"Ḷ": "L",
|
||
"Ḹ": "L",
|
||
"Ļ": "L",
|
||
"Ḽ": "L",
|
||
"Ḻ": "L",
|
||
"Ł": "L",
|
||
"Ƚ": "L",
|
||
"Ɫ": "L",
|
||
"Ⱡ": "L",
|
||
"Ꝉ": "L",
|
||
"Ꝇ": "L",
|
||
"Ꞁ": "L",
|
||
"LJ": "LJ",
|
||
"Lj": "Lj",
|
||
"Ⓜ": "M",
|
||
"M": "M",
|
||
"Ḿ": "M",
|
||
"Ṁ": "M",
|
||
"Ṃ": "M",
|
||
"Ɱ": "M",
|
||
"Ɯ": "M",
|
||
"Ⓝ": "N",
|
||
"N": "N",
|
||
"Ǹ": "N",
|
||
"Ń": "N",
|
||
"Ñ": "N",
|
||
"Ṅ": "N",
|
||
"Ň": "N",
|
||
"Ṇ": "N",
|
||
"Ņ": "N",
|
||
"Ṋ": "N",
|
||
"Ṉ": "N",
|
||
"Ƞ": "N",
|
||
"Ɲ": "N",
|
||
"Ꞑ": "N",
|
||
"Ꞥ": "N",
|
||
"NJ": "NJ",
|
||
"Nj": "Nj",
|
||
"Ⓞ": "O",
|
||
"O": "O",
|
||
"Ò": "O",
|
||
"Ó": "O",
|
||
"Ô": "O",
|
||
"Ồ": "O",
|
||
"Ố": "O",
|
||
"Ỗ": "O",
|
||
"Ổ": "O",
|
||
"Õ": "O",
|
||
"Ṍ": "O",
|
||
"Ȭ": "O",
|
||
"Ṏ": "O",
|
||
"Ō": "O",
|
||
"Ṑ": "O",
|
||
"Ṓ": "O",
|
||
"Ŏ": "O",
|
||
"Ȯ": "O",
|
||
"Ȱ": "O",
|
||
"Ö": "O",
|
||
"Ȫ": "O",
|
||
"Ỏ": "O",
|
||
"Ő": "O",
|
||
"Ǒ": "O",
|
||
"Ȍ": "O",
|
||
"Ȏ": "O",
|
||
"Ơ": "O",
|
||
"Ờ": "O",
|
||
"Ớ": "O",
|
||
"Ỡ": "O",
|
||
"Ở": "O",
|
||
"Ợ": "O",
|
||
"Ọ": "O",
|
||
"Ộ": "O",
|
||
"Ǫ": "O",
|
||
"Ǭ": "O",
|
||
"Ø": "O",
|
||
"Ǿ": "O",
|
||
"Ɔ": "O",
|
||
"Ɵ": "O",
|
||
"Ꝋ": "O",
|
||
"Ꝍ": "O",
|
||
"Œ": "OE",
|
||
"Ƣ": "OI",
|
||
"Ꝏ": "OO",
|
||
"Ȣ": "OU",
|
||
"Ⓟ": "P",
|
||
"P": "P",
|
||
"Ṕ": "P",
|
||
"Ṗ": "P",
|
||
"Ƥ": "P",
|
||
"Ᵽ": "P",
|
||
"Ꝑ": "P",
|
||
"Ꝓ": "P",
|
||
"Ꝕ": "P",
|
||
"Ⓠ": "Q",
|
||
"Q": "Q",
|
||
"Ꝗ": "Q",
|
||
"Ꝙ": "Q",
|
||
"Ɋ": "Q",
|
||
"Ⓡ": "R",
|
||
"R": "R",
|
||
"Ŕ": "R",
|
||
"Ṙ": "R",
|
||
"Ř": "R",
|
||
"Ȑ": "R",
|
||
"Ȓ": "R",
|
||
"Ṛ": "R",
|
||
"Ṝ": "R",
|
||
"Ŗ": "R",
|
||
"Ṟ": "R",
|
||
"Ɍ": "R",
|
||
"Ɽ": "R",
|
||
"Ꝛ": "R",
|
||
"Ꞧ": "R",
|
||
"Ꞃ": "R",
|
||
"Ⓢ": "S",
|
||
"S": "S",
|
||
"ẞ": "S",
|
||
"Ś": "S",
|
||
"Ṥ": "S",
|
||
"Ŝ": "S",
|
||
"Ṡ": "S",
|
||
"Š": "S",
|
||
"Ṧ": "S",
|
||
"Ṣ": "S",
|
||
"Ṩ": "S",
|
||
"Ș": "S",
|
||
"Ş": "S",
|
||
"Ȿ": "S",
|
||
"Ꞩ": "S",
|
||
"Ꞅ": "S",
|
||
"Ⓣ": "T",
|
||
"T": "T",
|
||
"Ṫ": "T",
|
||
"Ť": "T",
|
||
"Ṭ": "T",
|
||
"Ț": "T",
|
||
"Ţ": "T",
|
||
"Ṱ": "T",
|
||
"Ṯ": "T",
|
||
"Ŧ": "T",
|
||
"Ƭ": "T",
|
||
"Ʈ": "T",
|
||
"Ⱦ": "T",
|
||
"Ꞇ": "T",
|
||
"Ꜩ": "TZ",
|
||
"Ⓤ": "U",
|
||
"U": "U",
|
||
"Ù": "U",
|
||
"Ú": "U",
|
||
"Û": "U",
|
||
"Ũ": "U",
|
||
"Ṹ": "U",
|
||
"Ū": "U",
|
||
"Ṻ": "U",
|
||
"Ŭ": "U",
|
||
"Ü": "U",
|
||
"Ǜ": "U",
|
||
"Ǘ": "U",
|
||
"Ǖ": "U",
|
||
"Ǚ": "U",
|
||
"Ủ": "U",
|
||
"Ů": "U",
|
||
"Ű": "U",
|
||
"Ǔ": "U",
|
||
"Ȕ": "U",
|
||
"Ȗ": "U",
|
||
"Ư": "U",
|
||
"Ừ": "U",
|
||
"Ứ": "U",
|
||
"Ữ": "U",
|
||
"Ử": "U",
|
||
"Ự": "U",
|
||
"Ụ": "U",
|
||
"Ṳ": "U",
|
||
"Ų": "U",
|
||
"Ṷ": "U",
|
||
"Ṵ": "U",
|
||
"Ʉ": "U",
|
||
"Ⓥ": "V",
|
||
"V": "V",
|
||
"Ṽ": "V",
|
||
"Ṿ": "V",
|
||
"Ʋ": "V",
|
||
"Ꝟ": "V",
|
||
"Ʌ": "V",
|
||
"Ꝡ": "VY",
|
||
"Ⓦ": "W",
|
||
"W": "W",
|
||
"Ẁ": "W",
|
||
"Ẃ": "W",
|
||
"Ŵ": "W",
|
||
"Ẇ": "W",
|
||
"Ẅ": "W",
|
||
"Ẉ": "W",
|
||
"Ⱳ": "W",
|
||
"Ⓧ": "X",
|
||
"X": "X",
|
||
"Ẋ": "X",
|
||
"Ẍ": "X",
|
||
"Ⓨ": "Y",
|
||
"Y": "Y",
|
||
"Ỳ": "Y",
|
||
"Ý": "Y",
|
||
"Ŷ": "Y",
|
||
"Ỹ": "Y",
|
||
"Ȳ": "Y",
|
||
"Ẏ": "Y",
|
||
"Ÿ": "Y",
|
||
"Ỷ": "Y",
|
||
"Ỵ": "Y",
|
||
"Ƴ": "Y",
|
||
"Ɏ": "Y",
|
||
"Ỿ": "Y",
|
||
"Ⓩ": "Z",
|
||
"Z": "Z",
|
||
"Ź": "Z",
|
||
"Ẑ": "Z",
|
||
"Ż": "Z",
|
||
"Ž": "Z",
|
||
"Ẓ": "Z",
|
||
"Ẕ": "Z",
|
||
"Ƶ": "Z",
|
||
"Ȥ": "Z",
|
||
"Ɀ": "Z",
|
||
"Ⱬ": "Z",
|
||
"Ꝣ": "Z",
|
||
"ⓐ": "a",
|
||
"a": "a",
|
||
"ẚ": "a",
|
||
"à": "a",
|
||
"á": "a",
|
||
"â": "a",
|
||
"ầ": "a",
|
||
"ấ": "a",
|
||
"ẫ": "a",
|
||
"ẩ": "a",
|
||
"ã": "a",
|
||
"ā": "a",
|
||
"ă": "a",
|
||
"ằ": "a",
|
||
"ắ": "a",
|
||
"ẵ": "a",
|
||
"ẳ": "a",
|
||
"ȧ": "a",
|
||
"ǡ": "a",
|
||
"ä": "a",
|
||
"ǟ": "a",
|
||
"ả": "a",
|
||
"å": "a",
|
||
"ǻ": "a",
|
||
"ǎ": "a",
|
||
"ȁ": "a",
|
||
"ȃ": "a",
|
||
"ạ": "a",
|
||
"ậ": "a",
|
||
"ặ": "a",
|
||
"ḁ": "a",
|
||
"ą": "a",
|
||
"ⱥ": "a",
|
||
"ɐ": "a",
|
||
"ꜳ": "aa",
|
||
"æ": "ae",
|
||
"ǽ": "ae",
|
||
"ǣ": "ae",
|
||
"ꜵ": "ao",
|
||
"ꜷ": "au",
|
||
"ꜹ": "av",
|
||
"ꜻ": "av",
|
||
"ꜽ": "ay",
|
||
"ⓑ": "b",
|
||
"b": "b",
|
||
"ḃ": "b",
|
||
"ḅ": "b",
|
||
"ḇ": "b",
|
||
"ƀ": "b",
|
||
"ƃ": "b",
|
||
"ɓ": "b",
|
||
"ⓒ": "c",
|
||
"c": "c",
|
||
"ć": "c",
|
||
"ĉ": "c",
|
||
"ċ": "c",
|
||
"č": "c",
|
||
"ç": "c",
|
||
"ḉ": "c",
|
||
"ƈ": "c",
|
||
"ȼ": "c",
|
||
"ꜿ": "c",
|
||
"ↄ": "c",
|
||
"ⓓ": "d",
|
||
"d": "d",
|
||
"ḋ": "d",
|
||
"ď": "d",
|
||
"ḍ": "d",
|
||
"ḑ": "d",
|
||
"ḓ": "d",
|
||
"ḏ": "d",
|
||
"đ": "d",
|
||
"ƌ": "d",
|
||
"ɖ": "d",
|
||
"ɗ": "d",
|
||
"ꝺ": "d",
|
||
"dz": "dz",
|
||
"dž": "dz",
|
||
"ⓔ": "e",
|
||
"e": "e",
|
||
"è": "e",
|
||
"é": "e",
|
||
"ê": "e",
|
||
"ề": "e",
|
||
"ế": "e",
|
||
"ễ": "e",
|
||
"ể": "e",
|
||
"ẽ": "e",
|
||
"ē": "e",
|
||
"ḕ": "e",
|
||
"ḗ": "e",
|
||
"ĕ": "e",
|
||
"ė": "e",
|
||
"ë": "e",
|
||
"ẻ": "e",
|
||
"ě": "e",
|
||
"ȅ": "e",
|
||
"ȇ": "e",
|
||
"ẹ": "e",
|
||
"ệ": "e",
|
||
"ȩ": "e",
|
||
"ḝ": "e",
|
||
"ę": "e",
|
||
"ḙ": "e",
|
||
"ḛ": "e",
|
||
"ɇ": "e",
|
||
"ɛ": "e",
|
||
"ǝ": "e",
|
||
"ⓕ": "f",
|
||
"f": "f",
|
||
"ḟ": "f",
|
||
"ƒ": "f",
|
||
"ꝼ": "f",
|
||
"ⓖ": "g",
|
||
"g": "g",
|
||
"ǵ": "g",
|
||
"ĝ": "g",
|
||
"ḡ": "g",
|
||
"ğ": "g",
|
||
"ġ": "g",
|
||
"ǧ": "g",
|
||
"ģ": "g",
|
||
"ǥ": "g",
|
||
"ɠ": "g",
|
||
"ꞡ": "g",
|
||
"ᵹ": "g",
|
||
"ꝿ": "g",
|
||
"ⓗ": "h",
|
||
"h": "h",
|
||
"ĥ": "h",
|
||
"ḣ": "h",
|
||
"ḧ": "h",
|
||
"ȟ": "h",
|
||
"ḥ": "h",
|
||
"ḩ": "h",
|
||
"ḫ": "h",
|
||
"ẖ": "h",
|
||
"ħ": "h",
|
||
"ⱨ": "h",
|
||
"ⱶ": "h",
|
||
"ɥ": "h",
|
||
"ƕ": "hv",
|
||
"ⓘ": "i",
|
||
"i": "i",
|
||
"ì": "i",
|
||
"í": "i",
|
||
"î": "i",
|
||
"ĩ": "i",
|
||
"ī": "i",
|
||
"ĭ": "i",
|
||
"ï": "i",
|
||
"ḯ": "i",
|
||
"ỉ": "i",
|
||
"ǐ": "i",
|
||
"ȉ": "i",
|
||
"ȋ": "i",
|
||
"ị": "i",
|
||
"į": "i",
|
||
"ḭ": "i",
|
||
"ɨ": "i",
|
||
"ı": "i",
|
||
"ⓙ": "j",
|
||
"j": "j",
|
||
"ĵ": "j",
|
||
"ǰ": "j",
|
||
"ɉ": "j",
|
||
"ⓚ": "k",
|
||
"k": "k",
|
||
"ḱ": "k",
|
||
"ǩ": "k",
|
||
"ḳ": "k",
|
||
"ķ": "k",
|
||
"ḵ": "k",
|
||
"ƙ": "k",
|
||
"ⱪ": "k",
|
||
"ꝁ": "k",
|
||
"ꝃ": "k",
|
||
"ꝅ": "k",
|
||
"ꞣ": "k",
|
||
"ⓛ": "l",
|
||
"l": "l",
|
||
"ŀ": "l",
|
||
"ĺ": "l",
|
||
"ľ": "l",
|
||
"ḷ": "l",
|
||
"ḹ": "l",
|
||
"ļ": "l",
|
||
"ḽ": "l",
|
||
"ḻ": "l",
|
||
"ſ": "l",
|
||
"ł": "l",
|
||
"ƚ": "l",
|
||
"ɫ": "l",
|
||
"ⱡ": "l",
|
||
"ꝉ": "l",
|
||
"ꞁ": "l",
|
||
"ꝇ": "l",
|
||
"lj": "lj",
|
||
"ⓜ": "m",
|
||
"m": "m",
|
||
"ḿ": "m",
|
||
"ṁ": "m",
|
||
"ṃ": "m",
|
||
"ɱ": "m",
|
||
"ɯ": "m",
|
||
"ⓝ": "n",
|
||
"n": "n",
|
||
"ǹ": "n",
|
||
"ń": "n",
|
||
"ñ": "n",
|
||
"ṅ": "n",
|
||
"ň": "n",
|
||
"ṇ": "n",
|
||
"ņ": "n",
|
||
"ṋ": "n",
|
||
"ṉ": "n",
|
||
"ƞ": "n",
|
||
"ɲ": "n",
|
||
"ʼn": "n",
|
||
"ꞑ": "n",
|
||
"ꞥ": "n",
|
||
"nj": "nj",
|
||
"ⓞ": "o",
|
||
"o": "o",
|
||
"ò": "o",
|
||
"ó": "o",
|
||
"ô": "o",
|
||
"ồ": "o",
|
||
"ố": "o",
|
||
"ỗ": "o",
|
||
"ổ": "o",
|
||
"õ": "o",
|
||
"ṍ": "o",
|
||
"ȭ": "o",
|
||
"ṏ": "o",
|
||
"ō": "o",
|
||
"ṑ": "o",
|
||
"ṓ": "o",
|
||
"ŏ": "o",
|
||
"ȯ": "o",
|
||
"ȱ": "o",
|
||
"ö": "o",
|
||
"ȫ": "o",
|
||
"ỏ": "o",
|
||
"ő": "o",
|
||
"ǒ": "o",
|
||
"ȍ": "o",
|
||
"ȏ": "o",
|
||
"ơ": "o",
|
||
"ờ": "o",
|
||
"ớ": "o",
|
||
"ỡ": "o",
|
||
"ở": "o",
|
||
"ợ": "o",
|
||
"ọ": "o",
|
||
"ộ": "o",
|
||
"ǫ": "o",
|
||
"ǭ": "o",
|
||
"ø": "o",
|
||
"ǿ": "o",
|
||
"ɔ": "o",
|
||
"ꝋ": "o",
|
||
"ꝍ": "o",
|
||
"ɵ": "o",
|
||
"œ": "oe",
|
||
"ƣ": "oi",
|
||
"ȣ": "ou",
|
||
"ꝏ": "oo",
|
||
"ⓟ": "p",
|
||
"p": "p",
|
||
"ṕ": "p",
|
||
"ṗ": "p",
|
||
"ƥ": "p",
|
||
"ᵽ": "p",
|
||
"ꝑ": "p",
|
||
"ꝓ": "p",
|
||
"ꝕ": "p",
|
||
"ⓠ": "q",
|
||
"q": "q",
|
||
"ɋ": "q",
|
||
"ꝗ": "q",
|
||
"ꝙ": "q",
|
||
"ⓡ": "r",
|
||
"r": "r",
|
||
"ŕ": "r",
|
||
"ṙ": "r",
|
||
"ř": "r",
|
||
"ȑ": "r",
|
||
"ȓ": "r",
|
||
"ṛ": "r",
|
||
"ṝ": "r",
|
||
"ŗ": "r",
|
||
"ṟ": "r",
|
||
"ɍ": "r",
|
||
"ɽ": "r",
|
||
"ꝛ": "r",
|
||
"ꞧ": "r",
|
||
"ꞃ": "r",
|
||
"ⓢ": "s",
|
||
"s": "s",
|
||
"ß": "s",
|
||
"ś": "s",
|
||
"ṥ": "s",
|
||
"ŝ": "s",
|
||
"ṡ": "s",
|
||
"š": "s",
|
||
"ṧ": "s",
|
||
"ṣ": "s",
|
||
"ṩ": "s",
|
||
"ș": "s",
|
||
"ş": "s",
|
||
"ȿ": "s",
|
||
"ꞩ": "s",
|
||
"ꞅ": "s",
|
||
"ẛ": "s",
|
||
"ⓣ": "t",
|
||
"t": "t",
|
||
"ṫ": "t",
|
||
"ẗ": "t",
|
||
"ť": "t",
|
||
"ṭ": "t",
|
||
"ț": "t",
|
||
"ţ": "t",
|
||
"ṱ": "t",
|
||
"ṯ": "t",
|
||
"ŧ": "t",
|
||
"ƭ": "t",
|
||
"ʈ": "t",
|
||
"ⱦ": "t",
|
||
"ꞇ": "t",
|
||
"ꜩ": "tz",
|
||
"ⓤ": "u",
|
||
"u": "u",
|
||
"ù": "u",
|
||
"ú": "u",
|
||
"û": "u",
|
||
"ũ": "u",
|
||
"ṹ": "u",
|
||
"ū": "u",
|
||
"ṻ": "u",
|
||
"ŭ": "u",
|
||
"ü": "u",
|
||
"ǜ": "u",
|
||
"ǘ": "u",
|
||
"ǖ": "u",
|
||
"ǚ": "u",
|
||
"ủ": "u",
|
||
"ů": "u",
|
||
"ű": "u",
|
||
"ǔ": "u",
|
||
"ȕ": "u",
|
||
"ȗ": "u",
|
||
"ư": "u",
|
||
"ừ": "u",
|
||
"ứ": "u",
|
||
"ữ": "u",
|
||
"ử": "u",
|
||
"ự": "u",
|
||
"ụ": "u",
|
||
"ṳ": "u",
|
||
"ų": "u",
|
||
"ṷ": "u",
|
||
"ṵ": "u",
|
||
"ʉ": "u",
|
||
"ⓥ": "v",
|
||
"v": "v",
|
||
"ṽ": "v",
|
||
"ṿ": "v",
|
||
"ʋ": "v",
|
||
"ꝟ": "v",
|
||
"ʌ": "v",
|
||
"ꝡ": "vy",
|
||
"ⓦ": "w",
|
||
"w": "w",
|
||
"ẁ": "w",
|
||
"ẃ": "w",
|
||
"ŵ": "w",
|
||
"ẇ": "w",
|
||
"ẅ": "w",
|
||
"ẘ": "w",
|
||
"ẉ": "w",
|
||
"ⱳ": "w",
|
||
"ⓧ": "x",
|
||
"x": "x",
|
||
"ẋ": "x",
|
||
"ẍ": "x",
|
||
"ⓨ": "y",
|
||
"y": "y",
|
||
"ỳ": "y",
|
||
"ý": "y",
|
||
"ŷ": "y",
|
||
"ỹ": "y",
|
||
"ȳ": "y",
|
||
"ẏ": "y",
|
||
"ÿ": "y",
|
||
"ỷ": "y",
|
||
"ẙ": "y",
|
||
"ỵ": "y",
|
||
"ƴ": "y",
|
||
"ɏ": "y",
|
||
"ỿ": "y",
|
||
"ⓩ": "z",
|
||
"z": "z",
|
||
"ź": "z",
|
||
"ẑ": "z",
|
||
"ż": "z",
|
||
"ž": "z",
|
||
"ẓ": "z",
|
||
"ẕ": "z",
|
||
"ƶ": "z",
|
||
"ȥ": "z",
|
||
"ɀ": "z",
|
||
"ⱬ": "z",
|
||
"ꝣ": "z",
|
||
"Ά": "Α",
|
||
"Έ": "Ε",
|
||
"Ή": "Η",
|
||
"Ί": "Ι",
|
||
"Ϊ": "Ι",
|
||
"Ό": "Ο",
|
||
"Ύ": "Υ",
|
||
"Ϋ": "Υ",
|
||
"Ώ": "Ω",
|
||
"ά": "α",
|
||
"έ": "ε",
|
||
"ή": "η",
|
||
"ί": "ι",
|
||
"ϊ": "ι",
|
||
"ΐ": "ι",
|
||
"ό": "ο",
|
||
"ύ": "υ",
|
||
"ϋ": "υ",
|
||
"ΰ": "υ",
|
||
"ώ": "ω",
|
||
"ς": "σ",
|
||
"’": "'"
|
||
}
|
||
}), u.define("select2/data/base", ["../utils"], function (n) {
|
||
function s(e, t) {
|
||
s.__super__.constructor.call(this)
|
||
}
|
||
|
||
return n.Extend(s, n.Observable), s.prototype.current = function (e) {
|
||
throw new Error("The `current` method must be defined in child classes.")
|
||
}, s.prototype.query = function (e, t) {
|
||
throw new Error("The `query` method must be defined in child classes.")
|
||
}, s.prototype.bind = function (e, t) {
|
||
}, s.prototype.destroy = function () {
|
||
}, s.prototype.generateResultId = function (e, t) {
|
||
e = e.id + "-result-";
|
||
return e += n.generateChars(4), null != t.id ? e += "-" + t.id.toString() : e += "-" + n.generateChars(4), e
|
||
}, s
|
||
}), u.define("select2/data/select", ["./base", "../utils", "jquery"], function (e, a, l) {
|
||
function n(e, t) {
|
||
this.$element = e, this.options = t, n.__super__.constructor.call(this)
|
||
}
|
||
|
||
return a.Extend(n, e), n.prototype.current = function (e) {
|
||
var t = this;
|
||
e(Array.prototype.map.call(this.$element[0].querySelectorAll(":checked"), function (e) {
|
||
return t.item(l(e))
|
||
}))
|
||
}, n.prototype.select = function (i) {
|
||
var e, r = this;
|
||
if (i.selected = !0, null != i.element && "option" === i.element.tagName.toLowerCase()) return i.element.selected = !0, void this.$element.trigger("input").trigger("change");
|
||
this.$element.prop("multiple") ? this.current(function (e) {
|
||
var t = [];
|
||
(i = [i]).push.apply(i, e);
|
||
for (var n = 0; n < i.length; n++) {
|
||
var s = i[n].id;
|
||
-1 === t.indexOf(s) && t.push(s)
|
||
}
|
||
r.$element.val(t), r.$element.trigger("input").trigger("change")
|
||
}) : (e = i.id, this.$element.val(e), this.$element.trigger("input").trigger("change"))
|
||
}, n.prototype.unselect = function (i) {
|
||
var r = this;
|
||
if (this.$element.prop("multiple")) {
|
||
if (i.selected = !1, null != i.element && "option" === i.element.tagName.toLowerCase()) return i.element.selected = !1, void this.$element.trigger("input").trigger("change");
|
||
this.current(function (e) {
|
||
for (var t = [], n = 0; n < e.length; n++) {
|
||
var s = e[n].id;
|
||
s !== i.id && -1 === t.indexOf(s) && t.push(s)
|
||
}
|
||
r.$element.val(t), r.$element.trigger("input").trigger("change")
|
||
})
|
||
}
|
||
}, n.prototype.bind = function (e, t) {
|
||
var n = this;
|
||
(this.container = e).on("select", function (e) {
|
||
n.select(e.data)
|
||
}), e.on("unselect", function (e) {
|
||
n.unselect(e.data)
|
||
})
|
||
}, n.prototype.destroy = function () {
|
||
this.$element.find("*").each(function () {
|
||
a.RemoveData(this)
|
||
})
|
||
}, n.prototype.query = function (t, e) {
|
||
var n = [], s = this;
|
||
this.$element.children().each(function () {
|
||
var e;
|
||
"option" !== this.tagName.toLowerCase() && "optgroup" !== this.tagName.toLowerCase() || (e = l(this), e = s.item(e), null !== (e = s.matches(t, e)) && n.push(e))
|
||
}), e({results: n})
|
||
}, n.prototype.addOptions = function (e) {
|
||
this.$element.append(e)
|
||
}, n.prototype.option = function (e) {
|
||
var t;
|
||
e.children ? (t = document.createElement("optgroup")).label = e.text : void 0 !== (t = document.createElement("option")).textContent ? t.textContent = e.text : t.innerText = e.text, void 0 !== e.id && (t.value = e.id), e.disabled && (t.disabled = !0), e.selected && (t.selected = !0), e.title && (t.title = e.title);
|
||
e = this._normalizeItem(e);
|
||
return e.element = t, a.StoreData(t, "data", e), l(t)
|
||
}, n.prototype.item = function (e) {
|
||
var t = {};
|
||
if (null != (t = a.GetData(e[0], "data"))) return t;
|
||
var n = e[0];
|
||
if ("option" === n.tagName.toLowerCase()) t = {
|
||
id: e.val(),
|
||
text: e.text(),
|
||
disabled: e.prop("disabled"),
|
||
selected: e.prop("selected"),
|
||
title: e.prop("title")
|
||
}; else if ("optgroup" === n.tagName.toLowerCase()) {
|
||
t = {text: e.prop("label"), children: [], title: e.prop("title")};
|
||
for (var s = e.children("option"), i = [], r = 0; r < s.length; r++) {
|
||
var o = l(s[r]), o = this.item(o);
|
||
i.push(o)
|
||
}
|
||
t.children = i
|
||
}
|
||
return (t = this._normalizeItem(t)).element = e[0], a.StoreData(e[0], "data", t), t
|
||
}, n.prototype._normalizeItem = function (e) {
|
||
e !== Object(e) && (e = {id: e, text: e});
|
||
return null != (e = l.extend({}, {text: ""}, e)).id && (e.id = e.id.toString()), null != e.text && (e.text = e.text.toString()), null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)), l.extend({}, {
|
||
selected: !1,
|
||
disabled: !1
|
||
}, e)
|
||
}, n.prototype.matches = function (e, t) {
|
||
return this.options.get("matcher")(e, t)
|
||
}, n
|
||
}), u.define("select2/data/array", ["./select", "../utils", "jquery"], function (e, t, c) {
|
||
function s(e, t) {
|
||
this._dataToConvert = t.get("data") || [], s.__super__.constructor.call(this, e, t)
|
||
}
|
||
|
||
return t.Extend(s, e), s.prototype.bind = function (e, t) {
|
||
s.__super__.bind.call(this, e, t), this.addOptions(this.convertToOptions(this._dataToConvert))
|
||
}, s.prototype.select = function (n) {
|
||
var e = this.$element.find("option").filter(function (e, t) {
|
||
return t.value == n.id.toString()
|
||
});
|
||
0 === e.length && (e = this.option(n), this.addOptions(e)), s.__super__.select.call(this, n)
|
||
}, s.prototype.convertToOptions = function (e) {
|
||
var t = this, n = this.$element.find("option"), s = n.map(function () {
|
||
return t.item(c(this)).id
|
||
}).get(), i = [];
|
||
for (var r = 0; r < e.length; r++) {
|
||
var o, a, l = this._normalizeItem(e[r]);
|
||
0 <= s.indexOf(l.id) ? (o = n.filter(function (e) {
|
||
return function () {
|
||
return c(this).val() == e.id
|
||
}
|
||
}(l)), a = this.item(o), a = c.extend(!0, {}, l, a), a = this.option(a), o.replaceWith(a)) : (a = this.option(l), l.children && (l = this.convertToOptions(l.children), a.append(l)), i.push(a))
|
||
}
|
||
return i
|
||
}, s
|
||
}), u.define("select2/data/ajax", ["./array", "../utils", "jquery"], function (e, t, r) {
|
||
function n(e, t) {
|
||
this.ajaxOptions = this._applyDefaults(t.get("ajax")), null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), n.__super__.constructor.call(this, e, t)
|
||
}
|
||
|
||
return t.Extend(n, e), n.prototype._applyDefaults = function (e) {
|
||
var t = {
|
||
data: function (e) {
|
||
return r.extend({}, e, {q: e.term})
|
||
}, transport: function (e, t, n) {
|
||
e = r.ajax(e);
|
||
return e.then(t), e.fail(n), e
|
||
}
|
||
};
|
||
return r.extend({}, t, e, !0)
|
||
}, n.prototype.processResults = function (e) {
|
||
return e
|
||
}, n.prototype.query = function (t, n) {
|
||
var s = this;
|
||
null != this._request && ("function" == typeof this._request.abort && this._request.abort(), this._request = null);
|
||
var i = r.extend({type: "GET"}, this.ajaxOptions);
|
||
|
||
function e() {
|
||
var e = i.transport(i, function (e) {
|
||
e = s.processResults(e, t);
|
||
s.options.get("debug") && window.console && console.error && (e && e.results && Array.isArray(e.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")), n(e)
|
||
}, function () {
|
||
"status" in e && (0 === e.status || "0" === e.status) || s.trigger("results:message", {message: "errorLoading"})
|
||
});
|
||
s._request = e
|
||
}
|
||
|
||
"function" == typeof i.url && (i.url = i.url.call(this.$element, t)), "function" == typeof i.data && (i.data = i.data.call(this.$element, t)), this.ajaxOptions.delay && null != t.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), this._queryTimeout = window.setTimeout(e, this.ajaxOptions.delay)) : e()
|
||
}, n
|
||
}), u.define("select2/data/tags", ["jquery"], function (t) {
|
||
function e(e, t, n) {
|
||
var s = n.get("tags"), i = n.get("createTag");
|
||
void 0 !== i && (this.createTag = i);
|
||
i = n.get("insertTag");
|
||
if (void 0 !== i && (this.insertTag = i), e.call(this, t, n), Array.isArray(s)) for (var r = 0; r < s.length; r++) {
|
||
var o = s[r], o = this._normalizeItem(o), o = this.option(o);
|
||
this.$element.append(o)
|
||
}
|
||
}
|
||
|
||
return e.prototype.query = function (e, c, u) {
|
||
var d = this;
|
||
this._removeOldTags(), null != c.term && null == c.page ? e.call(this, c, function e(t, n) {
|
||
for (var s = t.results, i = 0; i < s.length; i++) {
|
||
var r = s[i], o = null != r.children && !e({results: r.children}, !0);
|
||
if ((r.text || "").toUpperCase() === (c.term || "").toUpperCase() || o) return !n && (t.data = s, void u(t))
|
||
}
|
||
if (n) return !0;
|
||
var a, l = d.createTag(c);
|
||
null != l && ((a = d.option(l)).attr("data-select2-tag", "true"), d.addOptions([a]), d.insertTag(s, l)), t.results = s, u(t)
|
||
}) : e.call(this, c, u)
|
||
}, e.prototype.createTag = function (e, t) {
|
||
if (null == t.term) return null;
|
||
t = t.term.trim();
|
||
return "" === t ? null : {id: t, text: t}
|
||
}, e.prototype.insertTag = function (e, t, n) {
|
||
t.unshift(n)
|
||
}, e.prototype._removeOldTags = function (e) {
|
||
this.$element.find("option[data-select2-tag]").each(function () {
|
||
this.selected || t(this).remove()
|
||
})
|
||
}, e
|
||
}), u.define("select2/data/tokenizer", ["jquery"], function (c) {
|
||
function e(e, t, n) {
|
||
var s = n.get("tokenizer");
|
||
void 0 !== s && (this.tokenizer = s), e.call(this, t, n)
|
||
}
|
||
|
||
return e.prototype.bind = function (e, t, n) {
|
||
e.call(this, t, n), this.$search = t.dropdown.$search || t.selection.$search || n.find(".select2-search__field")
|
||
}, e.prototype.query = function (e, t, n) {
|
||
var s = this;
|
||
t.term = t.term || "";
|
||
var i = this.tokenizer(t, this.options, function (e) {
|
||
var t, n = s._normalizeItem(e);
|
||
s.$element.find("option").filter(function () {
|
||
return c(this).val() === n.id
|
||
}).length || ((t = s.option(n)).attr("data-select2-tag", !0), s._removeOldTags(), s.addOptions([t])), t = n, s.trigger("select", {data: t})
|
||
});
|
||
i.term !== t.term && (this.$search.length && (this.$search.val(i.term), this.$search.trigger("focus")), t.term = i.term), e.call(this, t, n)
|
||
}, e.prototype.tokenizer = function (e, t, n, s) {
|
||
for (var i = n.get("tokenSeparators") || [], r = t.term, o = 0, a = this.createTag || function (e) {
|
||
return {id: e.term, text: e.term}
|
||
}; o < r.length;) {
|
||
var l = r[o];
|
||
-1 !== i.indexOf(l) ? (l = r.substr(0, o), null != (l = a(c.extend({}, t, {term: l}))) ? (s(l), r = r.substr(o + 1) || "", o = 0) : o++) : o++
|
||
}
|
||
return {term: r}
|
||
}, e
|
||
}), u.define("select2/data/minimumInputLength", [], function () {
|
||
function e(e, t, n) {
|
||
this.minimumInputLength = n.get("minimumInputLength"), e.call(this, t, n)
|
||
}
|
||
|
||
return e.prototype.query = function (e, t, n) {
|
||
t.term = t.term || "", t.term.length < this.minimumInputLength ? this.trigger("results:message", {
|
||
message: "inputTooShort",
|
||
args: {minimum: this.minimumInputLength, input: t.term, params: t}
|
||
}) : e.call(this, t, n)
|
||
}, e
|
||
}), u.define("select2/data/maximumInputLength", [], function () {
|
||
function e(e, t, n) {
|
||
this.maximumInputLength = n.get("maximumInputLength"), e.call(this, t, n)
|
||
}
|
||
|
||
return e.prototype.query = function (e, t, n) {
|
||
t.term = t.term || "", 0 < this.maximumInputLength && t.term.length > this.maximumInputLength ? this.trigger("results:message", {
|
||
message: "inputTooLong",
|
||
args: {maximum: this.maximumInputLength, input: t.term, params: t}
|
||
}) : e.call(this, t, n)
|
||
}, e
|
||
}), u.define("select2/data/maximumSelectionLength", [], function () {
|
||
function e(e, t, n) {
|
||
this.maximumSelectionLength = n.get("maximumSelectionLength"), e.call(this, t, n)
|
||
}
|
||
|
||
return e.prototype.bind = function (e, t, n) {
|
||
var s = this;
|
||
e.call(this, t, n), t.on("select", function () {
|
||
s._checkIfMaximumSelected()
|
||
})
|
||
}, e.prototype.query = function (e, t, n) {
|
||
var s = this;
|
||
this._checkIfMaximumSelected(function () {
|
||
e.call(s, t, n)
|
||
})
|
||
}, e.prototype._checkIfMaximumSelected = function (e, t) {
|
||
var n = this;
|
||
this.current(function (e) {
|
||
e = null != e ? e.length : 0;
|
||
0 < n.maximumSelectionLength && e >= n.maximumSelectionLength ? n.trigger("results:message", {
|
||
message: "maximumSelected",
|
||
args: {maximum: n.maximumSelectionLength}
|
||
}) : t && t()
|
||
})
|
||
}, e
|
||
}), u.define("select2/dropdown", ["jquery", "./utils"], function (t, e) {
|
||
function n(e, t) {
|
||
this.$element = e, this.options = t, n.__super__.constructor.call(this)
|
||
}
|
||
|
||
return e.Extend(n, e.Observable), n.prototype.render = function () {
|
||
var e = t('<span class="select2-dropdown"><span class="select2-results"></span></span>');
|
||
return e.attr("dir", this.options.get("dir")), this.$dropdown = e
|
||
}, n.prototype.bind = function () {
|
||
}, n.prototype.position = function (e, t) {
|
||
}, n.prototype.destroy = function () {
|
||
this.$dropdown.remove()
|
||
}, n
|
||
}), u.define("select2/dropdown/search", ["jquery"], function (r) {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.render = function (e) {
|
||
var t = e.call(this), n = this.options.get("translations").get("search"),
|
||
e = r('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');
|
||
return this.$searchContainer = e, this.$search = e.find("input"), this.$search.prop("autocomplete", this.options.get("autocomplete")), this.$search.attr("aria-label", n()), t.prepend(e), t
|
||
}, e.prototype.bind = function (e, t, n) {
|
||
var s = this, i = t.id + "-results";
|
||
e.call(this, t, n), this.$search.on("keydown", function (e) {
|
||
s.trigger("keypress", e), s._keyUpPrevented = e.isDefaultPrevented()
|
||
}), this.$search.on("input", function (e) {
|
||
r(this).off("keyup")
|
||
}), this.$search.on("keyup input", function (e) {
|
||
s.handleSearch(e)
|
||
}), t.on("open", function () {
|
||
s.$search.attr("tabindex", 0), s.$search.attr("aria-controls", i), s.$search.trigger("focus"), window.setTimeout(function () {
|
||
s.$search.trigger("focus")
|
||
}, 0)
|
||
}), t.on("close", function () {
|
||
s.$search.attr("tabindex", -1), s.$search.removeAttr("aria-controls"), s.$search.removeAttr("aria-activedescendant"), s.$search.val(""), s.$search.trigger("blur")
|
||
}), t.on("focus", function () {
|
||
t.isOpen() || s.$search.trigger("focus")
|
||
}), t.on("results:all", function (e) {
|
||
null != e.query.term && "" !== e.query.term || (s.showSearch(e) ? s.$searchContainer[0].classList.remove("select2-search--hide") : s.$searchContainer[0].classList.add("select2-search--hide"))
|
||
}), t.on("results:focus", function (e) {
|
||
e.data._resultId ? s.$search.attr("aria-activedescendant", e.data._resultId) : s.$search.removeAttr("aria-activedescendant")
|
||
})
|
||
}, e.prototype.handleSearch = function (e) {
|
||
var t;
|
||
this._keyUpPrevented || (t = this.$search.val(), this.trigger("query", {term: t})), this._keyUpPrevented = !1
|
||
}, e.prototype.showSearch = function (e, t) {
|
||
return !0
|
||
}, e
|
||
}), u.define("select2/dropdown/hidePlaceholder", [], function () {
|
||
function e(e, t, n, s) {
|
||
this.placeholder = this.normalizePlaceholder(n.get("placeholder")), e.call(this, t, n, s)
|
||
}
|
||
|
||
return e.prototype.append = function (e, t) {
|
||
t.results = this.removePlaceholder(t.results), e.call(this, t)
|
||
}, e.prototype.normalizePlaceholder = function (e, t) {
|
||
return t = "string" == typeof t ? {id: "", text: t} : t
|
||
}, e.prototype.removePlaceholder = function (e, t) {
|
||
for (var n = t.slice(0), s = t.length - 1; 0 <= s; s--) {
|
||
var i = t[s];
|
||
this.placeholder.id === i.id && n.splice(s, 1)
|
||
}
|
||
return n
|
||
}, e
|
||
}), u.define("select2/dropdown/infiniteScroll", ["jquery"], function (n) {
|
||
function e(e, t, n, s) {
|
||
this.lastParams = {}, e.call(this, t, n, s), this.$loadingMore = this.createLoadingMore(), this.loading = !1
|
||
}
|
||
|
||
return e.prototype.append = function (e, t) {
|
||
this.$loadingMore.remove(), this.loading = !1, e.call(this, t), this.showLoadingMore(t) && (this.$results.append(this.$loadingMore), this.loadMoreIfNeeded())
|
||
}, e.prototype.bind = function (e, t, n) {
|
||
var s = this;
|
||
e.call(this, t, n), t.on("query", function (e) {
|
||
s.lastParams = e, s.loading = !0
|
||
}), t.on("query:append", function (e) {
|
||
s.lastParams = e, s.loading = !0
|
||
}), this.$results.on("scroll", this.loadMoreIfNeeded.bind(this))
|
||
}, e.prototype.loadMoreIfNeeded = function () {
|
||
var e = n.contains(document.documentElement, this.$loadingMore[0]);
|
||
!this.loading && e && (e = this.$results.offset().top + this.$results.outerHeight(!1), this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) <= e + 50 && this.loadMore())
|
||
}, e.prototype.loadMore = function () {
|
||
this.loading = !0;
|
||
var e = n.extend({}, {page: 1}, this.lastParams);
|
||
e.page++, this.trigger("query:append", e)
|
||
}, e.prototype.showLoadingMore = function (e, t) {
|
||
return t.pagination && t.pagination.more
|
||
}, e.prototype.createLoadingMore = function () {
|
||
var e = n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),
|
||
t = this.options.get("translations").get("loadingMore");
|
||
return e.html(t(this.lastParams)), e
|
||
}, e
|
||
}), u.define("select2/dropdown/attachBody", ["jquery", "../utils"], function (u, o) {
|
||
function e(e, t, n) {
|
||
this.$dropdownParent = u(n.get("dropdownParent") || document.body), e.call(this, t, n)
|
||
}
|
||
|
||
return e.prototype.bind = function (e, t, n) {
|
||
var s = this;
|
||
e.call(this, t, n), t.on("open", function () {
|
||
s._showDropdown(), s._attachPositioningHandler(t), s._bindContainerResultHandlers(t)
|
||
}), t.on("close", function () {
|
||
s._hideDropdown(), s._detachPositioningHandler(t)
|
||
}), this.$dropdownContainer.on("mousedown", function (e) {
|
||
e.stopPropagation()
|
||
})
|
||
}, e.prototype.destroy = function (e) {
|
||
e.call(this), this.$dropdownContainer.remove()
|
||
}, e.prototype.position = function (e, t, n) {
|
||
t.attr("class", n.attr("class")), t[0].classList.remove("select2"), t[0].classList.add("select2-container--open"), t.css({
|
||
position: "absolute",
|
||
top: -999999
|
||
}), this.$container = n
|
||
}, e.prototype.render = function (e) {
|
||
var t = u("<span></span>"), e = e.call(this);
|
||
return t.append(e), this.$dropdownContainer = t
|
||
}, e.prototype._hideDropdown = function (e) {
|
||
this.$dropdownContainer.detach()
|
||
}, e.prototype._bindContainerResultHandlers = function (e, t) {
|
||
var n;
|
||
this._containerResultsHandlersBound || (n = this, t.on("results:all", function () {
|
||
n._positionDropdown(), n._resizeDropdown()
|
||
}), t.on("results:append", function () {
|
||
n._positionDropdown(), n._resizeDropdown()
|
||
}), t.on("results:message", function () {
|
||
n._positionDropdown(), n._resizeDropdown()
|
||
}), t.on("select", function () {
|
||
n._positionDropdown(), n._resizeDropdown()
|
||
}), t.on("unselect", function () {
|
||
n._positionDropdown(), n._resizeDropdown()
|
||
}), this._containerResultsHandlersBound = !0)
|
||
}, e.prototype._attachPositioningHandler = function (e, t) {
|
||
var n = this, s = "scroll.select2." + t.id, i = "resize.select2." + t.id,
|
||
r = "orientationchange.select2." + t.id, t = this.$container.parents().filter(o.hasScroll);
|
||
t.each(function () {
|
||
o.StoreData(this, "select2-scroll-position", {x: u(this).scrollLeft(), y: u(this).scrollTop()})
|
||
}), t.on(s, function (e) {
|
||
var t = o.GetData(this, "select2-scroll-position");
|
||
u(this).scrollTop(t.y)
|
||
}), u(window).on(s + " " + i + " " + r, function (e) {
|
||
n._positionDropdown(), n._resizeDropdown()
|
||
})
|
||
}, e.prototype._detachPositioningHandler = function (e, t) {
|
||
var n = "scroll.select2." + t.id, s = "resize.select2." + t.id, t = "orientationchange.select2." + t.id;
|
||
this.$container.parents().filter(o.hasScroll).off(n), u(window).off(n + " " + s + " " + t)
|
||
}, e.prototype._positionDropdown = function () {
|
||
var e = u(window), t = this.$dropdown[0].classList.contains("select2-dropdown--above"),
|
||
n = this.$dropdown[0].classList.contains("select2-dropdown--below"), s = null,
|
||
i = this.$container.offset();
|
||
i.bottom = i.top + this.$container.outerHeight(!1);
|
||
var r = {height: this.$container.outerHeight(!1)};
|
||
r.top = i.top, r.bottom = i.top + r.height;
|
||
var o = this.$dropdown.outerHeight(!1), a = e.scrollTop(), l = e.scrollTop() + e.height(),
|
||
c = a < i.top - o, e = l > i.bottom + o, a = {left: i.left, top: r.bottom},
|
||
l = this.$dropdownParent;
|
||
"static" === l.css("position") && (l = l.offsetParent());
|
||
i = {top: 0, left: 0};
|
||
(u.contains(document.body, l[0]) || l[0].isConnected) && (i = l.offset()), a.top -= i.top, a.left -= i.left, t || n || (s = "below"), e || !c || t ? !c && e && t && (s = "below") : s = "above", ("above" == s || t && "below" !== s) && (a.top = r.top - i.top - o), null != s && (this.$dropdown[0].classList.remove("select2-dropdown--below"), this.$dropdown[0].classList.remove("select2-dropdown--above"), this.$dropdown[0].classList.add("select2-dropdown--" + s), this.$container[0].classList.remove("select2-container--below"), this.$container[0].classList.remove("select2-container--above"), this.$container[0].classList.add("select2-container--" + s)), this.$dropdownContainer.css(a)
|
||
}, e.prototype._resizeDropdown = function () {
|
||
var e = {width: this.$container.outerWidth(!1) + "px"};
|
||
this.options.get("dropdownAutoWidth") && (e.minWidth = e.width, e.position = "relative", e.width = "auto"), this.$dropdown.css(e)
|
||
}, e.prototype._showDropdown = function (e) {
|
||
this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown()
|
||
}, e
|
||
}), u.define("select2/dropdown/minimumResultsForSearch", [], function () {
|
||
function e(e, t, n, s) {
|
||
this.minimumResultsForSearch = n.get("minimumResultsForSearch"), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), e.call(this, t, n, s)
|
||
}
|
||
|
||
return e.prototype.showSearch = function (e, t) {
|
||
return !(function e(t) {
|
||
for (var n = 0, s = 0; s < t.length; s++) {
|
||
var i = t[s];
|
||
i.children ? n += e(i.children) : n++
|
||
}
|
||
return n
|
||
}(t.data.results) < this.minimumResultsForSearch) && e.call(this, t)
|
||
}, e
|
||
}), u.define("select2/dropdown/selectOnClose", ["../utils"], function (s) {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.bind = function (e, t, n) {
|
||
var s = this;
|
||
e.call(this, t, n), t.on("close", function (e) {
|
||
s._handleSelectOnClose(e)
|
||
})
|
||
}, e.prototype._handleSelectOnClose = function (e, t) {
|
||
if (t && null != t.originalSelect2Event) {
|
||
var n = t.originalSelect2Event;
|
||
if ("select" === n._type || "unselect" === n._type) return
|
||
}
|
||
n = this.getHighlightedResults();
|
||
n.length < 1 || (null != (n = s.GetData(n[0], "data")).element && n.element.selected || null == n.element && n.selected || this.trigger("select", {data: n}))
|
||
}, e
|
||
}), u.define("select2/dropdown/closeOnSelect", [], function () {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.bind = function (e, t, n) {
|
||
var s = this;
|
||
e.call(this, t, n), t.on("select", function (e) {
|
||
s._selectTriggered(e)
|
||
}), t.on("unselect", function (e) {
|
||
s._selectTriggered(e)
|
||
})
|
||
}, e.prototype._selectTriggered = function (e, t) {
|
||
var n = t.originalEvent;
|
||
n && (n.ctrlKey || n.metaKey) || this.trigger("close", {originalEvent: n, originalSelect2Event: t})
|
||
}, e
|
||
}), u.define("select2/dropdown/dropdownCss", ["../utils"], function (n) {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.render = function (e) {
|
||
var t = e.call(this), e = this.options.get("dropdownCssClass") || "";
|
||
return -1 !== e.indexOf(":all:") && (e = e.replace(":all:", ""), n.copyNonInternalCssClasses(t[0], this.$element[0])), t.addClass(e), t
|
||
}, e
|
||
}), u.define("select2/dropdown/tagsSearchHighlight", ["../utils"], function (s) {
|
||
function e() {
|
||
}
|
||
|
||
return e.prototype.highlightFirstItem = function (e) {
|
||
var t = this.$results.find(".select2-results__option--selectable:not(.select2-results__option--selected)");
|
||
if (0 < t.length) {
|
||
var n = t.first(), t = s.GetData(n[0], "data").element;
|
||
if (t && t.getAttribute && "true" === t.getAttribute("data-select2-tag")) return void n.trigger("mouseenter")
|
||
}
|
||
e.call(this)
|
||
}, e
|
||
}), u.define("select2/i18n/en", [], function () {
|
||
return {
|
||
errorLoading: function () {
|
||
return "The results could not be loaded."
|
||
}, inputTooLong: function (e) {
|
||
var t = e.input.length - e.maximum, e = "Please delete " + t + " character";
|
||
return 1 != t && (e += "s"), e
|
||
}, inputTooShort: function (e) {
|
||
return "Please enter " + (e.minimum - e.input.length) + " or more characters"
|
||
}, loadingMore: function () {
|
||
return "Loading more results…"
|
||
}, maximumSelected: function (e) {
|
||
var t = "You can only select " + e.maximum + " item";
|
||
return 1 != e.maximum && (t += "s"), t
|
||
}, noResults: function () {
|
||
return "No results found"
|
||
}, searching: function () {
|
||
return "Searching…"
|
||
}, removeAllItems: function () {
|
||
return "Remove all items"
|
||
}, removeItem: function () {
|
||
return "Remove item"
|
||
}, search: function () {
|
||
return "Search"
|
||
}
|
||
}
|
||
}), u.define("select2/defaults", ["jquery", "./results", "./selection/single", "./selection/multiple", "./selection/placeholder", "./selection/allowClear", "./selection/search", "./selection/selectionCss", "./selection/eventRelay", "./utils", "./translation", "./diacritics", "./data/select", "./data/array", "./data/ajax", "./data/tags", "./data/tokenizer", "./data/minimumInputLength", "./data/maximumInputLength", "./data/maximumSelectionLength", "./dropdown", "./dropdown/search", "./dropdown/hidePlaceholder", "./dropdown/infiniteScroll", "./dropdown/attachBody", "./dropdown/minimumResultsForSearch", "./dropdown/selectOnClose", "./dropdown/closeOnSelect", "./dropdown/dropdownCss", "./dropdown/tagsSearchHighlight", "./i18n/en"], function (l, r, o, a, c, u, d, p, h, f, g, t, m, y, v, _, b, $, w, x, A, D, S, E, O, C, L, T, q, I, e) {
|
||
function n() {
|
||
this.reset()
|
||
}
|
||
|
||
return n.prototype.apply = function (e) {
|
||
var t;
|
||
null == (e = l.extend(!0, {}, this.defaults, e)).dataAdapter && (null != e.ajax ? e.dataAdapter = v : null != e.data ? e.dataAdapter = y : e.dataAdapter = m, 0 < e.minimumInputLength && (e.dataAdapter = f.Decorate(e.dataAdapter, $)), 0 < e.maximumInputLength && (e.dataAdapter = f.Decorate(e.dataAdapter, w)), 0 < e.maximumSelectionLength && (e.dataAdapter = f.Decorate(e.dataAdapter, x)), e.tags && (e.dataAdapter = f.Decorate(e.dataAdapter, _)), null == e.tokenSeparators && null == e.tokenizer || (e.dataAdapter = f.Decorate(e.dataAdapter, b))), null == e.resultsAdapter && (e.resultsAdapter = r, null != e.ajax && (e.resultsAdapter = f.Decorate(e.resultsAdapter, E)), null != e.placeholder && (e.resultsAdapter = f.Decorate(e.resultsAdapter, S)), e.selectOnClose && (e.resultsAdapter = f.Decorate(e.resultsAdapter, L)), e.tags && (e.resultsAdapter = f.Decorate(e.resultsAdapter, I))), null == e.dropdownAdapter && (e.multiple ? e.dropdownAdapter = A : (t = f.Decorate(A, D), e.dropdownAdapter = t), 0 !== e.minimumResultsForSearch && (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, C)), e.closeOnSelect && (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, T)), null != e.dropdownCssClass && (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, q)), e.dropdownAdapter = f.Decorate(e.dropdownAdapter, O)), null == e.selectionAdapter && (e.multiple ? e.selectionAdapter = a : e.selectionAdapter = o, null != e.placeholder && (e.selectionAdapter = f.Decorate(e.selectionAdapter, c)), e.allowClear && (e.selectionAdapter = f.Decorate(e.selectionAdapter, u)), e.multiple && (e.selectionAdapter = f.Decorate(e.selectionAdapter, d)), null != e.selectionCssClass && (e.selectionAdapter = f.Decorate(e.selectionAdapter, p)), e.selectionAdapter = f.Decorate(e.selectionAdapter, h)), e.language = this._resolveLanguage(e.language), e.language.push("en");
|
||
for (var n = [], s = 0; s < e.language.length; s++) {
|
||
var i = e.language[s];
|
||
-1 === n.indexOf(i) && n.push(i)
|
||
}
|
||
return e.language = n, e.translations = this._processTranslations(e.language, e.debug), e
|
||
}, n.prototype.reset = function () {
|
||
function a(e) {
|
||
return e.replace(/[^\u0000-\u007E]/g, function (e) {
|
||
return t[e] || e
|
||
})
|
||
}
|
||
|
||
this.defaults = {
|
||
amdLanguageBase: "./i18n/",
|
||
autocomplete: "off",
|
||
closeOnSelect: !0,
|
||
debug: !1,
|
||
dropdownAutoWidth: !1,
|
||
escapeMarkup: f.escapeMarkup,
|
||
language: {},
|
||
matcher: function e(t, n) {
|
||
if (null == t.term || "" === t.term.trim()) return n;
|
||
if (n.children && 0 < n.children.length) {
|
||
for (var s = l.extend(!0, {}, n), i = n.children.length - 1; 0 <= i; i--) null == e(t, n.children[i]) && s.children.splice(i, 1);
|
||
return 0 < s.children.length ? s : e(t, s)
|
||
}
|
||
var r = a(n.text).toUpperCase(), o = a(t.term).toUpperCase();
|
||
return -1 < r.indexOf(o) ? n : null
|
||
},
|
||
minimumInputLength: 0,
|
||
maximumInputLength: 0,
|
||
maximumSelectionLength: 0,
|
||
minimumResultsForSearch: 0,
|
||
selectOnClose: !1,
|
||
scrollAfterSelect: !1,
|
||
sorter: function (e) {
|
||
return e
|
||
},
|
||
templateResult: function (e) {
|
||
return e.text
|
||
},
|
||
templateSelection: function (e) {
|
||
return e.text
|
||
},
|
||
theme: "default",
|
||
width: "resolve"
|
||
}
|
||
}, n.prototype.applyFromElement = function (e, t) {
|
||
var n = e.language, s = this.defaults.language, i = t.prop("lang"),
|
||
t = t.closest("[lang]").prop("lang"),
|
||
t = Array.prototype.concat.call(this._resolveLanguage(i), this._resolveLanguage(n), this._resolveLanguage(s), this._resolveLanguage(t));
|
||
return e.language = t, e
|
||
}, n.prototype._resolveLanguage = function (e) {
|
||
if (!e) return [];
|
||
if (l.isEmptyObject(e)) return [];
|
||
if (l.isPlainObject(e)) return [e];
|
||
for (var t, n = Array.isArray(e) ? e : [e], s = [], i = 0; i < n.length; i++) s.push(n[i]), "string" == typeof n[i] && 0 < n[i].indexOf("-") && (t = n[i].split("-")[0], s.push(t));
|
||
return s
|
||
}, n.prototype._processTranslations = function (e, t) {
|
||
for (var n = new g, s = 0; s < e.length; s++) {
|
||
var i = new g, r = e[s];
|
||
if ("string" == typeof r) try {
|
||
i = g.loadPath(r)
|
||
} catch (e) {
|
||
try {
|
||
r = this.defaults.amdLanguageBase + r, i = g.loadPath(r)
|
||
} catch (e) {
|
||
t && window.console && console.warn && console.warn('Select2: The language file for "' + r + '" could not be automatically loaded. A fallback will be used instead.')
|
||
}
|
||
} else i = l.isPlainObject(r) ? new g(r) : r;
|
||
n.extend(i)
|
||
}
|
||
return n
|
||
}, n.prototype.set = function (e, t) {
|
||
var n = {};
|
||
n[l.camelCase(e)] = t;
|
||
n = f._convertData(n);
|
||
l.extend(!0, this.defaults, n)
|
||
}, new n
|
||
}), u.define("select2/options", ["jquery", "./defaults", "./utils"], function (c, n, u) {
|
||
function e(e, t) {
|
||
this.options = e, null != t && this.fromElement(t), null != t && (this.options = n.applyFromElement(this.options, t)), this.options = n.apply(this.options)
|
||
}
|
||
|
||
return e.prototype.fromElement = function (e) {
|
||
var t = ["select2"];
|
||
null == this.options.multiple && (this.options.multiple = e.prop("multiple")), null == this.options.disabled && (this.options.disabled = e.prop("disabled")), null == this.options.autocomplete && e.prop("autocomplete") && (this.options.autocomplete = e.prop("autocomplete")), null == this.options.dir && (e.prop("dir") ? this.options.dir = e.prop("dir") : e.closest("[dir]").prop("dir") ? this.options.dir = e.closest("[dir]").prop("dir") : this.options.dir = "ltr"), e.prop("disabled", this.options.disabled), e.prop("multiple", this.options.multiple), u.GetData(e[0], "select2Tags") && (this.options.debug && window.console && console.warn && console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'), u.StoreData(e[0], "data", u.GetData(e[0], "select2Tags")), u.StoreData(e[0], "tags", !0)), u.GetData(e[0], "ajaxUrl") && (this.options.debug && window.console && console.warn && console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."), e.attr("ajax--url", u.GetData(e[0], "ajaxUrl")), u.StoreData(e[0], "ajax-Url", u.GetData(e[0], "ajaxUrl")));
|
||
var n = {};
|
||
|
||
function s(e, t) {
|
||
return t.toUpperCase()
|
||
}
|
||
|
||
for (var i = 0; i < e[0].attributes.length; i++) {
|
||
var r = e[0].attributes[i].name, o = "data-";
|
||
r.substr(0, o.length) == o && (r = r.substring(o.length), o = u.GetData(e[0], r), n[r.replace(/-([a-z])/g, s)] = o)
|
||
}
|
||
c.fn.jquery && "1." == c.fn.jquery.substr(0, 2) && e[0].dataset && (n = c.extend(!0, {}, e[0].dataset, n));
|
||
var a, l = c.extend(!0, {}, u.GetData(e[0]), n);
|
||
for (a in l = u._convertData(l)) -1 < t.indexOf(a) || (c.isPlainObject(this.options[a]) ? c.extend(this.options[a], l[a]) : this.options[a] = l[a]);
|
||
return this
|
||
}, e.prototype.get = function (e) {
|
||
return this.options[e]
|
||
}, e.prototype.set = function (e, t) {
|
||
this.options[e] = t
|
||
}, e
|
||
}), u.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function (t, i, r, s) {
|
||
var o = function (e, t) {
|
||
null != r.GetData(e[0], "select2") && r.GetData(e[0], "select2").destroy(), this.$element = e, this.id = this._generateId(e), t = t || {}, this.options = new i(t, e), o.__super__.constructor.call(this);
|
||
var n = e.attr("tabindex") || 0;
|
||
r.StoreData(e[0], "old-tabindex", n), e.attr("tabindex", "-1");
|
||
t = this.options.get("dataAdapter");
|
||
this.dataAdapter = new t(e, this.options);
|
||
n = this.render();
|
||
this._placeContainer(n);
|
||
t = this.options.get("selectionAdapter");
|
||
this.selection = new t(e, this.options), this.$selection = this.selection.render(), this.selection.position(this.$selection, n);
|
||
t = this.options.get("dropdownAdapter");
|
||
this.dropdown = new t(e, this.options), this.$dropdown = this.dropdown.render(), this.dropdown.position(this.$dropdown, n);
|
||
n = this.options.get("resultsAdapter");
|
||
this.results = new n(e, this.options, this.dataAdapter), this.$results = this.results.render(), this.results.position(this.$results, this.$dropdown);
|
||
var s = this;
|
||
this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.current(function (e) {
|
||
s.trigger("selection:update", {data: e})
|
||
}), e[0].classList.add("select2-hidden-accessible"), e.attr("aria-hidden", "true"), this._syncAttributes(), r.StoreData(e[0], "select2", this), e.data("select2", this)
|
||
};
|
||
return r.Extend(o, r.Observable), o.prototype._generateId = function (e) {
|
||
return "select2-" + (null != e.attr("id") ? e.attr("id") : null != e.attr("name") ? e.attr("name") + "-" + r.generateChars(2) : r.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, "")
|
||
}, o.prototype._placeContainer = function (e) {
|
||
e.insertAfter(this.$element);
|
||
var t = this._resolveWidth(this.$element, this.options.get("width"));
|
||
null != t && e.css("width", t)
|
||
}, o.prototype._resolveWidth = function (e, t) {
|
||
var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
|
||
if ("resolve" == t) {
|
||
var s = this._resolveWidth(e, "style");
|
||
return null != s ? s : this._resolveWidth(e, "element")
|
||
}
|
||
if ("element" == t) {
|
||
s = e.outerWidth(!1);
|
||
return s <= 0 ? "auto" : s + "px"
|
||
}
|
||
if ("style" != t) return "computedstyle" != t ? t : window.getComputedStyle(e[0]).width;
|
||
e = e.attr("style");
|
||
if ("string" != typeof e) return null;
|
||
for (var i = e.split(";"), r = 0, o = i.length; r < o; r += 1) {
|
||
var a = i[r].replace(/\s/g, "").match(n);
|
||
if (null !== a && 1 <= a.length) return a[1]
|
||
}
|
||
return null
|
||
}, o.prototype._bindAdapters = function () {
|
||
this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container)
|
||
}, o.prototype._registerDomEvents = function () {
|
||
var t = this;
|
||
this.$element.on("change.select2", function () {
|
||
t.dataAdapter.current(function (e) {
|
||
t.trigger("selection:update", {data: e})
|
||
})
|
||
}), this.$element.on("focus.select2", function (e) {
|
||
t.trigger("focus", e)
|
||
}), this._syncA = r.bind(this._syncAttributes, this), this._syncS = r.bind(this._syncSubtree, this), this._observer = new window.MutationObserver(function (e) {
|
||
t._syncA(), t._syncS(e)
|
||
}), this._observer.observe(this.$element[0], {attributes: !0, childList: !0, subtree: !1})
|
||
}, o.prototype._registerDataEvents = function () {
|
||
var n = this;
|
||
this.dataAdapter.on("*", function (e, t) {
|
||
n.trigger(e, t)
|
||
})
|
||
}, o.prototype._registerSelectionEvents = function () {
|
||
var n = this, s = ["toggle", "focus"];
|
||
this.selection.on("toggle", function () {
|
||
n.toggleDropdown()
|
||
}), this.selection.on("focus", function (e) {
|
||
n.focus(e)
|
||
}), this.selection.on("*", function (e, t) {
|
||
-1 === s.indexOf(e) && n.trigger(e, t)
|
||
})
|
||
}, o.prototype._registerDropdownEvents = function () {
|
||
var n = this;
|
||
this.dropdown.on("*", function (e, t) {
|
||
n.trigger(e, t)
|
||
})
|
||
}, o.prototype._registerResultsEvents = function () {
|
||
var n = this;
|
||
this.results.on("*", function (e, t) {
|
||
n.trigger(e, t)
|
||
})
|
||
}, o.prototype._registerEvents = function () {
|
||
var n = this;
|
||
this.on("open", function () {
|
||
n.$container[0].classList.add("select2-container--open")
|
||
}), this.on("close", function () {
|
||
n.$container[0].classList.remove("select2-container--open")
|
||
}), this.on("enable", function () {
|
||
n.$container[0].classList.remove("select2-container--disabled")
|
||
}), this.on("disable", function () {
|
||
n.$container[0].classList.add("select2-container--disabled")
|
||
}), this.on("blur", function () {
|
||
n.$container[0].classList.remove("select2-container--focus")
|
||
}), this.on("query", function (t) {
|
||
n.isOpen() || n.trigger("open", {}), this.dataAdapter.query(t, function (e) {
|
||
n.trigger("results:all", {data: e, query: t})
|
||
})
|
||
}), this.on("query:append", function (t) {
|
||
this.dataAdapter.query(t, function (e) {
|
||
n.trigger("results:append", {data: e, query: t})
|
||
})
|
||
}), this.on("keypress", function (e) {
|
||
var t = e.which;
|
||
n.isOpen() ? t === s.ESC || t === s.UP && e.altKey ? (n.close(e), e.preventDefault()) : t === s.ENTER || t === s.TAB ? (n.trigger("results:select", {}), e.preventDefault()) : t === s.SPACE && e.ctrlKey ? (n.trigger("results:toggle", {}), e.preventDefault()) : t === s.UP ? (n.trigger("results:previous", {}), e.preventDefault()) : t === s.DOWN && (n.trigger("results:next", {}), e.preventDefault()) : (t === s.ENTER || t === s.SPACE || t === s.DOWN && e.altKey) && (n.open(), e.preventDefault())
|
||
})
|
||
}, o.prototype._syncAttributes = function () {
|
||
this.options.set("disabled", this.$element.prop("disabled")), this.isDisabled() ? (this.isOpen() && this.close(), this.trigger("disable", {})) : this.trigger("enable", {})
|
||
}, o.prototype._isChangeMutation = function (e) {
|
||
var t = this;
|
||
if (e.addedNodes && 0 < e.addedNodes.length) {
|
||
for (var n = 0; n < e.addedNodes.length; n++) if (e.addedNodes[n].selected) return !0
|
||
} else {
|
||
if (e.removedNodes && 0 < e.removedNodes.length) return !0;
|
||
if (Array.isArray(e)) return e.some(function (e) {
|
||
return t._isChangeMutation(e)
|
||
})
|
||
}
|
||
return !1
|
||
}, o.prototype._syncSubtree = function (e) {
|
||
var e = this._isChangeMutation(e), t = this;
|
||
e && this.dataAdapter.current(function (e) {
|
||
t.trigger("selection:update", {data: e})
|
||
})
|
||
}, o.prototype.trigger = function (e, t) {
|
||
var n = o.__super__.trigger, s = {
|
||
open: "opening",
|
||
close: "closing",
|
||
select: "selecting",
|
||
unselect: "unselecting",
|
||
clear: "clearing"
|
||
};
|
||
if (void 0 === t && (t = {}), e in s) {
|
||
var i = s[e], s = {prevented: !1, name: e, args: t};
|
||
if (n.call(this, i, s), s.prevented) return void (t.prevented = !0)
|
||
}
|
||
n.call(this, e, t)
|
||
}, o.prototype.toggleDropdown = function () {
|
||
this.isDisabled() || (this.isOpen() ? this.close() : this.open())
|
||
}, o.prototype.open = function () {
|
||
this.isOpen() || this.isDisabled() || this.trigger("query", {})
|
||
}, o.prototype.close = function (e) {
|
||
this.isOpen() && this.trigger("close", {originalEvent: e})
|
||
}, o.prototype.isEnabled = function () {
|
||
return !this.isDisabled()
|
||
}, o.prototype.isDisabled = function () {
|
||
return this.options.get("disabled")
|
||
}, o.prototype.isOpen = function () {
|
||
return this.$container[0].classList.contains("select2-container--open")
|
||
}, o.prototype.hasFocus = function () {
|
||
return this.$container[0].classList.contains("select2-container--focus")
|
||
}, o.prototype.focus = function (e) {
|
||
this.hasFocus() || (this.$container[0].classList.add("select2-container--focus"), this.trigger("focus", {}))
|
||
}, o.prototype.enable = function (e) {
|
||
this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.');
|
||
e = !(e = null == e || 0 === e.length ? [!0] : e)[0];
|
||
this.$element.prop("disabled", e)
|
||
}, o.prototype.data = function () {
|
||
this.options.get("debug") && 0 < arguments.length && window.console && console.warn && console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');
|
||
var t = [];
|
||
return this.dataAdapter.current(function (e) {
|
||
t = e
|
||
}), t
|
||
}, o.prototype.val = function (e) {
|
||
if (this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'), null == e || 0 === e.length) return this.$element.val();
|
||
e = e[0];
|
||
Array.isArray(e) && (e = e.map(function (e) {
|
||
return e.toString()
|
||
})), this.$element.val(e).trigger("input").trigger("change")
|
||
}, o.prototype.destroy = function () {
|
||
r.RemoveData(this.$container[0]), this.$container.remove(), this._observer.disconnect(), this._observer = null, this._syncA = null, this._syncS = null, this.$element.off(".select2"), this.$element.attr("tabindex", r.GetData(this.$element[0], "old-tabindex")), this.$element[0].classList.remove("select2-hidden-accessible"), this.$element.attr("aria-hidden", "false"), r.RemoveData(this.$element[0]), this.$element.removeData("select2"), this.dataAdapter.destroy(), this.selection.destroy(), this.dropdown.destroy(), this.results.destroy(), this.dataAdapter = null, this.selection = null, this.dropdown = null, this.results = null
|
||
}, o.prototype.render = function () {
|
||
var e = t('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
|
||
return e.attr("dir", this.options.get("dir")), this.$container = e, this.$container[0].classList.add("select2-container--" + this.options.get("theme")), r.StoreData(e[0], "element", this.$element), e
|
||
}, o
|
||
}), u.define("jquery-mousewheel", ["jquery"], function (e) {
|
||
return e
|
||
}), u.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function (i, e, r, t, o) {
|
||
var a;
|
||
return null == i.fn.select2 && (a = ["open", "close", "destroy"], i.fn.select2 = function (t) {
|
||
if ("object" == typeof (t = t || {})) return this.each(function () {
|
||
var e = i.extend(!0, {}, t);
|
||
new r(i(this), e)
|
||
}), this;
|
||
if ("string" != typeof t) throw new Error("Invalid arguments for Select2: " + t);
|
||
var n, s = Array.prototype.slice.call(arguments, 1);
|
||
return this.each(function () {
|
||
var e = o.GetData(this, "select2");
|
||
null == e && window.console && console.error && console.error("The select2('" + t + "') method was called on an element that is not using Select2."), n = e[t].apply(e, s)
|
||
}), -1 < a.indexOf(t) ? this : n
|
||
}), null == i.fn.select2.defaults && (i.fn.select2.defaults = t), r
|
||
}), {define: u.define, require: u.require});
|
||
|
||
function b(e, t) {
|
||
return i.call(e, t)
|
||
}
|
||
|
||
function l(e, t) {
|
||
var n, s, i, r, o, a, l, c, u, d, p = t && t.split("/"), h = y.map, f = h && h["*"] || {};
|
||
if (e) {
|
||
for (t = (e = e.split("/")).length - 1, y.nodeIdCompat && _.test(e[t]) && (e[t] = e[t].replace(_, "")), "." === e[0].charAt(0) && p && (e = p.slice(0, p.length - 1).concat(e)), c = 0; c < e.length; c++) "." === (d = e[c]) ? (e.splice(c, 1), --c) : ".." === d && (0 === c || 1 === c && ".." === e[2] || ".." === e[c - 1] || 0 < c && (e.splice(c - 1, 2), c -= 2));
|
||
e = e.join("/")
|
||
}
|
||
if ((p || f) && h) {
|
||
for (c = (n = e.split("/")).length; 0 < c; --c) {
|
||
if (s = n.slice(0, c).join("/"), p) for (u = p.length; 0 < u; --u) if (i = h[p.slice(0, u).join("/")], i = i && i[s]) {
|
||
r = i, o = c;
|
||
break
|
||
}
|
||
if (r) break;
|
||
!a && f && f[s] && (a = f[s], l = c)
|
||
}
|
||
!r && a && (r = a, o = l), r && (n.splice(0, o, r), e = n.join("/"))
|
||
}
|
||
return e
|
||
}
|
||
|
||
function w(t, n) {
|
||
return function () {
|
||
var e = a.call(arguments, 0);
|
||
return "string" != typeof e[0] && 1 === e.length && e.push(null), o.apply(p, e.concat([t, n]))
|
||
}
|
||
}
|
||
|
||
function x(e) {
|
||
var t;
|
||
if (b(m, e) && (t = m[e], delete m[e], v[e] = !0, r.apply(p, t)), !b(g, e) && !b(v, e)) throw new Error("No " + e);
|
||
return g[e]
|
||
}
|
||
|
||
function c(e) {
|
||
var t, n = e ? e.indexOf("!") : -1;
|
||
return -1 < n && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e]
|
||
}
|
||
|
||
function A(e) {
|
||
return e ? c(e) : []
|
||
}
|
||
|
||
var u = s.require("jquery.select2");
|
||
return t.fn.select2.amd = s, u
|
||
}); |