bibhamrokhanpin/wp-content/plugins/advanced-custom-fields-pro/assets/inc/select2/3/select2.min.js

4528 lines
112 KiB
JavaScript
Raw Permalink Normal View History

2024-04-10 12:01:06 +00:00
/*
Copyright 2014 Igor Vaynberg
Version: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
General Public License version 2 (the "GPL License"). You may choose either license to govern your
use of this software only upon the condition that you accept all of the terms of either the Apache
License or the GPL License.
You may obtain a copy of the Apache License and the GPL License at:
http://www.apache.org/licenses/LICENSE-2.0
http://www.gnu.org/licenses/gpl-2.0.html
Unless required by applicable law or agreed to in writing, software distributed under the Apache License
or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the Apache License and the GPL License for the specific language governing
permissions and limitations under the Apache License and the GPL License.
*/
! ( function ( a ) {
'undefined' == typeof a.fn.each2 &&
a.extend( a.fn, {
each2: function ( b ) {
for (
var c = a( [ 0 ] ), d = -1, e = this.length;
++d < e &&
( c.context = c[ 0 ] = this[ d ] ) &&
b.call( c[ 0 ], d, c ) !== ! 1;
);
return this;
},
} );
} )( jQuery ),
( function ( a, b ) {
'use strict';
function n( b ) {
var c = a( document.createTextNode( '' ) );
b.before( c ), c.before( b ), c.remove();
}
function o( a ) {
function b( a ) {
return m[ a ] || a;
}
return a.replace( /[^\u0000-\u007E]/g, b );
}
function p( a, b ) {
for ( var c = 0, d = b.length; d > c; c += 1 )
if ( r( a, b[ c ] ) ) return c;
return -1;
}
function q() {
var b = a( l );
b.appendTo( document.body );
var c = {
width: b.width() - b[ 0 ].clientWidth,
height: b.height() - b[ 0 ].clientHeight,
};
return b.remove(), c;
}
function r( a, c ) {
return a === c
? ! 0
: a === b || c === b
? ! 1
: null === a || null === c
? ! 1
: a.constructor === String
? a + '' == c + ''
: c.constructor === String
? c + '' == a + ''
: ! 1;
}
function s( a, b, c ) {
var d, e, f;
if ( null === a || a.length < 1 ) return [];
for ( d = a.split( b ), e = 0, f = d.length; f > e; e += 1 )
d[ e ] = c( d[ e ] );
return d;
}
function t( a ) {
return a.outerWidth( ! 1 ) - a.width();
}
function u( c ) {
var d = 'keyup-change-value';
c.on( 'keydown', function () {
a.data( c, d ) === b && a.data( c, d, c.val() );
} ),
c.on( 'keyup', function () {
var e = a.data( c, d );
e !== b &&
c.val() !== e &&
( a.removeData( c, d ), c.trigger( 'keyup-change' ) );
} );
}
function v( c ) {
c.on( 'mousemove', function ( c ) {
var d = h;
( d === b || d.x !== c.pageX || d.y !== c.pageY ) &&
a( c.target ).trigger( 'mousemove-filtered', c );
} );
}
function w( a, c, d ) {
d = d || b;
var e;
return function () {
var b = arguments;
window.clearTimeout( e ),
( e = window.setTimeout( function () {
c.apply( d, b );
}, a ) );
};
}
function x( a, b ) {
var c = w( a, function ( a ) {
b.trigger( 'scroll-debounced', a );
} );
b.on( 'scroll', function ( a ) {
p( a.target, b.get() ) >= 0 && c( a );
} );
}
function y( a ) {
a[ 0 ] !== document.activeElement &&
window.setTimeout( function () {
var d,
b = a[ 0 ],
c = a.val().length;
a.focus();
var e = b.offsetWidth > 0 || b.offsetHeight > 0;
e &&
b === document.activeElement &&
( b.setSelectionRange
? b.setSelectionRange( c, c )
: b.createTextRange &&
( ( d = b.createTextRange() ),
d.collapse( ! 1 ),
d.select() ) );
}, 0 );
}
function z( b ) {
b = a( b )[ 0 ];
var c = 0,
d = 0;
if ( 'selectionStart' in b )
( c = b.selectionStart ), ( d = b.selectionEnd - c );
else if ( 'selection' in document ) {
b.focus();
var e = document.selection.createRange();
( d = document.selection.createRange().text.length ),
e.moveStart( 'character', -b.value.length ),
( c = e.text.length - d );
}
return { offset: c, length: d };
}
function A( a ) {
a.preventDefault(), a.stopPropagation();
}
function B( a ) {
a.preventDefault(), a.stopImmediatePropagation();
}
function C( b ) {
if ( ! g ) {
var c =
b[ 0 ].currentStyle ||
window.getComputedStyle( b[ 0 ], null );
( g = a( document.createElement( 'div' ) ).css( {
position: 'absolute',
left: '-10000px',
top: '-10000px',
display: 'none',
fontSize: c.fontSize,
fontFamily: c.fontFamily,
fontStyle: c.fontStyle,
fontWeight: c.fontWeight,
letterSpacing: c.letterSpacing,
textTransform: c.textTransform,
whiteSpace: 'nowrap',
} ) ),
g.attr( 'class', 'select2-sizer' ),
a( document.body ).append( g );
}
return g.text( b.val() ), g.width();
}
function D( b, c, d ) {
var e,
g,
f = [];
( e = a.trim( b.attr( 'class' ) ) ),
e &&
( ( e = '' + e ),
a( e.split( /\s+/ ) ).each2( function () {
0 === this.indexOf( 'select2-' ) && f.push( this );
} ) ),
( e = a.trim( c.attr( 'class' ) ) ),
e &&
( ( e = '' + e ),
a( e.split( /\s+/ ) ).each2( function () {
0 !== this.indexOf( 'select2-' ) &&
( ( g = d( this ) ), g && f.push( g ) );
} ) ),
b.attr( 'class', f.join( ' ' ) );
}
function E( a, b, c, d ) {
var e = o( a.toUpperCase() ).indexOf( o( b.toUpperCase() ) ),
f = b.length;
return 0 > e
? ( c.push( d( a ) ), void 0 )
: ( c.push( d( a.substring( 0, e ) ) ),
c.push( "<span class='select2-match'>" ),
c.push( d( a.substring( e, e + f ) ) ),
c.push( '</span>' ),
c.push( d( a.substring( e + f, a.length ) ) ),
void 0 );
}
function F( a ) {
var b = {
'\\': '&#92;',
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#39;',
'/': '&#47;',
};
return String( a ).replace( /[&<>"'\/\\]/g, function ( a ) {
return b[ a ];
} );
}
function G( c ) {
var d,
e = null,
f = c.quietMillis || 100,
g = c.url,
h = this;
return function ( i ) {
window.clearTimeout( d ),
( d = window.setTimeout( function () {
var d = c.data,
f = g,
j =
c.transport ||
a.fn.select2.ajaxDefaults.transport,
k = {
type: c.type || 'GET',
cache: c.cache || ! 1,
jsonpCallback: c.jsonpCallback || b,
dataType: c.dataType || 'json',
},
l = a.extend(
{},
a.fn.select2.ajaxDefaults.params,
k
);
( d = d
? d.call( h, i.term, i.page, i.context )
: null ),
( f =
'function' == typeof f
? f.call( h, i.term, i.page, i.context )
: f ),
e && 'function' == typeof e.abort && e.abort(),
c.params &&
( a.isFunction( c.params )
? a.extend( l, c.params.call( h ) )
: a.extend( l, c.params ) ),
a.extend( l, {
url: f,
dataType: c.dataType,
data: d,
success: function ( a ) {
var b = c.results( a, i.page, i );
i.callback( b );
},
error: function ( a, b, c ) {
var d = {
hasError: ! 0,
jqXHR: a,
textStatus: b,
errorThrown: c,
};
i.callback( d );
},
} ),
( e = j.call( h, l ) );
}, f ) );
};
}
function H( b ) {
var d,
e,
c = b,
f = function ( a ) {
return '' + a.text;
};
a.isArray( c ) && ( ( e = c ), ( c = { results: e } ) ),
a.isFunction( c ) === ! 1 &&
( ( e = c ),
( c = function () {
return e;
} ) );
var g = c();
return (
g.text &&
( ( f = g.text ),
a.isFunction( f ) ||
( ( d = g.text ),
( f = function ( a ) {
return a[ d ];
} ) ) ),
function ( b ) {
var g,
d = b.term,
e = { results: [] };
return '' === d
? ( b.callback( c() ), void 0 )
: ( ( g = function ( c, e ) {
var h, i;
if ( ( ( c = c[ 0 ] ), c.children ) ) {
h = {};
for ( i in c )
c.hasOwnProperty( i ) &&
( h[ i ] = c[ i ] );
( h.children = [] ),
a( c.children ).each2( function (
a,
b
) {
g( b, h.children );
} ),
( h.children.length ||
b.matcher( d, f( h ), c ) ) &&
e.push( h );
} else b.matcher( d, f( c ), c ) && e.push( c );
} ),
a( c().results ).each2( function ( a, b ) {
g( b, e.results );
} ),
b.callback( e ),
void 0 );
}
);
}
function I( c ) {
var d = a.isFunction( c );
return function ( e ) {
var f = e.term,
g = { results: [] },
h = d ? c( e ) : c;
a.isArray( h ) &&
( a( h ).each( function () {
var a = this.text !== b,
c = a ? this.text : this;
( '' === f || e.matcher( f, c ) ) &&
g.results.push(
a ? this : { id: this, text: this }
);
} ),
e.callback( g ) );
};
}
function J( b, c ) {
if ( a.isFunction( b ) ) return ! 0;
if ( ! b ) return ! 1;
if ( 'string' == typeof b ) return ! 0;
throw new Error(
c + ' must be a string, function, or falsy value'
);
}
function K( b, c ) {
if ( a.isFunction( b ) ) {
var d = Array.prototype.slice.call( arguments, 2 );
return b.apply( c, d );
}
return b;
}
function L( b ) {
var c = 0;
return (
a.each( b, function ( a, b ) {
b.children ? ( c += L( b.children ) ) : c++;
} ),
c
);
}
function M( a, c, d, e ) {
var h,
i,
j,
k,
l,
f = a,
g = ! 1;
if (
! e.createSearchChoice ||
! e.tokenSeparators ||
e.tokenSeparators.length < 1
)
return b;
for (;;) {
for (
i = -1, j = 0, k = e.tokenSeparators.length;
k > j &&
( ( l = e.tokenSeparators[ j ] ),
( i = a.indexOf( l ) ),
! ( i >= 0 ) );
j++
);
if ( 0 > i ) break;
if (
( ( h = a.substring( 0, i ) ),
( a = a.substring( i + l.length ) ),
h.length > 0 &&
( ( h = e.createSearchChoice.call( this, h, c ) ),
h !== b &&
null !== h &&
e.id( h ) !== b &&
null !== e.id( h ) ) )
) {
for ( g = ! 1, j = 0, k = c.length; k > j; j++ )
if ( r( e.id( h ), e.id( c[ j ] ) ) ) {
g = ! 0;
break;
}
g || d( h );
}
}
return f !== a ? a : void 0;
}
function N() {
var b = this;
a.each( arguments, function ( a, c ) {
b[ c ].remove(), ( b[ c ] = null );
} );
}
function O( b, c ) {
var d = function () {};
return (
( d.prototype = new b() ),
( d.prototype.constructor = d ),
( d.prototype.parent = b.prototype ),
( d.prototype = a.extend( d.prototype, c ) ),
d
);
}
if ( window.Select2 === b ) {
var c,
d,
e,
f,
g,
i,
j,
h = { x: 0, y: 0 },
k = {
TAB: 9,
ENTER: 13,
ESC: 27,
SPACE: 32,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
SHIFT: 16,
CTRL: 17,
ALT: 18,
PAGE_UP: 33,
PAGE_DOWN: 34,
HOME: 36,
END: 35,
BACKSPACE: 8,
DELETE: 46,
isArrow: function ( a ) {
switch ( ( a = a.which ? a.which : a ) ) {
case k.LEFT:
case k.RIGHT:
case k.UP:
case k.DOWN:
return ! 0;
}
return ! 1;
},
isControl: function ( a ) {
var b = a.which;
switch ( b ) {
case k.SHIFT:
case k.CTRL:
case k.ALT:
return ! 0;
}
return a.metaKey ? ! 0 : ! 1;
},
isFunctionKey: function ( a ) {
return (
( a = a.which ? a.which : a ), a >= 112 && 123 >= a
);
},
},
l = "<div class='select2-measure-scrollbar'></div>",
m = {
'\u24b6': 'A',
'\uff21': 'A',
'\xc0': 'A',
'\xc1': 'A',
'\xc2': 'A',
'\u1ea6': 'A',
'\u1ea4': 'A',
'\u1eaa': 'A',
'\u1ea8': 'A',
'\xc3': 'A',
'\u0100': 'A',
'\u0102': 'A',
'\u1eb0': 'A',
'\u1eae': 'A',
'\u1eb4': 'A',
'\u1eb2': 'A',
'\u0226': 'A',
'\u01e0': 'A',
'\xc4': 'A',
'\u01de': 'A',
'\u1ea2': 'A',
'\xc5': 'A',
'\u01fa': 'A',
'\u01cd': 'A',
'\u0200': 'A',
'\u0202': 'A',
'\u1ea0': 'A',
'\u1eac': 'A',
'\u1eb6': 'A',
'\u1e00': 'A',
'\u0104': 'A',
'\u023a': 'A',
'\u2c6f': 'A',
'\ua732': 'AA',
'\xc6': 'AE',
'\u01fc': 'AE',
'\u01e2': 'AE',
'\ua734': 'AO',
'\ua736': 'AU',
'\ua738': 'AV',
'\ua73a': 'AV',
'\ua73c': 'AY',
'\u24b7': 'B',
'\uff22': 'B',
'\u1e02': 'B',
'\u1e04': 'B',
'\u1e06': 'B',
'\u0243': 'B',
'\u0182': 'B',
'\u0181': 'B',
'\u24b8': 'C',
'\uff23': 'C',
'\u0106': 'C',
'\u0108': 'C',
'\u010a': 'C',
'\u010c': 'C',
'\xc7': 'C',
'\u1e08': 'C',
'\u0187': 'C',
'\u023b': 'C',
'\ua73e': 'C',
'\u24b9': 'D',
'\uff24': 'D',
'\u1e0a': 'D',
'\u010e': 'D',
'\u1e0c': 'D',
'\u1e10': 'D',
'\u1e12': 'D',
'\u1e0e': 'D',
'\u0110': 'D',
'\u018b': 'D',
'\u018a': 'D',
'\u0189': 'D',
'\ua779': 'D',
'\u01f1': 'DZ',
'\u01c4': 'DZ',
'\u01f2': 'Dz',
'\u01c5': 'Dz',
'\u24ba': 'E',
'\uff25': 'E',
'\xc8': 'E',
'\xc9': 'E',
'\xca': 'E',
'\u1ec0': 'E',
'\u1ebe': 'E',
'\u1ec4': 'E',
'\u1ec2': 'E',
'\u1ebc': 'E',
'\u0112': 'E',
'\u1e14': 'E',
'\u1e16': 'E',
'\u0114': 'E',
'\u0116': 'E',
'\xcb': 'E',
'\u1eba': 'E',
'\u011a': 'E',
'\u0204': 'E',
'\u0206': 'E',
'\u1eb8': 'E',
'\u1ec6': 'E',
'\u0228': 'E',
'\u1e1c': 'E',
'\u0118': 'E',
'\u1e18': 'E',
'\u1e1a': 'E',
'\u0190': 'E',
'\u018e': 'E',
'\u24bb': 'F',
'\uff26': 'F',
'\u1e1e': 'F',
'\u0191': 'F',
'\ua77b': 'F',
'\u24bc': 'G',
'\uff27': 'G',
'\u01f4': 'G',
'\u011c': 'G',
'\u1e20': 'G',
'\u011e': 'G',
'\u0120': 'G',
'\u01e6': 'G',
'\u0122': 'G',
'\u01e4': 'G',
'\u0193': 'G',
'\ua7a0': 'G',
'\ua77d': 'G',
'\ua77e': 'G',
'\u24bd': 'H',
'\uff28': 'H',
'\u0124': 'H',
'\u1e22': 'H',
'\u1e26': 'H',
'\u021e': 'H',
'\u1e24': 'H',
'\u1e28': 'H',
'\u1e2a': 'H',
'\u0126': 'H',
'\u2c67': 'H',
'\u2c75': 'H',
'\ua78d': 'H',
'\u24be': 'I',
'\uff29': 'I',
'\xcc': 'I',
'\xcd': 'I',
'\xce': 'I',
'\u0128': 'I',
'\u012a': 'I',
'\u012c': 'I',
'\u0130': 'I',
'\xcf': 'I',
'\u1e2e': 'I',
'\u1ec8': 'I',
'\u01cf': 'I',
'\u0208': 'I',
'\u020a': 'I',
'\u1eca': 'I',
'\u012e': 'I',
'\u1e2c': 'I',
'\u0197': 'I',
'\u24bf': 'J',
'\uff2a': 'J',
'\u0134': 'J',
'\u0248': 'J',
'\u24c0': 'K',
'\uff2b': 'K',
'\u1e30': 'K',
'\u01e8': 'K',
'\u1e32': 'K',
'\u0136': 'K',
'\u1e34': 'K',
'\u0198': 'K',
'\u2c69': 'K',
'\ua740': 'K',
'\ua742': 'K',
'\ua744': 'K',
'\ua7a2': 'K',
'\u24c1': 'L',
'\uff2c': 'L',
'\u013f': 'L',
'\u0139': 'L',
'\u013d': 'L',
'\u1e36': 'L',
'\u1e38': 'L',
'\u013b': 'L',
'\u1e3c': 'L',
'\u1e3a': 'L',
'\u0141': 'L',
'\u023d': 'L',
'\u2c62': 'L',
'\u2c60': 'L',
'\ua748': 'L',
'\ua746': 'L',
'\ua780': 'L',
'\u01c7': 'LJ',
'\u01c8': 'Lj',
'\u24c2': 'M',
'\uff2d': 'M',
'\u1e3e': 'M',
'\u1e40': 'M',
'\u1e42': 'M',
'\u2c6e': 'M',
'\u019c': 'M',
'\u24c3': 'N',
'\uff2e': 'N',
'\u01f8': 'N',
'\u0143': 'N',
'\xd1': 'N',
'\u1e44': 'N',
'\u0147': 'N',
'\u1e46': 'N',
'\u0145': 'N',
'\u1e4a': 'N',
'\u1e48': 'N',
'\u0220': 'N',
'\u019d': 'N',
'\ua790': 'N',
'\ua7a4': 'N',
'\u01ca': 'NJ',
'\u01cb': 'Nj',
'\u24c4': 'O',
'\uff2f': 'O',
'\xd2': 'O',
'\xd3': 'O',
'\xd4': 'O',
'\u1ed2': 'O',
'\u1ed0': 'O',
'\u1ed6': 'O',
'\u1ed4': 'O',
'\xd5': 'O',
'\u1e4c': 'O',
'\u022c': 'O',
'\u1e4e': 'O',
'\u014c': 'O',
'\u1e50': 'O',
'\u1e52': 'O',
'\u014e': 'O',
'\u022e': 'O',
'\u0230': 'O',
'\xd6': 'O',
'\u022a': 'O',
'\u1ece': 'O',
'\u0150': 'O',
'\u01d1': 'O',
'\u020c': 'O',
'\u020e': 'O',
'\u01a0': 'O',
'\u1edc': 'O',
'\u1eda': 'O',
'\u1ee0': 'O',
'\u1ede': 'O',
'\u1ee2': 'O',
'\u1ecc': 'O',
'\u1ed8': 'O',
'\u01ea': 'O',
'\u01ec': 'O',
'\xd8': 'O',
'\u01fe': 'O',
'\u0186': 'O',
'\u019f': 'O',
'\ua74a': 'O',
'\ua74c': 'O',
'\u01a2': 'OI',
'\ua74e': 'OO',
'\u0222': 'OU',
'\u24c5': 'P',
'\uff30': 'P',
'\u1e54': 'P',
'\u1e56': 'P',
'\u01a4': 'P',
'\u2c63': 'P',
'\ua750': 'P',
'\ua752': 'P',
'\ua754': 'P',
'\u24c6': 'Q',
'\uff31': 'Q',
'\ua756': 'Q',
'\ua758': 'Q',
'\u024a': 'Q',
'\u24c7': 'R',
'\uff32': 'R',
'\u0154': 'R',
'\u1e58': 'R',
'\u0158': 'R',
'\u0210': 'R',
'\u0212': 'R',
'\u1e5a': 'R',
'\u1e5c': 'R',
'\u0156': 'R',
'\u1e5e': 'R',
'\u024c': 'R',
'\u2c64': 'R',
'\ua75a': 'R',
'\ua7a6': 'R',
'\ua782': 'R',
'\u24c8': 'S',
'\uff33': 'S',
'\u1e9e': 'S',
'\u015a': 'S',
'\u1e64': 'S',
'\u015c': 'S',
'\u1e60': 'S',
'\u0160': 'S',
'\u1e66': 'S',
'\u1e62': 'S',
'\u1e68': 'S',
'\u0218': 'S',
'\u015e': 'S',
'\u2c7e': 'S',
'\ua7a8': 'S',
'\ua784': 'S',
'\u24c9': 'T',
'\uff34': 'T',
'\u1e6a': 'T',
'\u0164': 'T',
'\u1e6c': 'T',
'\u021a': 'T',
'\u0162': 'T',
'\u1e70': 'T',
'\u1e6e': 'T',
'\u0166': 'T',
'\u01ac': 'T',
'\u01ae': 'T',
'\u023e': 'T',
'\ua786': 'T',
'\ua728': 'TZ',
'\u24ca': 'U',
'\uff35': 'U',
'\xd9': 'U',
'\xda': 'U',
'\xdb': 'U',
'\u0168': 'U',
'\u1e78': 'U',
'\u016a': 'U',
'\u1e7a': 'U',
'\u016c': 'U',
'\xdc': 'U',
'\u01db': 'U',
'\u01d7': 'U',
'\u01d5': 'U',
'\u01d9': 'U',
'\u1ee6': 'U',
'\u016e': 'U',
'\u0170': 'U',
'\u01d3': 'U',
'\u0214': 'U',
'\u0216': 'U',
'\u01af': 'U',
'\u1eea': 'U',
'\u1ee8': 'U',
'\u1eee': 'U',
'\u1eec': 'U',
'\u1ef0': 'U',
'\u1ee4': 'U',
'\u1e72': 'U',
'\u0172': 'U',
'\u1e76': 'U',
'\u1e74': 'U',
'\u0244': 'U',
'\u24cb': 'V',
'\uff36': 'V',
'\u1e7c': 'V',
'\u1e7e': 'V',
'\u01b2': 'V',
'\ua75e': 'V',
'\u0245': 'V',
'\ua760': 'VY',
'\u24cc': 'W',
'\uff37': 'W',
'\u1e80': 'W',
'\u1e82': 'W',
'\u0174': 'W',
'\u1e86': 'W',
'\u1e84': 'W',
'\u1e88': 'W',
'\u2c72': 'W',
'\u24cd': 'X',
'\uff38': 'X',
'\u1e8a': 'X',
'\u1e8c': 'X',
'\u24ce': 'Y',
'\uff39': 'Y',
'\u1ef2': 'Y',
'\xdd': 'Y',
'\u0176': 'Y',
'\u1ef8': 'Y',
'\u0232': 'Y',
'\u1e8e': 'Y',
'\u0178': 'Y',
'\u1ef6': 'Y',
'\u1ef4': 'Y',
'\u01b3': 'Y',
'\u024e': 'Y',
'\u1efe': 'Y',
'\u24cf': 'Z',
'\uff3a': 'Z',
'\u0179': 'Z',
'\u1e90': 'Z',
'\u017b': 'Z',
'\u017d': 'Z',
'\u1e92': 'Z',
'\u1e94': 'Z',
'\u01b5': 'Z',
'\u0224': 'Z',
'\u2c7f': 'Z',
'\u2c6b': 'Z',
'\ua762': 'Z',
'\u24d0': 'a',
'\uff41': 'a',
'\u1e9a': 'a',
'\xe0': 'a',
'\xe1': 'a',
'\xe2': 'a',
'\u1ea7': 'a',
'\u1ea5': 'a',
'\u1eab': 'a',
'\u1ea9': 'a',
'\xe3': 'a',
'\u0101': 'a',
'\u0103': 'a',
'\u1eb1': 'a',
'\u1eaf': 'a',
'\u1eb5': 'a',
'\u1eb3': 'a',
'\u0227': 'a',
'\u01e1': 'a',
'\xe4': 'a',
'\u01df': 'a',
'\u1ea3': 'a',
'\xe5': 'a',
'\u01fb': 'a',
'\u01ce': 'a',
'\u0201': 'a',
'\u0203': 'a',
'\u1ea1': 'a',
'\u1ead': 'a',
'\u1eb7': 'a',
'\u1e01': 'a',
'\u0105': 'a',
'\u2c65': 'a',
'\u0250': 'a',
'\ua733': 'aa',
'\xe6': 'ae',
'\u01fd': 'ae',
'\u01e3': 'ae',
'\ua735': 'ao',
'\ua737': 'au',
'\ua739': 'av',
'\ua73b': 'av',
'\ua73d': 'ay',
'\u24d1': 'b',
'\uff42': 'b',
'\u1e03': 'b',
'\u1e05': 'b',
'\u1e07': 'b',
'\u0180': 'b',
'\u0183': 'b',
'\u0253': 'b',
'\u24d2': 'c',
'\uff43': 'c',
'\u0107': 'c',
'\u0109': 'c',
'\u010b': 'c',
'\u010d': 'c',
'\xe7': 'c',
'\u1e09': 'c',
'\u0188': 'c',
'\u023c': 'c',
'\ua73f': 'c',
'\u2184': 'c',
'\u24d3': 'd',
'\uff44': 'd',
'\u1e0b': 'd',
'\u010f': 'd',
'\u1e0d': 'd',
'\u1e11': 'd',
'\u1e13': 'd',
'\u1e0f': 'd',
'\u0111': 'd',
'\u018c': 'd',
'\u0256': 'd',
'\u0257': 'd',
'\ua77a': 'd',
'\u01f3': 'dz',
'\u01c6': 'dz',
'\u24d4': 'e',
'\uff45': 'e',
'\xe8': 'e',
'\xe9': 'e',
'\xea': 'e',
'\u1ec1': 'e',
'\u1ebf': 'e',
'\u1ec5': 'e',
'\u1ec3': 'e',
'\u1ebd': 'e',
'\u0113': 'e',
'\u1e15': 'e',
'\u1e17': 'e',
'\u0115': 'e',
'\u0117': 'e',
'\xeb': 'e',
'\u1ebb': 'e',
'\u011b': 'e',
'\u0205': 'e',
'\u0207': 'e',
'\u1eb9': 'e',
'\u1ec7': 'e',
'\u0229': 'e',
'\u1e1d': 'e',
'\u0119': 'e',
'\u1e19': 'e',
'\u1e1b': 'e',
'\u0247': 'e',
'\u025b': 'e',
'\u01dd': 'e',
'\u24d5': 'f',
'\uff46': 'f',
'\u1e1f': 'f',
'\u0192': 'f',
'\ua77c': 'f',
'\u24d6': 'g',
'\uff47': 'g',
'\u01f5': 'g',
'\u011d': 'g',
'\u1e21': 'g',
'\u011f': 'g',
'\u0121': 'g',
'\u01e7': 'g',
'\u0123': 'g',
'\u01e5': 'g',
'\u0260': 'g',
'\ua7a1': 'g',
'\u1d79': 'g',
'\ua77f': 'g',
'\u24d7': 'h',
'\uff48': 'h',
'\u0125': 'h',
'\u1e23': 'h',
'\u1e27': 'h',
'\u021f': 'h',
'\u1e25': 'h',
'\u1e29': 'h',
'\u1e2b': 'h',
'\u1e96': 'h',
'\u0127': 'h',
'\u2c68': 'h',
'\u2c76': 'h',
'\u0265': 'h',
'\u0195': 'hv',
'\u24d8': 'i',
'\uff49': 'i',
'\xec': 'i',
'\xed': 'i',
'\xee': 'i',
'\u0129': 'i',
'\u012b': 'i',
'\u012d': 'i',
'\xef': 'i',
'\u1e2f': 'i',
'\u1ec9': 'i',
'\u01d0': 'i',
'\u0209': 'i',
'\u020b': 'i',
'\u1ecb': 'i',
'\u012f': 'i',
'\u1e2d': 'i',
'\u0268': 'i',
'\u0131': 'i',
'\u24d9': 'j',
'\uff4a': 'j',
'\u0135': 'j',
'\u01f0': 'j',
'\u0249': 'j',
'\u24da': 'k',
'\uff4b': 'k',
'\u1e31': 'k',
'\u01e9': 'k',
'\u1e33': 'k',
'\u0137': 'k',
'\u1e35': 'k',
'\u0199': 'k',
'\u2c6a': 'k',
'\ua741': 'k',
'\ua743': 'k',
'\ua745': 'k',
'\ua7a3': 'k',
'\u24db': 'l',
'\uff4c': 'l',
'\u0140': 'l',
'\u013a': 'l',
'\u013e': 'l',
'\u1e37': 'l',
'\u1e39': 'l',
'\u013c': 'l',
'\u1e3d': 'l',
'\u1e3b': 'l',
'\u017f': 'l',
'\u0142': 'l',
'\u019a': 'l',
'\u026b': 'l',
'\u2c61': 'l',
'\ua749': 'l',
'\ua781': 'l',
'\ua747': 'l',
'\u01c9': 'lj',
'\u24dc': 'm',
'\uff4d': 'm',
'\u1e3f': 'm',
'\u1e41': 'm',
'\u1e43': 'm',
'\u0271': 'm',
'\u026f': 'm',
'\u24dd': 'n',
'\uff4e': 'n',
'\u01f9': 'n',
'\u0144': 'n',
'\xf1': 'n',
'\u1e45': 'n',
'\u0148': 'n',
'\u1e47': 'n',
'\u0146': 'n',
'\u1e4b': 'n',
'\u1e49': 'n',
'\u019e': 'n',
'\u0272': 'n',
'\u0149': 'n',
'\ua791': 'n',
'\ua7a5': 'n',
'\u01cc': 'nj',
'\u24de': 'o',
'\uff4f': 'o',
'\xf2': 'o',
'\xf3': 'o',
'\xf4': 'o',
'\u1ed3': 'o',
'\u1ed1': 'o',
'\u1ed7': 'o',
'\u1ed5': 'o',
'\xf5': 'o',
'\u1e4d': 'o',
'\u022d': 'o',
'\u1e4f': 'o',
'\u014d': 'o',
'\u1e51': 'o',
'\u1e53': 'o',
'\u014f': 'o',
'\u022f': 'o',
'\u0231': 'o',
'\xf6': 'o',
'\u022b': 'o',
'\u1ecf': 'o',
'\u0151': 'o',
'\u01d2': 'o',
'\u020d': 'o',
'\u020f': 'o',
'\u01a1': 'o',
'\u1edd': 'o',
'\u1edb': 'o',
'\u1ee1': 'o',
'\u1edf': 'o',
'\u1ee3': 'o',
'\u1ecd': 'o',
'\u1ed9': 'o',
'\u01eb': 'o',
'\u01ed': 'o',
'\xf8': 'o',
'\u01ff': 'o',
'\u0254': 'o',
'\ua74b': 'o',
'\ua74d': 'o',
'\u0275': 'o',
'\u01a3': 'oi',
'\u0223': 'ou',
'\ua74f': 'oo',
'\u24df': 'p',
'\uff50': 'p',
'\u1e55': 'p',
'\u1e57': 'p',
'\u01a5': 'p',
'\u1d7d': 'p',
'\ua751': 'p',
'\ua753': 'p',
'\ua755': 'p',
'\u24e0': 'q',
'\uff51': 'q',
'\u024b': 'q',
'\ua757': 'q',
'\ua759': 'q',
'\u24e1': 'r',
'\uff52': 'r',
'\u0155': 'r',
'\u1e59': 'r',
'\u0159': 'r',
'\u0211': 'r',
'\u0213': 'r',
'\u1e5b': 'r',
'\u1e5d': 'r',
'\u0157': 'r',
'\u1e5f': 'r',
'\u024d': 'r',
'\u027d': 'r',
'\ua75b': 'r',
'\ua7a7': 'r',
'\ua783': 'r',
'\u24e2': 's',
'\uff53': 's',
'\xdf': 's',
'\u015b': 's',
'\u1e65': 's',
'\u015d': 's',
'\u1e61': 's',
'\u0161': 's',
'\u1e67': 's',
'\u1e63': 's',
'\u1e69': 's',
'\u0219': 's',
'\u015f': 's',
'\u023f': 's',
'\ua7a9': 's',
'\ua785': 's',
'\u1e9b': 's',
'\u24e3': 't',
'\uff54': 't',
'\u1e6b': 't',
'\u1e97': 't',
'\u0165': 't',
'\u1e6d': 't',
'\u021b': 't',
'\u0163': 't',
'\u1e71': 't',
'\u1e6f': 't',
'\u0167': 't',
'\u01ad': 't',
'\u0288': 't',
'\u2c66': 't',
'\ua787': 't',
'\ua729': 'tz',
'\u24e4': 'u',
'\uff55': 'u',
'\xf9': 'u',
'\xfa': 'u',
'\xfb': 'u',
'\u0169': 'u',
'\u1e79': 'u',
'\u016b': 'u',
'\u1e7b': 'u',
'\u016d': 'u',
'\xfc': 'u',
'\u01dc': 'u',
'\u01d8': 'u',
'\u01d6': 'u',
'\u01da': 'u',
'\u1ee7': 'u',
'\u016f': 'u',
'\u0171': 'u',
'\u01d4': 'u',
'\u0215': 'u',
'\u0217': 'u',
'\u01b0': 'u',
'\u1eeb': 'u',
'\u1ee9': 'u',
'\u1eef': 'u',
'\u1eed': 'u',
'\u1ef1': 'u',
'\u1ee5': 'u',
'\u1e73': 'u',
'\u0173': 'u',
'\u1e77': 'u',
'\u1e75': 'u',
'\u0289': 'u',
'\u24e5': 'v',
'\uff56': 'v',
'\u1e7d': 'v',
'\u1e7f': 'v',
'\u028b': 'v',
'\ua75f': 'v',
'\u028c': 'v',
'\ua761': 'vy',
'\u24e6': 'w',
'\uff57': 'w',
'\u1e81': 'w',
'\u1e83': 'w',
'\u0175': 'w',
'\u1e87': 'w',
'\u1e85': 'w',
'\u1e98': 'w',
'\u1e89': 'w',
'\u2c73': 'w',
'\u24e7': 'x',
'\uff58': 'x',
'\u1e8b': 'x',
'\u1e8d': 'x',
'\u24e8': 'y',
'\uff59': 'y',
'\u1ef3': 'y',
'\xfd': 'y',
'\u0177': 'y',
'\u1ef9': 'y',
'\u0233': 'y',
'\u1e8f': 'y',
'\xff': 'y',
'\u1ef7': 'y',
'\u1e99': 'y',
'\u1ef5': 'y',
'\u01b4': 'y',
'\u024f': 'y',
'\u1eff': 'y',
'\u24e9': 'z',
'\uff5a': 'z',
'\u017a': 'z',
'\u1e91': 'z',
'\u017c': 'z',
'\u017e': 'z',
'\u1e93': 'z',
'\u1e95': 'z',
'\u01b6': 'z',
'\u0225': 'z',
'\u0240': 'z',
'\u2c6c': 'z',
'\ua763': 'z',
'\u0386': '\u0391',
'\u0388': '\u0395',
'\u0389': '\u0397',
'\u038a': '\u0399',
'\u03aa': '\u0399',
'\u038c': '\u039f',
'\u038e': '\u03a5',
'\u03ab': '\u03a5',
'\u038f': '\u03a9',
'\u03ac': '\u03b1',
'\u03ad': '\u03b5',
'\u03ae': '\u03b7',
'\u03af': '\u03b9',
'\u03ca': '\u03b9',
'\u0390': '\u03b9',
'\u03cc': '\u03bf',
'\u03cd': '\u03c5',
'\u03cb': '\u03c5',
'\u03b0': '\u03c5',
'\u03c9': '\u03c9',
'\u03c2': '\u03c3',
};
( i = a( document ) ),
( f = ( function () {
var a = 1;
return function () {
return a++;
};
} )() ),
( c = O( Object, {
bind: function ( a ) {
var b = this;
return function () {
a.apply( b, arguments );
};
},
init: function ( c ) {
var d,
e,
g = '.select2-results';
( this.opts = c = this.prepareOpts( c ) ),
( this.id = c.id ),
c.element.data( 'select2' ) !== b &&
null !== c.element.data( 'select2' ) &&
c.element.data( 'select2' ).destroy(),
( this.container = this.createContainer() ),
( this.liveRegion = a(
'.select2-hidden-accessible'
) ),
0 == this.liveRegion.length &&
( this.liveRegion = a( '<span>', {
role: 'status',
'aria-live': 'polite',
} )
.addClass( 'select2-hidden-accessible' )
.appendTo( document.body ) ),
( this.containerId =
's2id_' +
( c.element.attr( 'id' ) || 'autogen' + f() ) ),
( this.containerEventName = this.containerId
.replace( /([.])/g, '_' )
.replace(
/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,
'\\$1'
) ),
this.container.attr( 'id', this.containerId ),
this.container.attr(
'title',
c.element.attr( 'title' )
),
( this.body = a( document.body ) ),
D(
this.container,
this.opts.element,
this.opts.adaptContainerCssClass
),
this.container.attr(
'style',
c.element.attr( 'style' )
),
this.container.css(
K( c.containerCss, this.opts.element )
),
this.container.addClass(
K( c.containerCssClass, this.opts.element )
),
( this.elementTabIndex = this.opts.element.attr(
'tabindex'
) ),
this.opts.element
.data( 'select2', this )
.attr( 'tabindex', '-1' )
.before( this.container )
.on( 'click.select2', A ),
this.container.data( 'select2', this ),
( this.dropdown = this.container.find(
'.select2-drop'
) ),
D(
this.dropdown,
this.opts.element,
this.opts.adaptDropdownCssClass
),
this.dropdown.addClass(
K( c.dropdownCssClass, this.opts.element )
),
this.dropdown.data( 'select2', this ),
this.dropdown.on( 'click', A ),
( this.results = d = this.container.find( g ) ),
( this.search = e = this.container.find(
'input.select2-input'
) ),
( this.queryCount = 0 ),
( this.resultsPage = 0 ),
( this.context = null ),
this.initContainer(),
this.container.on( 'click', A ),
v( this.results ),
this.dropdown.on(
'mousemove-filtered',
g,
this.bind( this.highlightUnderEvent )
),
this.dropdown.on(
'touchstart touchmove touchend',
g,
this.bind( function ( a ) {
( this._touchEvent = ! 0 ),
this.highlightUnderEvent( a );
} )
),
this.dropdown.on(
'touchmove',
g,
this.bind( this.touchMoved )
),
this.dropdown.on(
'touchstart touchend',
g,
this.bind( this.clearTouchMoved )
),
this.dropdown.on(
'click',
this.bind( function () {
this._touchEvent &&
( ( this._touchEvent = ! 1 ),
this.selectHighlighted() );
} )
),
x( 80, this.results ),
this.dropdown.on(
'scroll-debounced',
g,
this.bind( this.loadMoreIfNeeded )
),
a( this.container ).on(
'change',
'.select2-input',
function ( a ) {
a.stopPropagation();
}
),
a( this.dropdown ).on(
'change',
'.select2-input',
function ( a ) {
a.stopPropagation();
}
),
a.fn.mousewheel &&
d.mousewheel( function ( a, b, c, e ) {
var f = d.scrollTop();
e > 0 && 0 >= f - e
? ( d.scrollTop( 0 ), A( a ) )
: 0 > e &&
d.get( 0 ).scrollHeight -
d.scrollTop() +
e <=
d.height() &&
( d.scrollTop(
d.get( 0 ).scrollHeight -
d.height()
),
A( a ) );
} ),
u( e ),
e.on(
'keyup-change input paste',
this.bind( this.updateResults )
),
e.on( 'focus', function () {
e.addClass( 'select2-focused' );
} ),
e.on( 'blur', function () {
e.removeClass( 'select2-focused' );
} ),
this.dropdown.on(
'mouseup',
g,
this.bind( function ( b ) {
a( b.target ).closest(
'.select2-result-selectable'
).length > 0 &&
( this.highlightUnderEvent( b ),
this.selectHighlighted( b ) );
} )
),
this.dropdown.on(
'click mouseup mousedown touchstart touchend focusin',
function ( a ) {
a.stopPropagation();
}
),
( this.nextSearchTerm = b ),
a.isFunction( this.opts.initSelection ) &&
( this.initSelection(), this.monitorSource() ),
null !== c.maximumInputLength &&
this.search.attr(
'maxlength',
c.maximumInputLength
);
var h = c.element.prop( 'disabled' );
h === b && ( h = ! 1 ), this.enable( ! h );
var i = c.element.prop( 'readonly' );
i === b && ( i = ! 1 ),
this.readonly( i ),
( j = j || q() ),
( this.autofocus = c.element.prop( 'autofocus' ) ),
c.element.prop( 'autofocus', ! 1 ),
this.autofocus && this.focus(),
this.search.attr(
'placeholder',
c.searchInputPlaceholder
);
},
destroy: function () {
var a = this.opts.element,
c = a.data( 'select2' ),
d = this;
this.close(),
a.length &&
a[ 0 ].detachEvent &&
d._sync &&
a.each( function () {
d._sync &&
this.detachEvent(
'onpropertychange',
d._sync
);
} ),
this.propertyObserver &&
( this.propertyObserver.disconnect(),
( this.propertyObserver = null ) ),
( this._sync = null ),
c !== b &&
( c.container.remove(),
c.liveRegion.remove(),
c.dropdown.remove(),
a
.show()
.removeData( 'select2' )
.off( '.select2' )
.prop( 'autofocus', this.autofocus || ! 1 ),
this.elementTabIndex
? a.attr( {
tabindex: this.elementTabIndex,
} )
: a.removeAttr( 'tabindex' ),
a.show() ),
N.call(
this,
'container',
'liveRegion',
'dropdown',
'results',
'search'
);
},
optionToData: function ( a ) {
return a.is( 'option' )
? {
id: a.prop( 'value' ),
text: a.text(),
element: a.get(),
css: a.attr( 'class' ),
disabled: a.prop( 'disabled' ),
locked:
r( a.attr( 'locked' ), 'locked' ) ||
r( a.data( 'locked' ), ! 0 ),
}
: a.is( 'optgroup' )
? {
text: a.attr( 'label' ),
children: [],
element: a.get(),
css: a.attr( 'class' ),
}
: void 0;
},
prepareOpts: function ( c ) {
var d,
e,
g,
h,
i = this;
if (
( ( d = c.element ),
'select' === d.get( 0 ).tagName.toLowerCase() &&
( this.select = e = c.element ),
e &&
a.each(
[
'id',
'multiple',
'ajax',
'query',
'createSearchChoice',
'initSelection',
'data',
'tags',
],
function () {
if ( this in c )
throw new Error(
"Option '" +
this +
"' is not allowed for Select2 when attached to a <select> element."
);
}
),
( c = a.extend(
{},
{
populateResults: function ( d, e, g ) {
var h,
j = this.opts.id,
k = this.liveRegion;
( h = function ( d, e, l ) {
var m, n, o, p, q, r, s, t, u, v;
d = c.sortResults( d, e, g );
var w = [];
for (
m = 0, n = d.length;
n > m;
m += 1
)
( o = d[ m ] ),
( q = o.disabled === ! 0 ),
( p = ! q && j( o ) !== b ),
( r =
o.children &&
o.children.length > 0 ),
( s = a( '<li></li>' ) ),
s.addClass(
'select2-results-dept-' +
l
),
s.addClass(
'select2-result'
),
s.addClass(
p
? 'select2-result-selectable'
: 'select2-result-unselectable'
),
q &&
s.addClass(
'select2-disabled'
),
r &&
s.addClass(
'select2-result-with-children'
),
s.addClass(
i.opts.formatResultCssClass(
o
)
),
s.attr(
'role',
'presentation'
),
( t = a(
document.createElement(
'div'
)
) ),
t.addClass(
'select2-result-label'
),
t.attr(
'id',
'select2-result-label-' +
f()
),
t.attr( 'role', 'option' ),
( v = c.formatResult(
o,
t,
g,
i.opts.escapeMarkup
) ),
v !== b &&
( t.html( v ),
s.append( t ) ),
r &&
( ( u = a(
'<ul></ul>'
) ),
u.addClass(
'select2-result-sub'
),
h(
o.children,
u,
l + 1
),
s.append( u ) ),
s.data( 'select2-data', o ),
w.push( s[ 0 ] );
e.append( w ),
k.text(
c.formatMatches( d.length )
);
} ),
h( e, d, 0 );
},
},
a.fn.select2.defaults,
c
) ),
'function' != typeof c.id &&
( ( g = c.id ),
( c.id = function ( a ) {
return a[ g ];
} ) ),
a.isArray( c.element.data( 'select2Tags' ) ) )
) {
if ( 'tags' in c )
throw (
"tags specified as both an attribute 'data-select2-tags' and in options of Select2 " +
c.element.attr( 'id' )
);
c.tags = c.element.data( 'select2Tags' );
}
if (
( e
? ( ( c.query = this.bind( function ( a ) {
var f,
g,
h,
c = { results: [], more: ! 1 },
e = a.term;
( h = function ( b, c ) {
var d;
b.is( 'option' )
? a.matcher( e, b.text(), b ) &&
c.push( i.optionToData( b ) )
: b.is( 'optgroup' ) &&
( ( d = i.optionToData( b ) ),
b
.children()
.each2( function (
a,
b
) {
h( b, d.children );
} ),
d.children.length > 0 &&
c.push( d ) );
} ),
( f = d.children() ),
this.getPlaceholder() !== b &&
f.length > 0 &&
( ( g = this.getPlaceholderOption() ),
g && ( f = f.not( g ) ) ),
f.each2( function ( a, b ) {
h( b, c.results );
} ),
a.callback( c );
} ) ),
( c.id = function ( a ) {
return a.id;
} ) )
: 'query' in c ||
( 'ajax' in c
? ( ( h = c.element.data(
'ajax-url'
) ),
h &&
h.length > 0 &&
( c.ajax.url = h ),
( c.query = G.call(
c.element,
c.ajax
) ) )
: 'data' in c
? ( c.query = H( c.data ) )
: 'tags' in c &&
( ( c.query = I( c.tags ) ),
c.createSearchChoice === b &&
( c.createSearchChoice = function (
b
) {
return {
id: a.trim( b ),
text: a.trim( b ),
};
} ),
c.initSelection === b &&
( c.initSelection = function (
b,
d
) {
var e = [];
a(
s(
b.val(),
c.separator,
c.transformVal
)
).each( function () {
var b = {
id: this,
text: this,
},
d = c.tags;
a.isFunction( d ) &&
( d = d() ),
a( d ).each(
function () {
return r(
this.id,
b.id
)
? ( ( b = this ),
! 1 )
: void 0;
}
),
e.push( b );
} ),
d( e );
} ) ) ),
'function' != typeof c.query )
)
throw (
'query function not defined for Select2 ' +
c.element.attr( 'id' )
);
if ( 'top' === c.createSearchChoicePosition )
c.createSearchChoicePosition = function ( a, b ) {
a.unshift( b );
};
else if ( 'bottom' === c.createSearchChoicePosition )
c.createSearchChoicePosition = function ( a, b ) {
a.push( b );
};
else if (
'function' != typeof c.createSearchChoicePosition
)
throw "invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";
return c;
},
monitorSource: function () {
var d,
c = this.opts.element,
e = this;
c.on(
'change.select2',
this.bind( function () {
this.opts.element.data(
'select2-change-triggered'
) !== ! 0 && this.initSelection();
} )
),
( this._sync = this.bind( function () {
var a = c.prop( 'disabled' );
a === b && ( a = ! 1 ), this.enable( ! a );
var d = c.prop( 'readonly' );
d === b && ( d = ! 1 ),
this.readonly( d ),
this.container &&
( D(
this.container,
this.opts.element,
this.opts.adaptContainerCssClass
),
this.container.addClass(
K(
this.opts.containerCssClass,
this.opts.element
)
) ),
this.dropdown &&
( D(
this.dropdown,
this.opts.element,
this.opts.adaptDropdownCssClass
),
this.dropdown.addClass(
K(
this.opts.dropdownCssClass,
this.opts.element
)
) );
} ) ),
c.length &&
c[ 0 ].attachEvent &&
c.each( function () {
this.attachEvent(
'onpropertychange',
e._sync
);
} ),
( d =
window.MutationObserver ||
window.WebKitMutationObserver ||
window.MozMutationObserver ),
d !== b &&
( this.propertyObserver &&
( delete this.propertyObserver,
( this.propertyObserver = null ) ),
( this.propertyObserver = new d( function (
b
) {
a.each( b, e._sync );
} ) ),
this.propertyObserver.observe( c.get( 0 ), {
attributes: ! 0,
subtree: ! 1,
} ) );
},
triggerSelect: function ( b ) {
var c = a.Event( 'select2-selecting', {
val: this.id( b ),
object: b,
choice: b,
} );
return (
this.opts.element.trigger( c ),
! c.isDefaultPrevented()
);
},
triggerChange: function ( b ) {
( b = b || {} ),
( b = a.extend( {}, b, {
type: 'change',
val: this.val(),
} ) ),
this.opts.element.data(
'select2-change-triggered',
! 0
),
this.opts.element.trigger( b ),
this.opts.element.data(
'select2-change-triggered',
! 1
),
this.opts.element.click(),
this.opts.blurOnChange && this.opts.element.blur();
},
isInterfaceEnabled: function () {
return this.enabledInterface === ! 0;
},
enableInterface: function () {
var a = this._enabled && ! this._readonly,
b = ! a;
return a === this.enabledInterface
? ! 1
: ( this.container.toggleClass(
'select2-container-disabled',
b
),
this.close(),
( this.enabledInterface = a ),
! 0 );
},
enable: function ( a ) {
a === b && ( a = ! 0 ),
this._enabled !== a &&
( ( this._enabled = a ),
this.opts.element.prop( 'disabled', ! a ),
this.enableInterface() );
},
disable: function () {
this.enable( ! 1 );
},
readonly: function ( a ) {
a === b && ( a = ! 1 ),
this._readonly !== a &&
( ( this._readonly = a ),
this.opts.element.prop( 'readonly', a ),
this.enableInterface() );
},
opened: function () {
return this.container
? this.container.hasClass( 'select2-dropdown-open' )
: ! 1;
},
positionDropdown: function () {
var v,
w,
x,
y,
z,
b = this.dropdown,
c = this.container,
d = c.offset(),
e = c.outerHeight( ! 1 ),
f = c.outerWidth( ! 1 ),
g = b.outerHeight( ! 1 ),
h = a( window ),
i = h.width(),
k = h.height(),
l = h.scrollLeft() + i,
m = h.scrollTop() + k,
n = d.top + e,
o = d.left,
p = m >= n + g,
q = d.top - g >= h.scrollTop(),
r = b.outerWidth( ! 1 ),
s = function () {
return l >= o + r;
},
t = function () {
return d.left + l + c.outerWidth( ! 1 ) > r;
},
u = b.hasClass( 'select2-drop-above' );
u
? ( ( w = ! 0 ),
! q && p && ( ( x = ! 0 ), ( w = ! 1 ) ) )
: ( ( w = ! 1 ),
! p && q && ( ( x = ! 0 ), ( w = ! 0 ) ) ),
x &&
( b.hide(),
( d = this.container.offset() ),
( e = this.container.outerHeight( ! 1 ) ),
( f = this.container.outerWidth( ! 1 ) ),
( g = b.outerHeight( ! 1 ) ),
( l = h.scrollLeft() + i ),
( m = h.scrollTop() + k ),
( n = d.top + e ),
( o = d.left ),
( r = b.outerWidth( ! 1 ) ),
b.show(),
this.focusSearch() ),
this.opts.dropdownAutoWidth
? ( ( z = a( '.select2-results', b )[ 0 ] ),
b.addClass( 'select2-drop-auto-width' ),
b.css( 'width', '' ),
( r =
b.outerWidth( ! 1 ) +
( z.scrollHeight === z.clientHeight
? 0
: j.width ) ),
r > f ? ( f = r ) : ( r = f ),
( g = b.outerHeight( ! 1 ) ) )
: this.container.removeClass(
'select2-drop-auto-width'
),
'static' !== this.body.css( 'position' ) &&
( ( v = this.body.offset() ),
( n -= v.top ),
( o -= v.left ) ),
! s() &&
t() &&
( o =
d.left +
this.container.outerWidth( ! 1 ) -
r ),
( y = { left: o, width: f } ),
w
? ( ( y.top = d.top - g ),
( y.bottom = 'auto' ),
this.container.addClass(
'select2-drop-above'
),
b.addClass( 'select2-drop-above' ) )
: ( ( y.top = n ),
( y.bottom = 'auto' ),
this.container.removeClass(
'select2-drop-above'
),
b.removeClass( 'select2-drop-above' ) ),
( y = a.extend(
y,
K( this.opts.dropdownCss, this.opts.element )
) ),
b.css( y );
},
shouldOpen: function () {
var b;
return this.opened()
? ! 1
: this._enabled === ! 1 || this._readonly === ! 0
? ! 1
: ( ( b = a.Event( 'select2-opening' ) ),
this.opts.element.trigger( b ),
! b.isDefaultPrevented() );
},
clearDropdownAlignmentPreference: function () {
this.container.removeClass( 'select2-drop-above' ),
this.dropdown.removeClass( 'select2-drop-above' );
},
open: function () {
return this.shouldOpen()
? ( this.opening(),
i.on( 'mousemove.select2Event', function ( a ) {
( h.x = a.pageX ), ( h.y = a.pageY );
} ),
! 0 )
: ! 1;
},
opening: function () {
var f,
b = this.containerEventName,
c = 'scroll.' + b,
d = 'resize.' + b,
e = 'orientationchange.' + b;
this.container
.addClass( 'select2-dropdown-open' )
.addClass( 'select2-container-active' ),
this.clearDropdownAlignmentPreference(),
this.dropdown[ 0 ] !==
this.body.children().last()[ 0 ] &&
this.dropdown.detach().appendTo( this.body ),
( f = a( '#select2-drop-mask' ) ),
0 === f.length &&
( ( f = a( document.createElement( 'div' ) ) ),
f
.attr( 'id', 'select2-drop-mask' )
.attr( 'class', 'select2-drop-mask' ),
f.hide(),
f.appendTo( this.body ),
f.on(
'mousedown touchstart click',
function ( b ) {
n( f );
var d,
c = a( '#select2-drop' );
c.length > 0 &&
( ( d = c.data( 'select2' ) ),
d.opts.selectOnBlur &&
d.selectHighlighted( {
noFocus: ! 0,
} ),
d.close(),
b.preventDefault(),
b.stopPropagation() );
}
) ),
this.dropdown.prev()[ 0 ] !== f[ 0 ] &&
this.dropdown.before( f ),
a( '#select2-drop' ).removeAttr( 'id' ),
this.dropdown.attr( 'id', 'select2-drop' ),
f.show(),
this.positionDropdown(),
this.dropdown.show(),
this.positionDropdown(),
this.dropdown.addClass( 'select2-drop-active' );
var g = this;
this.container
.parents()
.add( window )
.each( function () {
a( this ).on(
d + ' ' + c + ' ' + e,
function () {
g.opened() && g.positionDropdown();
}
);
} );
},
close: function () {
if ( this.opened() ) {
var b = this.containerEventName,
c = 'scroll.' + b,
d = 'resize.' + b,
e = 'orientationchange.' + b;
this.container
.parents()
.add( window )
.each( function () {
a( this ).off( c ).off( d ).off( e );
} ),
this.clearDropdownAlignmentPreference(),
a( '#select2-drop-mask' ).hide(),
this.dropdown.removeAttr( 'id' ),
this.dropdown.hide(),
this.container
.removeClass( 'select2-dropdown-open' )
.removeClass( 'select2-container-active' ),
this.results.empty(),
i.off( 'mousemove.select2Event' ),
this.clearSearch(),
this.search.removeClass( 'select2-active' ),
this.opts.element.trigger(
a.Event( 'select2-close' )
);
}
},
externalSearch: function ( a ) {
this.open(),
this.search.val( a ),
this.updateResults( ! 1 );
},
clearSearch: function () {},
getMaximumSelectionSize: function () {
return K(
this.opts.maximumSelectionSize,
this.opts.element
);
},
ensureHighlightVisible: function () {
var c,
d,
e,
f,
g,
h,
i,
j,
b = this.results;
if ( ( ( d = this.highlight() ), ! ( 0 > d ) ) ) {
if ( 0 == d ) return b.scrollTop( 0 ), void 0;
( c = this.findHighlightableChoices().find(
'.select2-result-label'
) ),
( e = a( c[ d ] ) ),
( j = ( e.offset() || {} ).top || 0 ),
( f = j + e.outerHeight( ! 0 ) ),
d === c.length - 1 &&
( ( i = b.find(
'li.select2-more-results'
) ),
i.length > 0 &&
( f =
i.offset().top +
i.outerHeight( ! 0 ) ) ),
( g = b.offset().top + b.outerHeight( ! 1 ) ),
f > g &&
b.scrollTop( b.scrollTop() + ( f - g ) ),
( h = j - b.offset().top ),
0 > h &&
'none' != e.css( 'display' ) &&
b.scrollTop( b.scrollTop() + h );
}
},
findHighlightableChoices: function () {
return this.results.find(
'.select2-result-selectable:not(.select2-disabled):not(.select2-selected)'
);
},
moveHighlight: function ( b ) {
for (
var c = this.findHighlightableChoices(),
d = this.highlight();
d > -1 && d < c.length;
) {
d += b;
var e = a( c[ d ] );
if (
e.hasClass( 'select2-result-selectable' ) &&
! e.hasClass( 'select2-disabled' ) &&
! e.hasClass( 'select2-selected' )
) {
this.highlight( d );
break;
}
}
},
highlight: function ( b ) {
var d,
e,
c = this.findHighlightableChoices();
return 0 === arguments.length
? p(
c.filter( '.select2-highlighted' )[ 0 ],
c.get()
)
: ( b >= c.length && ( b = c.length - 1 ),
0 > b && ( b = 0 ),
this.removeHighlight(),
( d = a( c[ b ] ) ),
d.addClass( 'select2-highlighted' ),
this.search.attr(
'aria-activedescendant',
d
.find( '.select2-result-label' )
.attr( 'id' )
),
this.ensureHighlightVisible(),
this.liveRegion.text( d.text() ),
( e = d.data( 'select2-data' ) ),
e &&
this.opts.element.trigger( {
type: 'select2-highlight',
val: this.id( e ),
choice: e,
} ),
void 0 );
},
removeHighlight: function () {
this.results
.find( '.select2-highlighted' )
.removeClass( 'select2-highlighted' );
},
touchMoved: function () {
this._touchMoved = ! 0;
},
clearTouchMoved: function () {
this._touchMoved = ! 1;
},
countSelectableResults: function () {
return this.findHighlightableChoices().length;
},
highlightUnderEvent: function ( b ) {
var c = a( b.target ).closest(
'.select2-result-selectable'
);
if (
c.length > 0 &&
! c.is( '.select2-highlighted' )
) {
var d = this.findHighlightableChoices();
this.highlight( d.index( c ) );
} else 0 == c.length && this.removeHighlight();
},
loadMoreIfNeeded: function () {
var c,
a = this.results,
b = a.find( 'li.select2-more-results' ),
d = this.resultsPage + 1,
e = this,
f = this.search.val(),
g = this.context;
0 !== b.length &&
( ( c =
b.offset().top - a.offset().top - a.height() ),
c <= this.opts.loadMorePadding &&
( b.addClass( 'select2-active' ),
this.opts.query( {
element: this.opts.element,
term: f,
page: d,
context: g,
matcher: this.opts.matcher,
callback: this.bind( function ( c ) {
e.opened() &&
( e.opts.populateResults.call(
this,
a,
c.results,
{ term: f, page: d, context: g }
),
e.postprocessResults( c, ! 1, ! 1 ),
c.more === ! 0
? ( b
.detach()
.appendTo( a )
.html(
e.opts.escapeMarkup(
K(
e.opts
.formatLoadMore,
e.opts
.element,
d + 1
)
)
),
window.setTimeout(
function () {
e.loadMoreIfNeeded();
},
10
) )
: b.remove(),
e.positionDropdown(),
( e.resultsPage = d ),
( e.context = c.context ),
this.opts.element.trigger( {
type: 'select2-loaded',
items: c,
} ) );
} ),
} ) ) );
},
tokenize: function () {},
updateResults: function ( c ) {
function m() {
d.removeClass( 'select2-active' ),
h.positionDropdown(),
e.find(
'.select2-no-results,.select2-selection-limit,.select2-searching'
).length
? h.liveRegion.text( e.text() )
: h.liveRegion.text(
h.opts.formatMatches(
e.find(
'.select2-result-selectable:not(".select2-selected")'
).length
)
);
}
function n( a ) {
e.html( a ), m();
}
var g,
i,
l,
d = this.search,
e = this.results,
f = this.opts,
h = this,
j = d.val(),
k = a.data( this.container, 'select2-last-term' );
if (
( c === ! 0 || ! k || ! r( j, k ) ) &&
( a.data( this.container, 'select2-last-term', j ),
c === ! 0 ||
( this.showSearchInput !== ! 1 &&
this.opened() ) )
) {
l = ++this.queryCount;
var o = this.getMaximumSelectionSize();
if (
o >= 1 &&
( ( g = this.data() ),
a.isArray( g ) &&
g.length >= o &&
J(
f.formatSelectionTooBig,
'formatSelectionTooBig'
) )
)
return (
n(
"<li class='select2-selection-limit'>" +
K(
f.formatSelectionTooBig,
f.element,
o
) +
'</li>'
),
void 0
);
if ( d.val().length < f.minimumInputLength )
return (
J(
f.formatInputTooShort,
'formatInputTooShort'
)
? n(
"<li class='select2-no-results'>" +
K(
f.formatInputTooShort,
f.element,
d.val(),
f.minimumInputLength
) +
'</li>'
)
: n( '' ),
c &&
this.showSearch &&
this.showSearch( ! 0 ),
void 0
);
if (
f.maximumInputLength &&
d.val().length > f.maximumInputLength
)
return (
J(
f.formatInputTooLong,
'formatInputTooLong'
)
? n(
"<li class='select2-no-results'>" +
K(
f.formatInputTooLong,
f.element,
d.val(),
f.maximumInputLength
) +
'</li>'
)
: n( '' ),
void 0
);
f.formatSearching &&
0 === this.findHighlightableChoices().length &&
n(
"<li class='select2-searching'>" +
K( f.formatSearching, f.element ) +
'</li>'
),
d.addClass( 'select2-active' ),
this.removeHighlight(),
( i = this.tokenize() ),
i != b && null != i && d.val( i ),
( this.resultsPage = 1 ),
f.query( {
element: f.element,
term: d.val(),
page: this.resultsPage,
context: null,
matcher: f.matcher,
callback: this.bind( function ( g ) {
var i;
if ( l == this.queryCount ) {
if ( ! this.opened() )
return (
this.search.removeClass(
'select2-active'
),
void 0
);
if (
g.hasError !== b &&
J(
f.formatAjaxError,
'formatAjaxError'
)
)
return (
n(
"<li class='select2-ajax-error'>" +
K(
f.formatAjaxError,
f.element,
g.jqXHR,
g.textStatus,
g.errorThrown
) +
'</li>'
),
void 0
);
if (
( ( this.context =
g.context === b
? null
: g.context ),
this.opts.createSearchChoice &&
'' !== d.val() &&
( ( i = this.opts.createSearchChoice.call(
h,
d.val(),
g.results
) ),
i !== b &&
null !== i &&
h.id( i ) !== b &&
null !== h.id( i ) &&
0 ===
a(
g.results
).filter(
function () {
return r(
h.id(
this
),
h.id(
i
)
);
}
).length &&
this.opts.createSearchChoicePosition(
g.results,
i
) ),
0 === g.results.length &&
J(
f.formatNoMatches,
'formatNoMatches'
) )
)
return (
n(
"<li class='select2-no-results'>" +
K(
f.formatNoMatches,
f.element,
d.val()
) +
'</li>'
),
void 0
);
e.empty(),
h.opts.populateResults.call(
this,
e,
g.results,
{
term: d.val(),
page: this.resultsPage,
context: null,
}
),
g.more === ! 0 &&
J(
f.formatLoadMore,
'formatLoadMore'
) &&
( e.append(
"<li class='select2-more-results'>" +
f.escapeMarkup(
K(
f.formatLoadMore,
f.element,
this
.resultsPage
)
) +
'</li>'
),
window.setTimeout(
function () {
h.loadMoreIfNeeded();
},
10
) ),
this.postprocessResults( g, c ),
m(),
this.opts.element.trigger( {
type: 'select2-loaded',
items: g,
} );
}
} ),
} );
}
},
cancel: function () {
this.close();
},
blur: function () {
this.opts.selectOnBlur &&
this.selectHighlighted( { noFocus: ! 0 } ),
this.close(),
this.container.removeClass(
'select2-container-active'
),
this.search[ 0 ] === document.activeElement &&
this.search.blur(),
this.clearSearch(),
this.selection
.find( '.select2-search-choice-focus' )
.removeClass( 'select2-search-choice-focus' );
},
focusSearch: function () {
y( this.search );
},
selectHighlighted: function ( a ) {
if ( this._touchMoved )
return this.clearTouchMoved(), void 0;
var b = this.highlight(),
c = this.results.find( '.select2-highlighted' ),
d = c
.closest( '.select2-result' )
.data( 'select2-data' );
d
? ( this.highlight( b ), this.onSelect( d, a ) )
: a && a.noFocus && this.close();
},
getPlaceholder: function () {
var a;
return (
this.opts.element.attr( 'placeholder' ) ||
this.opts.element.attr( 'data-placeholder' ) ||
this.opts.element.data( 'placeholder' ) ||
this.opts.placeholder ||
( ( a = this.getPlaceholderOption() ) !== b
? a.text()
: b )
);
},
getPlaceholderOption: function () {
if ( this.select ) {
var c = this.select.children( 'option' ).first();
if ( this.opts.placeholderOption !== b )
return (
( 'first' === this.opts.placeholderOption &&
c ) ||
( 'function' ==
typeof this.opts.placeholderOption &&
this.opts.placeholderOption(
this.select
) )
);
if ( '' === a.trim( c.text() ) && '' === c.val() )
return c;
}
},
initContainerWidth: function () {
function c() {
var c, d, e, f, g, h;
if ( 'off' === this.opts.width ) return null;
if ( 'element' === this.opts.width )
return 0 === this.opts.element.outerWidth( ! 1 )
? 'auto'
: this.opts.element.outerWidth( ! 1 ) +
'px';
if (
'copy' === this.opts.width ||
'resolve' === this.opts.width
) {
if (
( ( c = this.opts.element.attr( 'style' ) ),
c !== b )
)
for (
d = c.split( ';' ), f = 0, g = d.length;
g > f;
f += 1
)
if (
( ( h = d[ f ].replace(
/\s/g,
''
) ),
( e = h.match(
/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i
) ),
null !== e && e.length >= 1 )
)
return e[ 1 ];
return 'resolve' === this.opts.width
? ( ( c = this.opts.element.css(
'width'
) ),
c.indexOf( '%' ) > 0
? c
: 0 ===
this.opts.element.outerWidth(
! 1
)
? 'auto'
: this.opts.element.outerWidth(
! 1
) + 'px' )
: null;
}
return a.isFunction( this.opts.width )
? this.opts.width()
: this.opts.width;
}
var d = c.call( this );
null !== d && this.container.css( 'width', d );
},
} ) ),
( d = O( c, {
createContainer: function () {
var b = a( document.createElement( 'div' ) )
.attr( { class: 'select2-container' } )
.html(
[
"<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>",
" <span class='select2-chosen'>&#160;</span><abbr class='select2-search-choice-close'></abbr>",
" <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>",
'</a>',
"<label for='' class='select2-offscreen'></label>",
"<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />",
"<div class='select2-drop select2-display-none'>",
" <div class='select2-search'>",
" <label for='' class='select2-offscreen'></label>",
" <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'",
" aria-autocomplete='list' />",
' </div>',
" <ul class='select2-results' role='listbox'>",
' </ul>',
'</div>',
].join( '' )
);
return b;
},
enableInterface: function () {
this.parent.enableInterface.apply( this, arguments ) &&
this.focusser.prop(
'disabled',
! this.isInterfaceEnabled()
);
},
opening: function () {
var c, d, e;
this.opts.minimumResultsForSearch >= 0 &&
this.showSearch( ! 0 ),
this.parent.opening.apply( this, arguments ),
this.showSearchInput !== ! 1 &&
this.search.val( this.focusser.val() ),
this.opts.shouldFocusInput( this ) &&
( this.search.focus(),
( c = this.search.get( 0 ) ),
c.createTextRange
? ( ( d = c.createTextRange() ),
d.collapse( ! 1 ),
d.select() )
: c.setSelectionRange &&
( ( e = this.search.val().length ),
c.setSelectionRange( e, e ) ) ),
'' === this.search.val() &&
this.nextSearchTerm != b &&
( this.search.val( this.nextSearchTerm ),
this.search.select() ),
this.focusser.prop( 'disabled', ! 0 ).val( '' ),
this.updateResults( ! 0 ),
this.opts.element.trigger(
a.Event( 'select2-open' )
);
},
close: function () {
this.opened() &&
( this.parent.close.apply( this, arguments ),
this.focusser.prop( 'disabled', ! 1 ),
this.opts.shouldFocusInput( this ) &&
this.focusser.focus() );
},
focus: function () {
this.opened()
? this.close()
: ( this.focusser.prop( 'disabled', ! 1 ),
this.opts.shouldFocusInput( this ) &&
this.focusser.focus() );
},
isFocused: function () {
return this.container.hasClass(
'select2-container-active'
);
},
cancel: function () {
this.parent.cancel.apply( this, arguments ),
this.focusser.prop( 'disabled', ! 1 ),
this.opts.shouldFocusInput( this ) &&
this.focusser.focus();
},
destroy: function () {
a(
"label[for='" + this.focusser.attr( 'id' ) + "']"
).attr( 'for', this.opts.element.attr( 'id' ) ),
this.parent.destroy.apply( this, arguments ),
N.call( this, 'selection', 'focusser' );
},
initContainer: function () {
var b,
g,
c = this.container,
d = this.dropdown,
e = f();
this.opts.minimumResultsForSearch < 0
? this.showSearch( ! 1 )
: this.showSearch( ! 0 ),
( this.selection = b = c.find(
'.select2-choice'
) ),
( this.focusser = c.find( '.select2-focusser' ) ),
b
.find( '.select2-chosen' )
.attr( 'id', 'select2-chosen-' + e ),
this.focusser.attr(
'aria-labelledby',
'select2-chosen-' + e
),
this.results.attr( 'id', 'select2-results-' + e ),
this.search.attr(
'aria-owns',
'select2-results-' + e
),
this.focusser.attr( 'id', 's2id_autogen' + e ),
( g = a(
"label[for='" +
this.opts.element.attr( 'id' ) +
"']"
) ),
this.opts.element.focus(
this.bind( function () {
this.focus();
} )
),
this.focusser
.prev()
.text( g.text() )
.attr( 'for', this.focusser.attr( 'id' ) );
var h = this.opts.element.attr( 'title' );
this.opts.element.attr( 'title', h || g.text() ),
this.focusser.attr(
'tabindex',
this.elementTabIndex
),
this.search.attr(
'id',
this.focusser.attr( 'id' ) + '_search'
),
this.search
.prev()
.text(
a(
"label[for='" +
this.focusser.attr( 'id' ) +
"']"
).text()
)
.attr( 'for', this.search.attr( 'id' ) ),
this.search.on(
'keydown',
this.bind( function ( a ) {
if (
this.isInterfaceEnabled() &&
229 != a.keyCode
) {
if (
a.which === k.PAGE_UP ||
a.which === k.PAGE_DOWN
)
return A( a ), void 0;
switch ( a.which ) {
case k.UP:
case k.DOWN:
return (
this.moveHighlight(
a.which === k.UP
? -1
: 1
),
A( a ),
void 0
);
case k.ENTER:
return (
this.selectHighlighted(),
A( a ),
void 0
);
case k.TAB:
return (
this.selectHighlighted( {
noFocus: ! 0,
} ),
void 0
);
case k.ESC:
return (
this.cancel( a ),
A( a ),
void 0
);
}
}
} )
),
this.search.on(
'blur',
this.bind( function () {
document.activeElement ===
this.body.get( 0 ) &&
window.setTimeout(
this.bind( function () {
this.opened() &&
this.search.focus();
} ),
0
);
} )
),
this.focusser.on(
'keydown',
this.bind( function ( a ) {
if (
this.isInterfaceEnabled() &&
a.which !== k.TAB &&
! k.isControl( a ) &&
! k.isFunctionKey( a ) &&
a.which !== k.ESC
) {
if (
this.opts.openOnEnter === ! 1 &&
a.which === k.ENTER
)
return A( a ), void 0;
if (
a.which == k.DOWN ||
a.which == k.UP ||
( a.which == k.ENTER &&
this.opts.openOnEnter )
) {
if (
a.altKey ||
a.ctrlKey ||
a.shiftKey ||
a.metaKey
)
return;
return this.open(), A( a ), void 0;
}
return a.which == k.DELETE ||
a.which == k.BACKSPACE
? ( this.opts.allowClear &&
this.clear(),
A( a ),
void 0 )
: void 0;
}
} )
),
u( this.focusser ),
this.focusser.on(
'keyup-change input',
this.bind( function ( a ) {
if (
this.opts.minimumResultsForSearch >= 0
) {
if (
( a.stopPropagation(),
this.opened() )
)
return;
this.open();
}
} )
),
b.on(
'mousedown touchstart',
'abbr',
this.bind( function ( a ) {
this.isInterfaceEnabled() &&
( this.clear(),
B( a ),
this.close(),
this.selection &&
this.selection.focus() );
} )
),
b.on(
'mousedown touchstart',
this.bind( function ( c ) {
n( b ),
this.container.hasClass(
'select2-container-active'
) ||
this.opts.element.trigger(
a.Event( 'select2-focus' )
),
this.opened()
? this.close()
: this.isInterfaceEnabled() &&
this.open(),
A( c );
} )
),
d.on(
'mousedown touchstart',
this.bind( function () {
this.opts.shouldFocusInput( this ) &&
this.search.focus();
} )
),
b.on(
'focus',
this.bind( function ( a ) {
A( a );
} )
),
this.focusser
.on(
'focus',
this.bind( function () {
this.container.hasClass(
'select2-container-active'
) ||
this.opts.element.trigger(
a.Event( 'select2-focus' )
),
this.container.addClass(
'select2-container-active'
);
} )
)
.on(
'blur',
this.bind( function () {
this.opened() ||
( this.container.removeClass(
'select2-container-active'
),
this.opts.element.trigger(
a.Event( 'select2-blur' )
) );
} )
),
this.search.on(
'focus',
this.bind( function () {
this.container.hasClass(
'select2-container-active'
) ||
this.opts.element.trigger(
a.Event( 'select2-focus' )
),
this.container.addClass(
'select2-container-active'
);
} )
),
this.initContainerWidth(),
this.opts.element.hide(),
this.setPlaceholder();
},
clear: function ( b ) {
var c = this.selection.data( 'select2-data' );
if ( c ) {
var d = a.Event( 'select2-clearing' );
if (
( this.opts.element.trigger( d ),
d.isDefaultPrevented() )
)
return;
var e = this.getPlaceholderOption();
this.opts.element.val( e ? e.val() : '' ),
this.selection
.find( '.select2-chosen' )
.empty(),
this.selection.removeData( 'select2-data' ),
this.setPlaceholder(),
b !== ! 1 &&
( this.opts.element.trigger( {
type: 'select2-removed',
val: this.id( c ),
choice: c,
} ),
this.triggerChange( { removed: c } ) );
}
},
initSelection: function () {
if ( this.isPlaceholderOptionSelected() )
this.updateSelection( null ),
this.close(),
this.setPlaceholder();
else {
var c = this;
this.opts.initSelection.call(
null,
this.opts.element,
function ( a ) {
a !== b &&
null !== a &&
( c.updateSelection( a ),
c.close(),
c.setPlaceholder(),
( c.nextSearchTerm = c.opts.nextSearchTerm(
a,
c.search.val()
) ) );
}
);
}
},
isPlaceholderOptionSelected: function () {
var a;
return this.getPlaceholder() === b
? ! 1
: ( ( a = this.getPlaceholderOption() ) !== b &&
a.prop( 'selected' ) ) ||
'' === this.opts.element.val() ||
this.opts.element.val() === b ||
null === this.opts.element.val();
},
prepareOpts: function () {
var b = this.parent.prepareOpts.apply(
this,
arguments
),
c = this;
return (
'select' ===
b.element.get( 0 ).tagName.toLowerCase()
? ( b.initSelection = function ( a, b ) {
var d = a
.find( 'option' )
.filter( function () {
return (
this.selected &&
! this.disabled
);
} );
b( c.optionToData( d ) );
} )
: 'data' in b &&
( b.initSelection =
b.initSelection ||
function ( c, d ) {
var e = c.val(),
f = null;
b.query( {
matcher: function ( a, c, d ) {
var g = r( e, b.id( d ) );
return g && ( f = d ), g;
},
callback: a.isFunction( d )
? function () {
d( f );
}
: a.noop,
} );
} ),
b
);
},
getPlaceholder: function () {
return this.select && this.getPlaceholderOption() === b
? b
: this.parent.getPlaceholder.apply(
this,
arguments
);
},
setPlaceholder: function () {
var a = this.getPlaceholder();
if ( this.isPlaceholderOptionSelected() && a !== b ) {
if (
this.select &&
this.getPlaceholderOption() === b
)
return;
this.selection
.find( '.select2-chosen' )
.html( this.opts.escapeMarkup( a ) ),
this.selection.addClass( 'select2-default' ),
this.container.removeClass(
'select2-allowclear'
);
}
},
postprocessResults: function ( a, b, c ) {
var d = 0,
e = this;
if (
( this.findHighlightableChoices().each2( function (
a,
b
) {
return r(
e.id( b.data( 'select2-data' ) ),
e.opts.element.val()
)
? ( ( d = a ), ! 1 )
: void 0;
} ),
c !== ! 1 &&
( b === ! 0 && d >= 0
? this.highlight( d )
: this.highlight( 0 ) ),
b === ! 0 )
) {
var g = this.opts.minimumResultsForSearch;
g >= 0 && this.showSearch( L( a.results ) >= g );
}
},
showSearch: function ( b ) {
this.showSearchInput !== b &&
( ( this.showSearchInput = b ),
this.dropdown
.find( '.select2-search' )
.toggleClass( 'select2-search-hidden', ! b ),
this.dropdown
.find( '.select2-search' )
.toggleClass( 'select2-offscreen', ! b ),
a( this.dropdown, this.container ).toggleClass(
'select2-with-searchbox',
b
) );
},
onSelect: function ( a, b ) {
if ( this.triggerSelect( a ) ) {
var c = this.opts.element.val(),
d = this.data();
this.opts.element.val( this.id( a ) ),
this.updateSelection( a ),
this.opts.element.trigger( {
type: 'select2-selected',
val: this.id( a ),
choice: a,
} ),
( this.nextSearchTerm = this.opts.nextSearchTerm(
a,
this.search.val()
) ),
this.close(),
( b && b.noFocus ) ||
! this.opts.shouldFocusInput( this ) ||
this.focusser.focus(),
r( c, this.id( a ) ) ||
this.triggerChange( {
added: a,
removed: d,
} );
}
},
updateSelection: function ( a ) {
var d,
e,
c = this.selection.find( '.select2-chosen' );
this.selection.data( 'select2-data', a ),
c.empty(),
null !== a &&
( d = this.opts.formatSelection(
a,
c,
this.opts.escapeMarkup
) ),
d !== b && c.append( d ),
( e = this.opts.formatSelectionCssClass( a, c ) ),
e !== b && c.addClass( e ),
this.selection.removeClass( 'select2-default' ),
this.opts.allowClear &&
this.getPlaceholder() !== b &&
this.container.addClass( 'select2-allowclear' );
},
val: function () {
var a,
c = ! 1,
d = null,
e = this,
f = this.data();
if ( 0 === arguments.length )
return this.opts.element.val();
if (
( ( a = arguments[ 0 ] ),
arguments.length > 1 && ( c = arguments[ 1 ] ),
this.select )
)
this.select
.val( a )
.find( 'option' )
.filter( function () {
return this.selected;
} )
.each2( function ( a, b ) {
return ( d = e.optionToData( b ) ), ! 1;
} ),
this.updateSelection( d ),
this.setPlaceholder(),
c &&
this.triggerChange( {
added: d,
removed: f,
} );
else {
if ( ! a && 0 !== a )
return this.clear( c ), void 0;
if ( this.opts.initSelection === b )
throw new Error(
'cannot call val() if initSelection() is not defined'
);
this.opts.element.val( a ),
this.opts.initSelection(
this.opts.element,
function ( a ) {
e.opts.element.val(
a ? e.id( a ) : ''
),
e.updateSelection( a ),
e.setPlaceholder(),
c &&
e.triggerChange( {
added: a,
removed: f,
} );
}
);
}
},
clearSearch: function () {
this.search.val( '' ), this.focusser.val( '' );
},
data: function ( a ) {
var c,
d = ! 1;
return 0 === arguments.length
? ( ( c = this.selection.data( 'select2-data' ) ),
c == b && ( c = null ),
c )
: ( arguments.length > 1 && ( d = arguments[ 1 ] ),
a
? ( ( c = this.data() ),
this.opts.element.val(
a ? this.id( a ) : ''
),
this.updateSelection( a ),
d &&
this.triggerChange( {
added: a,
removed: c,
} ) )
: this.clear( d ),
void 0 );
},
} ) ),
( e = O( c, {
createContainer: function () {
var b = a( document.createElement( 'div' ) )
.attr( {
class:
'select2-container select2-container-multi',
} )
.html(
[
"<ul class='select2-choices'>",
" <li class='select2-search-field'>",
" <label for='' class='select2-offscreen'></label>",
" <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>",
' </li>',
'</ul>',
"<div class='select2-drop select2-drop-multi select2-display-none'>",
" <ul class='select2-results'>",
' </ul>',
'</div>',
].join( '' )
);
return b;
},
prepareOpts: function () {
var b = this.parent.prepareOpts.apply(
this,
arguments
),
c = this;
return (
'select' ===
b.element.get( 0 ).tagName.toLowerCase()
? ( b.initSelection = function ( a, b ) {
var d = [];
a
.find( 'option' )
.filter( function () {
return (
this.selected &&
! this.disabled
);
} )
.each2( function ( a, b ) {
d.push( c.optionToData( b ) );
} ),
b( d );
} )
: 'data' in b &&
( b.initSelection =
b.initSelection ||
function ( c, d ) {
var e = s(
c.val(),
b.separator,
b.transformVal
),
f = [];
b.query( {
matcher: function ( c, d, g ) {
var h = a.grep(
e,
function ( a ) {
return r(
a,
b.id( g )
);
}
).length;
return h && f.push( g ), h;
},
callback: a.isFunction( d )
? function () {
for (
var a = [],
c = 0;
c < e.length;
c++
)
for (
var g =
e[
c
],
h = 0;
h <
f.length;
h++
) {
var i =
f[ h ];
if (
r(
g,
b.id(
i
)
)
) {
a.push(
i
),
f.splice(
h,
1
);
break;
}
}
d( a );
}
: a.noop,
} );
} ),
b
);
},
selectChoice: function ( a ) {
var b = this.container.find(
'.select2-search-choice-focus'
);
( b.length && a && a[ 0 ] == b[ 0 ] ) ||
( b.length &&
this.opts.element.trigger(
'choice-deselected',
b
),
b.removeClass( 'select2-search-choice-focus' ),
a &&
a.length &&
( this.close(),
a.addClass( 'select2-search-choice-focus' ),
this.opts.element.trigger(
'choice-selected',
a
) ) );
},
destroy: function () {
a(
"label[for='" + this.search.attr( 'id' ) + "']"
).attr( 'for', this.opts.element.attr( 'id' ) ),
this.parent.destroy.apply( this, arguments ),
N.call( this, 'searchContainer', 'selection' );
},
initContainer: function () {
var c,
b = '.select2-choices';
( this.searchContainer = this.container.find(
'.select2-search-field'
) ),
( this.selection = c = this.container.find( b ) );
var d = this;
this.selection.on(
'click',
'.select2-container:not(.select2-container-disabled) .select2-search-choice:not(.select2-locked)',
function () {
d.search[ 0 ].focus(),
d.selectChoice( a( this ) );
}
),
this.search.attr( 'id', 's2id_autogen' + f() ),
this.search
.prev()
.text(
a(
"label[for='" +
this.opts.element.attr( 'id' ) +
"']"
).text()
)
.attr( 'for', this.search.attr( 'id' ) ),
this.opts.element.focus(
this.bind( function () {
this.focus();
} )
),
this.search.on(
'input paste',
this.bind( function () {
( this.search.attr( 'placeholder' ) &&
0 == this.search.val().length ) ||
( this.isInterfaceEnabled() &&
( this.opened() || this.open() ) );
} )
),
this.search.attr(
'tabindex',
this.elementTabIndex
),
( this.keydowns = 0 ),
this.search.on(
'keydown',
this.bind( function ( a ) {
if ( this.isInterfaceEnabled() ) {
++this.keydowns;
var b = c.find(
'.select2-search-choice-focus'
),
d = b.prev(
'.select2-search-choice:not(.select2-locked)'
),
e = b.next(
'.select2-search-choice:not(.select2-locked)'
),
f = z( this.search );
if (
b.length &&
( a.which == k.LEFT ||
a.which == k.RIGHT ||
a.which == k.BACKSPACE ||
a.which == k.DELETE ||
a.which == k.ENTER )
) {
var g = b;
return (
a.which == k.LEFT && d.length
? ( g = d )
: a.which == k.RIGHT
? ( g = e.length
? e
: null )
: a.which === k.BACKSPACE
? this.unselect(
b.first()
) &&
( this.search.width( 10 ),
( g = d.length ? d : e ) )
: a.which == k.DELETE
? this.unselect(
b.first()
) &&
( this.search.width( 10 ),
( g = e.length
? e
: null ) )
: a.which == k.ENTER &&
( g = null ),
this.selectChoice( g ),
A( a ),
( g && g.length ) ||
this.open(),
void 0
);
}
if (
( ( a.which === k.BACKSPACE &&
1 == this.keydowns ) ||
a.which == k.LEFT ) &&
0 == f.offset &&
! f.length
)
return (
this.selectChoice(
c
.find(
'.select2-search-choice:not(.select2-locked)'
)
.last()
),
A( a ),
void 0
);
if (
( this.selectChoice( null ),
this.opened() )
)
switch ( a.which ) {
case k.UP:
case k.DOWN:
return (
this.moveHighlight(
a.which === k.UP
? -1
: 1
),
A( a ),
void 0
);
case k.ENTER:
return (
this.selectHighlighted(),
A( a ),
void 0
);
case k.TAB:
return (
this.selectHighlighted(
{ noFocus: ! 0 }
),
this.close(),
void 0
);
case k.ESC:
return (
this.cancel( a ),
A( a ),
void 0
);
}
if (
a.which !== k.TAB &&
! k.isControl( a ) &&
! k.isFunctionKey( a ) &&
a.which !== k.BACKSPACE &&
a.which !== k.ESC
) {
if ( a.which === k.ENTER ) {
if (
this.opts.openOnEnter ===
! 1
)
return;
if (
a.altKey ||
a.ctrlKey ||
a.shiftKey ||
a.metaKey
)
return;
}
this.open(),
( a.which === k.PAGE_UP ||
a.which === k.PAGE_DOWN ) &&
A( a ),
a.which === k.ENTER && A( a );
}
}
} )
),
this.search.on(
'keyup',
this.bind( function () {
( this.keydowns = 0 ), this.resizeSearch();
} )
),
this.search.on(
'blur',
this.bind( function ( b ) {
this.container.removeClass(
'select2-container-active'
),
this.search.removeClass(
'select2-focused'
),
this.selectChoice( null ),
this.opened() || this.clearSearch(),
b.stopImmediatePropagation(),
this.opts.element.trigger(
a.Event( 'select2-blur' )
);
} )
),
this.container.on(
'click',
b,
this.bind( function ( b ) {
this.isInterfaceEnabled() &&
( a( b.target ).closest(
'.select2-search-choice'
).length > 0 ||
( this.selectChoice( null ),
this.clearPlaceholder(),
this.container.hasClass(
'select2-container-active'
) ||
this.opts.element.trigger(
a.Event( 'select2-focus' )
),
this.open(),
this.focusSearch(),
b.preventDefault() ) );
} )
),
this.container.on(
'focus',
b,
this.bind( function () {
this.isInterfaceEnabled() &&
( this.container.hasClass(
'select2-container-active'
) ||
this.opts.element.trigger(
a.Event( 'select2-focus' )
),
this.container.addClass(
'select2-container-active'
),
this.dropdown.addClass(
'select2-drop-active'
),
this.clearPlaceholder() );
} )
),
this.initContainerWidth(),
this.opts.element.hide(),
this.clearSearch();
},
enableInterface: function () {
this.parent.enableInterface.apply( this, arguments ) &&
this.search.prop(
'disabled',
! this.isInterfaceEnabled()
);
},
initSelection: function () {
if (
( '' === this.opts.element.val() &&
'' === this.opts.element.text() &&
( this.updateSelection( [] ),
this.close(),
this.clearSearch() ),
this.select || '' !== this.opts.element.val() )
) {
var c = this;
this.opts.initSelection.call(
null,
this.opts.element,
function ( a ) {
a !== b &&
null !== a &&
( c.updateSelection( a ),
c.close(),
c.clearSearch() );
}
);
}
},
clearSearch: function () {
var a = this.getPlaceholder(),
c = this.getMaxSearchWidth();
a !== b &&
0 === this.getVal().length &&
this.search.hasClass( 'select2-focused' ) === ! 1
? ( this.search
.val( a )
.addClass( 'select2-default' ),
this.search.width(
c > 0 ? c : this.container.css( 'width' )
) )
: this.search.val( '' ).width( 10 );
},
clearPlaceholder: function () {
this.search.hasClass( 'select2-default' ) &&
this.search
.val( '' )
.removeClass( 'select2-default' );
},
opening: function () {
this.clearPlaceholder(),
this.resizeSearch(),
this.parent.opening.apply( this, arguments ),
this.focusSearch(),
'' === this.search.val() &&
this.nextSearchTerm != b &&
( this.search.val( this.nextSearchTerm ),
this.search.select() ),
this.updateResults( ! 0 ),
this.opts.shouldFocusInput( this ) &&
this.search.focus(),
this.opts.element.trigger(
a.Event( 'select2-open' )
);
},
close: function () {
this.opened() &&
this.parent.close.apply( this, arguments );
},
focus: function () {
this.close(), this.search.focus();
},
isFocused: function () {
return this.search.hasClass( 'select2-focused' );
},
updateSelection: function ( b ) {
var c = [],
d = [],
e = this;
a( b ).each( function () {
p( e.id( this ), c ) < 0 &&
( c.push( e.id( this ) ), d.push( this ) );
} ),
( b = d ),
this.selection
.find( '.select2-search-choice' )
.remove(),
a( b ).each( function () {
e.addSelectedChoice( this );
} ),
e.postprocessResults();
},
tokenize: function () {
var a = this.search.val();
( a = this.opts.tokenizer.call(
this,
a,
this.data(),
this.bind( this.onSelect ),
this.opts
) ),
null != a &&
a != b &&
( this.search.val( a ),
a.length > 0 && this.open() );
},
onSelect: function ( a, c ) {
this.triggerSelect( a ) &&
'' !== a.text &&
( this.addSelectedChoice( a ),
this.opts.element.trigger( {
type: 'selected',
val: this.id( a ),
choice: a,
} ),
( this.nextSearchTerm = this.opts.nextSearchTerm(
a,
this.search.val()
) ),
this.clearSearch(),
this.updateResults(),
( this.select || ! this.opts.closeOnSelect ) &&
this.postprocessResults(
a,
! 1,
this.opts.closeOnSelect === ! 0
),
this.opts.closeOnSelect
? ( this.close(), this.search.width( 10 ) )
: this.countSelectableResults() > 0
? ( this.search.width( 10 ),
this.resizeSearch(),
this.getMaximumSelectionSize() > 0 &&
this.val().length >=
this.getMaximumSelectionSize()
? this.updateResults( ! 0 )
: this.nextSearchTerm != b &&
( this.search.val(
this.nextSearchTerm
),
this.updateResults(),
this.search.select() ),
this.positionDropdown() )
: ( this.close(), this.search.width( 10 ) ),
this.triggerChange( { added: a } ),
( c && c.noFocus ) || this.focusSearch() );
},
cancel: function () {
this.close(), this.focusSearch();
},
addSelectedChoice: function ( c ) {
var j,
k,
d = ! c.locked,
e = a(
"<li class='select2-search-choice'> <div></div> <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"
),
f = a(
"<li class='select2-search-choice select2-locked'><div></div></li>"
),
g = d ? e : f,
h = this.id( c ),
i = this.getVal();
( j = this.opts.formatSelection(
c,
g.find( 'div' ),
this.opts.escapeMarkup
) ),
j != b &&
g
.find( 'div' )
.replaceWith(
a( '<div></div>' ).html( j )
),
( k = this.opts.formatSelectionCssClass(
c,
g.find( 'div' )
) ),
k != b && g.addClass( k ),
d &&
g
.find( '.select2-search-choice-close' )
.on( 'mousedown', A )
.on(
'click dblclick',
this.bind( function ( b ) {
this.isInterfaceEnabled() &&
( this.unselect(
a( b.target )
),
this.selection
.find(
'.select2-search-choice-focus'
)
.removeClass(
'select2-search-choice-focus'
),
A( b ),
this.close(),
this.focusSearch() );
} )
)
.on(
'focus',
this.bind( function () {
this.isInterfaceEnabled() &&
( this.container.addClass(
'select2-container-active'
),
this.dropdown.addClass(
'select2-drop-active'
) );
} )
),
g.data( 'select2-data', c ),
g.insertBefore( this.searchContainer ),
i.push( h ),
this.setVal( i );
},
unselect: function ( b ) {
var d,
e,
c = this.getVal();
if (
( ( b = b.closest( '.select2-search-choice' ) ),
0 === b.length )
)
throw (
'Invalid argument: ' +
b +
'. Must be .select2-search-choice'
);
if ( ( d = b.data( 'select2-data' ) ) ) {
var f = a.Event( 'select2-removing' );
if (
( ( f.val = this.id( d ) ),
( f.choice = d ),
this.opts.element.trigger( f ),
f.isDefaultPrevented() )
)
return ! 1;
for ( ; ( e = p( this.id( d ), c ) ) >= 0; )
c.splice( e, 1 ),
this.setVal( c ),
this.select && this.postprocessResults();
return (
b.remove(),
this.opts.element.trigger( {
type: 'select2-removed',
val: this.id( d ),
choice: d,
} ),
this.triggerChange( { removed: d } ),
! 0
);
}
},
postprocessResults: function ( a, b, c ) {
var d = this.getVal(),
e = this.results.find( '.select2-result' ),
f = this.results.find(
'.select2-result-with-children'
),
g = this;
e.each2( function ( a, b ) {
var c = g.id( b.data( 'select2-data' ) );
p( c, d ) >= 0 &&
( b.addClass( 'select2-selected' ),
b
.find( '.select2-result-selectable' )
.addClass( 'select2-selected' ) );
} ),
f.each2( function ( a, b ) {
b.is( '.select2-result-selectable' ) ||
0 !==
b.find(
'.select2-result-selectable:not(.select2-selected)'
).length ||
b.addClass( 'select2-selected' );
} ),
-1 == this.highlight() &&
c !== ! 1 &&
this.opts.closeOnSelect === ! 0 &&
g.highlight( 0 ),
! this.opts.createSearchChoice &&
! e.filter(
'.select2-result:not(.select2-selected)'
).length > 0 &&
( ! a ||
( a &&
! a.more &&
0 ===
this.results.find(
'.select2-no-results'
).length ) ) &&
J(
g.opts.formatNoMatches,
'formatNoMatches'
) &&
this.results.append(
"<li class='select2-no-results'>" +
K(
g.opts.formatNoMatches,
g.opts.element,
g.search.val()
) +
'</li>'
);
},
getMaxSearchWidth: function () {
return this.selection.width() - t( this.search );
},
resizeSearch: function () {
var a,
b,
c,
d,
e,
f = t( this.search );
( a = C( this.search ) + 10 ),
( b = this.search.offset().left ),
( c = this.selection.width() ),
( d = this.selection.offset().left ),
( e = c - ( b - d ) - f ),
a > e && ( e = c - f ),
40 > e && ( e = c - f ),
0 >= e && ( e = a ),
this.search.width( Math.floor( e ) );
},
getVal: function () {
var a;
return this.select
? ( ( a = this.select.val() ), null === a ? [] : a )
: ( ( a = this.opts.element.val() ),
s(
a,
this.opts.separator,
this.opts.transformVal
) );
},
setVal: function ( b ) {
var c;
this.select
? this.select.val( b )
: ( ( c = [] ),
a( b ).each( function () {
p( this, c ) < 0 && c.push( this );
} ),
this.opts.element.val(
0 === c.length
? ''
: c.join( this.opts.separator )
) );
},
buildChangeDetails: function ( a, b ) {
for (
var b = b.slice( 0 ), a = a.slice( 0 ), c = 0;
c < b.length;
c++
)
for ( var d = 0; d < a.length; d++ )
r(
this.opts.id( b[ c ] ),
this.opts.id( a[ d ] )
) &&
( b.splice( c, 1 ),
c > 0 && c--,
a.splice( d, 1 ),
d-- );
return { added: b, removed: a };
},
val: function ( c, d ) {
var e,
f = this;
if ( 0 === arguments.length ) return this.getVal();
if (
( ( e = this.data() ),
e.length || ( e = [] ),
! c && 0 !== c )
)
return (
this.opts.element.val( '' ),
this.updateSelection( [] ),
this.clearSearch(),
d &&
this.triggerChange( {
added: this.data(),
removed: e,
} ),
void 0
);
if ( ( this.setVal( c ), this.select ) )
this.opts.initSelection(
this.select,
this.bind( this.updateSelection )
),
d &&
this.triggerChange(
this.buildChangeDetails(
e,
this.data()
)
);
else {
if ( this.opts.initSelection === b )
throw new Error(
'val() cannot be called if initSelection() is not defined'
);
this.opts.initSelection(
this.opts.element,
function ( b ) {
var c = a.map( b, f.id );
f.setVal( c ),
f.updateSelection( b ),
f.clearSearch(),
d &&
f.triggerChange(
f.buildChangeDetails(
e,
f.data()
)
);
}
);
}
this.clearSearch();
},
onSortStart: function () {
if ( this.select )
throw new Error(
"Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead."
);
this.search.width( 0 ), this.searchContainer.hide();
},
onSortEnd: function () {
var b = [],
c = this;
this.searchContainer.show(),
this.searchContainer.appendTo(
this.searchContainer.parent()
),
this.resizeSearch(),
this.selection
.find( '.select2-search-choice' )
.each( function () {
b.push(
c.opts.id(
a( this ).data( 'select2-data' )
)
);
} ),
this.setVal( b ),
this.triggerChange();
},
data: function ( b, c ) {
var e,
f,
d = this;
return 0 === arguments.length
? this.selection
.children( '.select2-search-choice' )
.map( function () {
return a( this ).data( 'select2-data' );
} )
.get()
: ( ( f = this.data() ),
b || ( b = [] ),
( e = a.map( b, function ( a ) {
return d.opts.id( a );
} ) ),
this.setVal( e ),
this.updateSelection( b ),
this.clearSearch(),
c &&
this.triggerChange(
this.buildChangeDetails(
f,
this.data()
)
),
void 0 );
},
} ) ),
( a.fn.select2 = function () {
var d,
e,
f,
g,
h,
c = Array.prototype.slice.call( arguments, 0 ),
i = [
'val',
'destroy',
'opened',
'open',
'close',
'focus',
'isFocused',
'container',
'dropdown',
'onSortStart',
'onSortEnd',
'enable',
'disable',
'readonly',
'positionDropdown',
'data',
'search',
],
j = [ 'opened', 'isFocused', 'container', 'dropdown' ],
k = [ 'val', 'data' ],
l = { search: 'externalSearch' };
return (
this.each( function () {
if ( 0 === c.length || 'object' == typeof c[ 0 ] )
( d =
0 === c.length
? {}
: a.extend( {}, c[ 0 ] ) ),
( d.element = a( this ) ),
'select' ===
d.element.get( 0 ).tagName.toLowerCase()
? ( h = d.element.prop( 'multiple' ) )
: ( ( h = d.multiple || ! 1 ),
'tags' in d &&
( d.multiple = h = ! 0 ) ),
( e = h
? new window.Select2[ 'class' ].multi()
: new window.Select2[
'class'
].single() ),
e.init( d );
else {
if ( 'string' != typeof c[ 0 ] )
throw (
'Invalid arguments to select2 plugin: ' +
c
);
if ( p( c[ 0 ], i ) < 0 )
throw 'Unknown method: ' + c[ 0 ];
if (
( ( g = b ),
( e = a( this ).data( 'select2' ) ),
e === b )
)
return;
if (
( ( f = c[ 0 ] ),
'container' === f
? ( g = e.container )
: 'dropdown' === f
? ( g = e.dropdown )
: ( l[ f ] && ( f = l[ f ] ),
( g = e[ f ].apply(
e,
c.slice( 1 )
) ) ),
p( c[ 0 ], j ) >= 0 ||
( p( c[ 0 ], k ) >= 0 &&
1 == c.length ) )
)
return ! 1;
}
} ),
g === b ? this : g
);
} ),
( a.fn.select2.defaults = {
width: 'copy',
loadMorePadding: 0,
closeOnSelect: ! 0,
openOnEnter: ! 0,
containerCss: {},
dropdownCss: {},
containerCssClass: '',
dropdownCssClass: '',
formatResult: function ( a, b, c, d ) {
var e = [];
return E( this.text( a ), c.term, e, d ), e.join( '' );
},
transformVal: function ( b ) {
return a.trim( b );
},
formatSelection: function ( a, c, d ) {
return a ? d( this.text( a ) ) : b;
},
sortResults: function ( a ) {
return a;
},
formatResultCssClass: function ( a ) {
return a.css;
},
formatSelectionCssClass: function () {
return b;
},
minimumResultsForSearch: 0,
minimumInputLength: 0,
maximumInputLength: null,
maximumSelectionSize: 0,
id: function ( a ) {
return a == b ? null : a.id;
},
text: function ( b ) {
return b && this.data && this.data.text
? a.isFunction( this.data.text )
? this.data.text( b )
: b[ this.data.text ]
: b.text;
},
matcher: function ( a, b ) {
return (
o( '' + b )
.toUpperCase()
.indexOf( o( '' + a ).toUpperCase() ) >= 0
);
},
separator: ',',
tokenSeparators: [],
tokenizer: M,
escapeMarkup: F,
blurOnChange: ! 1,
selectOnBlur: ! 1,
adaptContainerCssClass: function ( a ) {
return a;
},
adaptDropdownCssClass: function () {
return null;
},
nextSearchTerm: function () {
return b;
},
searchInputPlaceholder: '',
createSearchChoicePosition: 'top',
shouldFocusInput: function ( a ) {
var b =
'ontouchstart' in window ||
navigator.msMaxTouchPoints > 0;
return b
? a.opts.minimumResultsForSearch < 0
? ! 1
: ! 0
: ! 0;
},
} ),
( a.fn.select2.locales = [] ),
( a.fn.select2.locales.en = {
formatMatches: function ( a ) {
return 1 === a
? 'One result is available, press enter to select it.'
: a +
' results are available, use up and down arrow keys to navigate.';
},
formatNoMatches: function () {
return 'No matches found';
},
formatAjaxError: function () {
return 'Loading failed';
},
formatInputTooShort: function ( a, b ) {
var c = b - a.length;
return (
'Please enter ' +
c +
' or more character' +
( 1 == c ? '' : 's' )
);
},
formatInputTooLong: function ( a, b ) {
var c = a.length - b;
return (
'Please delete ' +
c +
' character' +
( 1 == c ? '' : 's' )
);
},
formatSelectionTooBig: function ( a ) {
return (
'You can only select ' +
a +
' item' +
( 1 == a ? '' : 's' )
);
},
formatLoadMore: function () {
return 'Loading more results\u2026';
},
formatSearching: function () {
return 'Searching\u2026';
},
} ),
a.extend( a.fn.select2.defaults, a.fn.select2.locales.en ),
( a.fn.select2.ajaxDefaults = {
transport: a.ajax,
params: { type: 'GET', cache: ! 1, dataType: 'json' },
} ),
( window.Select2 = {
query: { ajax: G, local: H, tags: I },
util: {
debounce: w,
markMatch: E,
escapeMarkup: F,
stripDiacritics: o,
},
class: { abstract: c, single: d, multi: e },
} );
}
} )( jQuery );