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