4033 lines
142 KiB
JavaScript
4033 lines
142 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 =
|
|||
|
|
(t && t.fn && t.fn.select2 && t.fn.select2.amd && (u = 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 || {}),
|
|||
|
|
null == n && (n = []),
|
|||
|
|
0 === 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 'string' == typeof t && (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 = 0.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 'string' == typeof t && (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.',
|
|||
|
|
),
|
|||
|
|
(null != e && 0 !== e.length) || (e = [!0]);
|
|||
|
|
e = !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;
|
|||
|
|
});
|
|||
|
|
|