| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528 |
- /*
- 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 = {
- '\\': '\',
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": ''',
- '/': '/',
- };
- 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'> </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 );
|